sensu удаляют проверку от клиентов

Я создал тестовую проверку, и теперь я хочу удаленный. Это, кажется, не уходит от клиентов. Я использую uchima в качестве frontend, и проверка больше не перечисляется в

/ проверки

Но если я просматриваю клиент, это все еще имеет проверку.

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

6
задан 21 October 2014 в 19:39
7 ответов

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

  • Войдите в Redis CLI redis-cli
  • Выполните ключи * имя_сервера * , чтобы вывести список всех проверок, связанных с рассматриваемым сервером
  • type 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.

9
ответ дан 3 December 2019 в 00:06

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

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

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

0
ответ дан 3 December 2019 в 00:06

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

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

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

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

del execution:SomeServer:check_nginx
del history:SomeServer:check_nginx
1
ответ дан 3 December 2019 в 00:06

Оказывается, ты не можешь. Вы должны выпустить flushall в redis

.
0
ответ дан 3 December 2019 в 00:06

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

3
ответ дан 3 December 2019 в 00:06

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

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

keys *:*:name_of_check

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

del history:hostname:name_of_check

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

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

0
ответ дан 3 December 2019 в 00:06

Начиная с sensu 0.21.0 существует API DELETE / results /: client /: check , который должен здесь помочь. См. Документы здесь: 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

1
ответ дан 3 December 2019 в 00:06

Теги

Похожие вопросы