怎么读取zabbix监控数据

第一步:通过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'}]}

以上

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
要在Zabbix监控Windows CPU温度,可以按照以下步骤操作: 1. 确保已在目标Windows服务器上安装了Zabbix Agent。如果未安装,请下载并安装最新版本的Zabbix Agent。 2. 在Zabbix服务器上,登录到Web界面,并导航到“配置”>“主机”>“创建主机”。 3. 在名称字段中,键入要监控的Windows服务器的名称。 4. 在“可见名称”字段中,输入您想要显示的可见名称。 5. 选择或创建一个主机组,此主机将归类到该组中。 6. 在“Agent”选卡中,将监控模式更改为“主动”模式。 7. 在“IP地址”字段中,输入要监控的Windows服务器的IP地址。 8. 在“宏”选卡中,添加一个宏,以定义您的主机上的{$CPUTEMP}宏。这将用于从Windows服务器获取CPU温度。 9. 单击“添加”按钮,然后单击“更新”按钮保存配置并返回到主机列表。 10. 在主机列表中,找到刚刚创建的主机,并单击其名称。 11. 单击“模板”选卡,并单击“选择”按钮。选择具有适当的Windows模板,并单击“添加”按钮。 12. 返回到主机列表,并等待一段时间,以使Zabbix Agent开始读取和发送有关Windows服务器的信息。 13. 之后,您可以在Zabbix服务器上通过导航到“监控”>“最新数据”>“选择所需的主机”来查看CPU温度数据。请选择“system.cpu.temp[]”来查看CPU温度。 通过上述步骤配置Zabbix监控Windows CPU温度后,您将能够轻松地查看和记录Windows服务器的CPU温度数据

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

生活家小毛

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值