Avanpost FAM позволяет управлять сбором логов с целью анализа корректности функционирования компонента и его служб на основании полученных логов.
Функциональность позволяет получать логи следующих сервисов:
- Telegram-сервис;
- Push-сервис;
- API-сервис;
- LDAP Proxy;
- SelfService;
- Репликатор;
- Reverse Proxy.
Для запуска сбора логов следует подключиться к экземпляру Avanpost FAM и выполнить команду, запрашивающую интересуемые логи из syslog. При этом команда должна содержать параметры, ограничивающие область поиска (например, по данным, содержащимся в логе, времени, службам и пр.), чтобы предоставить администратору наиболее релевантные данные, и наименование файла, в который будут записаны запрошенные логи.
Логирование возможно в следующих режимах:
- По заданному промежутку времени: для обычного режима сбора лога. Пример команды:
journalctl --since "2024-10-17 07:00:00" --until "2024-10-17 07:38:11" -u idp -u telegram | grep -v -P '"status":0,"path":"/"|"method":"GET","status":200|no user CN=' > out.txt
- В интерактивном режиме: рекомендуется использовать в случаях, когда одна ошибка многократно воспроизводится. Пример команды:
journalctl -xefu idp -xefu telegram | grep -v -P '"status":0,"path":"/"|"method":"GET","status":200|no user CN=|Endpoint: getUpdates, response: |"level":"error","error":"push was not sent","id":"' > out.txt
Команды для управления получаемыми логами указаны в таблице.
Команда | Описание |
---|---|
-x: | Команда показывает дополнительную информацию (например, описание ошибок). |
-e: | Команда перемещает вывод к концу журнала, чтобы администратор мог видеть последние записи. |
-f: | Команда позволяет следить за журналом в реальном времени (аналогично команде tail -f), показывая новые записи по мере их появления. |
-u <service>: | Команда фильтрует вывод по указанной службе. |
-v | Команда позволяет исключить совпадения из выборки. |
-P | Команда позволяет задать множество, перечисление через конвейер (pipeline). |