Centos7.4.1708搭建syslog服务

系统:centos7.4.1708
环境:无互联网环境
syslog使用端口为 UDP 514

将/etc/yum.repos.d目录下除CentOS-Media.repo文件所有文件重命名
cd /etc/yum.repos.d
for i in `ls|grep -v CentOS-Media.repo`;do mv $i{,.bak};done

修改CentOS-Media.repo
vim CentOS-Media.repo
[c7-media]
name=CentOS-$releasever - Media
baseurl=file:///mnt/usb1/    #设置本地挂载点
# file:///media/cdrom/     #该行注释
# file:///media/cdrecorder/   #该行注释
gpgcheck=0              #该行改为0,表示为关闭检查KEY
enabled=1          #该行改为1,表示为开启本地yum仓库
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7     #该行默认即可


新建本地挂载点(该步骤可按需更改)
mkdir /mnt/usb{1..3}        #这里我新建了3个目录

关闭防火墙
systemctl stop firewalld
systemctl disable firewalld

关闭SELINUX
sed "s/SELINUX=enforcing/SELINUX=disabled/" /etc/selinux/config


===============================================================
rpm包下载地址:
http://www.rpmfind.net/linux/rpm2html/search.php?query=syslog
使用的rpm包下载地址
wget http://www.rpmfind.net/linux/centos/7.7.1908/os/x86_64/Packages/rsyslog-8.24.0-38.el7.x86_64.rpm
===============================================================

安装:
yum -y install rsyslog-8.24.0-38.el7.x86_64.rpm

配置rsyslog
vim /etc/rsyslog.conf
sed -i "s/^#\$ModLoad imklog/\$ModLoad imklog/" /etc/rsyslog.conf
sed -i "s/^#\$ModLoad immark/\$ModLoad immark/" /etc/rsyslog.conf
sed -i "s/^#\$ModLoad imudp/\$ModLoad imudp/" /etc/rsyslog.conf
sed -i "s/^#\$UDPServerRun 514/\$UDPServerRun 514/" /etc/rsyslog.conf
sed -i "s/^#\$ActionFileEnableSync on/\$ActionFileEnableSync on/" /etc/rsyslog.conf


在/etc/rsyslog.conf底部增加配置:
vim /etc/rsyslog.conf
$template IpTemplate,"/var/log/syslog/%FROMHOST-IP%/%$year%-%$month%-%$day%.log.log"
*.* ?IpTemplate
新增加的2行释义:
第一行是定义了一个日志接收存储模板,名称为IpTemplate(可任意),"/var/log/syslog/%FROMHOST-IP%/%$year%-%$month%-%$day%.log.log"是日志文件存储路径,用到了几个变量,根据不同IP分了目录,每个IP目录下每天会生成一个日志文件
第二行是对任意类型调用这个名为IpTemplate的模板

扫描二维码关注公众号,回复: 7369893 查看本文章

紧接着排除本机IP
fromhost-ip, !isequal, “127.0.0.1”
?Remote
& ~      

符号”& ~”表示了一个重定向规则,被用来告知rsyslog守护进程停止对日志消息的进一步处理,并且不要在本地写入。如果没有使用该重定向规则,那么所有的远程消息都会在写入上述描述的日志文件之外同时被写入到本地日志文件,这就意味着日志消息实际上被写了两次。使用该规则的另外一个结果就是syslog服务器本身的日志消息只会被以该机器主机名命名的专有文件中。


启动/停止/重启rsyslog
systemctl start rsyslog
systemctl stop rsyslog
systemctl restart rsyslog

猜你喜欢

转载自www.cnblogs.com/smlile-you-me/p/11593914.html
今日推荐