Сбор и предоставление диагностической информации

В случае возникновения ошибки или проблемы в работе Эллес:

  1. Выполните описанные ниже действия по сбору диагностической информации.

  2. Направьте подготовленное описание проблемы или ошибки, собранную диагностическую информацию и иные необходимые сведения в службу поддержки на elles_support@inno.tech.

Проблема или ошибка в работе служб контроллера домена (пакет inno-samba)

Для анализа проблемы или ошибки в работе служб контроллера домена Эллес требуется собрать и предоставить определенный набор информации с использованием поставляемых скриптов и других доступных инструментов.

Скрипты

В составе пакета inno-samba поставляются скрипты для сбора диагностической информации:

  • shell-скрипт inno-samba-diagnostics.sh (путь к скрипту после установки пакета inno-samba — /app/inno-samba/bin/) для автоматического сбора различных типов диагностической информации;

    В результате работы скрипта формируется архивный файл (.tgz), содержащий логи, конфигурационные файлы, информацию о состоянии сервисов и процессов, обеспечивающих работу службы каталогов, информацию о потреблении системных ресурсов, хосте и т. д.

    По умолчанию архив формируется в текущем каталоге с именем следующего формата: <полное доменное имя хоста>-<время создания файла с точностью до секунды>.tgz. Например: dc03.testl.lan-2024-08-20-15-08-15.tgz.

    При необходимости при вызове скрипта в качестве аргументов могут быть переданы:

    • путь и имя для формирования файла архива с расширением .tgz (например: /tmp/elles-diagnostics.tgz);

    • путь к временному каталогу для использования в процессе работы скрипта (по умолчанию — /tmp).

  • python-скрипт samba-mem-stat.py (путь к скрипту после установки пакета inno-samba — /app/inno-samba/bin/) для сбора статистики по использованию оперативной памяти.

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

    Для каждого процесса скрипт собирает и выводит или сохраняет в файл следующие данные:

    • allocated — размер памяти, выделенной процессу аллокатором;

    • free — размер свободной памяти, доступной аллокатору;

    • rss(allocated) — размер страниц памяти, выделенных процессу операционной системой;

    • rss(mapped files) — размер файлов, проецируемых в адресное пространство процесса;

    • rss(total) — общий размер физической памяти, занятой процессом.

Дополнительные права для запуска скриптов не требуются. Достаточно корректного набора прав на каталоги, где хранятся логи Эллес, логи Bind 9 и конфигурационные файлы, а также на каталоги, в которых будут сохраняться сформированные скриптами файлы с диагностической информацией.

Процедура сбора информации

В случае возникновения проблемы или ошибки в работе службы каталогов:

  1. Подготовьте максимально подробное описание того, в чем заключается проблема или ошибка и в каких условиях она возникла:

    • какие действия выполнялись перед возникновением проблемы или ошибки;

    • какой результат ожидалось получить;

    • к какому фактическому результату привели выполненные действия.

  2. Сформируйте архив с диагностической информацией с помощью скрипта inno-samba-diagnostics.sh:

    • выполните вход на сервер с ролью контроллера домена;

    • запустите скрипт:

      • для формирования файла архива в текущем каталоге с именем по умолчанию:

        /app/inno-samba/bin/inno-samba-diagnostics.sh
      • для формирования файла архива с указанным именем в указанном каталоге:

        /app/inno-samba/bin/inno-samba-diagnostics.sh /path/to/file/file-name.tgz
      • для формирования файла архива с использованием указанного временного каталога для сбора диагностических логов в процессе работы скрипта (по умолчанию — /tmp):

        /app/inno-samba/bin/inno-samba-diagnostics.sh --temp_dir /path/to/temporary/directory

    Если проблема или ошибка имела место один раз и более не воспроизводится, запустите скрипт без изменения существующего уровня логирования.

    Если проблема или ошибка воспроизводится, предварительное увеличьте уровень логирования до 10 (см. «Логирование Эллес»), воспроизведите проблему или ошибку и затем запустите скрипт.

  3. Если по какой-либо причине воспользоваться скриптом inno-samba-diagnostics.sh не удается, соберите максимальное количество информации доступными средствами:

    • версия Samba (samba --version);

    • логи Samba (для поиска пути к логам, например, используйте samba -b | grep LOGFILEBASE или testparm -sv | grep 'log file');

    • логи Bind 9 (при использовании);

    • конфигурационные файлы и файлы с информацией о системе: /etc/resolv.conf, /etc/hosts, /etc/bind/named.conf (при использовании Bind 9), /proc/cpuinfo, /proc/meminfo, /etc/os-release;

    • информация о статусах (systemctl status) сервисов, связанных со службой каталогов: bind9 (при использовании), samba, inno-samba, samba-dc-exporter и т. д.;

    • информация о системных ресурсах (CPU, память, диски) и их использовании (free -l, mount, df <hdd>, iostat -d -c -t -x);

    • информация о процессах (ps -aux, ps -auxf, pstree).

    Поместите собранную информацию в архивный файл.

  4. Если проблема связана с избыточным потреблением памяти процессами Samba:

    • выполните вход на сервер с ролью контроллера домена, на котором имеет место проблема;

    • запустите скрипт для анализа потребления памяти процессами Samba:

      • чтобы запустить скрипт в режиме периодического формирования отчетов, укажите при запуске путь к каталогу для сохранения файлов отчетов (в качестве имени файла отчета используется время его запуска с точностью до секунды) и интервал запуска в минутах; например:

        /app/inno-samba/bin/samba-mem-stat.py /tmp/mem-stat 10
      • для разового запуска скрипта с выводом результатов в stdout выполните:

        /app/inno-samba/bin/samba-mem-stat.py
    • по истечении достаточного для фиксации проблемы времени добавьте сформированные файлы отчетов в архив.

  5. Если по какой-либо причине воспользоваться скриптом samba-mem-stat.py не удается, соберите необходимую информацию доступными средствами:

    • для сбора информации о размере памяти, выделенной процессу аллокатором, используйте утилиту smbcontrol; например:

      /app/inno-samba/bin/smbcontrol <PID> pool-usage | grep "uordblks\|fordblks"
    • для сбора информации о размере оперативной памяти, выделенной процессу операционной системой, используйте файлы с информацией о состоянии процесса; например:

      cat /proc/<PID>/status | grep 'RssFile|RssAnon'
  6. Если проблема связана с зависанием процесса или процессов одного из сервисов службы каталогов, подготовьте вывод трассировки стека командой pstack для данного процесса или процессов.

  7. Если это не противоречит требованиям информационной безопасности и другим подобным требованиям, рекомендуется включить и поддерживать на серверах генерацию файлов дампа ядра (core-файлов).

    При наличии core-файлов в случае возникновения проблемы или ошибки в работе одного или нескольких сервисов службы каталогов подготовьте их.

  8. Направьте подготовленное описание проблемы или ошибки, архив с диагностической информацией и иные необходимые сведения в службу поддержки на elles_support@inno.tech.

Данные мониторинга

Обеспечьте сбор и хранение метрик мониторинга, включая статистику использования системных ресурсов и метрики Samba, формируемые модулем inno-samba-dc-exporter (см. раздел «Мониторинг Эллес»).

В случае возникновения проблемы или ошибки:

  • предоставьте данные мониторинга системных ресурсов (CPU, память, дисковое пространство и т. п.);

  • будьте готовы по запросу предоставить любые другие метрики, формируемые inno-samba-dc-exporter.

Проблема или ошибка в работе приложения «Менеджер службы каталогов» (пакет dsm)

Если проблема относится к приложению «Менеджер службы каталогов»:

  1. Составьте максимально подробное описание того, в чем заключается проблема или ошибка и в каких условиях она возникла:

    • какие действия выполнялись перед возникновением проблемы или ошибки;

    • какой результат ожидалось получить;

    • к какому фактическому результату привели выполненные действия.

  2. Если проблема или ошибка возникла при использовании пользовательского интерфейса при наличии технической возможности и отсутствии запретов, обусловленных требованиями информационной безопасности, сделайте скриншоты или видеозапись экрана таким образом, чтобы зафиксировать некорректное поведение приложения.

  3. Подготовьте логи (см. раздел «Снятие логов для приложения "Менеджер службы каталогов"»).

  4. Направьте подготовленное описание проблемы или ошибки, скриншоты или видеозапись экрана, логи и иные необходимые сведения в службу поддержки на elles_support@inno.tech.