Мониторинг логов в Docker
Мониторинг логов в Docker
Ключ-АСТРОМ поддерживает сбор логов из неоркестрированных сред Docker через ЕдиныйАгент. Чтобы узнать больше о мониторинге логов в оркестрированных платформах, таких как Kubernetes и OpenShift, использующих Docker в качестве интерфейса среды выполнения контейнеров (CRI), см. Потоковая передача логов Kubernetes с помощью модуля логов Ключ-АСТРОМ.
Как работает автообнаружение
ЕдиныйАгент автоматически обнаруживает сообщения логов, записанные в потоки stdout/stderr контейнеризованного приложения. Драйвер логирования Docker сохраняет эти потоки логов в файле, расположенном в каталоге /var/lib/docker/containers на хосте, где выполняются контейнеры. ЕдиныйАгент автоматически обнаруживает файлы логов по этому пути. ЕдиныйАгент не обнаруживает логи, записанные напрямую в файловую систему контейнера.
Требования к автообнаружению
Требования для автообнаружения логов Docker:
- Процесс, выполняющийся в контейнере, является важным процессом.
- Контейнер использует драйвер логирования
json-file. - Логи записываются в потоки
stdout/stderrконтейнера. - Файл лога в
/var/lib/docker/containersсуществует минимум одну минуту после завершения выполнения контейнера.
Связывание логов со свойствами и аннотациями Docker
Когда ЕдиныйАгент обнаруживает логи по пути /var/lib/docker/containers на хосте, работающем в неоркестрированной среде Docker, он связывает определённые логи с соответствующим контейнером на основе ID контейнера из пути к файлу. Кроме того, ЕдиныйАгент обогащает эти логи следующими метаданными Docker:
container.namecontainer.idcontainer.image.name