`statfs.Bsize` в Linux — int64, в Darwin — uint32: сборка образа для linux/amd64
падала на приведении к uint32. Приведение к int64 безопасно на обеих
платформах; проверено `GOOS=linux go vet` по всем пакетам.
Раздел «Инстанс» получает живые показатели сервера (AGENT.md 7.19).
- `internal/sysinfo`: загрузка процессора по cgroup v2 (`cpu.stat`/`cpu.max`)
с откатом на `/proc/stat`, память по лимиту контейнера либо `/proc/meminfo`,
место на разделе данных и размер базы вместе с журналом WAL;
- `GET /api/v1/instance/metrics` (только администратор инстанса): метрики,
состояние (`ok|warn|failed`), проверки app/database/disk/storage/voice/
gateway, версия и время работы; недоступные источники не ломают ответ, а
попадают в проверку `metrics`;
- тяжёлые проверки (БД, SFU, запись) кэшируются на 5 секунд: ручку можно
опрашивать раз в секунду;
- `voice.IssueRoomList` и `AdminClient.Ping` проверяют доступность RoomService
и валидность ключей LiveKit (та же связка, что ломала модерацию);
- у метрик свой лимит частоты, они исключены из общего лимита API
(`RateLimiter.MiddlewareExcept`), иначе открытый раздел съедал бы половину
бюджета запросов;
- тесты: `internal/sysinfo` (cgroup, /proc, память, диск, размеры файлов) и
`internal/server/api_metrics_test.go` (доступ, состав метрик, кэш, 429).