CentOS 7 搭建rsyslog日志服务器

CentOS 7 搭建rsyslog日志服务器

前言

搭建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

相关推荐
祁鱼鱼鱼鱼鱼42 分钟前
rhce-shell条件测试
linux·运维
wefg11 小时前
【Linux】文件管理
linux·运维·服务器
hweiyu001 小时前
Linux 命令:split
linux·运维·服务器
lihe7582 小时前
每天凌晨3点自动同步UBUNTU源
linux·运维·ubuntu·本地源
添砖java‘’2 小时前
线程的互斥与同步
linux·c++·操作系统·线程·信息与通信
凌寒112 小时前
minio预签名访问地址经过Nginx代理后返回403问题
服务器·网络·nginx
广然3 小时前
EVE-NG 镜像管理工具 1.1 Web 版本正式发布!
运维·服务器·前端
祁鱼鱼鱼鱼鱼3 小时前
DNS 笔记记录
运维·服务器·网络
tod1133 小时前
Makefile进阶(上)
linux·运维·服务器·windows·makefile·进程
阳光九叶草LXGZXJ3 小时前
达梦数据库-学习-50-分区表指定分区清理空洞率(交换分区方式)
linux·运维·数据库·sql·学习