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发现磁盘,或者查看视频
关注微信:

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
深入理解Java虚拟机(jvm性能调优+内存模型+虚拟机原理)
从虚拟机的发展历史,虚拟机的内存结构,对象的分配与回收以及字节码,类加载等多个方面深入地对Java虚拟机进行了剖析。内容详实,语言通俗易懂。理论结合实践,让学习本套视频的朋友可以更快的理解虚拟机的原理,以解决虚拟机所带来的性能瓶颈以及由于虚拟机的不正当参数所导致各种问题。 就像使用浏览器打开网页,使用微信聊天一样,运行Java应用需要java虚拟机。我们似乎并不去关注浏览器是如何实现的,也不需要知道微信是如何通信的,我们只要根据其规则来使用就可以了。对于java虚拟机也是同样,因为虚拟机自身隐藏了底层技术的复杂性以及操作系统的差异性,开发者只需要了解其api,并不需要了解其内部原理就能够编写出可运行程序。 然而,凡事都有两面性,当我们对于程序的性能,稳定性等等都有较高的要求的时候,这个时候看起来智能的虚拟机也就没这么智能了,我们就需要对虚拟机的内部结构深入了解之后,才能够根据业务需求,根据自身的情况设定合适的虚拟机参数,才能够让虚拟机高效稳定的运行。另外对于应用运行过程中出现的问题,也只有了解了虚拟机的结构之后才能够对问题进行准确定位。所以在java开发体系中,对系统调优师这一角...
- 下一篇
Zabbix lld发现web状态监控
Zabbix3.0入门到生产环境应用实战: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 jsonSt...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS7设置SWAP分区,小内存服务器的救世主
- SpringBoot2整合Redis,开启缓存,提高访问速度
- Windows10,CentOS7,CentOS8安装Nodejs环境
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- 设置Eclipse缩进为4个空格,增强代码规范
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- SpringBoot2全家桶,快速入门学习开发网站教程
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程