rsyslog8.29安装和配置
安装前系统设置
1、防火墙设置
centos7.0默认防火墙为firewalld
#停止firewall
# systemctl stop firewalld.service
#禁止firewall开机启动
# systemctl disable firewalld.service
查看默认防火墙状态:
# firewall-cmd --state
2、修改selinux
# setenforce 0
# vi /etc/selinux/config
将SELINUX=enforcing改为:SELINUX=disabled
一、安装Rsyslog
验证Rsyslog是否已经安装
rpm -qa | grep rsyslog
rsyslogd -v
二、配置Rsyslog服务器,让Rsyslog进程生效。
rsyslog进程默认没有启动
vi /f
取消下面行的注释
$ModLoad imudp
$UDPServerRun 514
$ModLoad imtcp
$InputTCPServerRun 514
说明:UDP和TCP可以同时生效来监听连接。
重启Rsyslog服务
systemctl restart rsyslog
三、创建日志接收模板
接下来需要为远程消息创建模板,并告知rsyslog进程如何记录从其他客户端机器所接受到的消息。
编辑/f,然后在GLOBAL DIRECTIVE块前追加以下的模板。
linux中netstat命令vi /f
$template RemoteLogs,"/var/log/%HOSTNAME%/%PROGRAMNAME%.log" *
*.* ?RemoteLogs
#& ~
说明:符号"& ~"表示了一个重定向规则,被用来告知rsyslog守护进程停止对日志消息的进一步处理,
并且不要在本地写入。如果没有使用该重定向规则,那么所有的远程消息都会在写入上述描述
的日志文件之外同时被写入到本地日志文件,这就意味着日志消息实际上被写了两次。
重启Rsyslog服务
systemctl restart rsyslog
配置Rsyslog进程开机启动
systemctl enable rsyslog.service
通过netstat命令来验证rsyslog守护进程是否正常工作
yum -y install net-tools
netstat -tulpn | grep rsyslog
四、配置Rsyslog客户端
编辑rsyslog主配置文件
vi /f
添加以下声明到文件底部,将IP地址替换为远程rsyslog日志服务器的地址。
*.*@10.32.35.204:514
将系统上各个设备的各种日志消息路由到远程rsyslog服务器(10.32.35.204)的UDP端口514。
如果出于某种原因,你需要更为可靠的协议,如TCP,而rsyslog服务器也被配置为监听TCP连接,
你必须在远程主机的IP地址前添加一个额外的@字符,像下面这样:
*.*@@10.32.35.204:514
注意,你也可以将rsyslog服务器的IP地址替换成它的主机名(FQDN)。
如果你只想要转发服务器上的指定设备的日志消息,比如说内核设备,那么你可以在rsyslog配置文件中使用以下声明。
kern.*@10.32.35.204:514
重启进程
systemctl restart rsyslog.service
五、测试
使用logger命令发送日志进行测试
logger -p user.info "hello123"
发送日志到本机,本机会进行转发到日志服务器,在/var/log/messages中查看发送的日志。