写点什么

zabbix 添加自定义监控项 & 告警(邮件)

作者:A-刘晨阳
  • 2022-11-15
    北京
  • 本文字数:1647 字

    阅读完需:约 5 分钟

@[toc]

🏆前言

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

🥈定义监控项介绍

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

自定义监控项的步骤可以分为:取值,配置,测试,添加。取值和配置在客户端进行,测试在服务端进行,添加在 web 页面进行

🥇任务

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

🥈客户端

🥉取值

ps -ef | grep -v grep | grep -E cs.jar | wc -l1
复制代码

🥉配置

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


#进入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 这个命令,没有的话,安装一下即可


yum -y install zabbix-get
复制代码


zabbix_get:模拟 zabbix_server 获取 agent 数据

🥉测试

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


#-s  指定客户端ip#-k  指定客户端配置文件里设置的键[root@localhost ~]# zabbix_get -s 192.10.2.112 -k cs1
复制代码


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


注意:不管取到 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,告警和恢复的主题和消息,我们放到了这两张图的下面。


故障:



恢复:



故障:


故障{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}
复制代码


恢复:


恢复{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 包杀掉;



等待发送邮件和告警





告警就成功了


接下来就是恢复告警了





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



发布于: 刚刚阅读数: 5
用户头像

A-刘晨阳

关注

还未添加个人签名 2022-06-16 加入

本人公众号《小刘Linux》,优质博主,欢迎大家的关注

评论

发布
暂无评论
zabbix添加自定义监控项&告警(邮件)_Linux_A-刘晨阳_InfoQ写作社区