Установка Slack Plugin в Sensu для не-корпоративной версии

У меня работает Sensu и я следовал инструкциям, как мог, чтобы установить плагин Slack. Я пытаюсь просто сделать "привет", чтобы начать, но мне не хватает документации.

Я следовал за "началом работы" с проверками: https://sensuapp.org/docs/0.20/getting-started-with-checks и все, кажется, на правильном месте на сервере.

Я пытаюсь установить следующий плагин сообщества, но у них есть универсальная инструкция для всех плагинов сообщества. В инструкции к плагину есть файл json, но не сказано, куда его поместить... https://github.com/sensu-plugins/sensu-plugins-slack

Вот как выглядит мой check_cron.json (я попробовал 2 метода, 1 из другого источника, кроме Sensu):

{
    "checks": {
      "cron_checks": {
        "handlers": ["default", "slack"],
        "command": "/etc/sensu/plugins/check-procs.rb -p cron -C 1 ",
        "interval": 60,      "subscribers": ["webservers"]
      },
      "cron": {
        "handlers": ["default", "slack"],
        "command": "/etc/sensu/plugins/check-procs.rb -p cron",
        "subscribers": [
            "production",
            "webservers",
        ],
        "interval": 60
      }
    }
  }

Я перезапустил свой сервер после внесения изменений. Я предполагаю, что этот cron будет срабатывать каждую минуту и ​​вызывать плагин Slack Notification, но не знаю, что мне не хватает, или где поместить документ.json из плагина Slack "документация" https: // github. ком / Sensu-плагины / Sensu-плагины-провисания

Любая помощь в правильном направлении?

3 ответа

Решение

Я нашел ответ в разделе "Проблемы" в Git https://github.com/sensu-plugins/sensu-plugins-slack/issues/7

Я столкнулся с той же проблемой, так что ответ уже дан, но, возможно, помогу кому-нибудь в будущем,

Сначала установите плагин Senseu Slack

/opt/sensu/embedded/bin/gem install sensu-plugins-slack

Затем создайте файл конфигурации обработчика

   vim /etc/sensu/conf.d/slack-handler.json

handler-slack.rb https://github.com/sensu-plugins/sensu-plugins-slack/blob/master/bin/handler-slack.rb

{
    "handlers": {
        "slack": {
            "type": "pipe",
            "command": "/opt/sensu/embedded/bin/handler-slack.rb",
            "severites": ["critical", "unknown"]
        }
    },
    "slack": {
        "webhook_url": "https://your_webhook.com/abc",
        "template" : ""
    }
}  

Вам нужен обработчик на сервере Sensu, который отправит запрос в Slack. Вы создали это? Если да, пожалуйста, опубликуйте его содержание.

Так что я просто решил это. Benishkey действительно предоставил решение по ссылке, однако, на случай, если кто-нибудь столкнется с этим и ссылка не работает, я подумал, что добавлю решение.

-github пользователь eugene-chow:

Конфигурация обработчика Slack должна называться по-другому. Попробуйте JSON ниже. Я переименовал конфигурацию Slack для каждой среды, а затем указал обработчику на соответствующую конфигурацию с помощью -j config_name

{
  "handlers": {
    "slack-staging": {
      "type": "pipe",
      "command": "/usr/local/bin/handler-slack.rb -j slack-staging",
      "severites": ["critical", "unknown"]
    }
  },
  "slack-staging": {
    "webhook_url": "https://hooks.slack.com/services/...",
    "template" : ""
  }
}


{
  "handlers": {
    "slack-production": {
      "type": "pipe",
      "command": "/usr/local/bin/handler-slack.rb -j slack-production",
      "severites": ["critical", "unknown"]
    }
  },
  "slack-production": {
    "webhook_url": "https://hooks.slack.com/services/...",
    "template" : ""
  }
}

Я бросил handler-slack.rb файл с моими чеками и ссылался на него оттуда, потому что он не был в моем /usr/local/bin/ папка

Другие вопросы по тегам