Zabbix进阶实战!将告警推送到Syslog服务器详细教程

news/2024/10/23 17:38:30/

需求场景:

用户需要将zabbix产生的告警事件推送给rsyslog服务器,syslog服务器再对事件日志进行分析处理.
环境配置信息
服务器 IP地址
ZabbixServer 192.168.200.195
Rsyslog服务器 192.168.200.128
*Rsyslog服务器防火墙需要放通 UDP/514端口
推送脚本需要修改实际Rsyslog服务器IP地址

zabbix_10">zabbix配置:

1、新建脚本
在这里插入图片描述

/usr/bin/python3 /itops/zabbix/share/zabbix/alertscripts/kk.py '{EVENT.DATE} {EVENT.TIME}' {HOST.ID} {HOST.HOST} {EVENT.NSEVERITY} '{EVENT.NAME}'
zabbix内置支持的宏可以查阅zabbix官方手册
https://www.zabbix.com/documentation/6.0/zh/manual/appendix/macros/supported_by_location?hl=%E5%91%8A%E8%AD%A6
2、新建动作![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/501d07f3d58148b8ac177af38f7bb13e.png)
![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/ee7d25401b3d4b83a8d1c2fd8edda341.png)
![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/0788dddc5e89437a9df6c8bacebb80c2.png)
3、上传脚本到 /itops/zabbix/share/zabbix/alertscripts 目录下
以下是推送syslog脚本kk.py```cpp
#!/usr/bin/python3
#_*_ coding:utf-8 _*_
#模拟发送syslog日志
###################
# make: 青灯
# version: v1.0
# date: 2024-5-28 
###################import socket
from datetime import datetime
import time
import sysclass Message:def __init__(self):self.syslog_server_ip = '192.168.200.128'  # syslog服务器的IP地址self.port = 514  # syslog的默认UDP端口self.datetime=sys.argv[1].replace('.','-')self.hostId=sys.argv[2]self.hostname=sys.argv[3]self.priority=int(sys.argv[4])self.message=sys.argv[5]def __call__(self):if self.priority == 1:priority_text = "信息"elif self.priority == 2:priority_text = "警告"elif self.priority == 3:priority_text = "次要"elif self.priority == 4:priority_text = "严重"elif self.priority == 5:priority_text = "紧急"else:priority_text = "未知"alertMessage="{0},{1},{2},{3} {4}".format(self.datetime,self.hostId,priority_text,self.hostname,self.message)sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)sock.sendto(alertMessage.encode('utf-8'), (self.syslog_server_ip,self.port))sock.close()if __name__ == "__main__":main = Message()main()

给脚本赋权

chmod 755 /itops/zabbix/share/zabbix/alertscripts/kk.py
chown itops:  /itops/zabbix/share/zabbix/alertscripts/kk.py

Rsyslog配置
修改rsyslog服务主配置文件

vim /etc/rsyslog.conf
$ModLoad imudp
$UDPServerRun 514
*.* ?RemoteLogsFile

在这里插入图片描述
主配置文件有引用子配置文件目录,不影响主配置文件,在子配置文件添加在这里插入图片描述
创建 rsyslog配置子目录

mkdir /etc/rsyslog.d/
vi /etc/rsyslog.d/remote.conf
$template RemoteLogsFile,"/var/log/remotelogs/%fromhost-ip%/%fromhost-ip%.log"

重启rsyslog服务

systemctl stop rsyslog.service
systemctl start rsyslog.service

查看514端口是否启用

ss -nul

在这里插入图片描述
防火墙放通UDP/514端口

firewall-cmd --permanent --add-port=514/udp
firewall-cmd --reload 

验证:

1、rsyslog服务器监听 UDP/514端口流量

tcpdump -i ens33 -A 'udp port 514'    #ens33为网卡名称,以实际为准

2、zabbix手动关闭告警,触发产生新告警在这里插入图片描述
3、rsyslog服务器记录产生的告警日志在这里插入图片描述
syslog日志格式

May 27 16:16:37 2024-05-27 17: 51:49,10756,严重,TCP_192.168.200.1_57673 [TCP]192.168.200.1_57673_wpscloudsvr 端口持续3次探测异常

http://www.ppmy.cn/news/1541400.html

相关文章

【C++】C++多态世界:从基础到前沿

【C】C多态世界:从基础到前沿 多态的定义及实现1. 虚函数2. 虚函数的重写3. C11 override 和 final重载、覆盖(重写)、隐藏(重定义)的对比(关键) 抽象类1. 概念2. 接口继承和实现继承 多态的原理1虚函数表2. 虚函数存在哪的?虚表存…

js中杨辉三角问题

代码&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document</title> </he…

计算机专业大学四年的学习路线(非常详细),零基础入门到精通,看这一篇就够了

前言 许多学子选择踏上计算机这条充满挑战与机遇的道路。但在大学四年中&#xff0c;如何规划自己的学习路线&#xff0c;才能在毕业时脱颖而出&#xff0c;成为行业的佼佼者呢&#xff1f; 第一学年&#xff1a;基础知识的奠基 1.1 课程安排 在大学的第一年&#xff0c;重…

考研408考试科目之计算机数据结构在科技应用——未来之窗学习通

一、计算机数据结构大纲 1数据结构基本概念与算法基础 2线性表 3栈、队列和数组 4树与二叉树 5 图 二、肉眼看识文件 -火绒杀毒软件分析 以火绒杀毒软件讲解数据结构的文件格式&#xff0c; 火绒的网络检测UI文件&#xff1a;NetDiag.ui 记事本打开&#xff1a; 用肉眼我们…

AI创新驱动教育:科技革命下的教育转型

日前&#xff0c;2024教育装备创新大会在杭州市余杭区举行&#xff0c;会上集中展示了AI技术如何赋能教学并深入探讨了其影响。AI技术正在以前所未有的力度&#xff0c;引领教育步入智能新时代&#xff0c;成为教育改革创新的催化剂。 在国家政策的积极推动下&#xff0c;AI技…

C# error MSB3554: 无法写入输出文件。。。。未能找到路径

具体编译错误见截图 原因是项目文件中&#xff0c;写死了固定的文件路径 具体原因是项目在迁移过程中&#xff0c;不同的用户操作&#xff0c;遗留下的&#xff0c; 官网找到了具体修改说明&#xff0c;可以详细参考https://learn.microsoft.com/zh-cn/visualstudio/ide/how-t…

CTFHUB技能树之SQL——报错注入

开启靶场&#xff0c;打开链接&#xff1a; 输入1&#xff1a; 没有回显出相关信息&#xff0c;初步判断是报错注入、时间盲注或布尔盲注 输入1&#xff1a; 显示出1和报错信息&#xff0c;说明没有闭合情况&#xff0c;是报错注入且是整数型注入 输入&#xff1a; 1 and upd…

JavaScript 第21章:Canvas 与图形绘制

在JavaScript中&#xff0c;HTML5的<canvas>元素提供了强大的绘图功能。这一章节将介绍如何使用Canvas API来绘制2D图形&#xff0c;并探讨动画和变换的基础知识。 Canvas API <canvas>是一个HTML元素&#xff0c;它提供了一个矩形区域用于渲染图形。在JavaScrip…