Назад | Перейти на главную страницу

sensu удалить чек от клиентов

Я создал тестовую проверку и теперь хочу ее удалить. Кажется, это не уходит от клиентов. Я использую учима в качестве интерфейса, и чек больше не указан в

/ чеки

Но если я смотрю на клиента, у него все еще есть чек.

Единственный способ, который я нашел для удаления проверки, - это удалить узел и позволить ему заново добавить себя. У меня 300 клиентов, и я бы не стал этим заниматься.

Недавно мы столкнулись с проблемой, когда мы развернули некоторые проверки sensu через ansible, и они воссоздали существующие проверки с неправильными именами. Не было бы ничего плохого в том, чтобы отпустить это, за исключением того, что это плохо выглядит в интерфейсе учива. Я выполнил шаги выше, но они, должно быть, были из устаревшей версии sensu. Вот измененные шаги, которые я сделал, чтобы удалить эти проверки.

  • Войдите в Redis CLI 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.

Последний Учива может сделать это сам http://docs.uchiwa.io/en/latest/features/deleting-check-results/

Если кто-то придет к этому и захочет сделать то же самое БЕЗ очистки всей базы данных Redis, вы можете сделать следующее:

  • Войдите в redis (redis-cli из командной строки)
  • Выполните «keys *», чтобы вывести список всех ключей.
  • Найдите ключ истории и ключ выполнения для комбинации сервер / проверка, которую вы хотите удалить.

Пример: Клиент: SomeServer, проверьте: check_nginx

Команды для запуска:

del execution:SomeServer:check_nginx
del history:SomeServer:check_nginx

Начиная с sensu 0.21.0 существует DELETE /results/:client/:check API, который должен здесь помочь. Смотрите документы здесь: https://sensuapp.org/docs/0.29/api/results-api.html#resultsclientcheck-delete

И это тоже можно сделать из учива: https://docs.uchiwa.io/reference/clients/#request-to-delete-check-result-data

Оказывается, вы не можете. Вы должны оформить flushall в Redis

Флешалл - это крайний излишество для решения единственной проверки.

Чтобы разрешить однократную проверку, вы можете вызвать api-вызов «решить» или нажать кнопку «Разрешить».

На моих серверах у меня есть задание cron, которое перебирает все события с помощью sensu-cli и разрешает все, что последний раз проверялось более 1 недели назад, чтобы предотвратить засорение панели управления удаленными проверками.

Я хочу добавить к ответу JonH выше:

Вы можете найти все ключи и проверки через redis-cli:

keys *:*:name_of_check

а затем пройдите и (например,)

del history:hostname:name_of_check

это упростит поиск узлов, имеющих старую проверку, поскольку приведенный выше код распечатает только серверы и конкретную проверку, а не ключи *, которые распечатают все ключи.

Надеюсь это поможет!