← Аналитика / analytics / analytics-integrations
Splunk
В этом руководстве объясняется, как анализировать Cloudflare Logs ↗ с помощью Cloudflare App for Splunk ↗.
Предварительные требования
Прежде чем отправлять данные журналов Cloudflare в Splunk, убедитесь, что вы:
- Иметь аккаунт Splunk Enterprise или Splunk Cloud
- Иметь аккаунт Cloudflare Enterprise
- См. документация Splunk ↗ для Cloudflare App
Задача 1 - Установка и настройка Cloudflare App for Splunk
Чтобы установить Cloudflare App for Splunk ↗:
- Войдите в свой экземпляр Splunk.
- В разделе Приложения > Найти другие приложения, найдите Cloudflare App for Splunk.
- Нажмите Установить.
-
Перезапустите и заново откройте свою инстанцию Splunk.
-
Измените
cloudflare:jsonтип источника в Cloudflare App for Splunk. Чтобы изменить тип источника:- Нажмите Настройки раскрывающемся списке и выберите Исходные типы.
- Снимите флажок Показать только популярные и найдите cloudflare.
- Нажмите Изменить и измените регулярное выражение на
([\r\n]+). - Сохраните изменения.
-
Создайте индекс в Splunk для хранения журналов HTTP Event. Чтобы создать индекс:
- Откройте экран настройки, нажав Настройки раскрывающегося списка, затем нажмите Индексы.
- Выберите New Index. Учтите, что Индексы странице также отображается статус всех ваших существующих индексов, чтобы вы могли видеть, приближаетесь ли вы к исчерпанию лицензированного объёма пространства.
- Назовите индекс cloudflare, который является индексом по умолчанию, используемым Cloudflare App.
-
Настройте HTTP Event Collector (HEC) в Splunk. Чтобы создать HEC:
- Нажмите Настройки раскрывающемся списке и выберите Источники данных.
- Нажмите +Add new и следуйте указаниям мастера настройки. Когда появится запрос, введите следующие значения:
- Name: Cloudflare
- Source Type: Select > "cloudflare:json"
- App Context: Cloudflare App for Splunk (cloudflare)
- Индекс: cloudflare
- В конце работы мастера настройки вы увидите Значение токена. Этот токен разрешает заданию Cloudflare Logpush отправлять данные в вашу инстанцию Splunk. Если вы забудете скопировать его сейчас, Splunk позволит получить это значение в любой момент.
-
Проверьте, использует ли Splunk самоподписанный сертификат. Эта информация понадобится вам при создании задания Logpush.
-
Определите конечную точку, на которую нужно отправлять данные. Она должна иметь следующий вид:
"<protocol>://input-<host>:<port>/<endpoint>" or "<protocol>://http-inputs-<host>:<port>/<endpoint>"Где:
protocol: HTTP или HTTPSinput:inputилиhttp-inputsв зависимости от того, используете ли вы тариф с самообслуживанием или управляемый облачный тарифhost: Имя хоста вашей инстанции Splunk. Проще всего определить его по URL адресу, на который вы переходили при входе в Splunk.port: 443 или 8088endpoint: services/collector/raw
Например: https://prd-p-0qk3h.splunkcloud.com:8088/services/collector/raw. См. Splunk Documentation ↗ с подробностями и примерами.
Примечания после установки
Можно изменить Название индекса после первоначальной настройки, нажав на Настройки раскрывающегося списка и перейдите в Расширенный поиск. Там можно выбрать Поисковые макросы и найдите Cloudflare App for Splunk.
Cloudflare App for Splunk поставляется с собственной Cloudflare Data Model, для которой задано окно ускорения в 1 день, но по умолчанию ускорение не включено. Если вы включите Ускорение модели данных ↗, мы рекомендуем ускорять Data Model только на 1 или 7 дней, чтобы избежать негативных последствий для вашей среды Splunk.
Включить или отключить ускорение после первоначальной настройки можно на странице Set up приложения, которую вы откроете, нажав Приложения раскрывающегося списка, затем Управление приложениями > Настройка Cloudflare.
Модели данных также можно настроить вручную, перейдя в Настройки > Модели данных. Подробнее об ускорении модели данных см. в документация Splunk ↗.
Задача 2 - Вызов API для создания задания Logpush
Создайте задание Logpush, следуя инструкциям на Включение Logpush для Splunk. Этот вызов API создаёт задание Logpush, но не включает его.
Включите задание Logpush через дашборд Cloudflare или через API, следуя инструкциям на Включение Logpush для Splunk. Чтобы включить через дашборд:
- Перейдите в дашборд Cloudflare и выберите Аналитика и журналы > Журналы.
- Выберите Изменить и выберите поля, указанные в разделе Dashboard ниже, чтобы полностью заполнить все таблицы и графики.
- Включите задание Logpush, переключив переключатель рядом со ссылкой Edit. Заполнение данными занимает несколько минут.
Чтобы убедиться, что данные поступают, выполните поиск index=cloudflare в Splunk.
Задача 3 - Просмотр дашбордов
Анализировать журналы Cloudflare можно с помощью тринадцати (13) дашбордов, перечисленных ниже.
Фильтры в этих дашбордах помогают сузить анализ по дате и времени, типу устройства, стране, user agent, IP-адресу клиента, имени хоста и другим параметрам, что упрощает отладку и трассировку.
О дашбордах
В составе Cloudflare App for Splunk доступны описанные ниже дашборды.
Cloudflare - Snapshot
Обзор веб-трафика и Типы веб-трафика: Получите общее представление о важнейших метриках ваших сайтов и приложений в сети Cloudflare.

Cloudflare - Reliability
Сводка и Подробные: Узнайте больше о доступности ваших сайтов и приложений. Метрики включают долю ошибочных ответов origin-сервера, статус ответов origin-сервера во времени, процент ошибок 3xx/4xx/5xx во времени и другое.

Cloudflare - Security
Обзор: Узнайте больше об угрозах для ваших сайтов и приложений, включая количество отражённых угроз, их динамику во времени, страны с наибольшим числом угроз и другое.

WAF: Узнайте больше об обнаружении и устранении угроз с помощью нашего Web Application Firewall, включая такие события, как SQL-инъекции, XSS и другие. Используйте эти данные, чтобы точно настроить firewall на явные угрозы и снизить число ложных срабатываний.

Rate Limiting: Узнайте больше о защите с помощью ограничения частоты запросов от атак типа «отказ в обслуживании», попыток входа методом перебора и других видов злоупотреблений, направленных против ваших сайтов или приложений.

Сводка по ботам и Подробно о ботах: Исследуйте активность ботов на вашем сайте, чтобы предотвратить скрапинг контента, мошенничество при оформлении заказа, спам-регистрации и другие вредоносные действия.

Cloudflare - Performance
Запросы и кеш и Пропускная способность: Выявляйте и устраняйте проблемы с производительностью и неверные настройки кеширования. Метрики включают общий и кешированный трафик, сэкономленный трафик, общее число запросов, коэффициент кеширования, самые частые некешированные запросы и другое.

Hostname, Content Type, Request Methods, Connection Type: Узнайте больше о самых популярных именах хостов, наиболее запрашиваемых типах контента, распределении методов запросов и типе соединения.
Статический и динамический контент: Узнайте больше о производительности статического и динамического контента, включая самые медленные URL адреса.

Фильтры
У всех дашбордов есть набор фильтров, которые можно применить ко всему дашборду, как показано в следующем примере. Фильтры применяются в рамках всего дашборда.
С помощью фильтров можно детально изучить данные вплоть до уровня отдельных записей. Доступны фильтры по стране клиента, типу устройства клиента, IP-адресу клиента, хосту запроса клиента, URI запроса клиента, user agent клиента, статусу ответа периферийной сети, IP-адресу origin-сервера и статусу ответа origin-сервера.
Временной интервал по умолчанию составляет 24 часа. Учтите, что для корректных расчётов фильтр должен исключать вложенные запросы Worker (WorkerSubrequest = false) и запросов на очистку (ClientRequestMethod не PURGE).
Доступные фильтры:
-
Диапазон времени (EdgeStartTimestamp)
-
Страна клиента
-
Тип устройства клиента
-
IP-адрес клиента
-
Хост запроса клиента
-
Client Request URI
-
Client Request User Agent
-
Статус ответа на периферийной сети
-
IP-адрес источника
-
Статус ответа origin-сервера
-
RayID
-
Подзапрос Worker
-
Метод запроса клиента
Советы по отладке
Неполные дашборды
Приложение Splunk Cloudflare App использует данные из полей Cloudflare Enterprise Logs, перечисленных ниже. В зависимости от того, какие поля у вас включены, некоторые дашборды могут заполняться не полностью.
Если это ваш случай, проверьте и протестируйте фильтры Cloudflare App под каждым дашбордом (эти фильтры одинаковы для всех дашбордов). Ненужные фильтры можно удалить, даже если они включают поля данных, которые уже содержатся в ваших журналах.
Список полей, которые вы получаете в Cloudflare Logs, можно также сравнить с полями, указанными в Splunk > Настройки > Модель данных > Cloudflare.
Доступные поля:
-
CacheCacheStatus
-
CacheResponseBytes
-
CacheResponseStatus (устаревшее)
-
ClientASN
-
ClientCountry
-
ClientDeviceType
-
ClientIP
-
ClientIPClass
-
ClientRequestBytes
-
ClientRequestHost
-
ClientRequestMethod
-
ClientRequestPath
-
ClientRequestProtocol
-
ClientRequestReferer
-
ClientRequestURI
-
ClientRequestUserAgent
-
ClientSSLCipher
-
ClientSSLProtocol
-
ClientSrcPort
-
EdgeColoCode
-
EdgeColoID
-
EdgeEndTimestamp
-
EdgePathingOp
-
EdgePathingSrc
-
EdgePathingStatus
-
EdgeRequestHost
-
EdgeResponseBytes
-
EdgeResponseContentType
-
EdgeResponseStatus
-
EdgeServerIP
-
EdgeStartTimestamp
-
OriginIP
-
OriginResponseStatus
-
OriginResponseTime
-
OriginSSLProtocol
-
RayID
-
SecurityAction
-
SecurityActions
-
SecurityRuleDescription
-
SecurityRuleID
-
SecurityRuleIDs
-
SecuritySources
-
WAFFlags
-
WAFMatchedVar
-
WorkerSubrequest
-
ZoneID