zabbix可利用的表结构及api的调用

zabbix运维 专栏收录该内容
4 篇文章 0 订阅

主要要实现的功能:

1):获取所有主机组以及主机组下的主机
2):获取相关主机的所有监控项以及最近的值
3):获取相关主机最近报警的trigger
实现方法:
1         zabbix表结构(重要的字段)

1.1    groups、hosts表


其中hosts表中的status代表主机是否启用监控,0为监控,1为不起用

1.2    hosts、items、history表


用途:items表中的status代表监控项是否启用监控,0为监控,1为不起用

其中historys分为historys:存放浮点数

History_log:存放字符串

History_str:存放字符串

History_uint:存放整数

1.3    Triggers表


用途:主要用来存放存放trigger的状态,其中status,0为启用,1为不起用,value值代表trigger是否报警,0为正常,1为报警

2         zabbixapi

2.1    zabbix2.4.4接口地址

接口链接:https://www.zabbix.com/documentation/2.4/manual/api,在zabbix用户手册第17章API-->Methodreference下,可以看到zabbix接口

2.2    用户请求

请求url:http://ip/zabbix/api_jsonrpc.php

请求header:{"Content-Type": "application/json"}

2.3    获取用户登录的认证ID

request json字符串格式

{

    "jsonrpc":"2.0",

    "method":"user.login",

    "params":{

       "user": "Admin", #用户名

       "password": "zabbix" #密码

    },

    "id":1

}

Response得到的结果:

{

    "jsonrpc":"2.0",

    "result":"0424bd59b807674191e7d77572075f33",

    "id":1

}

需要用到result中的内容0424bd59b807674191e7d77572075f33。

2.4    获取主机组和主机

a)        获取所有主机组的groupid、所属的hostid和name

{

                                     "jsonrpc":"2.0",

                                     "method":"hostgroup.get",

                                     "params":{

                                                "output": ["groupid",

                                                        "name"    #输出groupid和name

                                                ],

                                               "selectHosts":"*",

                                                "filter": {

                                                           "flag": "0" #筛选条件

                                           }

                                     },

                                     "auth":self.authID,

                                     "id":1

}

b)        获取一个主机组的所有主机(需要利用上边获取到的hostid,可以组成联动下拉框)

{

                                     "jsonrpc":"2.0",

                                     "method":"host.get",

                                     "params":{

                                                "output": ["hostid",

                                                         "name" #输出hostid和name

                                                ],

                                                "filter": {

                                                        "hostid":hostid,

                                                        "status":"0"#status 0表示启用,1表示没启用

                                                 }

                                     },

                                     "auth":self.authID,

                                     "id":1

}

2.5    获取监控项以及最新的监控数据

可以通过以下接口获取监控项的所有itemid、status(0为启用,1为禁用)、最新数据以及时间,监控项名称

{

                                     "jsonrpc":"2.0",

                                     "method":"item.get",

                                     "params":{

                                                "output": ["hostid",

                                                         "itemid",

                                                         "status",

                                                         "lastcolock",

                                                         "lastvalue",

                                                         "name"  #输出hostid、itemid状态、名称、最近的值

                                                ],

                                                "filter": {

                                                        "hostid":10105,

                                                        "status":"0"#status 0表示启用,1表示没启用

                                                 }

                                     },

                                     "auth":self.authID,

                                     "id":1

                   }

2.6    过去主机最新的trigger报警

可以通过以下接口获取trigger的triggerid、报警描述和报警级别

{

                                     "jsonrpc":"2.0",

                                     "method":"trigger.get",

                                     "params":{

                                                "output": ["triggerid",

                                                         "description",#描述

                                                         "priority",  #报警级别

                                                ],

                                                "selectHosts":"",

                                                "filter": {

                                                        "hostid":10105,#主机id

                                                        "status":"0",#status0表示启用,1表示没启用

                                                        "value":"1"#value0表示正常,1表示异常

                                                 },

                                                 "sortfield": "priority",#以哪个字段排序

                                                 "sortorder": "DESC"#倒序还是顺序

                                     },

                                     "auth":self.authID,

                                     "id":1

                   }

2.7    建议

a)        从zabbix数据库查询数据特别慢,建议调用zabbix api来获取数据。





  • 2
    点赞
  • 0
    评论
  • 6
    收藏
  • 打赏
    打赏
  • 扫一扫,分享海报

参与评论 您还未登录,请先 登录 后发表或查看评论
<p style="font-family: 'Helvetica Neue', Helvetica, 'Hiragino Sans GB', Arial, sans-serif; margin: 0px; padding: 0px; color: #313d54; font-size: 16px; background-color: #ffffff;">Zabbix 是一个企业级分布式开源监控解决方案。</p> <p style="font-family: 'Helvetica Neue', Helvetica, 'Hiragino Sans GB', Arial, sans-serif; margin: 0px; padding: 0px; color: #313d54; font-size: 16px; background-color: #ffffff;"> </p> <p style="font-family: 'Helvetica Neue', Helvetica, 'Hiragino Sans GB', Arial, sans-serif; margin: 0px; padding: 0px; color: #313d54; font-size: 16px; background-color: #ffffff;"> Zabbix 软件能够监控众多网络参数和服务器健康度、完整性。Zabbix 使用灵活告警机制,允许用户为几乎任何事件配置基于邮件告警。这样用户以快速响应服务器问题。Zabbix 基于存储数据提供出色和数据视化功能。</p> <p style="font-family: 'Helvetica Neue', Helvetica, 'Hiragino Sans GB', Arial, sans-serif; margin: 0px; padding: 0px; color: #313d54; font-size: 16px; background-color: #ffffff;"> </p> <p style="font-family: 'Helvetica Neue', Helvetica, 'Hiragino Sans GB', Arial, sans-serif; margin: 0px; padding: 0px; color: #313d54; font-size: 16px; background-color: #ffffff;"> Zabbix 支持主动轮询(polling)和被动捕获(trapping)。Zabbix所有、统计数据和配置参数都以通过基于 Web 前端页面进行访问。基于 Web 前端页面确保您以在任何地方访问您监控网络状态和服务器健康状况。适当配置后,Zabbix 以在监控 IT 基础设施方面发挥重要作用。无论是对于有少量服务器小型组织,还是拥有大量服务器大企业而言,同样适用。</p> <p style="font-family: 'Helvetica Neue', Helvetica, 'Hiragino Sans GB', Arial, sans-serif; margin: 0px; padding: 0px; color: #313d54; font-size: 16px; background-color: #ffffff;"> </p> <p style="font-family: 'Helvetica Neue', Helvetica, 'Hiragino Sans GB', Arial, sans-serif; margin: 0px; padding: 0px; color: #313d54; font-size: 16px; background-color: #ffffff;"> Zabbix 是免费Zabbix 是根据 GPL 通用公共许第二版编写和发布。这意味着产品源代码是免费发布供公共使用。                                                                                                                                        <img src="https://img-bss.csdnimg.cn/202011180111219863.png" alt="" width="906" height="138" /></p>
<p> <span style="font-size:16px;"> </span></p><p> Zabbix 是一个企业级分布式开源监控解决方案。 </p> <p>   </p> <p> Zabbix 软件能够监控众多网络参数和服务器健康度、完整性。Zabbix 使用灵活告警机制,允许用户为几乎任何事件配置基于邮件告警。这样用户以快速响应服务器问题。Zabbix 基于存储数据提供出色和数据视化功能。 </p> <p>   </p> <p> Zabbix 支持主动轮询(polling)和被动捕获(trapping)。Zabbix所有、统计数据和配置参数都以通过基于 Web 前端页面进行访问。基于 Web 前端页面确保您以在任何地方访问您监控网络状态和服务器健康状况。适当配置后,Zabbix 以在监控 IT 基础设施方面发挥重要作用。无论是对于有少量服务器小型组织,还是拥有大量服务器大企业而言,同样适用。 </p> <p>   </p> <p> Zabbix 是免费Zabbix 是根据 GPL 通用公共许第二版编写和发布。这意味着产品源代码是免费发布供公共使用。 </p> <p> <br /></p> <p> 本课程内容有: </p> <p> 1.<span style="font-size:9px;">     </span>使用触发器检测问题 </p> <p> 2.<span style="font-size:9px;">     </span>根据检测条件采取行动 </p> <p> 3.<span style="font-size:9px;">     </span>使用模板简单化复杂配置 </p> <p> 4.<span style="font-size:9px;">     </span>数据视化 </p> <p> 5.<span style="font-size:9px;">     </span>高级 Item 监控 </p> <p> 6.<span style="font-size:9px;">     </span>自动化<span style="color:#424242;">配置</span> </p> <p> <span style="color:#424242;"><br /></span> </p> <p> </p><p> <strong><span style="color:#FF0000;"><img src="https://img-bss.csdn.net/201904170302135667.png" alt="" /><br /></span></strong> </p> <p> <strong><span style="color:#FF0000;"><br /></span></strong> </p> <p> <strong><span style="color:#FF0000;"><br /> 注意:</span></strong><span style="color:#FF0000;">本套课程,需要有一定zabbix 和 Linux 基础,最好对网络知识也有一些了解,建议您先把<strong><< Zabbix原理到实战(上)基础架构之四>></strong>看完,再看此套课程,这个是在它基础上进行讲解。</span> </p> <p> <br /></p>
©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页

打赏作者

有个大2B

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

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

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

打赏作者

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

抵扣说明:

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

余额充值