mirror of
https://gitverse.ru/kpa39l/monitoring.git
synced 2026-09-29 09:55:09 +00:00
3.2 KiB
3.2 KiB
gotosocial-monitoring Specification
Purpose
Дашборд Grafana для метрик GoToSocial (bigbox): наблюдение за инстансом (пользователи/статусы/федерирующиеся инстансы), воркерами (очереди), HTTP-активностью, SQL-соединениями и ресурсами процесса.
Requirements
Requirement: Job gotosocial в prometheus.yml активен
- MUST: job
gotosocialопрашивает127.0.0.1:9464/metricsи релейбinstance=bigbox:9464. - MUST: метрики доступны в VictoriaMetrics с метками
service="gotosocial",host="bigbox",instance="bigbox:9464".
Scenario: Метрики отвечают
- GIVEN job gotosocial настроен в prometheus.yml
- WHEN запросить
/api/v1/series?match[]=gotosocial_instance_total_users - THEN ответ содержит метрику с
instance: "bigbox:9464"и данные
Requirement: Дашборд gotosocial в Grafana
- MUST: Провайдер
gotosocial-dashboardsвgrafana/provisioning/dashboards/dashboards.ymlимпортирует/var/lib/grafana/dashboards/gotosocial(updateIntervalSeconds: 30). - MUST: Дашборд
grafana/dashboards/gotosocial/gotosocial.jsonсодержит:- stat-панель доступности (запрос
gotosocial_instance_total_users— если данные есть, служба жива) - instance-панели: users, statuses, federating_instances
- воркеры: по каждому пулу
gotosocial_workers_*count+queue - HTTP:
http_server_requests_total,http_server_requests_active - SQL:
go_sql_connections_in_use - процесс: RSS, CPU секунды, open_fds
- stat-панель доступности (запрос
- SHOULD: панели названы по-русски, структура соответствует стилю vesti.json.
Scenario: Дашборд импортирован
- GIVEN файл дашборда и провайдер добавлены
- WHEN пройти 30-60с после изменения provisioning
- THEN дашборд
GoToSocialвиден в папкеgotosocial(проверка:SELECT uid FROM dashboard WHERE uid LIKE 'gotosocial%'в grafana.db)
Requirement: Инстанс виден без алертов
- MUST: Дашборд не содержит алертинга (алерты GtS — отдельное изменение).
- SHOULD: Панель доступности зелёная (UP), когда
gotosocial_instance_total_usersвозвращает значение; красная — когда нет данных.
Scenario: Инстанс жив
- GIVEN GtS отвечает на 9464
- WHEN проверить stat-панель «Инстанс жив»
- THEN значение
gotosocial_instance_total_users> 0 и панель зелёная
Scenario: Инстанс недоступен
- GIVEN GtS не отвечает на 9464
- WHEN пройти интервал опроса (15с)
- THEN метрика пропадает и панель доступности показывает DOWN/красная