Skip to content

📊 Использование Splunk

1. Общее описание

Splunk — это программная платформа для поиска, мониторинга и анализа машинных данных в реальном времени. Она позволяет:

  • Собирать данные из любых источников (логи, метрики, события)
  • Анализировать данные с помощью SQL-подобного языка SPL
  • Визуализировать информацию через дашборды
  • Устанавливать алерты и интеграции с внешними системами (Slack, Jira, PagerDuty и т.д.)

Основные компоненты:

  • Splunk Enterprise / Cloud: основная платформа
  • Forwarders: агенты, собирающие данные и отправляющие их в Splunk
  • Indexer: обрабатывает и индексирует данные
  • Search Head: интерфейс для поиска и визуализации

2. Установка и настройка

2.1. Установка Splunk Enterprise (Linux)

wget -O splunk-9.0.5-a6bf4c4e3789-linux-2.6-x86_64-release.tgz 'https://download.splunk.com/products/splunk/releases/9.0.5/linux/splunk-9.0.5-a6bf4c4e3789-linux-2.6-x86_64-release.tgz'

tar xvzf splunk-9.0.5-a6bf4c4e3789-linux-2.6-x86_64-release.tgz -C /opt

# Запуск Splunk
/opt/splunk/bin/splunk start --accept-license

По умолчанию доступен на порту 8000: http://localhost:8000


3. Подключение источников данных

3.1. Через веб-интерфейс

  1. Откройте Splunk Web: http://<your-splunk-server>:8000
  2. Перейдите в Settings → Add Data
  3. Выберите источник:
  4. Upload (загрузка файла)
  5. Monitor (мониторинг каталога или файла)
  6. Forwarded data (через forwarder)
  7. TCP/UDP input
  8. HTTP Event Collector (HEC)

3.2. Настройка Universal Forwarder

Установка

wget -O splunkforwarder-9.0.5-a6bf4c4e3789-linux-2.6-x86_64-release.tgz 'https://download.splunk.com/products/universalforwarder/releases/9.0.5/linux/splunkforwarder-9.0.5-a6bf4c4e3789-linux-2.6-x86_64-release.tgz'

tar xvzf splunkforwarder-9.0.5-a6bf4c4e3789-linux-2.6-x86_64-release.tgz -C /opt

# Запуск
/opt/splunkforwarder/bin/splunk start --accept-license

Подключение к Splunk серверу

/opt/splunkforwarder/bin/splunk add forward-server <splunk-server-ip>:9997

Мониторинг файлов

/opt/splunkforwarder/bin/splunk add monitor /var/log/myapp.log -index main -sourcetype my_app_logs

3.3. HTTP Event Collector (HEC)

  1. В Splunk перейдите в Settings → Data Inputs → HTTP Event Collector
  2. Включите HEC и создайте новый токен
  3. Отправка данных:
curl https://<splunk-server>:8088/services/collector \
  -H "Authorization: Splunk YOUR_HEC_TOKEN" \
  -d '{"event": "Hello from my app!", "source": "my-app"}'

4. Язык запросов SPL (Search Processing Language)

Примеры простых запросов:

index=main sourcetype=my_app_logs
| stats count by status
index=main
| timechart span=1h count by status
index=main
| search "error"
| table _time, source, event

5. Создание дашбордов

Шаги:

  1. Напишите нужный SPL-запрос
  2. Нажмите Save asDashboard Panel
  3. Выберите дашборд или создайте новый
  4. Настройте тип графика (table, chart, map и т.д.)

6. Алерты и уведомления

Настройка алерта:

  1. Сохраните поиск как Alert
  2. Укажите условия активации (например, count > 10)
  3. Выберите действия:
  4. Email
  5. Webhook
  6. Script
  7. REST call

7. Интеграция с другими системами

Сервис Интеграция
Slack Incoming Webhook
Datadog REST API
AWS CloudWatch Splunk Connect for AWS
Kubernetes Logs + Metrics via agents

8. Безопасность

  • Используйте HTTPS и HEC с токенами
  • Настройте RBAC (роли и пользователи)
  • Регулярно обновляйте Splunk
  • Защищайте порты (9997 для forwarder, 8088 для HEC)

9. Лицензирование

Версия Возможности
Splunk Free До 500 МБ/день, без расширений
Splunk Enterprise Полный функционал, масштабируемость
Splunk Cloud Облачная версия, управляемая Splunk Inc.
Splunk Light Ограниченная функциональность

10. Полезные ссылки