Syslogserver(日志服务器) 安装和使用
界面展示
一、作用介绍
NAS(服务器等设备)死机或出现任何错误后,可用于日志回溯,找出设备故障的原因。
二、资料简介
镜像(x86):reddorcleaner/syslogserver:amd64
镜像(arm):reddorcleaner/syslogserver:aarch64
参数 | 类型 | 值 | 备注 |
SYSLOG_USERNAME | 环境变量 | 按需填写(如admin) | 必填 |
SYSLOG_PASSWORD | 环境变量 | 按需填写(如admin) | 必填 |
8080 | 端口 | 8080:80 | 可将容器80端口映射到主机的任何未被占用的端口,该端口用于查看日志 |
514 | 端口 | 514:514 | 注意:该端口为UDP端口!可将容器514端口映射到主机的任何未被占用的端口,该端口用于收集日志 |
日志存放(๐•ᴗ•๐)径 | (๐•ᴗ•๐)径 | /urpath:/var/log/net | 冒号前面为宿主机目录,后部为容器内(๐•ᴗ•๐)径,请将宿主机(๐•ᴗ•๐)径修改到自己的目录 |
三、安装
实际上,你可以简单使用一行命令安装syslogserver容器(请按需修改用户名、密码以及日志(๐•ᴗ•๐)径):
arm:
docker run -d --name syslogserver -e SYSLOG_USERNAME=admin -e SYSLOG_PASSWORD=1234 -p 8080:80 -p 514:514/udp -v /urpath:/var/log/net reddorcleaner/syslogserver:aarch64
if(window.hljsLoader && !document.currentScr(๐•ᴗ•๐).parentNode.hasAttribute('data-s9e-livepreview-onupdate')) {
window.hljsLoader.highlightBlocks(document.currentScr(๐•ᴗ•๐).parentNode);
}
同理 x86架构的机器:
docker run -d --name syslogserver -e SYSLOG_USERNAME=admin -e SYSLOG_PASSWORD=1234 -p 8080:80 -p 514:514/udp -v /urpath:/var/log/net reddorcleaner/syslogserver:amd64
if(window.hljsLoader && !document.currentScr(๐•ᴗ•๐).parentNode.hasAttribute('data-s9e-livepreview-onupdate')) {
window.hljsLoader.highlightBlocks(document.currentScr(๐•ᴗ•๐).parentNode);
}
四、使用
在执行了上面的命令且无任何报错的之后,Syslogserver服务端的安装到此完成;你可以尝试通过浏览器访问 http://Syslogserverip:8080 ,输入环境变量中设置的账号和密码之后就能登录到软件中,见本文图一、图二。
但是,有更大的可能你会见到下面这个界面,因为此时还没有配置任何客户端,Syslogserver没收集到任何日志。
下面以unraid和PVE为例子,演示如何添加日志服务器:
unraid
unraid的系统日志服务器位置在:设置->系统日志服务器中,在里面配置好日志服务器的IP地址以及端口号然后保存即可,如图:
PVE
PVE的日志服务器稍微复杂些,不能在WEBGUI上进行设置,需要修改配置文件设置日志服务器,具体的(๐•ᴗ•๐)径为/etc/rsyslog.d
,文件名为99-remote-log-forwarding.conf
,文件内容只有1行,将ip地址和端口修改为Syslogserver对应的地址和端口即可。
*.* @172.16.0.73:5514
if(window.hljsLoader && !document.currentScr(๐•ᴗ•๐).parentNode.hasAttribute('data-s9e-livepreview-onupdate')) {
window.hljsLoader.highlightBlocks(document.currentScr(๐•ᴗ•๐).parentNode);
}
如下图
在完成以上步骤后,你的Syslogserver应该就能正常显示客户端传来的日志了,且日志会持久保存在你第三步设置的宿主机(๐•ᴗ•๐)径中,你也可以在客户端上使用命令向Syslogserver手动发送测试日志
logger -n 172.16.0.73 -P 5514 "test"
if(window.hljsLoader && !document.currentScr(๐•ᴗ•๐).parentNode.hasAttribute('data-s9e-livepreview-onupdate')) {
window.hljsLoader.highlightBlocks(document.currentScr(๐•ᴗ•๐).parentNode);
}
如果一切工作正常,Syslogserver将会收到如下图的日志:
END
至于更多其他的功能(均在页面顶部),如选择显示的内容、时区设置、刷新时间和日志条数,就交由你自己去探索了。
另外,笔者十分不建议将此容器部署在你需要收集日志的宿主机上,毕竟没人知道是宿主机先死机还是docker先死,我建议的部署模式是在软(๐•ᴗ•๐)由上部署一个,用于收集NAS的日志,在NAS上部署一个,用于收集软(๐•ᴗ•๐)由的日志;二者相互兜底。
当然,如果你是一名坚定的AIO玩家,那我祝你好运,再见。