Мониторинг подключения для Slack и PagerDuty

Мы используем PRTG для мониторинга ряда внутренних ресурсов, и мы настроили его для оповещения нас по каналу Slack и / или через PagerDuty (в зависимости от серьезности) с использованием их соответствующих API. Учитывая, что Slack и PagerDuty являются для нас внешними, мы также хотели бы отслеживать, может ли наш экземпляр PRTG получить к ним доступ - в основном, в форме самоконтроля или кто следит за сторожами?

До сих пор единственный надежный метод, который мы нашли для Slack, - это отправлять реальное сообщение на частный "тестирующий" канал Slack, например (детали URL Slack отредактированы):

POST https://hooks.slack.com/services/XXX/YYY/ZZZ
Content-Type: application/json

{ "text": " ", "channel": "#prtg-webhook-test" }

Аналогично, API событий PagerDuty представляется только POST, и допустимые действия ограничены для запуска, подтверждения и разрешения:

POST https://events.pagerduty.com/v2/enqueue
Content-Type: application/json

Есть ли хороший способ проверить HTTPS-соединение без публикации фактического сообщения Slack / создания фактического оповещения PagerDuty? Я не смог найти ничего в документации ни для сервиса, ни для креативного способа создать соответствующий датчик в PRTG.

2 ответа

Для Slack вы, скорее всего, захотите позвонить в API, а не в webhook.

Я бы порекомендовал использовать auth.test, так как это один из немногих методов, который не имеет ограничения скорости.

Кроме того, для всей службы Slack вы можете увидеть текущий статус на этой официальной веб-странице.

Для чистого подключения вы можете выполнить POST для Events API с пустой полезной нагрузкой, и вы получите сообщение об ошибке:

      curl --location --request POST 'https://events.pd-staging.com/v2/enqueue' \
--header 'Content-Type: application/json' \
--data-raw '{}'
      {
    "status": "invalid event",
    "message": "Event object is invalid",
    "errors": [
        "'event_action' is missing or blank",
        "'routing_key' must be provided in the body, or provided in the headers using 'x-routing-key'"
    ]
}

Если вы также хотите проверить свой ключ маршрутизации, вы можете отправить событие подтверждения с фиктивным dedup_key:

      curl --location --request POST 'https://events.pd-staging.com/v2/enqueue' \
--header 'Content-Type: application/json' \
--header 'Cookie: uid=rBGA1lymclmSzRCsAwO3Ag==' \
--data-raw '{
    "routing_key": "<your_routing_key>",
    "event_action": "acknowledge",
    "dedup_key": "something_that_will_never_match_an_open_incident"
}'
      {
    "status": "success",
    "message": "Event processed",
    "dedup_key": "something_that_will_never_match_an_open_incident"
}

Обратите внимание, что это нигде не отображается в пользовательском интерфейсе PagerDuty, но в любом случае это может быть то, что вам нужно.

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