# module-09. Наблюдаемость production-like контура > Статус: указатель. Канонический контракт и профильные спецификации VM разнесены. > Этот файл сохраняет стабильный путь `module-09-observability.md` для существующих ссылок. Наблюдаемость разрезана так, чтобы репозитории ВМ1 и ВМ2 не тащили чужой контур, а общие поля логов и redaction не разъезжались. | Документ | Роль | |---|---| | [`../architectory/arch-07-observability.md`](../architectory/arch-07-observability.md) | Архитектурный контракт: Collector, JSON stdout, resource attributes, W3C, redaction, sampling, SLO, SigNoz, общие runbooks. Не кастомизировать в репозитории VM. | | [`module-09-observability-vm1.md`](module-09-observability-vm1.md) | Реализация на ВМ1: nginx edge, `api-backend`, Keycloak, `bitrix-local-app`, Redis приложения, дашборды и алерты этой машины. | | [`module-09-observability-vm2.md`](module-09-observability-vm2.md) | Реализация на ВМ2: nginx webhook/private, `message-safety`, `bitrix-sync`, Redis Safety, дашборды и алерты этой машины. | Агент ВМ1 читает arch-07 + спецификацию ВМ1. Агент ВМ2 читает arch-07 + спецификацию ВМ2. Сквозной путь «frontend → nginx → API → Safety → Open Lines» связывается `request_id` / `trace_id`, а не общим Compose.