Linux常用工具服务——syslog系统日志

syslog介绍

syslog常被称为系统日志或系统记录,是一种用来在互联网协议(TCP/IP)中传递记录档消息的标准,rsyslog是日志管理工具

rsyslog作用:
作为一个 syslog 服务器,rsyslog 可以收集来自其他设备的日志信息;
作为一个 syslog 客户端,rsyslog 可以将其内部的日志信息传输到远程的 syslog 服务器

rsyslog安装配置

yum install rsyslog -y
systemctl restart rsyslog
systemctl enable rsyslog

rsyslog配置文件详解

配置文件 /etc/rsyslog.conf 大概分为三个部分:MODULES、GLOBAL DIRECTIVES、RULES
(1) MODULES 模板,指定保存的日志格式

$template myFormat,"%TIMESTAMP% host=%HOSTNAME%,
relayHost=%FROMHOST%,
tag=%syslogtag%,
programName=%programname%,
procid=%PROCID%,
facility=%syslogfacility-text%,
sev=%syslogseverity-text%,
appName=%APP-NAME%,
msg=%msg%\n"

(2) GLOBAL DIRECTIVES 全局配置

# 指定需要使用的模板 myFormat
$ActionFileDefaultTemplate myFormat

(3) RULES 转发规则

*.* @@remote-host:514

根据这个实例可以看出,分为 4 个部分 [模块.等级] [转发协议][日志服务器地址]:[日志服务器端口],其中转发协议的参数 @@ 为 TCP协议,对应的接收端也需要配置接受 TCP 协议,@ 为 UDP 协议

syslog 接收日志

在 GLOBAL DIRECTIVES 之前追加如下配置

$template IpTemplate,"/var/log/%FROMHOST-IP%.log"	#使rsyslog后台进程将日志消息写到指定文件中
*.* ?IpTemplate	#将IpTemplate模板应用到所有接收到的日志上
& ~	#重定向规则

(1) IpTemplate可自定义
(2)日志文件的名称是基于远程日志发送机器的主机名以及生成该日志的应用程序名进行定义
(3) 重定向规则:告知rsyslog守护进程停止对日志消息的进一步处理,并且不要在本地写入, syslog服务器本身的日志消息只会被以该机器主机名命名的专有文件中;如果没有使用该重定向规则,远程消息同时还将被写入到本地日志文件

rsyslog 接收远程日志且去掉日志头配置如下

# provides UDP syslog reception
$ModLoad imudp
$UDPServerRun 514
# provides TCP syslog reception
$ModLoad imtcp
$InputTCPServerRun 514
$template myformat,"%msg%\n"
$template myformat,"%$NOW% %TIMESTAMP:8:15% %hostname% %syslogtag% %msg%\n"
$ActionFileDefaultTemplate myformat
$template IpTemplate,"/var/log/%FROMHOST-IP%.log"
*.* ?IpTemplate
& ~

syslog发送日志

配置要发送的地址

*.* @@192.168.1.25:514 # tcp协议
local7.info @192.168.1.25:514 #udp协议,只发送用户的info级别日
systemctl restart rsyslog
netstat -tulpn|grep rsyslog

实例测试

主机规划

角色 HOSTNAME IP
接受端 rsyslog Server nfs01 192.168.213.123
发送端 rsyslog Client backup 192.168.42.111

配置主机Hosts解析

[root@backup ~]# cat /etc/hosts
192.168.213.123 nfs01
192.168.213.111 backup
[root@nfs01 ~]# cat /etc/hosts
192.168.213.123 nfs01
192.168.213.111 backup

SERVER配置

[root@nfs01 ~]# grep -E -v "^#|^$" /etc/rsyslog.conf
$ModLoad imuxsock # provides support for local system logging (e.g. via logger command)
$ModLoad imjournal # provides access to the systemd journal
$ModLoad imudp
$UDPServerRun 514
$WorkDirectory /var/lib/rsyslog
$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
$IncludeConfig /etc/rsyslog.d/*.conf
$OmitLocalLogging on
$IMJournalStateFile imjournal.state
$template RemoteLogs,"/var/log/%HOSTNAME%/%PROGRAMNAME%.log"
*.* ?RemoteLogs
& ~
*.info;mail.none;authpriv.none;cron.none                /var/log/messages
authpriv.*                                              /var/log/secure
mail.*                                                  -/var/log/maillog
cron.*                                                  /var/log/cron
*.emerg                                                 :omusrmsg:*
uucp,news.crit                                          /var/log/spooler
local7.*                                         /var/log/boot.log
*.* @@remote-host:514

Client配置

[root@backup ~]# grep -E -v "^#|^$" /etc/rsyslog.conf
$ModLoad imuxsock # provides support for local system logging (e.g. via logger command)
$ModLoad imjournal # provides access to the systemd journal
$WorkDirectory /var/lib/rsyslog
$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
$IncludeConfig /etc/rsyslog.d/*.conf
$OmitLocalLogging on
$IMJournalStateFile imjournal.state
*.info;mail.none;authpriv.none;cron.none                /var/log/messages
authpriv.*                                              /var/log/secure
mail.*                                                  -/var/log/maillog
cron.*                                                  /var/log/cron
*.emerg                                                 :omusrmsg:*
uucp,news.crit                                          /var/log/spooler
local7.*                                                /var/log/boot.log
*.* @192.168.213.123:514
*.* @@remote-host:514

结果测试

在SERVER上测试:日志已经发送到了服务器端,服务得到接受

扫描二维码关注公众号,回复: 9643611 查看本文章
[root@nfs01 ~]# ll /var/log/nfs01/
total 24
-rw-------. 1 root root  57 Feb 20 10:08 kernel.log
-rw-------. 1 root root 714 Feb 20 10:08 polkitd.log
-rw-------. 1 root root 632 Feb 20 10:16 rsyslogd.log
-rw-------. 1 root root 352 Feb 20 10:04 systemd-fstab-generator.log
-rw-------. 1 root root 571 Feb 20 10:08 systemd.log
-rw-------. 1 root root  87 Feb 20 10:04 yum.log
[root@nfs01 ~]# ll /var/log/backup/
total 24
-rw-------. 1 root root  191 Feb 20 10:16 anacron.log
-rw-------. 1 root root   58 Feb 20 10:13 kernel.log
-rw-------. 1 root root 1443 Feb 20 10:13 polkitd.log
-rw-------. 1 root root  914 Feb 20 10:13 rsyslogd.log
-rw-------. 1 root root  304 Feb 20 10:16 run-parts(.log
-rw-------. 1 root root  262 Feb 20 10:12 systemd.log
[root@nfs01 ~]# systemctl start rsyslog
[root@nfs01 ~]# systemctl stop firewalld
[root@nfs01 ~]# setenforce 0
[root@nfs01 ~]# sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config
[root@nfs01 ~]# netstat -tulpn|grep rsyslog
udp        0      0 0.0.0.0:514             0.0.0.0:*                           14746/rsyslogd
udp6       0      0 :::514                  :::*                                14746/rsyslogd
[root@backup ~]# systemctl start rsyslog
[root@backup ~]# systemctl stop firewalld
[root@backup ~]# setenforce 0
[root@backup ~]# sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config
[root@backup ~]# netstat -tulpn|grep rsyslog
udp        0      0 0.0.0.0:38844           0.0.0.0:*                           2864/rsyslogd
发布了57 篇原创文章 · 获赞 32 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_42049496/article/details/104652159