当前位置:   article > 正文

【Syslog】Centos下的syslog服务器配置

【Syslog】Centos下的syslog服务器配置

认识

Syslog服务器 Rsyslog Server服务器 192.168.31.80

  • 用来接收服务器日志并且保存在本地的

Syslog客户端 Rsyslog Client主机 192.168.31.151

  • 发送日志的,这次需要验证搭建的Syslog服务器是否能正常使用
  • 正常情况下:Syslog服务器可以是

Syslog服务器配置

CentOS7系统默认安装了rsyslog服务

1、查看是否安装了rsyslog

# 查看是否安装了rsyslog
rpm -aq|grep rsyslog
# 预期结果: rsyslog-7.4.7-12.el7.x86_64
  • 1
  • 2
  • 3
2、编辑rsyslog配置项目
# 配置rsyslog文件时最好先复制一份原有的配置文件
cp /etc/rsyslog.conf /etc/rsyslog_default.conf
# 编辑配置文件
vi /etc/rsyslog.conf
  • 1
  • 2
  • 3
  • 4
开启监听
# 取消这两行注释,(监听 TCP Syslog 信息,使用的是514端口)
$ModLoad imtcp
$InputTCPServerRun 514
  • 1
  • 2
  • 3

在这里插入图片描述

设置日志格式、日志存放位置

在$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat这一行添加如下配置

# This one is the template to generate the log filename dynamically, depending on the client's IP address. 
# 根据客户端的IP单独存放主机日志在不同目录,设置远程日志存放路径及文件名格式        
$template Remote,"/var/log/syslog/%fromhost-ip%/%fromhost-ip%_%$YEAR%-%$MONTH%-%$DAY%.log"

# Log all messages to the dynamically formed file.
# 排除本地主机IP日志记录,只记录远程主机日志
:fromhost-ip, !isequal, "127.0.0.1" ?Remote
# 注意此规则需要在其它规则之前,否则配置没有意义,远程主机的日志也会记录到Server的日志文件中
# 忽略之前所有的日志,远程主机日志记录完之后不再继续往下记录
& ~
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

在这里插入图片描述
配置完成

重启服务
systemctl restart rsyslog
  • 1

Syslog客户端配置

-略

验证结果

因为$template Remote,"/var/log/syslog/%fromhost-ip%/%fromhost-ip%_%$YEAR%-%$MONTH%-%$DAY%.log"这里设置了log的存放地址所以

查看log

# 以我的监听的syslog客户端10.19.190.55为例,
cd /var/log/syslog/10.19.190.55;
tail -f 10.19.190.55_2024-08-06.log
  • 1
  • 2
  • 3

预期结果:可以收到log

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop】
推荐阅读
相关标签
  

闽ICP备14008679号