- Home page with navigation and quick start - Architecture overview with layers and data flows - Components documentation for all system parts - Interactive map guide with usage instructions - DLP Endpoint Monitoring detailed guide - Browser Domains Monitoring guide - WebUI Russian Patches documentation - Windows Installation guide - Server Setup guide - Monitoring Setup with Prometheus/Grafana Generated with [Devin](https://cli.devin.ai/docs) Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
6.0 KiB
6.0 KiB
Monitoring Setup
Настройка Prometheus + Grafana стека для мониторинга ActivityWatch.
Требования
- Docker & Docker Compose
- 2GB+ RAM
- 20GB+ disk space
Установка через Docker Compose
cd grafana-1c
docker-compose up -d
Компоненты
Prometheus
Сбор и хранение метрик.
Порт: 9090
Конфиг: prometheus/prometheus.yml
Grafana
Визуализация метрик и дашборды.
Порт: 3000
Конфиг: grafana/provisioning/
SQL Exporter
Прямые SQL запросы к PostgreSQL.
Порт: 9398
Конфиг: sql-exporter/
AW Exporter
Экспорт метрик ActivityWatch.
Порт: 9398
Файл: sql-exporter/collectors/aw_activitywatch.py
Конфигурация Prometheus
# prometheus/prometheus.yml
global:
scrape_interval: 15s
scrape_configs:
- job_name: 'activitywatch'
static_configs:
- targets: ['aw-exporter:9398']
scrape_interval: 60s
- job_name: 'prometheus'
static_configs:
- targets: ['localhost:9090']
Конфигурация Grafana
Datasources
# grafana/provisioning/datasources/prometheus.yml
apiVersion: 1
datasources:
- name: Prometheus
type: prometheus
access: proxy
url: http://prometheus:9090
# grafana/provisioning/datasources/postgres.yml
apiVersion: 1
datasources:
- name: PostgreSQL
type: postgres
access: proxy
url: postgres:5432
database: activitywatch
user: aw
password: aw_password
Dashboards
# grafana/provisioning/dashboards/dashboards.yml
apiVersion: 1
providers:
- name: 'ActivityWatch'
orgId: 1
folder: 'ActivityWatch'
type: file
disableDeletion: false
updateIntervalSeconds: 10
allowUiUpdates: true
options:
path: /etc/grafana/provisioning/dashboards
Дашборды
ActivityWatch Overview
- Активные хосты
- События по buckets
- Скорость поступления событий
- Статус коллекторов
Файл: grafana/grafana/dashboards/aw_overview.json
DLP Incidents
- Количество инцидентов по типам
- Инциденты по пользователям
- Инциденты по серьезности
- Временные тренды
Browser Monitoring
- Посещаемые домены
- Категории сайтов
- DLP нарушения
Запуск
# Запуск всех сервисов
docker-compose up -d
# Проверка статуса
docker-compose ps
# Просмотр логов
docker-compose logs -f
# Остановка
docker-compose down
Доступ
- Grafana: http://localhost:3000 (admin/admin)
- Prometheus: http://localhost:9090
- AW Exporter: http://localhost:9398/metrics
Настройка алертов
Prometheus Alerting Rules
groups:
- name: activitywatch_alerts
rules:
- alert: AWCollectorDown
expr: aw_host_active == 0
for: 5m
labels:
severity: warning
annotations:
summary: "ActivityWatch collector down on {{ $labels.host }}"
- alert: AWExporterDown
expr: aw_exporter_up == 0
for: 2m
labels:
severity: critical
annotations:
summary: "ActivityWatch exporter is down"
Grafana Notification Channels
- Откройте Grafana
- Configuration → Alerting → Notification channels
- Add new channel (Email, Slack, etc.)
- Настройте правила алертов в дашбордах
Мониторинг
Ключевые метрики
ActivityWatch:
aw_bucket_events_total- общее количество событийaw_host_active- активность хостовaw_exporter_scrape_duration_seconds- время scrape
Prometheus:
up- статус целейscrape_duration_seconds- время сбора
Grafana:
grafana_statistic- статистика Grafana
Health Checks
# Prometheus
curl http://localhost:9090/-/healthy
# Grafana
curl http://localhost:3000/api/health
# AW Exporter
curl http://localhost:9398/health
Backup
# Backup Grafana dashboards
docker exec grafana grafana-cli admin export-dashboard > dashboards_backup.json
# Backup Prometheus data
docker exec prometheus tar -czf /tmp/prometheus_data.tar.gz /prometheus
docker cp prometheus:/tmp/prometheus_data.tar.gz ./backup/
Устранение проблем
Grafana не доступна
# Проверьте контейнер
docker-compose ps grafana
# Проверьте логи
docker-compose logs grafana
# Перезапустите
docker-compose restart grafana
Prometheus не собирает метрики
# Проверьте конфиг
docker exec prometheus promtool check config /etc/prometheus/prometheus.yml
# Проверьте цели
curl http://localhost:9090/api/v1/targets
# Проверьте логи
docker-compose logs prometheus
AW Exporter не работает
# Проверьте соединение с AW Server
docker exec aw-exporter curl http://aw-server:5600/api/0/buckets
# Проверьте логи
docker-compose logs aw-exporter
# Проверьте метрики
curl http://localhost:9398/metrics
Производительность
Оптимизация Prometheus
# prometheus/prometheus.yml
global:
scrape_interval: 30s # Увеличьте интервал
evaluation_interval: 30s
storage:
tsdb:
retention.time: 30d # Уменьшите retention
Оптимизация Grafana
# Увеличьте память
# docker-compose.yml
grafana:
environment:
- GF_INSTALL_PLUGINS=
- GF_SERVER_ROOT_URL=http://localhost:3000
- GF_ANALYTICS_ENABLED=false