zabbix实战--Zabbix lld发现web状态监控

视频资源:http://www.roncoo.com/course/view/fb3050a5b34b42f39ccad83ebebc89c1 


一、软件版本

操作系统:CentOS-6.5-x86_64

zabbix版本:3.0.3

 

二、脚本参考:

 

1、python版本:

#!/usr/bin/env python

#coding:utf-8

import os,sys,json

#将要监控的web站点url添加到urllist列表

urllist=['www.baidu.com','www.hao123.com']

 

#这个函数主要是构造出一个特定格式的字典,用于zabbix

def web_site_discovery():

    web_list=[]

    web_dict={"data":None}

    

    for url in urllist:

        url_dict={}

        url_dict["{#SITENAME}"]=url

        web_list.append(url_dict)

    

    web_dict["data"]=web_list

    jsonStr = json.dumps(web_dict, sort_keys=True, indent=4)

    return jsonStr

    

#这个函数用于测试站点返回的状态码,注意在cmd命令中如果有%{}这种字符要使用占位符代替,否则

#会报错

def web_site_code():

       cmd='curl -o /dev/null -s -w %s %s' %("%{http_code}",sys.argv[2])

       reply_code=os.popen(cmd).readlines()[0]

       return reply_code

 

if __name__ == "__main__":

  try:

    if sys.argv[1] == "web_site_discovery":

        print web_site_discovery()

    elif sys.argv[1] == "web_site_code":

        print web_site_code()

    else:

        print "Pls sys.argv[0] web_site_discovery | web_site_code[URL]"

  except Exception as msg:

        print msg

 

 

2、shell的脚本方式:

 

#!/bin/bash 

# Script to fetch nginx statuses for tribily monitoring systems 

web=('www.baidu.com' 'www.hao123.com’)

 

function webdiscovery(){

    length=${#web[@]}

    printf "{\n"

    printf  '\t'"\"data\":["

    for ((i=0;i<$length;i++))

    do

        printf '\n\t\t{'

        printf "\"{#NAME}\":\"${web[$i]}\"}"

        if [ $i -lt $[$length-1] ];then

                printf ','

        fi

    done

    printf  "\n\t]\n"

    printf "}\n"

}

 

function web_site_code()

{          

    /usr/bin/curl -I -m 10 -o /dev/null -s -w %{http_code} "$1"

  

}

 

 

$1 $2

 

3、zabbix_agent 定义的key,以shell脚本为例:

 

[root@xiaoluo zabbix_agentd.conf.d]# cat web.conf

UserParameter=get_web,/usr/local/zabbix/script/web_discovery.sh webdiscovery

UserParameter=get_web_code[*],/usr/local/zabbix/script/web_discovery.sh web_site_code $1

 

4、测试key没问题之后,剩下的就是web ui的设置,具体可以参考自带的lld发现磁盘,或者查看视频


关注微信:

face/yHBt8Yn6ENmixPDQCWswcjHCGXsnDhdy.png


优秀的个人博客,低调大师

微信关注我们

原文链接:https://blog.roncoo.com/article/126416

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

相关文章

发表评论

资源下载

更多资源
优质分享Android(本站安卓app)

优质分享Android(本站安卓app)

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

Mario,低调大师唯一一个Java游戏作品

Mario,低调大师唯一一个Java游戏作品

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Apache Tomcat7、8、9(Java Web服务器)

Apache Tomcat7、8、9(Java Web服务器)

Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。

Java Development Kit(Java开发工具)

Java Development Kit(Java开发工具)

JDK是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。