CentOS 7 搭建rsyslog日志服务器
- 前言
- 一、IP地址及主机名称规划
- 二、配置rsyslog日志服务器
-
- 1.安装rsyslog服务
- [2.编辑/etc/rsyslog.conf 文件](#2.编辑/etc/rsyslog.conf 文件)
- 3.启动并启用rsyslog服务
- 4.验证端口是否侦听
- 三、在rsyslog日志服务器上配置firewalld防火墙
- 四、配置rsyslog日志客户端
- 五、验证日志服务器配置是否生效
- 六、配置日志存到指定位置文件
-
- 1.IP地址及主机名称规划
- 2.修改两个客户端主机名
- [3.在服务端编辑/etc/rsyslog.conf 文件](#3.在服务端编辑/etc/rsyslog.conf 文件)
- [4. 在服务端创建对应的目录并设置权限](#4. 在服务端创建对应的目录并设置权限)
- 3.重启服务端的rsyslog服务
- 4.再次验证日志服务器配置是否生效
-
- [1)在客户端1 logger一段自定义内容](#1)在客户端1 logger一段自定义内容)
- [2)在客户端2 logger一段自定义内容](#2)在客户端2 logger一段自定义内容)
- 3)在服务端分别tail两个日志文件
前言
搭建rsyslog日志服务器是在Linux系统上集中收集和管理日志的常见方法。
一、IP地址及主机名称规划
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
3.启动并启用rsyslog服务
#启动rsyslog服务
systemctl start rsyslog
#开机自启动rsyslog服务
systemctl enable rsyslog
#重新启动rsyslog服务
systemctl restart rsyslog
#查看rsyslog服务
systemctl status rsyslog
4.验证端口是否侦听
netstat -tunlp | grep "514"
三、在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
四、配置rsyslog日志客户端
1.编辑/etc/rsyslog.conf文件
nano /etc/rsyslog.conf
*.* @10.10.10.10:514
*.* @@10.10.10.10:514
2.重启客户端的rsyslog服务
systemctl restart rsyslog
3.服务端和客户端相互ping一下
五、验证日志服务器配置是否生效
1.在服务端tail日志文件
tail -f /var/log/messages
2.在客户端logger一段自定义内容
#发送自定义的一段内容,验证配置是否生效
logger chen789789
六、配置日志存到指定位置文件
为什么要指定位置,当前试验环境下,只有一个服务端,一个客户端,当有多个客户端的时候,我们如何区分不同的客户端的日志信息,我觉得最好的方法就是,将其存储在不同的日志文件中。
1.IP地址及主机名称规划
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
4. 在服务端创建对应的目录并设置权限
mkdir -p /var/log/client_logs
chmod -R 755 /var/log/client_logs
ls -ldi /var/log/client_logs
3.重启服务端的rsyslog服务
systemctl restart rsyslog
4.再次验证日志服务器配置是否生效
1)在客户端1 logger一段自定义内容
logger client1_chen1111
2)在客户端2 logger一段自定义内容
logger client2_chen2222
3)在服务端分别tail两个日志文件
tail -f /var/log/client_logs/10.10.10.20.log
tail -f /var/log/client_logs/10.10.10.22.log
end