Thank you for reading this post, don't forget to subscribe!
Автоматически обнаруживать элементы мониторинга правил
Сценарий, получите формат JSON, соответствующий списку элементов мониторинга
vim /etc/zabbix/scripts/ceph_proc_discovery.sh
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
#!/bin/bash CEPH_PROC_NAMES=($(ps -ef |grep -v grep |grep ceph |awk '/\/usr\/bin\/ceph.*/{print $8}' |awk -F "/" '{print $NF}')) CEPH_PROC_discovery () { printf '{\n' printf '\t"data": [\n' for((i=0;i<${#CEPH_PROC_NAMES[@]};i++));do num=$((${#CEPH_PROC_NAMES[@]}-1)) #echo $num if [ $i -ne $num ];then printf "\t\t{\"{#CEPHNAME}\": \"${CEPH_PROC_NAMES[$i]}\"},\n" else printf "\t\t{\"{#CEPHNAME}\": \"${CEPH_PROC_NAMES[$i]}\"}\n" #echo ${CEPH_PROC_NAMES[$i]} fi done printf '\n]}' } CEPH_PROC_discovery |
Создать пользовательские элементы мониторинга
vim /etc/zabbix/zabbix_agentd.d/userparameter_ceph.conf
UserParameter=ceph.proc.discovery,sh /etc/zabbix/scripts/ceph_proc_discovery.sh
Zabbix-сервер тестовой мониторинг элемент
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
zabbix_get -s 172.17.32.2 -p 10050 -k "ceph.proc.discovery" { "data": [ {"{#CEPHNAME}": "ceph-mds"}, {"{#CEPHNAME}": "ceph-mgr"}, {"{#CEPHNAME}": "ceph-mon"}, {"{#CEPHNAME}": "ceph-osd"} ]} zabbix_get -s 172.17.32.12 -p 10050 -k "ceph.proc.discovery" { "data": [ {"{#CEPHNAME}": "ceph-mgr"}, {"{#CEPHNAME}": "ceph-osd"}, {"{#CEPHNAME}": "ceph-mon"} ]} zabbix_get -s 172.17.32.9 -p 10050 -k "ceph.proc.discovery" { "data": [ {"{#CEPHNAME}": "ceph-mds"}, {"{#CEPHNAME}": "ceph-mon"}, {"{#CEPHNAME}": "ceph-mgr"} ]} |
Создать шаблон (Omit)
Создать автоматическое правило обнаружения
Создать ключ мониторинга
Создать триггерный прототип
Последний хост связан с шаблоном