Skip to main content
Version: Indeed Access Manager 9.4

Сбор логов компонентов Access Manager

Уровни логирования

В зависимости от того, насколько подробную информацию о работе компонента нужно получить, можно задать разные уровни логирования. Они определяют, насколько важная и подробная информация будет записываться в лог-файлы. Это позволяет фильтровать и анализировать логи более эффективно.

Рекомендуется использовать уровень логирования Trace, как наиболее информативный.

Уровни логирования
TraceИнформация о процессах работы компонента, включая детали о вызовах методов API. Наиболее информативный уровень логирования.
DebugПодробности о ходе работы компонента, значимые переменные и другие данные, которые могут быть полезными при обнаружении и исправлении ошибок.
InfoИнформационные сообщения, которые сообщают о нормальном функционировании компонента. Они могут включать такие события, как запуск или завершение процессов, отправка почты, редактирование профиля пользователя и другие.
WarnПредупреждения и уведомления о потенциальных ошибках и внештатных ситуациях. События не являются критическими, но требуют внимания. При этом компонент может продолжать работу.
ErrorОшибки, повлекшие за собой некорректную работу компонента или возникновение серьезных проблем. Логи с уровнем Error указывают на проблемы, которые требуют вмешательства и исправления.
FatalТолько самые критические ошибки и проблемы, которые приводят к немедленному завершению работы компонента или другим серьезным последствиям. Логи с уровнем Fatal обычно означают серьезные сбои, которые требуют немедленного вмешательства и исправления. Наименее информативный уровень логирования.

Core Server

Включение логирования

  1. Откройте с правами администратора файл am/core/nlog.config.

  2. Для тегов logger в параметре minlevel установите значение Trace, в параметре enabled установите true

    Пример
    <rules>
    <logger name="*" writeTo="defaultFile" minlevel="Warn" enabled="true">
    <filters defaultAction="Log">
    <when condition="equals('${logger}','metricTime')" action="Ignore" />
    <when condition="equals('${logger}','metricInfo')" action="Ignore" />
    </filters>
    </logger>
    <logger name="Microsoft.Hosting.Lifetime" writeTo="lifetimeConsole" final="false" />
    <logger name="metricTime" writeTo="metricsTimeFile" minlevel="Trace" enabled="false" />
    <logger name="metricInfo" writeTo="metricsInfoFile" minlevel="Trace" enabled="false" />
    </rules>
  3. Сохраните файл и перезапустите контейнер с приложением.

Сбор логов

  1. Очистите существующие логи сервера Indeed AM в каталоге am/core/Logs/<текущая_дата>.
  2. Воспроизведите проблему.
  3. Соберите архив с логами и отправьте в службу технической поддержки с подробным описанием действий пользователя и указанием точного времени воспроизведения проблемы.

Log Server

Включение логирования

  1. Откройте с правами администратора файл am/ls/app-settings.json.

  2. Для тега NLog в параметрах minLevel и dbMinLevel установите значение Trace. В параметре enabled установите значение  true.

    Пример
    "NLog": {
    "variables": {
    "minLevel": "Trace",
    "dbMinLevel": "Trace"
    },
    "rules": {
    "20_Errors": {
    "logger": "*",
    "minLevel": "Error",
    "writeTo": "errorsFile",
    "enabled": true
    },
    "47_Db": {
    "logger": "Microsoft.EntityFrameworkCore*",
    "minLevel": "${dbMinLevel}",
    "writeTo": "dbFile",
    "enabled": true
    },
    "52_Full": {
    "logger": "*",
    "minLevel": "${minLevel}",
    "writeTo": "fullFile",
    "enabled": true
    }
    }
    • 20_Errors — запись ошибок в файл errors.log;
    • 47_Db — запись событий, относящихся к базе данных (например соединение), в соответствии с уровнем логирования в параметре "variables":"minLevel";
    • 52_Full — запись всех событий в соответствии с уровнем логирования в параметре "variables":"minLevel".
  3. Сохраните файл и перезапустите контейнер с приложением.

Сбор логов

  1. Очистите существующие логи Indeed AM Log Server в каталоге am/ls/Logs/<текущая_дата>.
  2. Воспроизведите проблему.
  3. Соберите архив с логами и отправьте в службу технической поддержки с подробным описанием действий пользователя и указанием точного времени воспроизведения проблемы.

Management Console

Включение логирования

  1. Откройте с правами администратора файл am/mc/nlog.config.

  2. Для тега logger в параметре minlevel установите значение Trace, в параметре enabled установите true.

    Пример
    <rules>
    <logger name="*" writeTo="defaultFile" minlevel="Trace" enabled="true"/>
    </rules>
  3. Сохраните файл и перезапустите контейнер с приложением.

Сбор логов

  1. Очистите существующие логи Indeed AM Management Console в каталоге am/mc/Logs/<текущая_дата>.
  2. Воспроизведите проблему.
  3. Соберите архив с логами и отправьте в службу технической поддержки с подробным описанием действий пользователя и указанием точного времени воспроизведения проблемы.

User Console

Включение логирования

  1. Откройте с правами администратора файл am/uc/nlog.config.

  2. Для тега logger в параметре minlevel установите значение Trace, в параметре enabled установите true.

    Пример
    <rules>
    <logger name="*" writeTo="defaultFile" minlevel="Trace" enabled="true"/>
    </rules>
  3. Сохраните файл и перезапустите контейнер с приложением.

Сбор логов

  1. Очистите существующие логи Indeed AM User Console в каталоге am/uc/Logs/<текущая_дата>.
  2. Воспроизведите проблему.
  3. Соберите архив с логами и отправьте в службу технической поддержки с подробным описанием действий пользователя и указанием точного времени воспроизведения проблемы.

Identity Provider

Включение логирования

  1. Откройте с правами администратора файл am/idp/nlog.config.

  2. Для тега logger в параметре minlevel установите значение Trace, в параметре enabled установите true.

    Пример
    <rules>
    <logger name="*" writeTo="defaultFile" minlevel="Trace" enabled="true" />
    </rules>
  3. Сохраните файл и перезапустите контейнер с приложением.

Сбор логов

  1. Очистите существующие логи Indeed AM Identity Provider в каталоге am/idp/Logs/<текущая_дата>.
  2. Воспроизведите проблему.
  3. Соберите архив с логами и отправьте в службу технической поддержки с подробным описанием действий пользователя и указанием точного времени воспроизведения проблемы.

Key Server

Включение логирования

  1. Откройте с правами администратора файл am/indeed-key/nlog.config.

  2. Для тега logger в параметре minlevel установите значение Trace, в параметре enabled установите true.

    Пример
    <rules>
    <logger name="*" writeTo="defaultFile" minlevel="Trace" enabled="true">
    <filters defaultAction="Log">
    <when condition="equals('${logger}','metricTime')" action="Ignore" />
    <when condition="equals('${logger}','metricInfo')" action="Ignore" />
    </filters>
    </logger>
    <logger name="Microsoft.Hosting.Lifetime" writeTo="lifetimeConsole" final="false" />
    <logger name="metricTime" writeTo="metricsTimeFile" minlevel="Trace" enabled="true" />
    <logger name="metricInfo" writeTo="metricsInfoFile" minlevel="Trace" enabled="true" />
    </rules>
  3. Сохраните файл и перезапустите контейнер с приложением.

Сбор логов

  1. Очистите существующие логи сервера Indeed Key в каталоге am/indeed-key/Logs/<текущая_дата>.
  2. Воспроизведите проблему.
  3. Соберите архив с логами и отправьте в службу технической поддержки с подробным описанием действий пользователя и указанием точного времени воспроизведения проблемы.

LDAP Proxy

Включение логирования

  1. Откройте с правами администратора файл am/ldap-proxy/configs/nlog.config.

  2. Для тега logger в параметре minlevel установите значение Trace, в параметре enabled установите true.

    Пример
    <rules>
    <logger name="EA.ClientAPI.Rest.Providers.*" final="true" />
    <logger name="*" writeTo="defaultFile, console" minlevel="Trace" enabled="true"/>
    </rules>
  3. Сохраните файл и перезапустите контейнер с приложением.

Типы логов

Для модуля LDAP Proxy логи записываются в каталоге am/ldap-proxy/Logs/<текущая_дата> в следующие файлы:

  • session_ID.log — файл с событиями для конкретной сессии, устанавливаемой клиентом через LDAP Proxy. При повторном подключении в рамках одной сессии запись продолжается в тот же файл session_ID.log. В session_ID.log записываются следующие события:

    • ошибки подключения и/или аутентификации,
    • ошибки запросов к Core Server через API,
    • события TLS-шифрования между компонентами системы (LDAP, LDAP Proxy, LDAP Client и Reverse Proxy/HaProxy),
    • логи аутентификации.
  • main.log — общий файл, в который записываются следующие события:

    • старт/остановка LDAP Proxy,
    • результаты проверки состояния сервера Healthcheck для Core Server и LDAP,
    • ошибки запуска/инициализации,
    • другие события, не относящиеся к конкретной сессии.

Для поиска по логам используйте следующую команду:

grep -Rn <доменное_имя_пользователя> am/ldap-proxy/Logs/<текущая_дата>

Сбор логов

  1. Очистите существующие логи LDAP Proxy в каталоге am/ldap-proxy/Logs/<текущая_дата>.
  2. Воспроизведите проблему.
  3. Соберите архив с логами и отправьте в службу технической поддержки с подробным описанием действий пользователя и указанием точного времени воспроизведения проблемы.

SMS Proxy

Включение логирования

  1. Откройте с правами администратора файл am/sms-proxy/nlog.config.

  2. Для тега logger в параметре minlevel установите значение Trace, в параметре enabled установите true.

    Пример
    <rules>
    <logger name="*" writeTo="defaultFile" minlevel="Trace" enabled="true" />
    </rules>
  3. Сохраните файл и перезапустите контейнер с приложением.

Сбор логов

  1. Очистите существующие логи SMS Proxy в каталоге am/sms-proxy/Logs/<текущая_дата>.
  2. Воспроизведите проблему.
  3. Соберите архив с логами и отправьте в службу технической поддержки с подробным описанием действий пользователя и указанием точного времени воспроизведения проблемы.

Windows Authentication Reverse Proxy

Включение логирования

  1. Откройте с правами администратора файл C:\Program Files\Indeed-Id\Indeed-Id WARP\Nlog.config.

  2. Для тега logger в параметре minlevel установите значение Trace, в параметре enabled установите true.

    Пример
    <rules>
    <logger name="*" minlevel="Trace" writeTo="defaultFile, console" enabled="true" />
    </rules>
  3. Сохраните изменения в файле и перезапустите WARP.

Сбор логов

  1. Очистите существующие логи WARP в каталоге C:\Program Files\Indeed-Id\Indeed-Id WARP\Logs.
  2. Воспроизведите проблему.
  3. Соберите архив с логами и отправьте в службу технической поддержки с подробным описанием действий пользователя и указанием точного времени воспроизведения проблемы.

Mobile Device Provisioning

Включение логирования

  1. Откройте с правами администратора файл C:\inetpub\wwwroot\am\mdp\nlog.config.

  2. Для тега logger в параметре minlevel установите значение Trace, в параметре enabled установите true.

    Пример
    <rules>
    <logger name="*" writeTo="f1" minlevel="Trace" enabled="true" />
    </rules>
  3. Сохраните изменения в файле и перезапустите службу IIS.

Сбор логов

  1. Очистите существующие логи MDP в каталоге C:\inetpub\wwwroot\am\mdp\logs.
  2. Воспроизведите проблему.
  3. Соберите архив с логами и отправьте в службу технической поддержки с подробным описанием действий пользователя и указанием точного времени воспроизведения проблемы.

Linux Logon

Сбор логов в модуле Linux Logon производится вручную через терминал.

Сбор логов сервисов amdev.service и amsvcd.service

  1. Чтобы просмотреть логи сервисов, введите команду:

    Для amdev.service
    sudo journalctl -u amdev.service
    Для amsvcd.service
    sudo journalctl -u amsvcd.service

    Для просмотра событий в режиме реального времени в конце команды добавьте -f, для просмотра последних 100 строк добавьте -n 100.

    Пример вывода
    мар 19 13:42:53 clientRed.test.local systemd[1]: Starting Access Manager Service…
    мар 19 13:42:53 clientRed.test.local amsvc[3327]: Loading plugins…
    мар 19 13:42:53 clientRed.test.local amsvc[3327]: Loading plugin DomainPassword.so …
    мар 19 13:42:53 clientRed.test.local amsvc[3327]: Load plugin: /usr/lib/amsvc/providers/DomainPassword.so
    ...
  1. Чтобы собрать логи сервисов за последние 24 часа, введите команду:

    Для amdev.service
    sudo journalctl -u amdev.service --since "24 hours ago" > LL_amdev.log

    Логи будут сохранены в файле LL_amdev.log.

    Для amsvcd.service
    sudo journalctl -u amsvcd.service --since "24 hours ago" > LL_amsvcd.log

    Логи будут сохранены в файле LL_amsvcd.log.

Просмотр системных вызовов UNIX-сокетов

  1. Чтобы определить PID сокета, введите команду:

    sudo ss -x -l -p | grep amsvc
  2. Чтобы просмотреть системные вызовы сокета, введите команду:

    sudo strace -p <PID> -f -e trace=network,read,write -s 2000
    Пример вывода
    [user@clientRed root]$ sudo ss -x -l -p | grep amsvc
    u_str LISTEN 0 50 /var/lib/amsvc/amdev.socket 26597 * 0 users:((“amdev”,pid=999,fd=4))
    u_str LISTEN 0 50 /var/lib/amsvc/amsvc.socket 43992 * 0 users:((“amsvc”,pid=3327,fd=5))

    [user@clientRed root]$ sudo strace -p 999 -f -e trace=network,read,write -s 2000
    strace: Process 999 attached
    read(9, “Em-Marine[66”, 32768) = 12
    read(9, “00] 128,52491\r\n”, 32768) = 15
    sendto(6, “<87>Mar 19 13:46:46 amdev[999]: Received a line from Z-2 USB:/dev/ttyUSB0:Em-Marine[6600] 128,52491”, 99, MSG_NOSIGNAL, NULL, 0) = 99

Диагностика установленных плагинов

  1. Чтобы проверить установленные плагины устройств и провайдеров, введите команду:

    ls /usr/lib/amsvc/providers/
    Пример вывода
    [root@clientRed ~]# ls /usr/lib/amsvc/providers/
    DeviceZ2Usb.so DomainPassword.so Passcode.so RegistryMFA.so SecuredOTP.so SoftwareOTP.so Z2Usb.so

Сбор логов системных журналов ОС и диагностика считывателей

  1. Чтобы проверить видимость устройства Z2 USB и права доступа к нему, введите команду:

    ls -la /dev/ttyUSB*
  2. Чтобы просмотреть логи журналов в режиме реального времени, введите команду:

    Для журнала безопасности системы
    sudo tail -f /var/log/secure
    Для журнала системных сообщений
    sudo tail -f /var/log/messages
  3. Чтобы собрать логи журналов за последние 24 часа, введите команду:

    Для журнала безопасности системы
    sudo journalctl -facility=authpriv --since "24 hours ago" > /tmp/secure_last24.log

    Логи будут сохранены в файле /tmp/secure_last24.log.

    Для журнала системных сообщений
    sudo journalctl --since "24 hours ago" > /tmp/messages_last24.log

    Логи будут сохранены в файле /tmp/messages_last24.log.