【8】、Low Level Discovery發現實現實時監控

環境:Centos 6.6


Zabbix自動發現WEB站點:

[root@Centos ~]# tail -3 /etc/zabbix/zabbix_agentd.conf
UserParameter=web.site_discovery,/etc/zabbix/scripts/discovery_web_site.sh web_site_discovery
UserParameter=web.site_code[*],/etc/zabbix/scripts/discovery_web_site.sh web_site_code $1
UserParameter=memory.free,free -m|grep Mem |awk '{print $4}'
[root@Centos ~]#
[root@Centos ~]# cat /etc/zabbix/scripts/WEB.txt
www.baidu.com
www.qq.com
www.51cto.com
[root@Centos ~]#
[root@Centos ~]# zabbix_get -s 192.168.31.160 -k web.site_discovery

wKiom1c9HpKBPi-2AAAp-ZVrKt4207.png

[root@Centos ~]# zabbix_get -s 192.168.31.160 -k web.site_code[www.baidu.com]
200
[root@Centos ~]#

wKiom1c9HqqC-0iWAAARuA7s2G4984.png


創建web_monitor的模版,Configuration---Templates

wKioL1eR3SjgHdaPAABDVaR7YgY660.png

Configuration---Templates(web_status_code_monitor)---discovery---create discovery rule:

wKiom1eR3UmCbGJKAABZhErYmeo567.pngwKioL1eR3V6QJjAiAAA6k_aVIDI183.png
wKiom1eR3XKyKvaTAAA2GW9AWYA259.png

Configuration---Templates(web_status_code_monitor)---discovery(1)---Item prototypes (0)---create item prototype:

wKioL1eR3YzRiWfXAABiRBYOtQE634.png

wKioL1eR3Z-RptcNAAA20NV7SHs812.png

Configuration---Templates(web_status_code_monitor)---discovery(1)---Trigger prototypes (0)---Create Trigger prototype:

wKioL1eR3bWQv8j5AAAonLeEYh0296.png

wKiom1eR3cmAj08tAABFzMYVngs862.png

wKiom1eR3d3QCXL6AAA4aetg4fY598.png


Configuration---Templates(web_status_code_monitor)---discovery(1)---Graph prototypes (0)---Create Graph prototype:

wKioL1eR3fCxUbhCAABlsTYXy4U345.png

wKiom1eR3gKT29nTAAAwQtScEVc758.png


Configuration---Host---Zabbix server---Templates---Add:

wKiom1eR3hTC-pBMAABnJJCCMeQ397.png

Configuration---Host---“Zabbix Server”---Discovery(1):

wKioL1eR3imw-XYvAABf-vvzrys541.png

wKioL1eR3j6j4QRbAAAjdpXzAso283.png

wKiom1eR3lLjWzaRAACBXbUiimw093.png

wKiom1eR3m-ByNjOAACCdNCi1C8853.png


腳本返回的值必須是json格式的

[root@Centos ~]# cat /etc/zabbix/scripts/discovery_web_site.sh
#######cat /etc/zabbix/scripts/web_site_code_status########
#!/bin/bash
#function:monitor tcp connect status from zabbix
#license:GPL
#version:1.0
source /etc/bashrc > /dev/null 2>&1
source /etc/profile > /dev/null 2>&1
#/usr/bin/curl -o /dev/null -s -w %{http_code} http://$1/
Web_dir="/etc/zabbix/scripts"
WEB_SITE_discovery () {
WEB_SITE=($(cat "$Web_dir"/WEB.txt|grep -v "^#"))
printf '{\n'
printf '\t"data":[\n'
for ((i=0;i<${#WEB_SITE[@]};++i))
{
num=$(echo $((${#WEB_SITE[@]}-1)))
if [ "$i" != "${num}" ];then
printf '\t\t{ \n'
printf "\t\t\t\"{#SITENAME}\":\"${WEB_SITE[$i]}\"},\n"
else
printf '\t\t{ \n'
printf "\t\t\t\"{#SITENAME}\":\"${WEB_SITE[$num]}\"}]}\n"
fi
}
}
WEB_SITE_code () {
/usr/bin/curl -o /dev/null -s -w %{http_code} http://$1
}
case "$1" in
web_site_discovery)
WEB_SITE_discovery;;
web_site_code)
WEB_SITE_code $2;;
*)
echo "Usage:$0 {web_site_discovery|web_site_code URL}";;
esac
[root@Centos ~]#

wKiom1c9I4_jz8IYAABgrybxyl8538.png

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章