0

我是 Icinga2 的新手,使用 2.4.0 版本,我正在尝试执行一些 API 调用,但是当我尝试手动创建服务时发现了一个问题。

这是我为 api_dummy_host_1 主机创建名为 api_dummy_service_1 的服务而执行的命令:

curl -u $ICINGA2_API_USER:$ICINGA2_API_PASSWORD  \
     -H 'Accept: application/json' -X PUT \
     -k "https://$ICINGA2_HOST:$ICINGA2_API_PORT/v1/objects/services/api_dummy_host_1!api_dummy_service_1" \
     -d '{ "templates": [ "generic-service" ], "attrs": { "display_name": "api_dummy_service_1", "check_command" : "dns", "vars.dns_lookup": "google-public-dns-a.google.com.", "vars.dns_expected_answer": "8.8.8.8", "host_name": "api_dummy_host_1" } }' | python -m json.tool

当我执行它时,会出现以下错误消息:

-bash: !api_dummy_service_1: event not found

我检查了 Icinga 日志,我还激活了 Icinga 上的调试模式,并尝试在互联网上搜索与此相关的信息,但没有结果。

任何人都可以帮助我吗?提前致谢!

4

1 回答 1

0

问题已解决!经过更详细的测试,我们发现问题与我们用来连接 icinga2 API 的 URL 有关,即!字符必须被转义。

我改变了 !到 %21 并且命令有效

于 2017-01-25T14:46:21.203 回答