ВМ1: реализован сбор логов

This commit is contained in:
mi
2026-09-07 12:46:45 +03:00
parent 44db38f6fe
commit 85df788f2d
42 changed files with 1669 additions and 310 deletions
+24
View File
@@ -184,12 +184,35 @@ service:
- `deployment.environment=production-like|production`;
- `host.name`/`service.instance.id` без публичного IP.
Для logs действуют те же resource attributes, что для traces/metrics.
`trace_id` (32 hex) и `span_id` (16 hex) добавляются только из активного
OpenTelemetry span. SigNoz связывает log со span по этой паре. Host, Redis,
Docker и systemd события, у которых span отсутствует, коррелируются по
`host.name`, `service.name`, времени и безопасным request/business IDs;
синтетические trace/span IDs для них запрещены.
На application VM используются два непересекающихся канала:
- Python application logs отправляются OTLP Logs SDK в Compose Collector и
одновременно остаются в JSON stdout как локальный аварийный buffer;
- platform logs (nginx, Keycloak, Redis, Docker и выбранные systemd units)
собирает отдельный host agent без доступа к Docker socket.
Один источник не может одновременно экспортироваться SDK и host `filelog`.
Allow-list источников и self-exclusion Collector обязательны, чтобы исключить
дубли и feedback loop.
Реестр `service.name`:
| Имя | Владелец |
|---|---|
| `nginx` | nginx каждой VM; различать экземпляры `host.name` / `service.instance.id` |
| `api-backend` | ВМ1 |
| `delivery-worker` | ВМ1 |
| `safety-recovery-worker` | ВМ1 |
| `cleanup-worker` | ВМ1 |
| `notification-expire-worker` | ВМ1 |
| `notification-draft-cleanup-worker` | ВМ1 |
| `bitrix-local-app` | ВМ1 |
| `keycloak` | ВМ1 |
| `sms-service` | ВМ1, callback/internal API |
@@ -198,6 +221,7 @@ service:
| `bitrix-sync` | ВМ2 |
| `redis` | Redis каждой VM; различать экземпляры |
| `otel-collector` | collector каждой VM |
| `otel-host-collector` | host telemetry agent ВМ1 |
Новое имя добавляется только сюда, затем в спецификацию владельца.