耶耶耶耶耶 发表于 2024-9-13 19:53:18

CentOS 7 搭建rsyslog日志服务器

前言

搭建rsyslog日志服务器是在Linux系统上集中网络和管理日志的常见方法。
一、IP地址及主机名称规划

https://img-blog.csdnimg.cn/direct/40765a51a9174b41a3204a543ca6c302.jpeg#pic_center
1.修改主机名

hostnamectl set-hostname serverlog
bash

hostnamectl set-hostname clientlog
bash
二、配置rsyslog日志服务器

1.安装rsyslog服务

Centos 7默认是安装了rsyslog服务的,如果没有,可以利用以下下令进行安装:
yum update
yum install rsyslog -y
2.编辑/etc/rsyslog.conf 文件

编辑rsyslog配置文件:
nano /etc/rsyslog.conf
将以下内容取消解释,去掉行首的#
$ModLoad imudp
$UDPServerRun 514
$ModLoad imtcp
$InputTCPServerRun 514
https://img-blog.csdnimg.cn/direct/0b020444eb3f4a41afdc2fea7d922285.jpeg#pic_center
3.启动并启用rsyslog服务

#启动rsyslog服务
systemctl start rsyslog

#开机自启动rsyslog服务
systemctl enable rsyslog

#重新启动rsyslog服务
systemctl restart rsyslog



#查看rsyslog服务
systemctl status rsyslog
https://img-blog.csdnimg.cn/direct/95cdc3d716fc4075b7833443c08b0549.jpeg#pic_center
4.验证端口是否侦听

netstat -tunlp | grep "514"
https://img-blog.csdnimg.cn/direct/3411b6e1e2c74b2a9d2ab7565fa9e989.jpeg#pic_center
三、在rsyslog日志服务器上配置firewalld防火墙

#查看默认区域
firewall-cmd --get-default-zone

#允许icmp
firewall-cmd --permanent - --add-protocol=icmp

#允许tcp514端口
firewall-cmd --permanent--add-port=514/tcp

#允许udp514端口
firewall-cmd --permanent--add-port=514/udp

#使配置生效
sudo firewall-cmd --reload

#查看防火墙规则
firewall-cmd --list-all
https://img-blog.csdnimg.cn/direct/a6b7938cdf684267a5e4114234f5d9db.jpeg#pic_center
四、配置rsyslog日志客户端

1.编辑/etc/rsyslog.conf文件

nano /etc/rsyslog.conf

*.* @10.10.10.10:514
*.* @@10.10.10.10:514
https://img-blog.csdnimg.cn/direct/afa2fd40a77b441a8010002eb9a9d421.jpeg#pic_center
2.重启客户端的rsyslog服务

systemctl restart rsyslog

3.服务端和客户端相互ping一下

https://img-blog.csdnimg.cn/direct/43399ec57f654972a2229e67121ef06a.jpeg#pic_center
五、验证日志服务器配置是否收效

1.在服务端tail日志文件

tail -f /var/log/messages
https://img-blog.csdnimg.cn/direct/95e24cbd060f4e448a4c9b864d9f45dc.jpeg#pic_center
2.在客户端logger一段自界说内容

#发送自定义的一段内容,验证配置是否生效
logger chen789789
https://img-blog.csdnimg.cn/direct/c6b2bcbdce124e5abadc142ff0404f36.jpeg#pic_center
六、配置日志存到指定位置文件

为什么要指定位置,当前试验环境下,只有一个服务端,一个客户端,当有多个客户端的时候,我们如何区分不同的客户端的日志信息,我以为最好的方法就是,将其存储在不同的日志文件中。
1.IP地址及主机名称规划

https://img-blog.csdnimg.cn/direct/28234542e6be4378a919bf98af690e9f.jpeg#pic_center
2.修改两个客户端主机名

hostnamectl set-hostname clientlog1
bash

hostnamectl set-hostname clientlog2
bash
3.在服务端编辑/etc/rsyslog.conf 文件

实现来自不同客户端的日志,存储在不同的日志文件中
nano /etc/rsyslog.conf

if ($fromhost-ip == '10.10.10.20') then /var/log/client_logs/10.10.10.20.log
& stop

if ($fromhost-ip == '10.10.10.22') then /var/log/client_logs/10.10.10.22.log
& stop

https://img-blog.csdnimg.cn/direct/924d9f4516494f1eaa6a9c3dc6ebf5c8.jpeg#pic_center
4. 在服务端创建对应的目录并设置权限

mkdir -p /var/log/client_logs

chmod -R 755 /var/log/client_logs

ls -ldi /var/log/client_logs
https://img-blog.csdnimg.cn/direct/1d1c53130ab74c5ba03b774ee99a6907.jpeg#pic_center
3.重启服务端的rsyslog服务

systemctl restart rsyslog

4.再次验证日志服务器配置是否收效

1)在客户端1 logger一段自界说内容

logger client1_chen1111
https://img-blog.csdnimg.cn/direct/dab9fb0d59ed4e6a8b525fb8e768b2dd.jpeg#pic_center
2)在客户端2 logger一段自界说内容

logger client2_chen2222
https://img-blog.csdnimg.cn/direct/03b170f41b8445e6a87c94a52ddbf17f.jpeg#pic_center
3)在服务端分别tail两个日志文件

tail -f /var/log/client_logs/10.10.10.20.log
tail -f /var/log/client_logs/10.10.10.22.log
https://img-blog.csdnimg.cn/direct/f02435fa373845528572091ca401e36a.jpeg#pic_center
end

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: CentOS 7 搭建rsyslog日志服务器