首页 > 代码库 > zabbix自动发现监控url
zabbix自动发现监控url
1.在监控客户机上
web_site_code_status.sh:
#!/bin/bash
# function:monitor tcp connect status from zabbix
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_site_discovery () {
WEB_SITE=($(cat /opt/scripts/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
/opt/scripts/WEB.txt 在脚本路径创建WEB.txt文件,文件内容为要监控url,格式如下:
www.baidu.com
www.sina.com
在zabbix客户端加配置文件:
vim /etc/zabbix/zabbix_agentd.d/web_site_discovery.conf
UserParameter=web.site.discovery,/opt/scripts/web_site_code_status.sh web_site_discovery
UserParameter=web.site.code[*],/opt/scripts/web_site_code_status.sh web_site_code $1
测试是否正常:
$ zabbix_get -s 10.0.0.109 -k web.site.discovery
{
"data":[
{
"{#SITENAME}":"www.baidu.com"},
{
"{#SITENAME}":"www.sina.com.cn"},
{
"{#SITENAME}":"gc.7y7.com"},
{
"{#SITENAME}":"www.7y7.com"}]}
$ zabbix_get -s 10.0.0.109 -k web.site.code[www.163.com]
200
在zabbix server添加:
1.首先选定主机,创建application,application用来管理各种item,可以归类
2.创建discovery 规则: 里面有个keep lost resource period 时间,这个时间就是监控url更新没有后保留的时间 ,我设置为0表示,WEB.txt文件更新后,监控跟着更新
3.创建item,选择创建的application
4.创建trriger:选择select prototype
zabbix自动发现监控url
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。