Zabbix6.0自定义监控项

一、自定义监控整体流程

操作端流程备注
Agent端1️⃣ linux:通过命令、脚本取出对应的值
2️⃣ linux:根据zbx要求按照格式、编写配置文件、创建键值键值key用于获取客户端数据
3️⃣ linux:重启zabbix-agent
Server端4️⃣ linux:服务端测试键值是否可用zabbix_get命令测试
5️⃣ web页面:创建监控项
6️⃣ web页面:创建图形(可选)
7️⃣ web页面:创建触发器(可选)
8️⃣ web页面:测试

二、自定义监控案例

1、监控TCP 443端口案例

PS:此案例只是练习自定义监控流程,仅此而已,监控TCP端口一般使用zabbix自带的 net.tcp.listen[port] 键值实现起来更方便!

1、编写脚本取出对应的值

使用nc命令来判断端口是否可以建立连接,所以先安装nc命令:

yum -y install nc

编写脚本取出对应的值

mkdir /etc/zabbix/zabbix6.0/shell
vi /etc/zabbix/zabbix6.0/shell/tcpPortCheck.sh

#!/bin/bash
checkPort=$1

if (nc -z localhost $checkPort);then
	echo "1" # 存在返1
else
	echo "0" # 不存在返0
fi

赋予执行权限

chmod +x /etc/zabbix/zabbix6.0/shell/tcpPortCheck.sh

2、创建键值

修改zabbix_agentd.conf配置文件

vim /usr/local/conf/zabbix_agentd.conf
# 添加
Include=/usr/local/conf/zabbix_agentd/*.conf
# 追加16.32.15.0/24,不然无法使用zabbix_get命令(16.32.15.0/24修改为自己的IP网段或者0.0.0.0/0全部放开)
Server=10.10.10.0/24,16.32.15.0/24

创建键值

vim /usr/local/conf/zabbix_agentd/tcp_port.conf
# UserParameter=key,cmd(固定格式)
UserParameter=tcp.port.443,/etc/zabbix/zabbix6.0/shell/tcpPortCheck.sh 443

3、重启zabbix-agent

systemctl restart zabbix-agent

4、服务端测试键值是否可用

zabbix_get -s 16.32.15.115 -k tcp.port.443

5、创建监控项

在这里插入图片描述

  • 历史数据保留时长:每个更新间隔获取到的数据,占用空间比较大,推荐设置60d
  • 趋势数据保留时长:记录数据变化的趋势,占用空间较小,推荐保留365d

在这里插入图片描述

这里端口不通是属于正常情况,我本地并没有443端口!

6、创建图形

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传
在这里插入图片描述

在这里插入图片描述

查看最新数据

在这里插入图片描述

在这里插入图片描述

如上图可以很清晰的观察到443端口在那个时间点Down了

7、创建触发器

触发器的作用是:当满足触发器的条件时,将触发报警通知。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

8、测试

运行Nginx容器来占用443端口

docker run -itd --name nginx -p 443:80 nginx

将Nginx容器停止后,zabbix页面就会报警,如下图:

docker stop nginx

在这里插入图片描述

启动Nginx后,报警则会恢复,如下图:

docker start nginx

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

2、监控服务器异地登入(带参监控项)

1、使用命令获取最近一次登入IP地址

lastlog |grep -w root|awk '{print $3}'

2、创建键值

vim /usr/local/conf/zabbix_agentd/user_login.conf
UserParameter=user.login[*],lastlog |grep -w "$1"|awk '{print $$3}'

小细节:如果使用自定义键值传参,awk取列的时候要使用$$列,如果没有使用传参,正常使用awk即可!

3、重启zabbix-agent

systemctl restart zabbix-agent

4、服务端测试

# 获取root用户最后一次登入IP地址
zabbix_get -s 16.32.15.115 -k user.login[root]
# 获取qinzt用户最后一次登入IP地址
zabbix_get -s 16.32.15.115 -k user.login[qinzt]

5、添加监控项,监控root用户是否异地登入

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

6、创建触发器

在这里插入图片描述

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

7、测试

使用其他IP地址登入root用户,查看页面告警

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

如上图,已经触发了告警通知,但是这个告警等待10s后会自动恢复,原因是在恢复表达式填写逻辑是 与上次IP对比一致即可恢复,而监控项是10s取一次,所以10s后自动恢复!

  • 6
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

神奇的海马体

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值