Как я могу получить чек Sensu Go для отображения в качестве панели состояния на Grafana? - PullRequest
0 голосов
/ 14 февраля 2019

Как описано в документации Sensu, я написал собственный скрипт проверки, который возвращает 0 для OK, 1 для Warning, 2 для Critical и выводит описание статуса.Как и ожидалось, он отображается на встроенном веб-интерфейсе Sensu, но я не уверен, как заставить его отображаться в Grafana.У меня есть некоторые стандартные метрики, которые работают через InfluxDB, но это просто проверка состояния, а не метрика.

Я понимаю, что мне нужен какой-то обработчик на стороне Sensu и / или некоторый источник данных наСторона Grafana, которая взаимодействует с Sensu API, но та, что для Sensu Core (1.x), похоже, не работает с более новой Sensu Go (5.x).Итак, могу ли я:

  1. Переписать проверку, чтобы сделать вывод graphite_plaintext и использовать обработчик influenxdb?
  2. Написать собственный источник данных Grafana и / или обработчик Sensu?
  3. Вернуться к Sensu Core?

Кажется, что Sensu Go переориентировался на метрики, поэтому из документов не ясно, как справиться с простыми проверками.

1 Ответ

0 голосов
/ 19 февраля 2019

Это, вероятно, ужасно неэффективно, но сейчас я просто выбрал вариант 1, чтобы переписать проверку, чтобы использовать обработчик influenxdb.

Все, что мне нужно было сделать, это напечатать вывод с помощью формы:

metric_path value timestamp\n

Где metric_path - это что-то вроде computer_name.topic.status, значение - это просто целочисленное состояние, а затем отметка времени - текущее время Unix в виде целого числа .Этот последний бит занял утомительно много времени, чтобы выяснить ... в базе данных InfluxDB (и, следовательно, в Grafana) ничего не появлялось, потому что sensu-influxdb-handler выдает ошибку, если отметка времени не является целым числом.

Тогда,со стороны Grafana я установил плагин панели состояния, разработанный Vonage, здесь:

https://grafana.com/plugins/vonage-status-panel

Когда данные наконец-то появились в InfluxDB, я мог выбрать их в Grafana.Я установил пороговые значения для предупреждений и критических значений соответственно на 1 и 2, и теперь это работает так, как я хотел.Тем не менее, если у кого-то есть более эффективный способ справиться с этим, я хотел бы знать об этом, потому что я хочу отслеживать состояние большого количества вещей, и я хочу сделать это правильно.

...