我创build了一个testing检查,现在我想删除它。 它似乎没有离开客户。 我使用uchima作为前端,检查不再列在
/检查
但是,如果我查看一个客户,它仍然有检查。
我发现删除检查的唯一方法是删除节点,让它重新添加自己。 我有300个客户,我宁愿不这样做。
所以最近遇到了一个问题,我们通过可靠的方式部署了一些sensu检查,他们用不正确的名字重新创build现有的检查。 在uchiwa界面中,除了看起来不好以外,没有任何问题。 我遵循上面的步骤,但他们一定是从过时的版本的sensu。 以下是我所做的删除这些检查的修改步骤。
redis-cli keys *server_name*列出所有与相关服务器有关的检查 smembers result:server_name srem result:server_name check_to_remove del history:server_name:check_to_remove result:server_name:check_to_remove 这应该完全从Redis中删除支票,然后从Sensu中删除。
最新的Uchiwa可以做到这一点http://docs.uchiwa.io/en/latest/features/deleting-check-results/
所以原来你不能。 你必须在redis中发布flushall
如果有人想到这一点,并且希望在不刷新整个Redis DB的情况下执行相同的操作,则可以执行以下操作:
示例:客户端:SomeServer,请检查:check_nginx
要运行的命令:
del execution:SomeServer:check_nginx del history:SomeServer:check_nginx
由于敏0.21.0有一个DELETE /results/:client/:check API应该在这里帮助。 在此处查看文档: https : //sensuapp.org/docs/0.29/api/results-api.html#resultsclientcheck-delete
这也可以从uchiwa完成: https ://docs.uchiwa.io/reference/clients/#request-to-delete-check-result-data
一个flushall是解决一个单一的检查极端矫枉过正。
要解决单个检查,您可以发出“解决”API调用,或单击解决button。
在我的服务器上,我有一个cron作业,用所有事件进行迭代,并解决所有上次检查> 1周前的问题,以防止删除的检查堵塞仪表板。
我想在上面加上JonH的答案:
你可以通过redis-clifind所有的密钥和检查:
keys *:*:name_of_check
然后通过(例如)
del history:hostname:name_of_check
这将使search具有旧检查的节点更容易sorting,因为上面的代码将只打印服务器和特定的检查,而不是打印所有密钥的密钥*。
希望这可以帮助!