目录

CentOS-7-搭建rsyslog日志服务器

CentOS 7 搭建rsyslog日志服务器

CentOS 7 搭建rsyslog日志服务器

前言

搭建rsyslog日志服务器是在Linux系统上集中收集和管理日志的常见方法。

一、IP地址及主机名称规划

https://i-blog.csdnimg.cn/blog_migrate/c2bb46fc8b6bdb7a5576ebf5fe285686.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://i-blog.csdnimg.cn/blog_migrate/8269f70c743147afa93072296825034a.jpeg#pic_center

3.启动并启用 rsyslog 服务

#启动 rsyslog 服务
systemctl start rsyslog

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

#重新启动 rsyslog 服务
systemctl restart rsyslog

#查看 rsyslog 服务
systemctl status rsyslog

https://i-blog.csdnimg.cn/blog_migrate/e2065bc8a8f902eda90dfc78df2f04b7.jpeg#pic_center

4.验证端口是否侦听

netstat -tunlp | grep "514"

https://i-blog.csdnimg.cn/blog_migrate/10205035b4d44fe08185522643367ae6.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://i-blog.csdnimg.cn/blog_migrate/3655cec5b780ccf1923106eabd901ccc.jpeg#pic_center

四、配置 rsyslog 日志客户端

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

nano /etc/rsyslog.conf

_._ @10.10.10.10:514
_._ @@10.10.10.10:514

https://i-blog.csdnimg.cn/blog_migrate/f069f3996e6435f4d0ae71cef6e36212.jpeg#pic_center

2.重启客户端的 rsyslog 服务

systemctl restart rsyslog

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

https://i-blog.csdnimg.cn/blog_migrate/f321667e7da603ce2bff59dce90bcb8b.jpeg#pic_center

五、验证日志服务器配置是否生效

1.在服务端 tail 日志文件

tail -f /var/log/messages

https://i-blog.csdnimg.cn/blog_migrate/4fcdd56bb6c24f590485cec06616eac6.jpeg#pic_center

2.在客户端 logger 一段自定义内容

#发送自定义的一段内容,验证配置是否生效
logger chen789789

https://i-blog.csdnimg.cn/blog_migrate/a2b36ab2ea2c127497f3e6b7328acd30.jpeg#pic_center

六、配置日志存到指定位置文件

为什么要指定位置,当前试验环境下,只有一个服务端,一个客户端,当有多个客户端的时候,我们如何区分不同的客户端的日志信息,我觉得最好的方法就是,将其存储在不同的日志文件中。

1.IP 地址及主机名称规划

https://i-blog.csdnimg.cn/blog_migrate/5805a883e303d2227d7925c6a7e5c6fd.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://i-blog.csdnimg.cn/blog_migrate/e69416e76129d66a5c06d197026bfae2.jpeg#pic_center

4. 在服务端创建对应的目录并设置权限

 mkdir -p /var/log/client_logs

chmod -R 755 /var/log/client_logs

ls -ldi /var/log/client_logs

https://i-blog.csdnimg.cn/blog_migrate/41f2a4871da42be8f7def6bdc72e9039.jpeg#pic_center

3.重启服务端的 rsyslog 服务

systemctl restart rsyslog

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

1)在客户端 1 logger 一段自定义内容

logger client1_chen1111

https://i-blog.csdnimg.cn/blog_migrate/43825555a8e93e15c1771d632fdf0750.jpeg#pic_center

2)在客户端 2 logger 一段自定义内容

logger client2_chen2222

https://i-blog.csdnimg.cn/blog_migrate/210e49a0669ae7ad559fffa45b709f1e.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://i-blog.csdnimg.cn/blog_migrate/a704c5fc1d689c64b478ba3028739149.jpeg#pic_center

end