编辑
2023-04-04
运维
00
请注意,本文编写于 533 天前,最后修改于 533 天前,其中某些信息可能已经过时。

目录

🏆前言
🥈定义监控项介绍
🥇任务
🥈客户端
🥉取值
🥉配置
🥈服务端
🥉测试
🥈web页面
🥉添加监控项
🥉添加触发器
🥉添加报警媒介
qq邮箱生成smtp码
🥉设置用户和报警媒介
🥉添加动作
🥇测试告警和恢复告警

🏆前言

  有的时候zabbix提供的监控项目,不能满足我们生产环境下的监控需求,此时我们就要按照zabbix的规范自定义监控项目,来达到监控的目的。

🥈定义监控项介绍

监控项就是监控项目,监控指标,具体的监控内容。 在添加主机时我们会选择关联模板,模板中自带很多监控项,但是很多时候我们需要监控的监控项模板中没有,此时需要自定义监控项。

**自定义监控项的步骤可以分为:取值,配置,测试,添加。

取值和配置在客户端进行,测试在服务端进行,添加在web页面进行**

🥇任务

下面给大家举例一个:自定义监控一个进程,如果监控到该进程则不报警;如果没有监控到,则报警发送邮件;如果报警处理后,恢复监控,则通知发送邮件。

🥈客户端

🥉取值

bash
ps -ef | grep -v grep | grep -E cs.jar | wc -l 1

🥉配置

在被监控端的agent配置文件中添加配置

bash
#进入zabbix客户端 vi /etc/zabbix/zabbix_agentd.conf #寻找UserParameter=键,监测脚本或者命令 #zabbix监控项是以键值对的形式定义的,cs为键,也就是监控项的名称,取值命令为值; #大概在296行,添加 UserParameter=cs,ps -ef | grep -v grep | grep -E cs.jar | wc -l #保存退出,重启客户端 systemctl restart zabbix-agent.service

🥈服务端

先看看服务端有没有安装zabbix-get这个命令,没有的话,安装一下即可

bash
yum -y install zabbix-get

zabbix_get:模拟zabbix_server获取agent数据

🥉测试

测试在服务端使用zabbix_get命令实现

bash
#-s 指定客户端ip #-k 指定客户端配置文件里设置的键 [root@localhost ~]# zabbix_get -s 192.10.2.112 -k cs 1

这时服务端是可以获取到客户端的值的,说明配置成功,配置完之后必须要重启客户端;然后接下来就是添加监控项;

**注意:**不管取到0或者1都是配置成功了,如果没有配置成功会报错:ZBX_NOTSUPPORTED: Unsupported item key.;

🥈web页面

🥉添加监控项

1.登陆web界面,配置——主机——创建主机 在这里插入图片描述 选择主机,并填写以下红框部分。主机名称:与agent配置文件中Hostname保持一致,可见名称:自定义,群组:选择一个或者新建一个,ip地址:一般为内网ip,如果需要走公网监控则填写公网ip 在这里插入图片描述

2.监控项——创建监控项 主机里要选中你监控的那台客户端 在这里插入图片描述 在这里插入图片描述 按下图进行填写,最后选择添加即可 在这里插入图片描述 3.查看监控项的结果 监测——最新数据 在这里插入图片描述 在这里插入图片描述

🥉添加触发器

监控项创建完我们来创建触发器 点击触发器 在这里插入图片描述 创建触发器 在这里插入图片描述 按照下图来做就可以 还是设置0比较好,>1的话有点问题。 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 恢复表达式同样,只不过结果有些不同,可以写成=1就恢复。 在这里插入图片描述 在这里插入图片描述

🥉添加报警媒介

管理——报警媒介类型 在这里插入图片描述 可以选择Email 在这里插入图片描述 在这里插入图片描述

注意:密码不是你的163或者qq密码,是邮箱内的smtp码,这里我们来用qq邮箱来举例

qq邮箱生成smtp码

在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 发送短信,获取授权码,返回zabbix放到密码里就ok了。 在这里插入图片描述 生成smtp码之后,填写密码,保存即可。

🥉设置用户和报警媒介

管理——用户 在这里插入图片描述 用户直接用超级管理员即可 在这里插入图片描述 添加报警媒介 在这里插入图片描述 可以用qq邮箱,也可以用163邮箱 在这里插入图片描述 点击添加,完成 在这里插入图片描述 切记一定要点添加或者更新。

🥉添加动作

在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 我们来勾选Custom message,告警和恢复的主题和消息,我们放到了这两张图的下面。

故障: 在这里插入图片描述

恢复: 在这里插入图片描述

故障:

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

恢复:

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

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

至此就配置完成,我们开始测试

🥇测试告警和恢复告警

为了测试我先把jar包杀掉; 在这里插入图片描述 等待发送邮件和告警 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 告警就成功了

接下来就是恢复告警了 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述

这样整套自定义监控就完成啦,包括发送邮件告警。

如果对你有用的话,可以打赏哦
打赏
ali pay
wechat pay

本文作者:Gustav

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!