Логи
Содержание
Анализ запросов логовПоиск логовЭкспорт данных логовПросмотр контекста логаУправление временем хранения логов приложенийУстановка политик хранения администратором платформыУстановка политик хранения администратором проектаУстановка политик хранения через CLIНастройка частичного исключения логов приложений из сбораОстановить сбор всех логов приложений в кластереОстановить сбор логов приложений в конкретном namespaceОстановить сбор логов PodАнализ запросов логов
В панели анализа запросов логов центра операций вы можете просматривать логи стандартного вывода (stdout) учетной записи, под которой вы вошли, в рамках ее прав, включая системные логи, логи продукта, логи Kubernetes и логи приложений. Через эти логи можно получить представление о работе ресурсов.
- Системные логи: Логи с хост-нод, например: dmesg, syslog/messages, secure и др.
- Логи продукта: Логи собственных компонентов платформы и интегрированных сторонних компонентов, например: Container-Platform, Platform-Center, DevOps, Service-Mesh и др.
- Логи Kubernetes: Логи компонентов, связанных с оркестрацией контейнеров Kubernetes, а также логи, генерируемые kubelet, kubeproxy и docker, например: docker, kube-apiserver, kube-controller-manager, etcd и др.
- Логи приложений: Логи бизнес-приложений, включая файловые логи и логи стандартного вывода.
Условия запроса логов поддерживают фильтрацию логов в заданном временном диапазоне (выбранном или пользовательском), а результаты запроса отображаются в виде столбчатых диаграмм и стандартного вывода.
По соображениям производительности платформа может отображать максимум 10 000 логов за один раз. Если объем логов на платформе слишком велик за определенный период, пожалуйста, сузьте временной диапазон запроса и выполняйте запросы поэтапно.
Поиск логов
-
В левой навигационной панели нажмите Operations Center > Logs > Log Query Analysis.
-
Выберите нужный тип лога, условия запроса, введите ключевые слова для поиска в содержимом логов и нажмите Search.
-
Для разных Log Types доступны разные условия запроса.
-
Можно выбрать или ввести несколько тегов условий запроса; условия для разных типов ресурсов связаны логическим И. Некоторые теги условий поддерживают множественный выбор; после выбора обязательно нажмите клавишу
Enterдля подтверждения. -
Условия запроса поддерживают нечеткий поиск; например, условие
pod = nginxнайдет логи дляnginx-1,nginx-2. -
Условия поиска по содержимому логов используются только для поиска ключевых слов и поддерживают параметры
ANDиORдля ассоциативных запросов. Однако не используйте одновременноANDиORв одном запросе. -
Столбчатая диаграмма показывает общее количество логов в текущем временном диапазоне запроса и количество логов в разные моменты времени. Клик по столбцу диаграммы позволяет просмотреть логи за промежуток времени между этим столбцом и следующим.
Экспорт данных логов
Страница может отображать максимум 10 000 записей логов. Если количество полученных логов слишком велико, вы можете использовать функцию экспорта логов для просмотра до 1 миллиона записей.
-
Нажмите кнопку Export в правом верхнем углу столбчатой диаграммы и настройте параметры в появившемся диалоговом окне экспорта логов.
-
Scope: Диапазон экспорта логов, можно выбрать Current Page или All Results.
- Current Page: Экспортирует только результаты запроса на текущей странице, максимум 1 000 записей.
- All Results: Экспортирует все данные логов, соответствующие текущим условиям запроса, максимум 1 миллион записей.
-
Fields: Поля отображения логов. Вы можете выбрать, какие поля включать в экспортируемый файл, отметив соответствующие чекбоксы.
Примечание: Для разных типов логов доступны разные поля отображения, выбирайте согласно вашим потребностям.
-
Format: Формат экспортируемого файла логов, поддерживаются
txtилиcsv. Платформа экспортирует в сжатом форматеgzip.
-
-
Нажмите Export, и браузер автоматически скачает сжатый файл на ваш локальный компьютер.
Просмотр контекста лога
-
Дважды кликните по области содержимого лога, и в текущем диалоговом окне отобразятся 5 логов до и после времени печати текущего лога, что помогает специалистам по эксплуатации лучше понять причины возникновения текущих логов ресурсов.
-
Вы можете настроить отображаемые поля контекста лога или экспортировать контекст лога. При экспорте контекста лога выбор Scope не требуется; нажатие кнопки Export сразу скачает файл контекста лога на локальный компьютер через браузер.
Управление временем хранения логов приложений
Если политика проекта не установлена, время хранения логов приложений на платформе определяется параметром Application Log Retention Time Log Storage Plugin, установленного на Storage Cluster, выбранном при установке Alauda Container Platform Log Collector в кластере, где размещено приложение.
Вы можете дифференцировать время хранения Application Logs на платформе, добавляя и управляя политиками логов проекта.
Политики проекта применяются только к Application Logs в рамках конкретного проекта. После установки политики проекта время хранения всех логов приложений в этом проекте будет соответствовать политике проекта.
Если в storage cluster используется ClickHouse и включена функция Cold and Hot Separate, политика хранения на уровне проекта может использовать отдельные настройки хранения горячих и холодных данных. Для текущего набора меток и примеров смотрите How to Set the Retention Time of Cold Data for a Project.
Установка политик хранения администратором платформы
-
В левой навигационной панели нажмите Operations Center > Logs > Policy Management.
-
Нажмите Add Project Policy.
-
В выпадающем списке Project выберите проект.
-
Установите Log Retention Time.
- Используйте кнопки
-/+по обе стороны счетчика для уменьшения/увеличения дней хранения или введите значение напрямую. Платформа позволяет устанавливать время хранения от 1 до 30 дней. - Если введено десятичное число, оно округляется вверх до целого; если значение меньше 1, оно округляется вверх до 1, и кнопка
-становится неактивной; если значение больше 30, оно округляется вниз до 30, и кнопка+становится неактивной.
- Используйте кнопки
-
Нажмите Add.
Установка политик хранения администратором проекта
-
Перейдите на страницу деталей текущего проекта.
-
Нажмите кнопку редактирования рядом с полем политики логов, чтобы включить политику логов в появившемся окне.
-
Установите Log Retention Time.
- Используйте кнопки
-/+по обе стороны счетчика для уменьшения/увеличения дней хранения или введите значение напрямую. Платформа позволяет устанавливать время хранения от 1 до 30 дней. - Если введено десятичное число, оно округляется вверх до целого; если значение меньше 1, оно округляется вверх до 1, и кнопка
-становится неактивной; если значение больше 30, оно округляется вниз до 30, и кнопка+становится неактивной.
Установка политик хранения через CLI
-
Войдите в кластер
globalи выполните команду: -
Измените yaml согласно примеру ниже, сохраните и отправьте изменения.
В некоторых средах ACP 4.2 для совместимости могут сохраняться устаревшие метки, такие как
cpaas.io/project.esIndicesKeepDaysиcpaas.io/project.esPolicyEnabled. Для новых настроек используйте приведенные выше новые метки.
Настройка частичного исключения логов приложений из сбора
Если вам нужно просматривать только Реальные логи определенных приложений в кластере без необходимости их хранения (коллектор будет отбрасывать соответствующие логи), вы можете воспользоваться этим разделом для настройки области остановки сбора логов (кластер, namespace, Pod) для тонкой настройки сбора логов приложений.
Остановить сбор всех логов приложений в кластере
Вы можете обновить Configuration Parameters Alauda Container Platform Log Collector кластера, чтобы выключить переключатель сбора Application Log, тем самым единообразно обновив область сбора логов для этого кластера. После выключения переключателя сбора для определенного типа логов сбор всех логов этого типа в текущем кластере прекратится.
Остановить сбор логов приложений в конкретном namespace
Вы можете выключить переключатель сбора логов для namespace, добавив метку cpaas.io/log.mute=true в указанный namespace, тем самым остановив сбор всех логов стандартного вывода и файловых логов для всех Pod в этом namespace.
Возможные способы настройки:
-
Через командную строку: После входа на любой управляющий узел кластера выполните команду для обновления метки namespace.
-
Через интерфейс: В представлении Project Management обновите метку namespace.
-
В списке проектов представления Project Management кликните по Project Name, где находится namespace.
-
В левой навигационной панели нажмите Namespaces.
-
Кликните по Namespace Name, метку которого нужно обновить.
-
На вкладке Details нажмите кнопку управления справа от Labels.
-
Добавьте метку (Ключ:
cpaas.io/log.mute, Значение:true) или измените значение существующей метки, затем нажмите Update.
-
Остановить сбор логов Pod
Вы можете выключить переключатель сбора логов для конкретного Pod, добавив метку cpaas.io/log.mute=true к нему, тем самым остановив сбор логов стандартного вывода и файловых логов для этого Pod.
После входа на любой управляющий узел кластера выполните команду для обновления метки Pod.
Примечание: Если Pod принадлежит вычислительному компоненту (Workload), вы можете обновить метки вычислительного компонента (Deployment, StatefulSet, DaemonSet, Job, CronJob), чтобы единообразно обновить метки всех Pod под этим компонентом, и метки сохранятся даже после пересоздания Pod.
Обновление меток вычислительного компонента выполняется следующим образом.
-
В представлении продукта Container Platform переключитесь через верхнюю навигацию в namespace, где находится Pod.
-
В левой навигационной панели нажмите Compute Components > Тип вычислительного компонента, к которому принадлежит Pod.
-
Нажмите кнопку управления справа от нужного компонента > Update.
-
В правом верхнем углу переключитесь в режим редактирования YAML, нажав YAML.
-
В поле spec.template.labels добавьте метку
cpaas.io/log.mute: 'true'.Пример:
-
Нажмите Update.