Как настроить Sensu с помощью RMQ и InfluxDB

Я пытаюсь начать работу с серверным решением для мониторинга. Я настроил клиенты Sensu, RabbitMQ и Uchiwa, но затем попытался использовать Graphite, но нужно было настроить так много частей, что вместо этого я попробовал InfluxDB. Я застрял в настройке Sensu для InfluxDB. Отсутствует ли часть в приведенной ниже конфигурации?

Client [Sensu] > RabbitMQ <> Sensu Server <> InfluxDB <> Grafana

Какие-либо предложения?

cat influx.json
{
    "influxdb": {
    "hosts"         : ["192.168.1.1"],
    "host"          : "192.168.1.1",
    "port"          : "8086",
    "database"      : "sensumetrics",
    "time_precision": "s",
    "use_ssl"       : false,
    "verify_ssl"    : false,
    "initial_delay" : 0.01,
    "max_delay"     : 30,
    "open_timeout"  : 5,
    "read_timeout"  : 300,
    "retry"         : null,
    "prefix"        : "",
    "denormalize"   : true,
    "status"        : true
}
}


cat handler.json
{
"handlers": {
"influxdb": {
   "type": "pipe",
    "command": "/opt/sensu/embedded/bin/metrics-influxdb.rb"    
}}}

проверки1,

 {
  "checks": {
    "check_memory_linux": {
  "handlers": ["influxdb","default"],
  "command": "/opt/sensu/embedded/bin/check-memory-percent.rb -w 90 -c 95",
  "interval": 60,
  "occurrences": 5,
     "subscribers": [ "TEST" ]
  }}}

проверки2,

{
"checks": {
"check_cpu_linux-elkctrl-pipe": {
  "type": "metric",
  "command": "/opt/sensu/embedded/bin/check-cpu.rb -w 80 -c 90",
  "subscribers": ["TEST"],
  "interval": 10,
  "handlers": ["debug","influxdb"]
}}}

person case    schedule 17.04.2018    source источник
comment
Что ты имеешь в виду под застреванием? Есть ли ошибка? Каковы ваши конфигурации обработчика?   -  person Rebeca Maia    schedule 18.04.2018
comment
Каковы ваши конфигурации проверки?   -  person Rebeca Maia    schedule 23.04.2018
comment
Добавлен. Они выглядят нормально, если только мне не нужно использовать вместо них metrics-influxdb.rb.   -  person case    schedule 25.04.2018


Ответы (2)


Чтобы использовать InfluxDB для сохранения ваших данных, вы должны иметь:

  • установлен подключаемый модуль InfluxDB (также инструкции по установке и использованию здесь)
  • Definitions for the plugin (an influxdb.json containin at least the host, port, user, password and database to be used by Sensu)
    • The definition, as other config files, must be in /etc/sensu/conf.d/
  • Конфигурация обработчика настроена правильно (также в conf.d)
  • Мутатор для InfluxDB (расширения)

Ваши проверки должны отправлять результаты обработчику, поэтому их определение должно содержать:

"handlers": [
        "influxdb"
      ]

Или любое другое имя, которое вы дали своему обработчику.

person Rebeca Maia    schedule 18.04.2018
comment
Я перешел по ссылке и настроил соответствующим образом, но в InfluxDB нет записей. Я могу вручную добавить метрику в БД. - person case; 23.04.2018

Случай, если конфигурация influxdb, которую вы указали выше, представляет собой полную конфигурацию вашей конфигурации, может показаться, что в ней отсутствуют атрибуты имени пользователя и пароля, необходимые для конфигурации influxdb. Если они есть, но не указаны в посте, ничего страшного. Тем не менее, я бы рекомендовал сделать следующее для ваших журналов Sensu:

grep -i influxdb /var/logs/sensu/sensu-server.log

И посмотрите, отправляется ли результат проверки в ваш экземпляр influxdb. Если это так, вы должны получить сообщение об ошибке, которое может указывать на то, что происходит.

Вы также можете проверить свои журналы influxdb, чтобы узнать, получают ли они сообщение с вашего сервера Sensu:

journalctl -u influxdb.service -f

Но да, если имя пользователя/пароль отсутствует в конфигурации, это будет первое, с чего я начну.

person AaronSachs    schedule 03.05.2018