Сбор и предоставление диагностической информации
Порядок действий по сбору диагностической информации зависит от компонента, в котором возникла проблема или ошибка.
Проблема или ошибка в работе службы каталогов (пакет inno-samba)
Для анализа проблемы или ошибки в работе службы каталогов требуется собрать и предоставить определенный набор информации с использованием поставляемых скриптов и других доступных инструментов.
Скрипты
В составе пакета inno-samba поставляются скрипты для сбора диагностической информации:
-
shell-скрипт inno-samba-diagnostics.sh (путь к скрипту после установки пакета inno-samba — /app/inno-samba/bin/) для автоматического сбора различных типов диагностической информации;
В результате работы скрипта формируется архивный файл (.tgz), содержащий логи, конфигурационные файлы, информацию о состоянии сервисов и процессов, обеспечивающих работу службы каталогов, информацию о потреблении системных ресурсов, хосте и т. д.
По умолчанию архив формируется в текущем каталоге с именем следующего формата: <полное доменное имя хоста>-<время создания файла с точностью до секунды>.tgz. При необходимости при вызове скрипта в качестве аргумента могут быть переданы путь и имя для формирования файла архива.
-
python-скрипт samba-mem-stat.py (путь к скрипту после установки пакета inno-samba — /app/inno-samba/bin/) для сбора статистики по использованию оперативной памяти.
Скрипт позволяет собирать данные по расходованию памяти процессами Samba как в режиме разового запуска с выводом результатов в stdout, так и с заданной периодичностью в течение определенного периода времени с сохранением результатов анализа в виде набора файлов в указанном каталоге.
Для каждого процесса скрипт собирает и выводит или сохраняет в файл следующие данные:
-
allocated— размер памяти, выделенной процессу аллокатором; -
free— размер свободной памяти, доступной аллокатору; -
rss(allocated)— размер страниц памяти, выделенных процессу операционной системой; -
rss(mapped files)— размер файлов, проецируемых в адресное пространство процесса; -
rss(total)— общий размер физической памяти, занятой процессом.
-
| Дополнительные права для запуска скриптов не требуются. Достаточно корректного набора прав на каталоги, где хранятся логи Samba, логи Bind 9 и конфигурационные файлы, а также на каталоги, в которых будут сохраняться сформированные скриптами файлы с диагностической информацией. |
Процедура сбора информации
В случае возникновения проблемы или ошибки в работе службы каталогов:
-
Подготовьте максимально подробное описание того, в чем заключается проблема или ошибка и в каких условиях она возникла:
-
какие действия выполнялись перед возникновением проблемы или ошибки;
-
какой результат ожидалось получить;
-
к какому фактическому результату привели выполненные действия.
-
-
Сформируйте архив с диагностической информацией с помощью скрипта /app/inno-samba/bin/inno-samba-diagnostics.sh:
-
выполните вход на сервер с ролью контроллера домена;
-
запустите скрипт, при необходимости указав путь для формирования файла архива и имя файла:
/app/inno-samba/bin/inno-samba-diagnostics.sh /path/to/file/file-name
Если проблема или ошибка имела место один раз и более не воспроизводится, запустите скрипт без изменения существующего уровня логирования.
Если проблема или ошибка воспроизводится, предварительное увеличьте уровень логирования до 10 (см. «Логирование Samba»), воспроизведите проблему или ошибку и затем запустите скрипт.
-
-
Если по какой-либо причине воспользоваться скриптом inno-samba-diagnostics.sh не удается, соберите максимальное количество информации доступными средствами:
-
версия Samba (
samba --version); -
логи Samba (для поиска пути к логам, например, используйте
samba -b | grep LOFILEBASEили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).
Поместите собранную информацию в архивный файл.
-
-
Если проблема связана с избыточным потреблением памяти процессами Samba:
-
выполните вход на сервер с ролью контроллера домена, на котором имеет место проблема;
-
запустите скрипт для анализа потребления памяти процессами Samba:
-
чтобы запустить скрипт в режиме периодического формирования отчетов, укажите при запуске путь к каталогу для сохранения файлов отчетов (в качестве имени файла отчета используется время его запуска с точностью до секунды) и интервал запуска в минутах; например:
/app/inno-samba/bin/samba-mem-stat.py /tmp/mem-stat 10
-
для разового запуска скрипта с выводом результатов в stdout выполните:
/app/inno-samba/bin/samba-mem-stat.py
-
-
по истечении достаточного для фиксации проблемы времени добавьте сформированные файлы отчетов в архив.
-
-
Если по какой-либо причине воспользоваться скриптом samba-mem-stat.py не удается, соберите необходимую информацию доступными средствами:
-
для сбора информации о размере памяти, выделенной процессу аллокатором, используйте утилиту
smbcontrol; например:/app/inno-samba/bin/smbcontrol <PID> pool-usage | grep "uordblks\|fordblks"
-
для сбора информации о размере оперативной памяти, выделенной процессу операционной системой, используйте файлы с информацией о состоянии процесса; например:
cat /proc/<PID>/status | grep 'RssFile|RssAnon'
-
-
Если проблема связана с зависанием процесса или процессов одного из сервисов службы каталогов, подготовьте вывод трассировки стека командой
pstackдля данного процесса или процессов. -
Если это не противоречит требованиям информационной безопасности и другим подобным требованиям, рекомендуется включить и поддерживать на серверах генерацию файлов дампа ядра (core-файлов).
При наличии core-файлов в случае возникновения проблемы или ошибки в работе одного или нескольких сервисов службы каталогов подготовьте их.
-
Направьте подготовленное описание проблемы или ошибки, архив с диагностической информацией и иную необходимую информацию в службу поддержки или представителю ГК «Иннотех».
Данные мониторинга
Обеспечьте сбор и хранение метрик мониторинга, включая статистику использования системных ресурсов и метрики Samba, формируемые модулем inno-samba-dc-exporter (см. раздел «Мониторинг Samba»).
В случае возникновения проблемы или ошибки:
-
предоставьте данные мониторинга системных ресурсов (CPU, память, дисковое пространство и т. п.);
-
будьте готовы по запросу предоставить любые другие метрики, формируемые inno-samba-dc-exporter.
Проблема или ошибка в работе приложения «Менеджер службы каталогов» (пакет dsm)
Если проблема относится к приложению «Менеджер службы каталогов»:
-
Составьте максимально подробное описание того, в чем заключается проблема или ошибка и в каких условиях она возникла:
-
какие действия выполнялись перед возникновением проблемы или ошибки;
-
какой результат ожидалось получить;
-
к какому фактическому результату привели выполненные действия.
-
-
Если проблема или ошибка возникла при использовании пользовательского интерфейса при наличии технической возможности и отсутствии запретов, обусловленных требованиями информационной безопасности, сделайте скриншоты или видеозапись экрана таким образом, чтобы зафиксировать некорректное поведение приложения.
-
Подготовьте логи (см. раздел «Снятие логов для приложения "Менеджер службы каталогов"»).
-
Направьте подготовленное описание проблемы или ошибки, скриншоты или видеозапись экрана, логи и иную необходимую информацию в службу поддержки или представителю ГК «Иннотех».