Skip to content

dev_hosts_info

遇见王斌 edited this page Oct 20, 2017 · 4 revisions

获取机器状态列表

1 功能

  • 终端调用时用于输出日常状态信息
  • 用于其他监控程序调用

2 使用

[root@meetbill ~]# zabbix_api dev_hosts_info --table
zabbix_manager:[1.3.03]
zabbix version:[3.0.6]
+----------------+-------------+--------+---------+-------------+
| hostname       | ip          | CPU    | mem     | available   |
+----------------+-------------+--------+---------+-------------+
| ceshi1         | 10.20.155.2 | 0.1340 | 23.0878 | available   |
| ceshi2         | 10.20.155.3 | 1.0712 | 12.1307 | Unavailable |
| ceshi3         | 10.20.155.4 | 2.4534 | 71.5591 | available   |
| ceshi4         | 10.20.155.5 | 1.1710 | 69.0169 | available   |
| ceshi5         | 172.17.0.1  | 2.1835 | 97.7163 | available   |
| Zabbix server  | 127.0.0.1   | -1     | -1      | Unknown     |
+----------------+-------------+--------+---------+-------------+
sum:  6

使用此命令返回hostname,ip,CPU 使用率,内存使用率,机器链接状态

  • 内存使用率默认模板中是没有的,是通过内存使用量以及内存总量进行计算的,默认的模板中内存的 total 的更新数据时间是每小时一次,因此第一次启动 agent 时,内存使用率会有一段时间显示为 -1
  • 此方法获取的是 Template OS Linux 模板里的监控项值

返回值说明

  • -1 没有获取到对应机器 所有 监控项的值
  • -2 获取到的对应机器的监控项返回值个数与要采取的值个数不匹配

3 二次开发此方法

修改 /opt/ZabbixTool/lib_zabbix/zabbix_api.py 文件中的 dev_hosts_info 方法

3.1 修改要获取的监控项

key_list = ["system.cpu.util[,user]","vm.memory.size[available]","vm.memory.size[total]"]

3.2 修改结果处理部分

返回的结果中会将值添加到 outputreturn_info 变量中

  • output----------[[]]总变量和子项都是列表,用于终端显示
  • return_info ----[{}]总变量为列表,子项为字典,用于程序调用时使用