一、配置安装环境
linux centOS 7.4
配置网络,具体见https://www.jianshu.com/p/cb8d0e6758ab
二、安装配置rsyslog
1)安装rsyslog
[root@localhost ~]#yum -y install rsyslog
2)更新下系统的其他包
[root@localhost ~]#yum update
(说明:
配置文件/etc/rsyslog.conf大概分为三个部分
####MODULES####
这个部分是针对接收配置的,主要是指定接收日志的协议和端口。若要配置日志服务器,则需要将相应的配置项去掉注释。
####GLOBAL DIRECTIVES####
这个部分主要用来配置模板,模板的作用是指定你希望在日志文件中保存的日志格式。
#### RULES ####
这一部分是规则文件,每行配置分两个字段,第一字段是说明要记录哪类日志(包括消息类型和等级),第二字段是说明日志存放位置(action),可以是本地文件,也可以是远程服务器。)
3)[root@localhost ~]#vi /etc/rsyslog.conf
4):set nu显示行号
5)允许rsyslog后台进程在TCP/UDP协议的514端口上接收日志信息,rsyslog后台进程是可以同时监听TCP/UDP连接的。
15,16,19,20前面的#去掉
6)在#### GLOBAL DIRECTIVES ####前添加下面的内容:
#将所有从远程客户端接受到的消息写入到一个以它们的IP地址命名的单个文件中
$template RemoteLogs,"/var/log/devicelog/%HOSTNAME%/%PROGRAMNAME%.log"
*.* ?RemoteLogs
& ~
#排除本地主机IP日志记录,只记录远程主机日志
fromhost-ip, !isequal, "127.0.0.1"
?Remote
& ~
(说明:
第一行$template 定义模板名称RemoteLogs(“RemoteLogs” 可以为其它名字),日志存入到/var/log/devicelog路径下。而日志文件名则依据发送远程日志的机器名及应用程序名来定义。
第二行*.* ?RemoteLogs暗含运行用模板RemoteLogs于所有的接收日志。
第三行& ~则告诉rsyslog后台进程停止进一步去处理日志信息,即不对它们进行本地化写入,它是代表一个重定向规则。如果没有这一行,则意味着接收到的日志会写入两次,一次如前两行写的方式写,第二次则以本地日志记录的方式写入。运行这个规则的另一个结论则是日志服务器自己的日志信息只会写入到依照机器主机名命名的文件中。)
7)重启下服务,并加入开机启动
[root@localhost ~]#systemctl restart rsyslog
[root@localhost ~]#systemctl enable rsyslog
8)验证下端口
[root@localhost ~]#netstat -antup | grep 514
9)配置防火墙规则
[root@localhost ~]#firewall-cmd --permanent --zone=public --add-port=514/tcp
[root@localhost ~]#firewall-cmd --permanent --zone=public --add-port=514/udp
[root@localhost ~]#firewall-cmd --reload
10)将要连接syslog的设备设置好syslog环境的ip和端口,然后在本机查看日志
[root@localhost ~]#mkdir /var/log/devicelog/
[root@localhost ~]#cd /var/log/devicelog/