Mike Asked: 2014-10-22 08:39:24 +0800 CST2014-10-22 08:39:24 +0800 CST 2014-10-22 08:39:24 +0800 CST sensu 删除客户的支票 772 我创建了一个测试检查,现在我想删除它。它似乎并没有远离客户。我使用 uchima 作为前端,支票不再列在 /检查 但是,如果我查看客户,它仍然有支票。 我发现删除检查的唯一方法是删除节点并让它重新添加自己。我有 300 个客户,我不想那样做。 sensu 7 个回答 Voted Best Answer jonh 2015-06-06T08:56:41+08:002015-06-06T08:56:41+08:00 所以最近遇到了一个问题,我们通过 ansible 部署了一些 sensu 检查,他们重新创建了名称不正确的现有检查。除了在 uchiwa 界面中看起来很糟糕之外,放开它并没有什么问题。我按照上述步骤操作,但它们一定来自过时版本的 sensu。这是我为删除这些检查所做的修改步骤。 登录 Redis CLIredis-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 中删除。 ipeacocks 2016-06-12T02:27:42+08:002016-06-12T02:27:42+08:00 最新的 Uchiwa 可以自己做http://docs.uchiwa.io/en/latest/features/deleting-check-results/ Luckner Jr. Jean-Baptiste 2015-02-09T14:41:07+08:002015-02-09T14:41:07+08:00 如果有人遇到这种情况并且想要在不刷新整个 Redis DB 的情况下做同样的事情,您可以执行以下操作: 登录redis(命令行中的redis-cli) 执行“keys *”列出所有键 找到要删除的服务器/检查组合的历史记录键和执行键 示例:客户端:SomeServer,检查:check_nginx 要运行的命令: del execution:SomeServer:check_nginx del history:SomeServer:check_nginx Tomasz Tarczynski 2017-04-26T01:07:19+08:002017-04-26T01:07:19+08:00 由于 sensu 0.21.0 有一个DELETE /results/:client/:checkAPI 应该在这里提供帮助。请参阅此处的文档: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 Mike 2014-11-13T20:10:52+08:002014-11-13T20:10:52+08:00 所以事实证明你不能。flushall你必须在 redis中发出 SolarKennedy 2014-11-17T11:52:40+08:002014-11-17T11:52:40+08:00 冲刷对于解决单个检查来说是极端的过度杀伤力。 要解决单个检查,您可以发出“解决”api 调用,或单击解决按钮。 在我的服务器上,我有一个 cron 作业,它使用 sensu-cli 迭代所有事件并解决最后一次检查 > 1 周前的所有事件,以防止已删除的检查堵塞仪表板。 E.Z. 2016-09-27T13:00:03+08:002016-09-27T13:00:03+08:00 我想在上面添加 JonH 的答案: 你可以通过 redis-cli 找到所有的键和检查: keys *:*:name_of_check 然后通过和(例如) del history:hostname:name_of_check 这将使搜索具有旧检查的任何节点更容易排序,因为上面的代码将仅打印服务器和特定检查,而不是键 * 将打印所有键。 希望这可以帮助!
所以最近遇到了一个问题,我们通过 ansible 部署了一些 sensu 检查,他们重新创建了名称不正确的现有检查。除了在 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 DB 的情况下做同样的事情,您可以执行以下操作:
示例:客户端:SomeServer,检查:check_nginx
要运行的命令:
由于 sensu 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
你必须在 redis中发出冲刷对于解决单个检查来说是极端的过度杀伤力。
要解决单个检查,您可以发出“解决”api 调用,或单击解决按钮。
在我的服务器上,我有一个 cron 作业,它使用 sensu-cli 迭代所有事件并解决最后一次检查 > 1 周前的所有事件,以防止已删除的检查堵塞仪表板。
我想在上面添加 JonH 的答案:
你可以通过 redis-cli 找到所有的键和检查:
然后通过和(例如)
这将使搜索具有旧检查的任何节点更容易排序,因为上面的代码将仅打印服务器和特定检查,而不是键 * 将打印所有键。
希望这可以帮助!