首页 > temp > python入门教程 >
-
Zabbix使用python导出性能数据execl表-从零到无
前言
使用zabbix作为基础环境的监控系统时,除了通过web页面和自定义告警通知手段获取当前主机服务器运行状态,趋势数据也是很重要的,透过趋势数据可以了解服务器在某个时间范围内关键指标情况,是否长期高负载运行或长期空闲状态。在虚拟化或云平台环境下趋势数据可作为服务器资源压缩回收扩容参考数据,文章通过使用python脚本连接zabbix后端的mysql数据库,查询整理服务器运行性能数据生成execl文件。
环境
脚本说明
该脚本只试用于linux操作系统中。具体工作思路及流程如下:
1.获取到主机所在监控模板的id号(步骤可以参考我https://www.cnblogs.com/Pigs-Will-Fly/p/13954583.html这篇文章中)文章中不涉及id号查询方法。
2.获取指定监控模板下所包含的所有主机id号。
3.使用主机id号和主机名形成字典,以便后期整合数据用。
4.使用主机id号结合item指标查询出每个机器每个指标唯一的item号并生成字典。
5.使用item号查询出具体的数据。
6.整合之前的所有数据,以主机名为key生成字典。
7.写入数据到execl表中。
PS:脚本再查询主机ID时使用的是监控模板ID,而不是使用分组ID号。
脚本文件
如何使用脚本
读者在copy脚本到自己本地后还需要对脚本中部分位置进行修改(下列没有提到的地方尽量不要修改)。需要修改的清单如下。
.基本参数类:
》数据库地址
》数据库用户名
》数据库用户密码
》数据库端口
》数据库库名
》监控模板id号
》时间范围开始时间
》时间范围结束时间
》execl文件保存位置
.指标类:
》keys字典值需要根据需求在其后添加对应指标
.execl类:
》根据需求修改writeexecl函数中列名及列数据
基本参数修改:
基本参数类在main()函数中一目了然按照实际情况修改就行了。
修改指标及execl修改:
脚本中的指标和execl输出的内容基本包含了服务器主要关注的点,读者可以直接使用脚本中的指标及execl输出格式。如果需要对指标和execl输出结果进行修改,需要做到execl输出内容一定要在keys字典中。
指标:
在main()函数的keys字典中根具实际需求添加(execl中用到的数据必须包含在keys,keys中的数据可以不被execl使用)。
execl输出:
writeexecl()函数中定义了execl输出的列及实际数据,修改该函数时需要做到列名数量和实际数据列数据一致。
列名:在for value in 列中红色圈的列表中添加或者修改字符。
具体数据:writeexecl()函数中修改具体数据来源时需要注意数据填入的具体列数。
列名:0表示第一列,根据实际情况写入数据到具体列。
指标:keys字典中的值,需要写入到execl中才写入进来。
下标:每一个指标在收集数据时都是一致的,下标0表示该指标的最小值,1表示该指标的均值,2表示该指标的峰值。
执行结果
结果execl表
出处:https://www.cnblogs.com/Pigs-Will-Fly/p/14090622.html