美文网首页
怎么读取zabbix监控数据

怎么读取zabbix监控数据

作者: 深圳都这么冷 | 来源:发表于2022-11-08 14:38 被阅读0次

第一步:通过host.get读取被监管的设备

  • 通过此步骤,可以知道设备的IP,名称,hostid

第二步:通过item.get读取某台设备的监控项

  • 参数为第一步的hostid
  • 通过此步骤,可以获得每一项的itemid

第三步:通过history.get读取监控数据

  • 参数为第一步的hostid,第二步的itemid,还有读取的时间范围

下面以python代码为例演示一下

首先安装第三方包

参见这里https://www.zabbix.com/integrations/python,最流行的是py-zabbix

$ pip install py-zabbix

演示第一步

# 代码
from pyzabbix.api import ZabbixAPI
zapi = ZabbixAPI(url='https://zabbix.xxx.cn/', user='admin', password='xxx')
resp = zapi.do_request('host.get', dict(monitored_hosts=1, output='extend'))
for h in resp['result']:
    print(h['hostid'], h['host'], h['name'], )

# 效果
$ python zabbix_tools.py
10106 192.168.10.2 梅林A12-05交换机(主)
10107 192.168.10.3 梅林A12-05交换机(备)
10108 192.168.10.101 梅林-10.101(yeahka官网)
10124 192.168.14.2 梅林A12-05防火墙(主)
10126 192.168.20.123 梅林-20.123(Nginx^主)
10127 192.168.20.124 梅林-20.124(Nginx^备)
10128 192.168.21.5 梅林A12-13交换机(主)
10129 192.168.21.6 梅林A12-13交换机(备)
...

演示第二步

# 代码
from pyzabbix.api import ZabbixAPI
zapi = ZabbixAPI(url='https://zabbix.xxx.cn/', user='admin', password='xxx')
resp = zapi.do_request('item.get', dict(hostids=['11410']))
for item in resp['result'][:10]:
        print(f"{item['hostid']}\t{item['itemid']}\t{item['name']}\t\t{item['snmp_oid']}\t\t{item['key_']}")

# 效果
$ python zabbix_tools.py
11410   743271  BgpPeerState_To_YS_CE88_CSW     SNMPv2-SMI::mib-2.15.3.1.3.172.20.2.27      BgpPeerState_To_YS_CE88_CSW
11410   743272  BgpPeerState_To_YS_R5       SNMPv2-SMI::mib-2.15.3.1.3.172.20.2.28      BgpPeerState_To_YS_R5
11410   743273  BgpPeerState_To_YS_R6       SNMPv2-SMI::mib-2.15.3.1.3.172.20.2.29      BgpPeerState_To_YS_R6
11410   743274  BgpPeerState_To_YS_R7       SNMPv2-SMI::mib-2.15.3.1.3.172.20.2.30      BgpPeerState_To_YS_R7
11410   505279  S5730-Master-CPU使用率     .1.3.6.1.4.1.2011.5.25.31.1.1.1.1.5.68157449        Master_CPUUsag
11410   505285  S5730-Master-内存使用率      .1.3.6.1.4.1.2011.5.25.31.1.1.1.1.7.68157449        Master_MemoryUsag
11410   505291  S5730-MasterTemperature     .1.3.6.1.4.1.2011.5.25.31.1.1.1.1.11.68157449       Master_Temperature
11410   505282  S5730-Slave-CPU使用率      .1.3.6.1.4.1.2011.5.25.31.1.1.1.1.5.69206025        Slave_CPUUsag
11410   505288  S5730-Slave-内存使用率       .1.3.6.1.4.1.2011.5.25.31.1.1.1.1.7.69206025        Slave_MemoryUsag
11410   505294  S5730-SlaveTemperature      .1.3.6.1.4.1.2011.5.25.31.1.1.1.1.11.69206025       Slave_Temperature
 ...

演示第三步

# 代码
from pprint import pprint
from pyzabbix.api import ZabbixAPI
zapi = ZabbixAPI(url='https://zabbix.xxx.cn/', user='admin', password='xxx')
resp = zapi.do_request('history.get', dict(hostids=['11410'], itemids=['321257'], time_from=int(time.time()-300)))
    pprint(resp)

# 效果
$ python zabbix_tools.py
{'id': '1',
 'jsonrpc': '2.0',
 'result': [{'clock': '1667974621',
             'itemid': '321257',
             'ns': '267804369',
             'value': '19367288'},
            {'clock': '1667974680',
             'itemid': '321257',
             'ns': '746184779',
             'value': '19497304'},
            {'clock': '1667974736',
             'itemid': '321257',
             'ns': '805546976',
             'value': '22972520'},
            {'clock': '1667974798',
             'itemid': '321257',
             'ns': '940614209',
             'value': '30124024'},
            {'clock': '1667974858',
             'itemid': '321257',
             'ns': '398365275',
             'value': '18876360'}]}

以上

相关文章

网友评论

      本文标题:怎么读取zabbix监控数据

      本文链接:https://www.haomeiwen.com/subject/urrntdtx.html