4

我正在尝试使用 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
4

2 回答 2

1

webapi 仅用于获取/设置主机或其他对象的配置。如果您不想获取主机的实时状态,请使用 livestatus。

如果您在端口 6557(默认)上启用了 livestats,您可以通过网络查询主机的状态。如果您在本地登录到 shell,您可以使用“lq”。

OMD[mysite]:~$ lq "GET hosts\nColumns: name"

原因:CheckMK webapi 如果用于访问 WATO。WATO 是创建 nagios 配置的来源。Nagios 将监控主机,livestatus api 是 nagios 核心的扩展。

于 2020-06-10T13:33:26.860 回答
0
http://<monitoringhost.tld>/<site>/check_mk/view.py?view_name=allhosts&output_format=csv

您可以通过添加output_format=[csv|json|python]来使用您在 webui 中看到的所有视图。

您将看到您看到的表格的数据。您还需要添加在您的问题中看到的贷方。

于 2020-02-22T22:20:36.433 回答