check-mk - 通过 CheckMK Web-API 获取主机状态
问题描述
我正在尝试使用 CheckMK WebAPI 获取主机的状态。有人可以指出我如何获取这些数据的正确方向吗?
我们目前使用 CheckMK 企业版 1.4.0。
我试过了:
https://<monitoringhost.tld>/<site>/check_mk/webapi.py?action=get_host&_username=<user>&_secret=<secret>&output_format=json&effective_attributes=1&request={"hostname": "<hostname>"}
但是响应没有关于主机本身的任何相关信息(例如状态向上/向下、正常运行时间等)。
{
"result": {
"attributes": {
"network_scan": {
"scan_interval": 86400,
"exclude_ranges": [],
"ip_ranges": [],
"run_as": "api"
},
"tag_agent": "cmk-agent",
"snmp_community": null,
"ipv6address": "",
"alias": "",
"management_protocol": null,
"site": "testjke",
"tag_address_family": "ip-v4-only",
"tag_criticality": "prod",
"contactgroups": [
true,
[]
],
"network_scan_result": {
"start": null,
"state": null,
"end": null,
"output": ""
},
"parents": [],
"management_address": "",
"tag_networking": "lan",
"ipaddress": "",
"management_snmp_community": null
},
"hostname": "<host>",
"path": ""
},
"result_code": 0
解决方案
webapi 仅用于获取/设置主机或其他对象的配置。如果您不想获取主机的实时状态,请使用 livestatus。
如果您在端口 6557(默认)上启用了 livestats,您可以通过网络查询主机的状态。如果您在本地登录到 shell,您可以使用“lq”。
OMD[mysite]:~$ lq "GET hosts\nColumns: name"
原因:CheckMK webapi 如果用于访问 WATO。WATO 是创建 nagios 配置的来源。Nagios 将监控主机,livestatus api 是 nagios 核心的扩展。
推荐阅读
- google-cloud-platform - 按最新日期过滤 BigQuery 行的最有效方法
- javascript - 使用 AppScript 回复 Gmail 中更改收件人的电子邮件最终会出现在新线程中
- c# - C# 如何创建以下语法 Method(param => { params.xxx })?
- javascript - 未使用 javascript fetch 设置 Cookie
- asp.net-mvc - 单击一次应用程序未在我的 Asp.Net/MVC 应用程序中启动
- tfs - 关闭相关任务时的 TFS 警报
- php - 如何使用 Laravel 在刀片中获取空缺详细信息
- javascript - 嵌套 forEach 循环打字稿
- amazon-web-services - CloudFront 热门引荐来源报告 - 所有引荐来源网址
- python - python如何删除文件中的空白行