zabbix自定义脚本监控 创建自定义监控模板

zabbix自定义脚本,创建自定义监控模板,可实现自动创建监控项,自动创建告警项,非常实用。

1.编写自定义脚本

  • 使用任何文本编辑器编写自定义脚本,该脚本应该能够输出需要监控的数据。例如,如果要检查数据备份是否成功,备份文件命名规则若带当天日期,可以根据文件名称上的日期来检查备份文件是否存在

    • 脚本存放路径(agent端):/etc/zabbix/script/File_backup.sh
    • 脚本生成的数据文件(agent端):/etc/zabbix/script/File_backup.txt
    • 脚本案例为检查当天备份是否成功,如果修改脚本请注意保留脚本生成的数据文件的格式
#!/bin/bash
logs=/etc/zabbix/script
txt=File_backup.txt

#检查文件以及大小
ls -lRh /dbbak |grep "^-"|grep $(date -d '-1 day ' +%Y-%m-%d) | awk '{print $(NF),$5}'|cut -d'.' -f2-|awk '{print $1":"$2}' > ${logs}/$txt

chown -R zabbix:zabbix ${logs}/$txt
ssharray=(`cat ${logs}/${txt}|awk -F[:] '{print $1}' 2>/dev/null`)
length2=${#ssharray[@]}
printf "{\n"
printf  '\t'"\"data\":["
for ((i=0;i<$length2;i++))
do
    printf '\n\t\t{'
    printf "\"{#SSHIP}\":\"${ssharray[$i]}\"}"
    if [ $i -lt $[$length2-1] ];then
            printf ','
    fi
done
printf  "\n\t]\n"
printf "}\n"

2.创建自定义监控项配置文件

  • /etc/zabbix/zabbix_agentd.d 是 Zabbix 客户端配置文件的默认目录。在这个目录中,你可以放置自定义的监控项配置文件,这些文件定义了如何从特定的设备或服务收集数据,并发送到 Zabbix 服务器。这样,你就可以根据自己的需求定制监控内容。

    • zabbix agent自定义脚本默认配置文件目录(agent端):/etc/zabbix/zabbix_agentd.d/File_backup.conf
    • 如果需要修改请保留原格式
vi /etc/zabbix/zabbix_agentd.d/File_backup.conf #必须.conf后缀,名称可自定义
UserParameter=custom.File.backup.discovery,/etc/zabbix/script/File_backup.sh
UserParameter=custom.File.backup.num[*], cat /etc/zabbix/script/File_backup.txt | egrep $1 | head -1 | awk -F[:] '{print $$2}'

3.测试自定义脚本:

  • 第一步:测试脚本的正确性。可以在终端或命令行中直接运行脚本,检查其输出结果文件(/etc/zabbix/script/File_backup.txt)是否符合预期。
  • 第二步:登录server端,使用zabbix_get命令验证连通性(如果未安装zabbix_get,请先安装),如果正常返回结果,则成功。
zabbix_get -s 192.168.0.1 -p 10050 -k custom.File.backup.discovery
#192.168.0.1 为agnet的ip
#10050为agent的端口,如果有防火墙需提前开放此端口
#custom.File.backup.discovery为在agent定义的自定义监控项的键值

4.创建自定义监控模板

  • 登录zabbix web页面创建自定义监控模板,名称和群组均可自定义
    zabbix自定义脚本监控 创建自定义监控模板_第1张图片

4.1 设置应用集

  • 在监控模板中设置应用集,名称自行命名

4.2 创建自动发现规则

  • 根据agent端自定义的键值进行配置
    • 名称:custom.File.backup.discovery 可以和键值一样,也可以自行命名
    • 键值:custom.File.backup.discovery 需要和agent端配置/etc/zabbix/zabbix_agentd.d/File_backup.conf中定义的保持一致
      zabbix自定义脚本监控 创建自定义监控模板_第2张图片

4.3 自动发现规则-创建监控项原型

  • 根据agent端定义的建议进行配置
    • 名称:{#SSHIP} 备份文件大小
    • 键值:custom.File.backup.num[{#SSHIP}]
      zabbix自定义脚本监控 创建自定义监控模板_第3张图片

4.4 自动发现规则—创建触发器原型

  • 根据需要监控的数据,创建相应的触发器。触发器用于定义当监控项的值达到某个条件时所采取的操作,例如发送警报或执行某个操作。
    • 名称:{HOST.NAME} {#SSHIP} 未监测到此备份文件! 可以根据自身需要修改
    • 严重性:自定义
    • 表达式:{Template APP For Linux File Backup Check:custom.File.backup.num[{#SSHIP}].nodata(3600)}=1 1h内未检测到备份数据,则触发告警,可以根据自身需要修改
      zabbix自定义脚本监控 创建自定义监控模板_第4张图片

5. 查看监控结果

  • 在Zabbix的web界面中,可以查看每个监控项的历史数据和当前状态。如果触发器被触发,则可以在事件列表中查看相关的警报信息。

你可能感兴趣的:(Zabbix,shell,zabbix,linux,监控,shell)