-
Notifications
You must be signed in to change notification settings - Fork 134
app_report_available
遇见王斌 edited this page Dec 4, 2017
·
8 revisions
report 包括以下内容
服务器可用性报表
- 服务器可用性报表使用Agent ping计算,Agent ping 成功时会入库1,如果失败时,则不入库。
- trend会每个小时将history中的值计算出最大值,最小值,和平均值,这里我们需要的是trend小时的记录个数即可
输出显示时加--table可以表框显示
输出显示时加--xls ceshi.xls可以导出excel文件,如下
服务器可用性报表2 为界面上可用性报表的输出
#zabbix_api --report_available2 "2016-07-01 00:00:00" "2016-09-01 00:00:00" --hostid 10105 --table
其他参数说明
--item_key itemkey.example # 选择特定 item 进行输出
--hostid hostid # 选择特定主机
--hostgroupid hostgroupid # 选择特定主机组
程序输出
+Availability report---------------+--------------------------------------------------------------+----------+----------+-----------+
| hostname | ip | Name | Problems | OK | prevvalue |
+-----------------+----------------+--------------------------------------------------------------+----------+----------+-----------+
| Zabbix server | 127.0.0.1 | Zabbix agent on Zabbix server is unreachable for 5 minutes | 0 | 100% | 1 |
| Zabbix server | 127.0.0.1 | Processor load is too high on Zabbix server | 0 | 100% | 0.0000 |
| Zabbix server | 127.0.0.1 | Free disk space is less than 20% on volume / | 0 | 100% | 68.9522 |
| net137 | 192.168.19.137 | Zabbix agent on net137 is unreachable for 5 minutes | 0 | 100% | 1 |
| net137 | 192.168.19.137 | Processor load is too high on net137 | 0 | 100% | 0.0000 |
| net137 | 192.168.19.137 | Free disk space is less than 20% on volume / | 0 | 100% | 18.0277 |
| net139 | 192.168.19.139 | Zabbix agent on net139 is unreachable for 5 minutes | 0 | 100% | 1 |
| net139 | 192.168.19.139 | Processor load is too high on net139 | 0 | 100% | 0.0000 |
| net139 | 192.168.19.139 | Free disk space is less than 20% on volume / | 0 | 100% | 18.0279 |
| net225 | 192.168.19.225 | Zabbix agent on net225 is unreachable for 5 minutes | 0 | 100% | 1 |
| net225 | 192.168.19.225 | Processor load is too high on net225 | 0 | 100% | 0.0400 |
| net225 | 192.168.19.225 | Free disk space is less than 20% on volume / | 0 | 100% | 59.8441 |
| 192.168.19.153 | 192.168.19.153 | Zabbix agent on 192.168.19.153 is unreachable for 5 minutes | 0 | 100% | 1 |
| 192.168.19.153 | 192.168.19.153 | Processor load is too high on 192.168.199.153 | 0.2694% | 99.7306% | 0.0000 |
| 192.168.19.153 | 192.168.19.153 | Free disk space is less than 20% on volume / | 0 | 100% | 25.7349 |
+-----------------+----------------+--------------------------------------------------------------+----------+----------+-----------+
zabbix界面上显示
输出显示时加--xls ceshi.xls可以导出excel文件
[root@meetbill ~]# echo agent.ping >> item_list
[root@meetbill ~]# zabbix_api --report_available2 "2017-11-01 00:00:00" "2017-12-01 00:00:00" --table --item_key /root/item_list
zabbix_manager:[1.4.04]
ALL
+Availability report+-----------------+----------------------------------------------------------------+----------+----------+-----------+
| hostname | ip | Name | Problems | OK | prevvalue |
+-------------------+-----------------+----------------------------------------------------------------+----------+----------+-----------+
| Zabbix server | 127.0.0.1 | Zabbix agent on Zabbix server is unreachable for 5 minutes | 0 | 100% | 1 |
| zabbix ceshi | 127.0.0.2 | Zabbix agent on Zabbix ceshi is unreachable for 5 minutes | 2% | 98% | 1 |
+-------------------+-----------------+----------------------------------------------------------------+----------+----------+-----------+
可用性
- 分子是:每小时统计个数的总和
- 分母是:每小时应该统计的个数 * 小时数
每小时的个数 = 3600(小时总秒数)/X(每X秒采集一次数据)
X为item的delay值
可用性
- 分子是:触发器判断后正常的时间段
- 分母是:统计的时间段值
当触发器判断正常时,在event中记录的value值为"0",反之,记录的值为"1"
根据统计1———>0状态的总时间 与 统计的时间段相比,就可以得出服务器的可用性
在程序设计时有以下几种情况,event表中存放的是0101010101值,每个值都记录着发生的时间
在程序中重点需要处理,第一个值为0或者1,和最后一个值是0或者1的部分,中间部分都是使用0的时间点减去1的时间点的值
- expandDescription(值为 1):以触发器的名称扩展宏.
- monitored(值为 1):只返回所属被监控主机启用触发器,且包含已启用的监控项.
//report2.php 385行
$availability = calculateAvailability(
$trigger['triggerid'],
getRequest('filter_timesince'),
getRequest('filter_timetill')
);
//include/triggers.inc.php 1002行
function calculateAvailability($triggerId, $startTime, $endTime)
(1)计算区间之前的状态
event 状态为字符串"0"(正常),"1"(异常)
(2)区间内是否有event值
1> 没有则根据区间之前的状态返回0或者100%
2> 有则计算(0-->1的时间)/区间总时间
获取可用性报表区间前的状态时,降序参数中使用"desc"无反应,使用"DESC"可以
"sortfield":["clock", "eventid"],
"sortorder":"DESC"
(1)不加条件项时默认输出所有主机信息,如果有特定选择可以选择以下方式
--hostgroupid "主机组ID1,主机组ID2..."
--hostid "主机ID1,主机ID2..."
遇到问题可以加入 Zabbix 开源社区群进行讨论 加入微信群方法如下
- (1) 微信添加 zabbix_china(Zabbix_Z小秘)备注说明:(王斌 zabbix_manager)
- (2) 然后让
Zabbix_Z小秘
拉入Zabbix 开源社区群
即可