zabbix自定义监控模板示例

自定义监控模板

前面案例中也写也很多自定义监控项或模板,这里大概说说怎么自定义监控模板

  1. 监控脚本:你要监控哪些值,如何取出这些值
  2. 配置文件中userparameter项 > 重启agent
  3. 测试:zabbix_get
  4. 创建模板,添加监控项,键值为<userparameter的键>[参数1,参数2]
  5. 添加触发器,添加图形

演示:自定义监控模板

我的agent是apt安装的,配置文件路径为/etc/zabbix

  1. 监控脚本:监控端口和进程
cd /etc/zabbix/zabbix_agentd.d
touch custom.sh
chmod +x custom.sh
vim custom.sh
#!/bin/bash
check_process(){
NUM=`ps -ef | grep -v grep | grep -v bash | grep ${NAME} | wc -l`
if [ $NUM -eq 0 ];then
        echo 100
    else
        echo 50
    fi
}
check_port(){
    ss -tnl | grep ${PORT} &> /dev/null
    if [ $? -eq 0 ];then
        echo 1
    else
        echo 0
    fi
}
main(){
    case $1 in
    process)
        NAME=$2
        check_process;
        ;;
    port)
        PORT=$2
        check_port;
        ;;
    esac
}
main $1 $2

脚本定义了2个传入参数,$1和$2
第一个参数表示你想监控process进程还是port端口
第二个参数表示你想传入的进程名或端口号

  1. 配置文件中userparameter项,然后重启agent
cd /etc/zabbix/zabbix_agentd.d
vim userparameter_custom.conf
UserParameter=mycustom[*],/etc/zabbix/zabbix_agentd.d/custom.sh "$1" "$2"
systemctl restart zabbix-agent.service

mycustom[*]:表示键名,*表示接收所有的参数
custom.sh是脚本名加接收的参数

  1. 所以我们就可以在server端测试
./zabbix_get -s 192.168.99.24 -p 10050 -k "mycustom[port,80]"

zabbix_get是用来测试获取键值的,
-s 是目标agent主机ip
-p 是agent的端口
-k 后面追加参数“键名[参数1,参数2]”
在这里插入图片描述

  1. server前端中创建模板
    在这里插入图片描述

在这里插入图片描述

  1. 找到这个模板,添加监控项
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

这个键值就是前面-k跟的参数

  1. 添加触发器
    在这里插入图片描述
    在这里插入图片描述
    添加条件
    在这里插入图片描述
    添加
    在这里插入图片描述

  2. 添加图形
    在这里插入图片描述
    在这里插入图片描述

  3. 添加到已有的主机
    在这里插入图片描述
    在这里插入图片描述

  4. 查看数据
    在这里插入图片描述

发布了254 篇原创文章 · 获赞 346 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/weixin_42758707/article/details/101354859