Экспортер метрик для Prometheus, собирающий статистику о workflow из API n8n.
Скрипт подключается к API n8n, собирает информацию о workflow (активные, успешные и ошибочные выполнения, длительность) и экспортирует метрики в формате Prometheus. Подходит для мониторинга процессов n8n.
N8N_API_URL— URL API n8n (по умолчанию:http://localhost:5678)N8N_API_KEY— API-ключ для доступа к n8n (по умолчанию: пусто)METRICS_PORT— порт для экспорта метрик Prometheus (по умолчанию:9100)N8N_API_SCRAPE_INTERVAL— интервал опроса API n8n в секундах (по умолчанию:15)N8N_API_EXECUTIONS_LIMIT— лимит на количество получаемых выполнений (по умолчанию:50)LOG_LEVEL— уровень логирования (DEBUG,INFO,WARNING,ERROR; по умолчанию:INFO)
- Установите зависимости:
pip install -r src/requirements.txt- Скачайте скрипт
src/n8n_metrics_exporter.py.
export N8N_API_URL=http://localhost:5678
export N8N_API_KEY=your_n8n_api_key
python src/n8n_metrics_exporter.pyили
docker-compose up -d -f script/docker-compose.ymln8n_workflow_active— количество активных workflow (gauge)n8n_workflow_execution_duration_milliseconds{owner, status}— длительность выполнения workflow (histogram)n8n_workflow_execution_count{status}— количество выполнений workflow по статусу (counter)n8n_workflow_error_count— количество ошибок workflow (counter)
- Сбор информации о workflow и их владельцах
- Подсчет активных workflow
- Сбор статистики по успешным и ошибочным выполнениям
- Экспорт метрик для Prometheus
src/
├── n8n_metrics_exporter.py # Основной модуль экспортера
├── test_n8n_metrics_exporter.py # Тесты
└── requirements.txt # Зависимости
При добавлении новой функциональности рекомендуется:
- Написать тесты для новых функций
- Проверить, что все существующие тесты проходят
- Убедиться в корректной обработке граничных случаев