内容简介:Zabbix-gnomes 是一组 Zabbix 的开源脚本工具集合,它使用 Python 对 Zabbix API 的进行了分装,使得日常的大部分操作可以通过命令行完成,非常方便。最新的 Zabbix-gnomes 代码可以在所有 zabbix-gnomes 相关的工具,都可以用 -h/–help 调用获得帮助。这些程序可以使用 .ini 风格的配置文件,来获取所需的API连接信息。它的配置文件默认为 $HOME/.zbx.conf,样例如下:
Zabbix-gnomes 是一组 Zabbix 的开源脚本 工具 集合,它使用 Python 对 Zabbix API 的进行了分装,使得日常的大部分操作可以通过命令行完成,非常方便。最新的 Zabbix-gnomes 代码可以在 Github 上获取到。
所有 zabbix-gnomes 相关的工具,都可以用 -h/–help 调用获得帮助。
API工具:
-
zapi.py
– 交互式 Zabbix API客户端。
相关历史:
-
zgethistory.py
– 从历史记录获取一个itemid的值。 -
zhinvswitcher.py
– 在主机( 群组组) 上切换 inv。 -
zgetinventory.py
– 以CSV格式打印主机清单。 -
zhostupdater.py
– 更新主机属性。 -
zhitemfinder.py
– 查找主机上的项目。 -
zgethistory.py
– 从历史记录( 不支持趋势) 获取项值。 -
zhgraphfinder.py
– 查找在Zabbix主机上配置的图形。 -
zgetgraph.py
– 从Zabbix前端( 需要用户前端访问) 下载一个图形. PNG 并保存它。 -
zghostfinder.py
– 查找hostgroup中的成员主机。 -
zhostfinder.py
– 根据搜索字符串在Zabbix中查找主机。 -
zhostupdater.py
– 更新主机属性。 -
zhproxyfinder.py
– 为Zabbix主机查找配置的代理。 -
ztmplimport.py
– 将 xml 模板导入 Zabbix。 -
zhtmplfinder.py
– 查找Zabbix主机的链接模板。 -
zthostfinder.py
– 查找链接到模板的主机。 -
zthtmllinker.py
– 将主机( 群组组)的链接链接到模板列表。 -
zthtmlunlink.py
– 将主机( 群组组) 与模板列表断开。 -
zhtrigfinder.py
– 在主机上查找触发器。 -
ztrigswitcher.py
– 将触发器切换为已经启用或者discabled状态。 -
zhostupdater.py
– 更新主机属性。 -
zeventfinder.py
– 基于过滤器(。包含tail -f
模式) 查找事件。 -
zgetevent.py
– 获取eventIds的详细信息,包括和ack警报操作。 -
zeventacker.py
– 基于eventIds确认事件。
配置 Zabbix-gnomes
这些程序可以使用 .ini 风格的配置文件,来获取所需的API连接信息。它的配置文件默认为 $HOME/.zbx.conf,样例如下:
[Zabbix API] username=debian password=Debian-CN-Debian.cn api=http://aws-zabbix-1/zabbix/ no_verify=true
将 no_verify
设置为 true
将在使用 https 时禁用 tls/ssl 证书验证。
脚本依赖 pyzabbix、pillow 模块:
pip install pyzabbix pillow
用法样例
将主机 www.debian.cn 的一个月的CPU负载数据保存为 ~/jan.png,具体时间跨度是 2019年01月至1月31日:
graphid=$(./zhgraphfinder.py -e p-hsg-mysql-2 | grep ‘CPU load’ | cut -d ‘:’ -f 1)
./zgetgraph.py -s $(date –date ‘jan 1 2019’ +%s) -t 2678400 -f ~/jan.png $graphid
输出的图形如下:
使用 zproxyfinder.py 在 zabbix_sender 脚本中使用恰当的 Zabbix 代理,
zabbix_sender -k $ITEMKEY -o $ITEMVALUE -s $HOSTNAME -z $(zhproxyfinder.py $HOSTNAME)
使用 zhtmpllinker.py 将三个模板链接到指定的 hostgroup 中所有主机:
./zhtmpllinker.py -t "Template App Apache" "Template App MySQL" "Template OS Linux" -G "LAMP Servers"
使用 zhtmplunlink.py 将模板与 hostgroup 中的所有主机关联:
./zhtmplunlink.py -G "Webservers" -t "Template App MySQL"
从模板目录中,导入所有的 xml 模板,并详细显示导入过程:
./ztmplimport.py -v -C./templates/*.xml
从 itemid 为 12345 的监控项的最新项目值:
./zgethistory.py 12345 -C 1
从历史记录中查询一个监控项的值,并指定气质时间段:
./zgethistory.py -s $(date --date 'jan 1 2014' +%s) -t 7200 -e 1030
禁用主机名为 Google DNS 的主机上的,”Unavailable by ICMP”触发器:
./ztrigswitcher.py -D $(./zhtrigfinder.py -s "Unavailable by ICMP" -n "Google DNS")
在主机 webserver 上计算活动触发器的数目:
./zhtrigfinder.py -A "Webserver" | wc -l
switch 对 hostgroup 中所有主机的库存模式:
./zhinvswitcher.py -G"Linux Servers" -m manual
从 Zabbix 的资产清单中,列出所有的主机:
./zhinvswitcher.py --all-hosts
在指定的 hostgroup 中查找与以 mongo 开头的,名称匹配的主机列表:
./zghostfinder.py "mongodb of aws-sg1" | grep -i ^mongo
将指定主机的,可用内存的最后一个监控值打印出来:
./zgethistory.py -C 1 $(./zhitemfinder.py -k 'vm.memory.size[available]' -n Webserver)
对主机名中匹配字符串 zabbix 的所有受监控主机执行搜索,列出主机名:
./zhostfinder.py -m -S zabbix
从主机资产组中,以主机组为维度,按照指定关键字查询,生产一个 csv 文件:
./zgetinventory.py -G "Zabbix Servers" -F "os" "vendor" "contact" > report.csv
将主机名为 web001 的主机,名称更新为 webserver:
./zhostupdater.py web001 -V webserver
启用主机 web001,应用宏 {$APACHEPROC} 并更新资产表中的指定字段:
./zhostupdater.py web001 -E -M apacheproc=15 -I software_app_a="Apache"
查询最近一个小时内的,某主机组中的所有问题事件(限于 100个事件):
./zeventfinder.py -P -t 3600 -G 'Linux Servers'
使用指定的确认消息,来确认 三个事件:
./zeventacker.py -m"Power outage" 6578 6689 6590
在三个事件上打印详细信息,包括触发注释,操作和确认:
./zgetevent.py -ACL 6578 6689 6590
确认指定主机组中的主机上的所有的问题事件:
./zeventacker.py -m 'Foobar with Fabric :-(' $(./zeventfinder.py -i -P -t 900 -G 'Linux servers')
所有主机的Zabbix触发器事件:
./zeventfinder.py -L 10 --all-hosts -f
组合命令样例,查询受监控主机中,某一类主机的指定key值的最新状态:
for i in $(./zhostfinder.py -m -S mysql)
; do echo -n $i\ \ \ ; ./zgethistory.py -C 1 $(./zhitemfinder.py -k ‘net.if.in[eth0]’ -n $i) ; done
使用 zapi.py API客户机测试Zabbix调用:
Logging in on 'https://zabbix.debian.cn/' with user 'Admin'. Welcome to the interactive Zabbix API client. zapi: z host.get(filter={"host":"Zabbix Server"}) [{u'hostid': u'1001'}] zapi:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- LibreOffice 7.1 发布,开源办公套件
- LibreOffice 6.3 发布,开源办公套件
- LibreOffice 6.4.2 发布,开源办公套件
- LibreOffice 6.4.3 发布,开源办公套件
- LibreOffice 6.3.6 发布,开源办公套件
- LibreOffice 7.0.1 发布,开源办公套件
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
PHP for the World Wide Web, Second Edition (Visual QuickStart Gu
Larry Ullman / Peachpit Press / 2004-02-02 / USD 29.99
So you know HTML, even JavaScript, but the idea of learning an actual programming language like PHP terrifies you? Well, stop quaking and get going with this easy task-based guide! Aimed at beginning ......一起来看看 《PHP for the World Wide Web, Second Edition (Visual QuickStart Gu》 这本书的介绍吧!
JS 压缩/解压工具
在线压缩/解压 JS 代码
XML、JSON 在线转换
在线XML、JSON转换工具