Syslog日志服务的配置及启用(包含zabbix将告警信息推送到Syslog服务器的脚本)

环境介绍:Centos 7.4    192.168.1.15

syslog使用端口为 UDP 514

 

第一步安装rsyslog服务

[root@liudongyi ~]# yum install rsyslog -y

第二步关闭防火墙以及SElinux

[root@liudongyi ~]# systemctl stop firewalld
[root@liudongyi ~]# setenforce 0

第三步配置rsyslog配置文件/etc/rsyslog.conf,修改以下内容

取消注释:
$ModLoad imklog   //内核日志功能
$ModLoad immark   //日志标签功能
$ModLoad imudp   //启用UDP接收syslog , 一般设备syslog都是走UDP
$UDPServerRun 514   //端口号514
$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
$ActionFileEnableSync on

Syslog日志服务的配置及启用(包含zabbix将告警信息推送到Syslog服务器的脚本)_第1张图片

在配置文件下方还需要添加以下配置:修改后wq保存退出

$template IpTemplate,"/var/log/syslog/%FROMHOST-IP%/%$year%-%$month%-%$day%.log.log"
*.*  ?IpTemplate

第一行是定义了一个日志接收存储模板,名称为IpTemplate(可任意),"/var/log/syslog/%FROMHOST-IP%/%$year%-%$month%-%$day%.log.log"是日志文件存储路径,用到了几个变量,根据不同IP分了目录,每个IP目录下每天会生成一个日志文件

第二行是对任意类型调用这个名为IpTemplate的模板

第四步配置完成,启动rsyslog服务

[root@liudongyi ~]# systemctl  start  rsyslog

第五步配置好日志源端设备后监控日志记录情况,例如:

tail -f /var/log/syslog/192.168.1.X/20200519.log.log

可以使用zabbix监控将告警信息推送到Syslog服务器

告警脚本推送的syslog服务器(udp_send.sh )

#!/bin/bash
target=$1
subject=$2
message=$3
echo '########' `date +"%F %T"` '########' >> /app/scripts/time.txt
echo $subject >> /app/scripts/time.txt
echo $message >> /app/scripts/time.txt
echo -n "$subject;$message"| nc  -u -w1 "$target" 1234

echo " " >> /app/scripts/time.txt

备注:1234 是syslog服务器的端口,IP地址在Zabbix中定义

你可能感兴趣的:(linux运维,linux)