Добавлен сбор телеметрии на ВМ2
This commit is contained in:
@@ -37,8 +37,12 @@ deployment-артефакты: `VM2_services/codebase/services/`. Локальн
|
||||
7. `REDIS_SAFETY_ACL` — полный ACL-файл, а не просто пароль. Он должен
|
||||
открывать неаутентифицированный `PING` только для health и
|
||||
защищённого паролем пользователя `safety`, ограниченного необходимыми
|
||||
ключами/командами `han:safety:*`.
|
||||
(Пароль в `MESSAGE_SAFETY_REDIS_URL` должен совпадать. Используйте `redis/redis-safety.acl.template`, заменив `REPLACE_WITH_LONG_RANDOM_PASSWORD)
|
||||
ключами/командами `han:safety:*`. Добавьте пользователя `exporter` только с
|
||||
`PING`/`INFO`; его пароль в ACL должен в точности совпадать с отдельным
|
||||
`REDIS_EXPORTER_PASSWORD`. Этот secret хранится в формате JSON password map:
|
||||
`{"redis://redis-safety:6379":"<ТОТ_ЖЕ_ПАРОЛЬ>"}`, а не как голая строка.
|
||||
Пароль `safety` в `MESSAGE_SAFETY_REDIS_URL` также должен совпадать с ACL. Используйте
|
||||
`redis/redis-safety.acl.template`, заменив оба плейсхолдера.
|
||||
8. Выделите отдельные учётные данные БД для runtime и миграций.
|
||||
`MESSAGE_SAFETY_CONFIG_ADMIN_DATABASE_URL` может мигрировать/активировать
|
||||
политику, а `MESSAGE_SAFETY_DATABASE_URL` — нет; `BITRIX_SYNC_MIGRATION_DATABASE_URL`
|
||||
@@ -83,12 +87,14 @@ deployment-артефакты: `VM2_services/codebase/services/`. Локальн
|
||||
[`arch-10-deployment.md`](../../../../architectory/arch-10-deployment.md) §6.
|
||||
3. **Образы** — собрать и push `han-message-safety`, `han-bitrix-sync`;
|
||||
получить immutable digest для всех `*_IMAGE` в `.env.example` (nginx, redis,
|
||||
clamav, otel-collector).
|
||||
clamav, otel-collector, Redis exporter, nginx exporter).
|
||||
4. **Selectel Secrets Manager** — заполнить все remote names из
|
||||
`deployment/secrets/config.example.json` (DSN, tokens, S3 read-only keys,
|
||||
`REDIS_SAFETY_ACL`, internal TLS PEM для `8443`). Отдельный IAM principal
|
||||
VM2 с read-only доступом только к этим именам.
|
||||
`REDIS_SAFETY_ACL`, `REDIS_EXPORTER_PASSWORD`, internal TLS PEM для `8443`).
|
||||
Отдельный IAM principal VM2 с read-only доступом только к этим именам.
|
||||
5. **S3 quarantine bucket** и SigNoz OTLP endpoint — значения в `.env`.
|
||||
Текущий self-hosted SigNoz принимает private plaintext OTLP без auth, поэтому
|
||||
не создавайте фиктивный auth-secret или обязательный непустой header.
|
||||
6. **Internal TLS** — сертификат внутренней CA с SAN = private DNS VM2;
|
||||
PEM хранится в Secrets Manager, не в каталоге релиза.
|
||||
|
||||
@@ -301,6 +307,13 @@ DSN, token, password, access/secret key туда не записываются.
|
||||
создайте отдельный VM2 IAM principal с read-only доступом только к remote names
|
||||
из mapping.
|
||||
|
||||
Локальный Collector принимает traces, metrics и logs напрямую по OTLP; чтение
|
||||
Docker JSON через `filelog` не используется. Prometheus receiver собирает только
|
||||
метрики самого Collector, `redis-exporter` и `nginx-exporter`, а `hostmetrics` —
|
||||
метрики VM через read-only `/hostfs`. Exporter-контейнеры имеют только `expose`
|
||||
во внутренних сетях и не публикуют host ports. В nginx endpoint
|
||||
`/stub_status` слушает только внутренний `8081`.
|
||||
|
||||
Зашифруйте пароль Selectel service user через systemd credentials, не помещая
|
||||
его в аргументы или history:
|
||||
|
||||
|
||||
Reference in New Issue
Block a user