Index
# GlitchTip
Документация по установке и использованию GlitchTip в Kubernetes.
Оглавление
Описание
GlitchTip - это форк Sentry с открытым исходным кодом, который предоставляет платформу для мониторинга ошибок и производительности приложений.
Возможности
- ✅ Мониторинг ошибок в реальном времени
- ✅ Отслеживание производительности приложений
- ✅ Интеграция с различными языками программирования и фреймворками
- ✅ Уведомления и алерты
- ✅ Совместимость с Sentry SDK
Текущая конфигурация
- Namespace:
tech-glitchtip - Database: PostgreSQL (pg-public cluster)
- Cache/Queue: Встроенный Valkey (Redis-compatible, standalone mode)
- Placement: Поды могут размещаться на мастерах и воркерах
- Resources: Минимальные (100m-500m CPU, 256Mi-512Mi RAM)
- Ingress: Отключен (используется port-forward или внешний nginx)
- Domain:
https://glitchtip.internal.ai-ops.tech
Быстрый старт
1. Подготовка нод
Подготовка нод выполняется автоматически через Ansible playbook:
1 | |
2. Проверка зависимостей
Убедитесь, что PostgreSQL кластер pg-public запущен:
1 | |
Если кластер не создан:
1 2 | |
3. Создание секретов
Создайте секреты с необходимыми данными:
1 | |
Вам будет предложено ввести:
1. SECRET_KEY - Django secret key (сгенерируйте случайную строку, например: openssl rand -hex 32)
2. PostgreSQL password - пароль для пользователя glitchtip в PostgreSQL
Примечание: REDIS_URL не требуется - GlitchTip использует встроенный Valkey по умолчанию.
Важно: После создания секрета, создайте пользователя и базу данных в PostgreSQL:
1 2 3 4 5 6 7 8 9 | |
4. Установка GlitchTip
1 | |
Это создаст: - GlitchTip deployment через Helm chart - Service для доступа к GlitchTip
5. Проверка статуса
1 | |
6. Доступ к GlitchTip
1 | |
Откройте в браузере: http://localhost:8080
Примечание: При первом запуске GlitchTip создаст административного пользователя. Следуйте инструкциям на экране.
7. Доступ к Flower (Celery Monitoring)
1 | |
Откройте в браузере: http://localhost:5555
Flower предоставляет веб-интерфейс для мониторинга Celery workers, задач и очередей.
Архитектура
Компоненты
| Компонент | Namespace | Расположение | Описание |
|---|---|---|---|
| Web Pods | tech-glitchtip |
Любые ноды | Веб-сервер GlitchTip (1 реплика) |
| Worker Pods | tech-glitchtip |
Любые ноды | Celery workers для обработки задач |
| Beat Pod | tech-glitchtip |
Любые ноды | Celery beat scheduler |
| Flower Pod | tech-glitchtip |
Любые ноды | Celery monitoring UI |
| Valkey Pod | tech-glitchtip |
Любые ноды | Встроенный Redis-compatible брокер (1 реплика) |
| PostgreSQL | tech-postgres-databases |
Worker ноды | База данных (pg-public) |
Схема подключений
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | |
Команды
Управление
1 2 3 4 5 6 7 8 9 | |
Конфигурация
Helm Values
Основные настройки в charts/glitchtip/values.yaml:
- Image:
glitchtip/glitchtip:v5.2.0 - Domain:
https://glitchtip.internal.ai-ops.tech - Resources: Минимальные (100m-500m CPU, 256Mi-512Mi RAM)
- Replicas:
- Web: 1 реплика
- Worker: 1 реплика
- Beat: 1 реплика
- Flower: 1 реплика
- Valkey: 1 реплика
- PostgreSQL: Внешний кластер
pg-public - Valkey/Redis: Встроенный Valkey (standalone mode, Redis-compatible, без persistent storage)
- CELERY_BROKER_URL: Автоматически настроен на
redis://glitchtip-valkey:6379/0 - Tolerations: Разрешено размещение на control-plane нодах
- Node Selector: Пустой (разрешено размещение везде)
PostgreSQL Connection
GlitchTip подключается к PostgreSQL через:
- Host:
pg-public.tech-postgres-databases.svc.cluster.local:5432 - Database:
glitchtip - Username:
glitchtip - Password: Из секрета
glitchtip-secrets(ключDATABASE_URL)
Valkey/Redis Connection
GlitchTip использует встроенный Valkey (Redis-compatible) по умолчанию:
- Встроенный Valkey: Автоматически настраивается Helm chart
- Режим: Standalone (не cluster mode, совместим с Celery)
- Storage: Отключен (
dataStorage.enabled: false) - данные хранятся в памяти - Ресурсы: 100m-200m CPU, 128Mi-256Mi RAM
- Service:
glitchtip-valkey.tech-glitchtip.svc.cluster.local:6379 - CELERY_BROKER_URL: Автоматически настроен на
redis://glitchtip-valkey:6379/0для всех компонентов
Внешний Redis (опционально):
Если нужно использовать внешний Redis, укажите REDIS_URL в секрете glitchtip-secrets. Это отключит встроенный Valkey.
Создание секретов
Вариант A: через Makefile (интерактивно)
1 | |
Вариант B: вручную через kubectl
1 2 3 4 5 6 7 8 9 10 | |
Или через YAML манифест:
1 2 3 4 5 6 7 8 9 10 | |
Подключение
Service Endpoint
1 | |
Port-Forward
GlitchTip Web:
1 | |
Затем откройте в браузере: http://localhost:8080
Flower (Celery Monitoring):
1 | |
Затем откройте в браузере: http://localhost:5555
Подключение через внешний nginx
GlitchTip настроен с доменом https://glitchtip.internal.ai-ops.tech. В будущем можно настроить nginx для проксирования запросов:
1 2 3 4 5 6 7 8 9 10 11 12 | |
Подключение из приложения
GlitchTip совместим с Sentry SDK. Пример для Python:
1 2 3 4 5 6 | |
Примечание: Для получения DSN необходимо: 1. Зарегистрироваться в GlitchTip (через веб-интерфейс) 2. Создать проект 3. Получить DSN из настроек проекта
Troubleshooting
GlitchTip pods не запускаются
1 2 3 4 5 6 7 8 | |
Проблемы с подключением к PostgreSQL
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | |
Проблемы с подключением к Valkey
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | |
Примечание: GlitchTip использует встроенный Valkey по умолчанию. Внешний Redis не требуется, но может быть настроен опционально через REDIS_URL в секрете. CELERY_BROKER_URL автоматически настраивается на redis://glitchtip-valkey:6379/0 для всех компонентов (beat, worker, flower).
Проблемы с Flower
Если Flower не может подключиться к Valkey:
1 2 3 4 5 6 7 8 | |
Решение: Убедитесь, что CELERY_BROKER_URL настроен в env.normal в values.yaml:
1 2 3 | |
GlitchTip не отвечает
1 2 3 4 5 6 7 8 9 10 | |
Проблемы с миграциями
1 2 3 4 5 6 7 8 9 10 | |
Проблемы с Celery workers
1 2 3 4 5 6 7 8 | |
Метрики Prometheus
GlitchTip поддерживает экспорт метрик для Prometheus через эндпоинт /metrics.
Настройка
ServiceMonitor для сбора метрик автоматически применяется при установке/обновлении GlitchTip через Makefile.
ServiceMonitor:
- Namespace: tech-monitoring
- Name: glitchtip-web
- Endpoint: /metrics на порту http (80)
- Interval: 30s
Проверка метрик
1. Проверить что ServiceMonitor создан:
1 2 | |
2. Проверить targets в Prometheus:
1 2 3 4 5 | |
3. Проверить метрики:
В Prometheus UI (http://localhost:9090/graph):
1 2 3 4 5 | |
4. Проверить эндпоинт метрик напрямую:
1 2 3 4 5 | |
Примечания
- Метрики доступны только если GlitchTip настроен для их экспорта (по умолчанию включено в версии v5.2.0+)
- Если метрики не собираются, проверьте что:
- ServiceMonitor имеет label
prometheus: monitoring - Service
glitchtip-webсуществует и имеет правильные labels - Эндпоинт
/metricsдоступен на сервисе
Дополнительные ресурсы
- 📚 GlitchTip Documentation
- 🐳 GlitchTip Docker Hub
- 🔗 GlitchTip Helm Chart
- 📖 Sentry SDK Documentation (GlitchTip совместим с Sentry SDK)