2016-08-23 55 views
0

我對ICINGA2的API有問題。ICINGA2 API未對主機進行修改

我試圖用POST調用添加新的變量, 我得到所需的結果,

但ICINGA2沒有添加新的變種。

根據文檔: http://docs.icinga.org/icinga2/latest/doc/module/icinga2/chapter/icinga2-api

與下列API,我創建了我們的所有主機維也納:

curl -k -s -u root:icinga -H 'Accept: application/json' -X PUT 'https://localhost:5665/v1/objects/hosts/server.example.com' \ 
-d '{ "templates": [ "generic-host" ], "attrs": { "zone": "Vienna", "address": "180.33.1.123", "check_command": "hostalive", "vars.os" : "Linux", "vars.agent" : "ssh" } }' \ 
| python -m json.tool 

雖然這部分正常工作,

的問題是一旦主機創建,我需要爲不同的服務器添加各種變量。

例如 添加變量:「vars.servicename」:「DHCP_Servers」

如果我要回到文檔,下面的API,將需要執行:

curl -k -s -u root:icinga -H 'Accept: application/json' -X POST 'https://localhost:5665/v1/objects/hosts/server.example.com' \ 
-d '{ "templates": [ "generic-host" ], "attrs": { "zone": "Vienna", "address": "180.33.1.123", "check_command": "hostalive", "vars.os" : "Linux", "vars.agent" : "ssh", "vars.servicename" : "DHCP_Servers" } }' \ 
| python -m json.tool 

,當我跑的API,如預期我恢復:

{ 
    "results": [ 
     { 
      "code": 200.0, 
      "name": "server.example.com", 
      "status": "Attributes updated.", 
      "type": "Host" 
     } 
    ] 
} 

但沒有改變的是發生在ICINGA /小時ost文件。

回答

0

最近,顯然與我的收件箱和論壇(https://monitoring-portal.org/index.php?thread/37160-adding-vars-with-api/&postID=234885#post234885)中的用戶相同。在此留作備註,因爲它可以幫助其他人瞭解爲什麼它不起作用。該功能只是未實現,因爲它涉及存儲應用的更改,執行回滾並重新應用。不像聽起來那麼簡單。

​​

+0

評論對這段網址: https://dev.icinga.com/issues/11501>「我們知道,你們中許多人需要這種功能,進行更改,然後自動重新評估一切。使用事務,回滾,依賴關係映射,表達式等來實現並不容易,一旦我們有時間估計和發佈目標,我們將更新問題。如果有人說 - 我可以做到 - 請分享您的發現和補丁在這裏進行進一步的審查/討論。「 – user7242424