← Notifications / notifications / get-started
Настройка вебхуков
Существует множество сервисов, которые можно подключить к Cloudflare с помощью вебхуков для получения уведомлений в вашем аккаунте Cloudflare. В таблице ниже показано, как подключить ваш аккаунт Cloudflare к популярные сервисы вебхуков.
Настройка вебхуков
-
На панели управления Cloudflare перейдите к разделу Уведомления страницу.
Перейдите в Уведомления ↗ -
Перейдите в Назначения.
-
В Webhooks карточке выберите Создание.
-
Присвойте вебхуку имя для дальнейшей идентификации.
-
В URL поле введите URL-адрес стороннего сервиса, который вы ранее настроили и хотите подключить к своему аккаунту Cloudflare.
-
При необходимости вставьте Секрет. Секреты обеспечивают шифрование вебхуков, и их вид зависит от того, с каким сервисом вы подключаетесь к Cloudflare.
-
Выберите Save and Test чтобы завершить настройку вебхука.
Новый вебхук появится в Webhooks карточка.
Изменение вебхуков
Для вебхуков можно только изменить имя или удалить их.
-
На панели управления Cloudflare перейдите к разделу Уведомления страницу.
Перейдите в Уведомления ↗ -
Перейдите в Назначения.
-
В Webhooks карточке выберите Изменить для вебхука, который нужно изменить.
-
Измените название вебхука и выберите Save.
Вебхук можно удалить, выбрав Изменить или выбрав Удалить в списке вебхуков, отображаемом в Назначения карточка.
Настройки брандмауэра
Уведомления по вебхуку отправляются с диапазоны IP-адресов Cloudflare ↗. Если конечная точка вашего вебхука защищена брандмауэром, добавьте эти IP-адреса в список разрешенных, чтобы получать уведомления.
Чтобы программно получить актуальный список IP-адресов Cloudflare, используйте Cloudflare API.
Generic webhooks
Если вы используете сервис, который не поддерживается доступными сейчас вебхуками Cloudflare, вы можете настроить собственный, и введите действительный URL-адрес вебхука.
Для Generic webhook всегда рекомендуется использовать секретный ключ. Cloudflare передает ваш секретный ключ в заголовке cf-webhook-auth заголовок каждого отправленного запроса. Если этот заголовок отсутствует или не соответствует заданному вами значению, вебхук следует отклонить.
После выбора Save and Test, ваш вебхук теперь должен быть настроен как назначение, которое можно привязывать к политикам.
Когда Cloudflare отправляет вам вебхук, он имеет следующую схему:
{
"text": "Hello World! This is a test message sent from https://cloudflare.com. If you can see this, your webhook is configured properly."
}Полную структуру полезной нагрузки и примеры для разных типов оповещений см. в справочник по схеме полезной нагрузки вебхука.
Ограничения Generic webhook
Универсальные уведомления Cloudflare через вебхук отправляются только на публично разрешаемый IP-адрес по порту 80 или 443.
Если вы хотите получать уведомления Generic webhook на частный IP адрес или другой порт, вы можете либо принимать и пересылать уведомление с помощью Workers или настройте Cloudflare Tunnel для маршрутизации в подключенное приложение.
Использование универсальных вебхуков с Workers
С помощью Cloudflare Workers и универсального вебхука можно доставлять уведомления в любой сервис, поддерживающий приём вебхуков.
У Cloudflare есть пример инструмента ↗ чтобы помочь вам разобраться, как можно использовать Workers и универсальные вебхуки. Приведенный пример преобразует ответ универсального вебхука для доставки в Rocket.Chat. Код подробно прокомментирован, чтобы помочь вам адаптировать пример под свои задачи.
Популярные сервисы вебхуков
Google Chat
Для Google Chat ↗:
- Секрет: Секрет является частью URL-адреса. Cloudflare распознаёт эту информацию автоматически, и от пользователя не требуется никаких действий.
- URL: URL-адрес зависит от адреса канала Google Chat.
Slack
Для Slack ↗:
- Секрет: Секрет является частью URL-адреса. Cloudflare распознаёт эту информацию автоматически, и от пользователя не требуется никаких действий.
- URL: URL-адрес зависит от адреса канала Slack.
DataDog
Для DataDog ↗:
- Секрет: Секрет обязателен и должен быть введён пользователем. В DataDog это значение называется Ключ API ↗
- URL:
https://api.datadoghq.com/api/v1/events
Discord
Для Discord ↗:
- Секрет: Секрет является частью URL-адреса. Cloudflare распознаёт эту информацию автоматически, и от пользователя не требуется никаких действий.
- URL: URL-адрес зависит от адреса канала Discord.
OpsGenie
Для OpsGenie ↗:
- Секрет: Секретом является
API Keyдля REST API OpsGenie. - URL:
https://api.opsgenie.com/v2/alerts
Splunk
Для Splunk ↗:
- Секрет: Секрет обязателен и должен быть введён пользователем. В Splunk это значение называется
token. См. Документация Splunk ↗ для получения подробностей. - URL:
- Мы поддерживаем только три конечные точки Splunk: services/collector, services/collector/raw и services/collector/event.
- Если для токена включен SSL, порт должен быть 443. Если SSL для токена не включен, порт должен быть 8088.
- На сервере должен быть включён SSL.
- Включить подтверждение индексатора должен быть отключен в Splunk HTTP Event Collector.
Feishu
Для Feishu ↗:
- Секрет: Секрет является частью URL-адреса. Cloudflare распознаёт эту информацию автоматически, и от пользователя не требуется никаких действий.
- URL: URL-адрес зависит от выбранного Custom Robot.
Команды
Для Команды ↗:
- Секрет: Секрет является частью URL-адреса. Cloudflare распознаёт эту информацию автоматически, и от пользователя не требуется никаких действий.
- URL: URL-адрес предоставляется Teams при создании коннектора Incoming Webhook.
ServiceNow
Для ServiceNow ↗:
- Секрет: Определяется пользователем. Убедитесь, что секрет, указанный в Cloudflare Notifications, совпадает со значением в ServiceNow. Подробнее см. в Документация ServiceNow ↗ для получения подробностей.
- URL:
https://{servicenow_instance}.com/{base_api_path}
Generic webhook
Для Generic webhook:
- Секрет: Определяется пользователем.
- URL: Определяется пользователем.
Настройка секретов
При создании вебхука Google Chat, Slack, Discord или Feishu секрет является частью URL. Вы можете убрать секрет из URL и явно задать значение secret вместо того чтобы Cloudflare извлекал его автоматически.
Это может быть полезно при описании инфраструктуры вебхуков в виде кода с помощью Terraform, поскольку Cloudflare не изменяет URL.
resource "cloudflare_notification_policy_webhooks" "example" {
account_id = "<ACCOUNT_ID>"
name = "Slack Webhook"
url = "https://hooks.slack.com/services/T00000000/B00000000"
secret = "<secret>"
}