zabbix报警配置

news2024/12/30 20:03:29

一、前言

这里用的是zabbix6.0LTS版本,这里记录自定义配置报警,因为邮件报警基本已经很少有人使用了,大部分是,短信、飞书、钉钉等等工具,所有需要定制化报警

二、定义脚本存放路径

cd /usr/local/zabbix/etc

[root@node1 etc]# vim zabbix_server.conf
#增加报警脚本的存放路径
AlertScriptsPath=/usr/local/zabbix/share/zabbix/alertscripts

三、创建报警媒介

点击"管理" --> “报警媒介类型”–>“创建媒体类型”

在这里插入图片描述

1处: 自定义报警媒介名称
2处: 报警媒介的类型,我们是自定义报警,所有选择"脚本"类型,一切报警的处理逻辑都在脚本中处理
3处: 脚本名称,此处的脚本名称就是调用放在 "AlertScriptsPath"参数路径中的脚本文件
4处: 此处有3个参数,这3个参数的写法是固定的,顺序也是固定的,不要调整它们的顺序

{ALERT.SENDTO} 的含义: 报警信息接收人
{ALERT.SUBJECT}的含义: 报警主题
{ALERT.MESSAGE}的含义:报警的具体消息

1.编写测试脚本

cd /usr/local/zabbix/share/zabbix/alertscripts
[root@node1 alertscripts]# touch log
[root@node1 alertscripts]# chmod 777 log
[root@node1 alertscripts]# cat main.sh 
#!/bin/bash
url=$(dirname $(readlink -f $0))
echo "{ALERT.SENDTO} = $1" >> $url/log
echo "{ALERT.SUBJECT} = $2" >> $url/log
echo "{ALERT.MESSAGE} = $3" >> $url/log

2.发送消息给测试脚本

找到要测试的报警媒介,点击右侧的测试

在这里插入图片描述

填写测试内容

在这里插入图片描述

测试成功结果如下:

在这里插入图片描述

在服务器端查看是否有日志生成,

[root@node1 alertscripts]# cat log 
{ALERT.SENDTO} = 12345678910
{ALERT.SUBJECT} = 故障报警
{ALERT.MESSAGE} = 这是一个测试报警消息

总结:
根据结论得出,在报警媒介定义的3个脚本参数 分别通过位置参数传递给了脚本

3.验证脚本参数顺序

调整参数顺序
在这里插入图片描述

再次发送相同的测试内容
日志内容如下:

[root@node1 alertscripts]# cat log 
{ALERT.SENDTO} = 故障报警
{ALERT.SUBJECT} = 这是一个测试报警信息
{ALERT.MESSAGE} = 12345678910


4.结果

根据日志内容能够说明两点:

1.说明{ALERT.SENDTO}这三个参数的编写顺序是直接对应$1、$2、$3的顺序
2.说明

"收件人" 的值 赋值给  {ALERT.SENDTO}  变量
"主题"   的值 赋值给 {ALERT.SUBJECT} 变量
"消息"   的值 赋值给 {ALERT.MESSAGE} 变量

这个赋值的动作,不会随着脚本参数的顺序的变化而变化,

四、创建接收用户

1.简单用户接收

如果接收报警的人只限于运维部门几个人,可以直接在zabbix的Admin账号中配置多个接收人报警接收人。
注意:虽然这里是一个Admin 账户,但是里边的有3个报警信息接收人,此时Admin账号除了是一个zabbix系统的 “登录用户” 的身份,又是一个 “报警接收人组” 的身份

在这里插入图片描述

1.1 添加接收人1

在这里插入图片描述

1.2 添加接收人2

在这里插入图片描述

1.3 添加接收人3

在这里插入图片描述

添加完成后如下图,然后点击更新:

在这里插入图片描述

2.多用户接收

如果公司中有很多项目,不同的运维人员负责不同的项目,那就常见不同的zabbix用户,在不同的zabbix用户中增加不同的报警用户接收人,这样就可以根据不同的项目发送给不同的报警接收人

五、创建触发器

选择创建触发器

在这里插入图片描述

添加表达式如下图

在这里插入图片描述
在这里插入图片描述

添加完成后,搜索刚才添加的触发器
在这里插入图片描述

1.查看监控项值

[root@node1 ~]# /usr/local/zabbix/bin/zabbix_get -s "127.0.0.1" -p 10050 -k 'system.users.num'
1

多开启几个终端,现在登录用户数量变成了3个,我们的触发器规定的是大于2个就报警

[root@node1 ~]# /usr/local/zabbix/bin/zabbix_get -s "127.0.0.1" -p 10050 -k 'system.users.num'
3

2.查看触发器异常

此时的 “值” 从正常变成了"问题"
在这里插入图片描述

在"监测" --> “问题” 中也能快速的看到异常的触发器
在这里插入图片描述

关闭终端后,用户数量正常后,报警恢复之后如下图
在这里插入图片描述

六.创建动作

目前触发器触发之后,只会显示有问题,不会通知用户,这时候就需要触发器触发之后,有相关的动作,讲警告信息通知给用户,此时就用到了动作
在这里插入图片描述

1.添加报警主机

这里只是用于测试,生产中可以根据主机群组来定义

在这里插入图片描述

2.添加报警级别

在这里插入图片描述

如下图:

这里的含义为,此报警动作是在zabbix server主机 有报警级别大于等于严重的情况下会触发此动作

在这里插入图片描述

3.设置"操作"

注意:这里的主体和消息对应的就是 上述中的 {ALERT.SUBJECT} {ALERT.MESSAGE}参数。
这里的操作主要就是将 收件人信息、主题、 消息 已参数的形式发送给前边定义的"main.sh"脚本.
消息内容如下

故障:{TRIGGER.STATUS},服务器:{HOSTNAME1}发生:{TRIGGER.NAME}故障! 
告警主机:{HOSTNAME1},IP地址:{HOST.CONN} 
告警时间:{EVENT.DATE}{EVENT.TIME} 
告警等级:{TRIGGER.SEVERITY} 
告警信息:{TRIGGER.NAME} 
告警项目:{TRIGGER.KEY1} 
问题详情:{ITEM.NAME}:{ITEM.VALUE} 
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1} 
事件ID:{EVENT.ID} 
恢复:{TRIGGER.STATUS},服务器:{HOSTNAME1}已经恢复!:{TRIGGER.NAME} 
告警主机:{HOSTNAME1} ,IP地址:{HOST.CONN} 
告警时间:{EVENT.DATE}{EVENT.TIME} 
告警等级:{TRIGGER.SEVERITY} 
告警信息:{TRIGGER.NAME} 
告警项目:{TRIGGER.KEY1} 
问题详情:{ITEM.NAME}:{ITEM.VALUE} 
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1} 
事件ID:{EVENT.ID}

在这里插入图片描述

完成如下图:

在这里插入图片描述

3.验证动作是否生效

在server端查看记录日志

[root@node1 alertscripts]# tail -f log 
{ALERT.SENDTO} = 13811111111 
{ALERT.SUBJECT} = 故障报警
{ALERT.MESSAGE} = IP地址:127.0.0.1 
告警时间:2023.04.0921:43:01 
告警信息:用户登录数量报警 
告警项目:system.users.num 
问题详情:Number of logged in users:3
{ALERT.SENDTO} = 13822222222 
{ALERT.SUBJECT} = 故障报警
{ALERT.MESSAGE} = IP地址:127.0.0.1 
告警时间:2023.04.0921:43:01 
告警信息:用户登录数量报警 
告警项目:system.users.num 
问题详情:Number of logged in users:3
{ALERT.SENDTO} = 13833333333 
{ALERT.SUBJECT} = 故障报警
{ALERT.MESSAGE} = IP地址:127.0.0.1 
告警时间:2023.04.0921:43:01 
告警信息:用户登录数量报警 
告警项目:system.users.num 
问题详情:Number of logged in users:3

因为报警接收人1、2、3都接收"严重"报警,触发器的报警级别是"严重",所有在脚本中收到了3个人的报警信息

4.调整触发器报警和动作级别

现在将"用户登录数量报警"的触发器的报警级别调整为"一般严重"

在这里插入图片描述

将动作级别也调整为"一般严重"

在这里插入图片描述

服务器日志如下: 只有用户1 和3 收到了报警信息,2没有收到

{ALERT.SENDTO} = 13811111111 
{ALERT.SUBJECT} = 故障报警
{ALERT.MESSAGE} = IP地址:127.0.0.1 
告警时间:2023.04.0922:00:01 
告警信息:用户登录数量报警 
告警项目:system.users.num 
问题详情:Number of logged in users:3
{ALERT.SENDTO} = 13833333333 
{ALERT.SUBJECT} = 故障报警
{ALERT.MESSAGE} = IP地址:127.0.0.1 
告警时间:2023.04.0922:00:01 
告警信息:用户登录数量报警 
告警项目:system.users.num 
问题详情:Number of logged in users:3

生产中一般不会设置不同的人接收不同级别的的报警信息,这里只是做了验证。

七、自定义模板

linux自带的模板比较全面,当然 个人感觉模板中的很多监控项我们用不到,所以可以自定义模板,然后自定义其中的监控项,是模板中的监控项少并且简洁。

八、克隆模板

zabbix6.0LTS 监控linux模板中 有两个模板

#被动模式模板
Linux by Zabbix agent    

#被动模式模板
Linux by Zabbix agent active  

这里克隆主动模式的模板,这里为什么要克隆而不是一个一个写监控项目呢?是因为模板中有"自动发现规则",克隆后就不用手动写自动发现规则了

1.搜素模板

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-euhVAEsq-1681372282021)(E:\文档\工作文件\条线相关文件\SC1000\医疗zabbix文档\配置文档\zabbix配置文档.assets\image-20230412094723511.png)]

2.克隆模板

在克隆的时候选择完全克隆,因为完全克隆的时候,删除改动新模板,不会影像原来的模板

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lplKwgRz-1681372282023)(E:\文档\工作文件\条线相关文件\SC1000\医疗zabbix文档\配置文档\zabbix配置文档.assets\image-20230412094827591.png)]

3.修改新模板

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nqIYlrfa-1681372282023)(E:\文档\工作文件\条线相关文件\SC1000\医疗zabbix文档\配置文档\zabbix配置文档.assets\image-20230412095132192.png)]

4.查看克隆后的新模板

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8XWqAySf-1681372282024)(E:\文档\工作文件\条线相关文件\SC1000\医疗zabbix文档\配置文档\zabbix配置文档.assets\image-20230412095405679.png)]

九、自定义监控项目

注意:
对于常规的监控项可以保留,比如cpu、内存监控,还有自定义发现规则中的分区监控。其它的可以根据需要进行删除和保留

1.检测zabbix agent

agent.ping

在键值选项中,zabbix主动模式中,有一个监控项叫做agent.ping,检测zabbix—agent的状态,
"ZBX"图标变成绿色就是靠的这个监控项目。停止这个监控项目,图标变成灰色
"ZBX"图标变成红色是agent客户端down了。

agent.ping	客户端可达性检查。返回 nothing - 不可达;1 - 可达

注意:这个监控项要使用 被动模式。主动模式无效

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-atGTZI53-1681372282024)(E:\文档\工作文件\条线相关文件\SC1000\医疗zabbix文档\配置文档\zabbix配置文档.assets\image-20230413090851534.png)]

2.检测端口是否处于监听

net.tcp.listen[端口号]

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/422062.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MODBUS 转 EtherNet/IP 网关连接希望森兰变频器案例

Modbus转Ethernet/Ip网关,用于将多个 MODBUS 从站设备接入 ETHERNET/IP 主站网络,实现 MODBUS 转 ETHERNET/IP 功能。配上 MODBUS 转 EtherNet 网关专用的 EDS 文件,实现 ETHERNET/IP 主 站对 MODBUS 从站设备的控制。 需要设备 .24v电源模块 罗克韦尔PL…

【城市污水处理过程中典型异常工况智能识别】(基于迁移学习,拓扑结构卷积神经网络的污水异常工况识别)

基于迁移学习拓扑结构卷积神经网络的污水异常工况识别 **摘 要:针对城市污水处理过程的异常工况识别问题,本文提出了基于图像纹理性分析的工况识别方法。首先总结了几种典型的异常工况的特点,并且分析了卷积神经网络特征提取异常工况的几种纹…

月薪20k的性能测试必备技能:发现性能瓶颈掌握性能调优

背景 当下云计算、大数据盛行的背景下,大并发和大吞吐量的需求已经是摆在企业面前的问题了,其中网络的性能要求尤为关键,除了软件本身需要考虑到性能方面的要求,一些硬件上面的优化也是必不可少的。 作为一名测试工作者&#xf…

ubuntu将主文件夹的文件夹中文名称改为英文

许多人在使用ubuntu时使用汉语的,但是主文件夹下的文件夹也随之变成了中文,导致命令行下输入文件夹名称非常的困难,那么怎么简单的把名字改成英文的呢?(也不知道哪个版本开始不出现下面这个图示提示了) 方法…

Vue2-黑马(十二)

目录: (1)vue2-登录-store-user.js (2)实战-登录-store-user.js (3)登录-实战--permission.js-获取角色 (1)vue2-登录-store-user.js 我们进入store中的actions查看它…

MySQL - 基于SSL安全连接的主从复制

目录 🍁主从复制的原理 🍁部署master 🍁部署slave 🍁测试SSL主从复制 🦐博客主页:大虾好吃吗的博客 🦐MySQL专栏:MySQL专栏地址 生产环境中一台mysql主机存在单点故障,所…

c/c++:二维数组,数组的行数和列数求法sizeof,数组初始化不同形式,5个学生,3门功课,求学生总成绩和功课总成绩

c/c:二维数组,数组的行数和列数求法sizeof,数组初始化不同形式,5个学生,3门功课,求学生总成绩和功课总成绩 2022找工作是学历、能力和运气的超强结合体,遇到寒冬,大厂不招人&#x…

【从零开始学Skynet】实战篇《球球大作战》(十一):测试登录流程

终于可以测试work协议了。只要走得通,就代表完成了整套底层框架。 1、主服务修改 我们重新修改主服务,让它智能一些,根据配置文件自动开启服务,无须手动设置。如下代码所示: local skynet require "skynet"…

Linux应用编程(信号基础)

一、基本概念 信号是事件发生时对进程的通知机制,也可以把它称为软件中断。信号与硬件中断的相似之处在于能够打断程序当前执行的正常流程,其实是在软件层次上对中断机制的一种模拟。大多数情况下,是无法预测信号达到的准确时间,…

录屏剪辑软件哪个好 录屏后怎么剪辑视频

​ 现在很多人都会通过录屏的方式来传播分享内容,但是很多录屏软件的操作不太方便,给录制带来困难。再加上很多视频在录制后需要剪辑,加大了视频制作的工作量,所以找到一款好用的录屏剪辑软件很重要。今天就来分享一下录屏剪辑软件…

从0-1优化C++类对象创建资源消耗 (附源码)

C++常用功能源码系列 文章目录 C++常用功能源码系列前言一、C++几种常用的函数是什么?二、优化过程1.源代码2.源代码总结前言 本文是C/C++常用功能代码封装专栏的导航贴。部分来源于实战项目中的部分功能提炼,希望能够达到你在自己的项目中拿来就用的效果,这样更好的服务于…

Spring MVC 配置(10)

目录 简介: 传统方式: 纯注解方式 1. Tomcat加载Servlet 2. 参数分析 3. 调用onStartup方法 注解方法替换配置的 xml 文件 简介: Spring MVC是Spring的一个子模块,也是我分析的Spring源码的最后一个模块。下面看一下Spring …

2023年安全岗面试题及经验分享

如果你正在面试安全岗,那么恭喜你及时看到了这篇文章~ 写在前面 本篇为大家整理了上百道网络安全面试题,主要方向有 网络基础、渗透测试、安全工具 等,其中还包括 HVV面试、CISP备考 等,希望在求职期可以帮到大家​!…

WAF绕过信息收集

WAF绕过-信息收集之反爬虫延时代理池技术 思维导图 WAF拦截会出现在安全测试的各个层面,掌握各个层面的分析和绕过技术最为关键。 webpathbrute工具 一个Web目录扫描暴力探测工具 WebPathBrute-Web路径暴力探测工具下载:https://github.com/7kbstorm…

QN88封装国产FPGA

QN88GW1N-9管脚名GW2A-18管脚名AL3S10EG4S201VCCVCCIO_L1_1VCC_12VSSVSSIO_L2_1IO_L1_13IOL2AVCCO7IO_L3_1,MOSI,D1IO_L2_14IOL5A/JTAGSEL_N/LPLL_T_inIOL7A/LPLL1_T_inIO_L4_1IO_L1N_15IOL11A/TMSIOR25B/TMSIO_L5_1,SPICSNIO_L1P_16IOL11B/TCKIOR26A/TCKINITNGND7IOL12B/TDIIO…

爬虫日常练习-selenium登录12306

文章目录前言页面分析代码设计前言 hello,好兄弟们。经过前面几篇文章后,想必小伙伴们对于简单的网页文本爬取,图片爬取类的内容已经熟练掌握了。今天我们开始练习一个新的内容:selenium。有关这一块的基础知识网上太多了&#x…

Java面试题总结 | Java面试题总结4-多线程模块(持续更新)

多线程 线程互斥和线程同步 线程互斥:当多个线程需要访问同一资源时,要求在一个时间段内只能允许一个线程来操作共享资源,操作完毕后别的线程才能读取该资源,这叫线程的互斥。我们需要使用synchronized来给共享区域加锁&#xf…

腾讯云服务器CVM标准型S5和S4的区别

腾讯云服务器CVM标准型S5和S4有什么区别?标准型S5云服务器次新一代的云服务器,CPU采用2.5GHz主频的Intel Xeon Cascade Lake 或者 Intel Xeon Cooper Lake 处理器,睿频3.1GHz,目前标准型S5云服务器活动比较多,标准型S4…

Android 10.0 系统systemui下拉通知栏的通知布局相关源码分析

1.前言 在android10.0的系统rom开发中,在进行systemui中的下拉通知栏的布局自定义的时候,对于原生systemui的 系统的下拉通知栏的通知布局的了解也是非常重要的,接下来就来分析下相关的下拉通知栏的通知布局的相关 源码流程,了解这些才方便对通知栏的布局做修改 2.系统…

一种二级水闸安全监测布置及设备安装维护方案案例

1.1安全监测布置 1.1.1 拦河闸及泵站监测 拦河闸和水轮泵站主要安全监测项目包括: (1) 表面变形监测 在拦河闸上游侧闸顶布置1条引张线监测闸顶水平位移,每一联中孔闸墩上及左岸水轮泵站边墩处各布置1个测点,共计9个测点,左右…