使用rsyslog收集日志(1)是在服务端和客户端系统都说centos下测试的,并且为了方便,关闭了防火墙和selinux,但是实际中客户端系统是ubuntu18,并且不能关闭防火墙和selinux, 因此需要做一些改动,
首先客户端机器上增加/etc/rsyslog.d/classyp.conf,内容不变,
修改/etc/rsyslog.conf,在系统原有内容上增加如下配置即可
module(load= "imtcp" ) input(type= "imtcp" port= "514" ) $ModLoad imfile # Load the imfile input module # 1. 加载imfile $MaxMessageSize 256k # 设置最大消息大小,默认4k不够,会被截断 local5.*,local6.* @ @10 .201.15.106:514 $EscapeControlCharactersOnReceive off |
然后执行命令开启514端口并查看端口是否开启
firewall-cmd --zone=public --add-port=514/tcp --permanent [root@xurun log]# firewall-cmd --query-port=514/tcp yes |
接着首先执行命令:yum install policycoreutils-python
然后执行如下命令:
semanage fcontext -a -t var_log_t "/data/log(/.*)?" semanage fcontext -a -t var_log_t "/data/log/.*" semanage fcontext -a -t var_log_t "/data/log" restorecon -Rv /data/log |
最后执行命令systemctl restart rsyslog 重启rsyslogd,此时selinux可以运行rsyslog访问自定义的路径了。