Установка экспортера метрик (пакет inno-samba-dc-exporter)
Установка включает шаги:
Подготовка к установке
При формировании значений для нескольких метрик (например, samba_ldap_search, samba_kdc_check, samba_kcc_check) используются учетные данные доменного пользователя с базовыми правами на чтение БД LDAP и возможностью получения билета Kerberos. Они должны быть указаны при настройке экспортера метрик.
В качестве такого пользователя может выступать специально созданная техническая учетная запись либо любой существующий пользователь, являющийся участником группы Domain Users.
| Для обеспечения бесперебойной работы экспортера рекомендуется защитить такую учетную запись от случайного удаления. |
Учетные данные пользователя указываются на шаге настройки экспортера. При их отсутствии соответствующие метрики всегда возвращают значение 1.0, указывающее на неуспешность проверки.
Если при сборе значений метрик будет использования аутентификация по HTTPS, предварительно сформируйте файлы SSL-сертификата и ключа. Пути к ним должны быть указаны в конфигурации.
Установка пакета
Установите пакет:
-
при установке из репозитория выполните:
-
при установке из архива укажите путь к распакованным файлам и имена пакетов; например:
sudo apt install ./packages/inno-samba-dc-exporter-1.7.3/python3-prometheus-client_0.18.2_amd64.deb -y sudo apt install ./packages/inno-samba-dc-exporter-1.7.3/inno-samba-dc-exporter_1.7.3_amd64.deb -y
sudo dnf install ./packages/inno-samba-dc-exporter-1.7.3/python3-prometheus-client-0.18.2-1.x86_64.rpm -y sudo dnf install ./packages/inno-samba-dc-exporter-1.7.3/samba-dc-exporter-1.7.3-1.noarch.rpm -y
По завершении установки сервис samba-dc-exporter.service неактивен:
sudo systemctl status samba-dc-exporter.service * samba-dc-exporter.service - Samba DC Exporter Loaded: loaded (/etc/systemd/system/samba-dc-exporter.service; disabled; vendor preset: enabled) Active: inactive (dead)
Настройка
В процессе установки экспортера метрик в каталоге /app/samba-dc-exporter/etc/ создаются следующие файлы:
-
config.yaml — конфигурационный файл для настройки работы экспортера метрик, содержащий доступные параметры с примерами значений, значениями по умолчанию и комментариями с краткой информацией о формате и способе задания значений;
См. описание всех доступных настроек в разделе «Экспортер метрик (пакет inno-samba-dc-exporter)». -
cred — шаблон файла с учетными данными для доступа к БД LDAP на чтение и простой аутентификации по HTTP для сбора метрик в формате Base64.
Файл сred может быть создан в любом другом каталоге. В этом случае путь к нему должен быть указан в параметре
ldap_credentials_pathв файле config.yaml.
По умолчанию файлы доступны только на чтение. Владельцем файлов является служебный пользователь samba-dc-exporter, от имени которого запускается сервис экспортера метрик.
Чтобы отредактировать файлы, измените права соответствующим образом. Например:
sudo chmod 600 /app/samba-dc-exporter/etc/config.yaml /app/samba-dc-exporter/etc/cred
После завершения редактирования восстановите исходный набор прав:
sudo chmod 400 /app/samba-dc-exporter/etc/config.yaml /app/samba-dc-exporter/etc/cred
| При установке новых версий пакета inno-samba-dc-exporter или его удалении используются стандартные средства пакетного менеджера для управления конфигурационными файлами. По умолчанию сохраняются локальные версии файлов config.yaml и cred, если они существуют. |
Базовые настройки
Минимальный набор настроек для корректного формирования метрик:
-
dc_hostname— имя хоста контроллера домена, для которого требуется формировать и экспортировать метрики (по умолчанию используется имя текущего хоста); -
domain_name— имя домена, в рамках которого осуществляется мониторинг (по умолчанию используется имя локального домена); -
ldap_search_path— путь для проверки работоспособности поиска в LDAP;В текущем варианте реализации проверки используется контейнер CN=Users. Таким образом, в шаблонном значении достаточно скорректировать DN домена. -
при необходимости скорректируйте состав метрик с помощью переключателей в блоке
Check switchersв конце файла; некоторые метрики по умолчанию отключены.См. полный список переключателей и соответствующих им метрик в разделе «Экспортер метрик (пакет inno-samba-dc-exporter)».
Настройки аутентификации
Для корректной работы экспортера метрик необходимо:
-
указать в файле cred учетные данные доменного пользователя с правами на чтение БД LDAP;
-
выбрать и настроить способ сбора метрик по URL:
-
с базовой аутентификацией по HTTP (по умолчанию);
-
без аутентификации;
-
с использованием сертификата по HTTPS.
-
Аутентификация LDAP
Чтобы обеспечить аутентификацию при обращении к БД LDAP, в файле cred укажите имя (ldap_user) и пароль (ldap_user_pw) существующей доменной учетной записи с правами на чтение БД LDAP:
-
предварительно закодируйте имя и пароль с помощью Base64:
echo -n "username-or-password" | base64
-
замените полученными значениями значения по умолчанию в шаблоне файла cred:
-
ldap_user— имя пользователя (значение атрибутаsAMAccountName); -
ldap_user_pw— пароль пользователя.
-
Либо закомментируйте/удалите шаблонные строки в файле сred и добавьте в него новые строки с требуемыми значениями:
printf 'ldap_user=%s\n' `echo exporter-ldap-user | base64` | sudo tee -a /app/samba-dc-exporter/cred printf 'ldap_user_pw=%s\n' `echo exporter-ldap-user-password | base64` | sudo tee -a /app/samba-dc-exporter/cred
При отсутствии в файле cred любого из параметров ldap_user и ldap_user_pw сервис samba-dc-exporter не будет запущен с ошибкой error: credentials are unavailable.
|
Аутентификация по HTTP (по умолчанию)
После установки в файле cred уже заданы шаблонные имя и пароль пользователя (dc-exporter-user, dc-exporter-password) для простой аутентификации по HTTP, которая используется по умолчанию (параметр http_enabled: true в шаблонном файле config.yaml).
Значение метрик доступны на порте 9099 (параметр http_port: 9099 в шаблонном файле config.yaml).
При необходимости измените номер порта в параметре http_port в config.yaml и отредактируйте значения параметров http_user и http_user_pw в файле cred:
-
предварительно закодируйте имя и пароль с помощью Base64:
echo -n "username-or-password" | base64
-
замените полученными значениями значения по умолчанию в шаблоне файла cred:
-
http_user— произвольное имя пользователя; -
http_user_pw— произвольный пароль пользователя.
-
Либо закомментируйте/удалите шаблонные строки в файле сred и добавьте в него новые строки с требуемыми значениями:
printf 'http_user=%s\n' `echo exporter-http-user | base64` | sudo tee -a /app/samba-dc-exporter/cred printf 'http_user_pw_pw=%s\n' `echo exporter-http-user-password | base64` | sudo tee -a /app/samba-dc-exporter/cred
Отсутствие аутентификации
Чтобы полностью отключить аутентификацию при получении метрик по HTTP, закомментируйте строки с параметрами http_user и http_user_pw в файле cred.
Аутентификация по HTTPS
Для включения аутентификации по HTTPS отредактируйте файл config.yaml:
-
Раскомментируйте параметр
https_port: 9098и при необходимости измените его значение. -
Раскомментируйте параметр
https_enabledи задайте в нем значениеtrue. -
При необходимости отключите аутентификацию по HTTP:
-
закомментируйте параметр
http_port: 9099; -
раскомментируйте параметр
http_enabledи задайте в нем значениеfalse.
-
-
Укажите пути к файлам SSL-сертификата и ключа в параметрах
https_certpathиhttps_keypath. -
Обеспечьте доступ к файлам пользователя
samba-dc-exporter. Например:sudo chown samba-dc-exporter:samba-dc-exporter /app/samba-dc-exporter/etc/ssl-certificate.cert /app/samba-dc-exporter/etc/ssl-certificate.key
-
Скорректируйте набор прав. Например:
sudo chmod 400 /app/samba-dc-exporter/etc/ssl-certificate.cert /app/samba-dc-exporter/etc/ssl-certificate.key
Запуск сервиса
Для запуска сервиса samba-dc-exporter выполните:
sudo systemctl enable samba-dc-exporter.service && sudo systemctl start samba-dc-exporter.service
На запуск требуется некоторое время. Значения метрик доступны для сбора после появления в логе экспортера информационных сообщений вида:
sudo tail -f /app/samba-dc-exporter/logs/dc_exporter.log | grep INFO ... 2025-02-12 16:52:14,107 - INFO - samba-exporter - Running http server on port 9099 2025-02-12 16:52:50,139 - INFO - samba-exporter - Running https server on port 9098 ...
Проверка работоспособности
Убедитесь, что сервис работает и активен:
sudo systemctl status samba-dc-exporter.service
* samba-dc-exporter.service - Samba DC exporter
Loaded: loaded (/etc/systemd/system/samba-dc-exporter.service; enabled; vendor preset: enabled)
Active: active (running) since Wed 2025-02-12 12:18:01 MSK; 3s ago
Main PID: 31704 (python3)
Tasks: 1 (limit: 4606)
Memory: 39.9M
CPU: 5.527s
CGroup: /system.slice/samba-dc-exporter.service
├─4355 /usr/bin/python3 /app/samba-dc-exporter/start_service.py
└─4389 /usr/bin/python3 /app/samba-dc-exporter/samba_exporter.py
По умолчанию метрики доступны по HTTP на URL http://127.0.0.1:9099 с базовой аутентификацией по HTTP.
Для проверки возможности получения метрик сохраните их в файл, например, с использованием утилиты curl:
-
если используется аутентификация по HTTP и в файле cred заданы имя пользователя и пароль (по умолчанию), укажите их в значении ключа
-uв формате<username>:<password>:curl -u dc-exporter-user:dc-exporter-password http://127.0.0.1:9099 > /tmp/samba-dc-exporter.txt
-
если используется аутентификация по HTTP, но в файле cred не заданы имя пользователя и пароль:
curl http://127.0.0.1:9099 > /tmp/samba-dc-exporter.txt
-
если настроена аутентификация по HTTPS с использованием порта по умолчанию:
curl -k https://127.0.0.1:9098 > /tmp/samba-dc-exporter.txt
Откройте файл и убедитесь, что в нем содержатся требуемые метрики с ожидаемыми значениями.
В случае недоступности метрик проверьте логи экспортера в каталоге, указанном в config.yaml. По умолчанию логирование ведется в файл /app/samba-dc-exporter/logs/dc_exporter.log.