📊 Использование 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. Через веб-интерфейс
- Откройте Splunk Web:
http://<your-splunk-server>:8000
- Перейдите в Settings → Add Data
- Выберите источник:
- Upload (загрузка файла)
- Monitor (мониторинг каталога или файла)
- Forwarded data (через forwarder)
- TCP/UDP input
- 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)
- В Splunk перейдите в Settings → Data Inputs → HTTP Event Collector
- Включите HEC и создайте новый токен
- Отправка данных:
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. Создание дашбордов
Шаги:
- Напишите нужный SPL-запрос
- Нажмите Save as → Dashboard Panel
- Выберите дашборд или создайте новый
- Настройте тип графика (table, chart, map и т.д.)
6. Алерты и уведомления
Настройка алерта:
- Сохраните поиск как Alert
- Укажите условия активации (например,
count > 10
) - Выберите действия:
- Webhook
- Script
- 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 | Ограниченная функциональность |