CentOS 7.4 Syslog服务器部署
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
CentOS 7.4 Syslog服务器部署
环境
CentOS 7.4
10.0.101.12
rsyslog-8.24.0-12.el7.x86_64
安装配置rsyslog
[root@syslog-srv ~]# yum -y install rsyslog
默认已经安装了,所以不需要单独安装
更新下系统的其他包
[************************.d]#yumupdate
编辑配置文件
[************************.d]#vi/etc/rsyslog.conf
15,16,19,20前面的#去掉
将所有从远程客户端接受到的消息写入到一个以它们的IP地址命名的单个文件中$template RemoteLogs,"/var/log/devicelog/%HOSTNAME%/%PROGRAMNAME%.log" * *.* ?RemoteLogs
& ~
在#### GLOBAL DIRECTIVES ####前添加下面的内容
这条指令使rsyslog后台进程将日志消息写到/var/log下的单独的本地日志文件中,其中日志文件的名称是基于远程日志发送机器的主机名以及生成该日志的应用程序名进行定义的。
其中第二行暗示了我们将RemoteLogs模板应用到所有接收到的日志上。
符号"& ~"表示了一个重定向规则,被用来告知rsyslog守护进程停止对日志消息的进一步处理,并且不要在本地写入。如果没有使用该重定向规则,那么所有的远程消息都会在写入上述描述的日志文件之外同时被写入到本地日志文件,这就意味着日志消息实际上被写了两次。使用该规则的另外一个结果就是syslog服务器本身的日志消息只会被以该机器主机名命名的专有文件中。
排除本地主机IP日志记录,只记录远程主机日志
fromhost-ip, !isequal, "127.0.0.1"
Remote
& ~
重启下服务,并加入开机启动
[************************.d]#systemctlrestartrsyslog
[************************.d]#systemctlenablersyslog
验证下端口
[************************.d]#netstat-antup|grep514
配置防火墙规则
[************************.d]#firewall-cmd--permanent--zone=public--add-port=514/tcp
[************************.d]#firewall-cmd--permanent--zone=public--add-port=514/udp
[************************.d]#firewall-cmd–reload
测试日志
将我们的其他如交换机之类的设备设置好syslog,然后在本机查看日志
[root@syslog-srv var]# cd /var/log/devicelog/
设置计划任务
我们设置一个每天0点自动打包devicelog这个文件夹
[root@syslog-srv devicelog]# crontab -e
0 0 * * 1-7 /usr/bin/tar -czvf devicelog.tar.gz /var/log/devicelog
设置日志中继转发
[root@syslog-srv devicelog]# vim /etc/rsyslog.conf
98 *.* @@10.0.101.128:514
[root@syslog-srv devicelog]# systemctl restart rsyslog