zabbix之创建自定义监控项

柳三千

文章最后更新时间:2022年09月13日已超过808天没有更新。

环境需求:

1、创建自定义监控项监控服务器登录的人数,超过3个则告警

2、监测登录服务器的ip归属地,异地ip登录服务器则报警


实现思路:

1、在客户端主机注册一个key;

#Format: UserParameter=<key>,<shell command>

2、在zabbix服务网页端递级添加一个模板、应用集、监控项、触发器、图形


一、客户端注册一个key

在客户端配置文件找到一行内容/etc/zabbix/zabbix_agent2.d/*.conf

大概意思就是在这个目录下的.conf配置文件是生效的

[root@hk-web zabbix]# cat zabbix_agent2.conf |grep 'Include'
### Option: Include
# Include=
Include=/etc/zabbix/zabbix_agent2.d/*.conf
# Include=/usr/local/etc/zabbix_agentd.userparams.conf
# Include=/usr/local/etc/zabbix_agentd.conf.d/
# Include=/usr/local/etc/zabbix_agentd.conf.d/*.conf
进入这个目录,新建一个配置文件
root@hk-web zabbix_agent2.d]# pwd
/etc/zabbix/zabbix_agent2.d
[root@hk-web zabbix_agent2.d]# cat userlogin.conf 
#Format: UserParameter=<key>,<shell command>
UserParameter=login.user,who | wc -l

其中login.user就是自己定义的key,后面加key的执行命令或者脚本

zabbix服务端测试连通性

image.png

显示当前登录人数是2

image.png

当前服务端确实是2人登录


二、zabbix服务网页端操作

1、创建模板

image.pngimage.png

2、创建应用集

image.pngimage.png

3、创建监控项

image.png

最主要的键值要与客户端注册的键值对应上

image.png

4、创建触发器

image.png

image.png

image.png

5、创建图形

image.pngimage.png

注意事项:

先创建模板、然后在模板内创建一个应用集,在应用集内创建一个监控项,然后再创建触发器和图形,都是在新建的模板下操作。


三、选择一台主机关联模板

image.pngimage.png

1、把刚刚新建的模板关联上,最终效果图

image.png

成功告警,如果邮箱配置,就会发送到邮箱去

image.png


四、监测服务器登录的IP归属地

1、客户端注册一个key

[root@hk-web zabbix_agent2.d]# cat userlogin.conf 
#Format: UserParameter=<key>,<shell command>
UserParameter=login.user,who | wc -l
UserParameter=login.addre,/etc/zabbix/zabbix_agent2.d/login_addre.sh

2、编写一个脚本

脚本思路:

1、通过curl命令得到IP归属地

2、如果获取的是一个空值则输出无人登录

3、zabbix触发器配置只要是无人登录或者中国广东省惠州市为正常,反之则告警!


[root@hk-web zabbix_agent2.d]# cat login_addre.sh 
#!/bin/bash
who | awk '{print $5}' | sed 's/(//g' | sed 's/)//g' | uniq > /etc/zabbix/zabbix_agent2.d/tmp
ip=$(cat /etc/zabbix/zabbix_agent2.d/tmp)
if [[ -z $ip ]];then
	echo '无人登录'
else
	for i in $ip;
		do
			addre=$(/usr/bin/curl -s http://www.cip.cc/$i | grep '数据三' | awk '{print $3}')
			if [[ -z $addre ]];then
       				 echo '中国广东省惠州市'
			else
				echo $addre
			fi
		done
fi

注意文件权限

image.png

3、状态监控

image.png

4、zabbix网页端触发器配置,记住选择and

image.png

5、最终效果

lQLPJxal5V4AYzrNAo3NBxiwQCVg_B9Qbw0DEN7JRQDSAA_1816_653.png

lQLPJxal5cUeFFTNASPNBRGw6vMvsh_MWrYDEN9xyUAlAA_1297_291.png


       因为客户端传输回来的值是中文,所以在监控项里要信息类型设置成文本

image.png

异常图:

lQLPJxaoVpsfX-bMpM0CqrAPx1aOogIQggMU3y28gGEA_682_164.pnglQLPJxaoVqQQLixRzQLCsE5fcAi0WDELAxTfPAMAYwA_706_81.png

lQLPJxaoVq4yJ4rNAVLNAkSwk-qz1cRkHj4DFN9MCsAoAA_580_338.png

总结:

       因为curl获取的可能是空值或者一串特殊符号,所以$adder要加一个判断,当获取空值时候默认正常登录;如果有更好的处理方式,麻烦大神留言,互相学习进步!


文章版权声明:除非注明,否则均为柳三千运维录原创文章,转载或复制请以超链接形式并注明出处。

目录[+]

取消
微信二维码
微信二维码
支付宝二维码