Мониторинг Samba

Для мониторинга работы Samba в роли контроллера домена используется набор метрик в формате Prometheus.

В качестве источников метрик выступают модули:

  • inno-samba-dc-exporter — обеспечивает формирование и экспорт следующих групп метрик в формате Prometheus:

    • метрики для мониторинга работы основных процессов и служб Samba;

    • метрики для мониторинга корректности настройки DNS;

  • prometheus-bind-exporter — обеспечивает экспорт метрик, отражающих состояние DNS-сервера BIND, в формате Prometheus;

  • node_exporter — обеспечивает экспорт метрик, отражающих статистику использования системных ресурсов (CPU, RAM, дисковое пространство, сеть), в формате Prometheus.

Для работы с метриками может использоваться следующий набор инструментов:

  • сбор и хранение метрик — Prometheus или VictoriaMetrics;

  • отображение собранных метрик в графическом формате — Grafana;

  • формирование и отправка оповещений при достижении установленных для метрик порогов — Alertmanager.

Формат метрик

Экспортер метрик inno-samba-dc-exporter предоставляет данные в стандартном формате Prometheus.

Пример метрики:

# HELP samba_dns_resolver Health of DNS resolve
# TYPE samba_dns_resolver gauge
samba_dns_resolver{location="site",record="kerberos"} 0.0
samba_dns_resolver{location="site",record="ldap"} 0.0
samba_dns_resolver{location="generic",record="kerberos"} 0.0
samba_dns_resolver{location="generic",record="ldap"} 0.0

В приведенном примере:

  • HELP — словесное описание метрики, указывающее на предмет измерений;

  • TYPE — тип метрики:

    • counter — простой счетчик, значение которого монотонно возрастает;

    • gauge — счетчик, значение которого может произвольно изменяться как в большую, так и в меньшую сторону;

    • histogram — распределение значений измеряемой величины по настраиваемым группам с указанием количества измерений и общей суммы значений величины по всем измерениям;

    • summary — распределение значений измеряемой величины по настраиваемому набору квантилей в рамках определенного интервала времени с указанием количества изменений и общей суммы значений величины по всем измерениям;

  • samba_dns_resolver — наименование метрики;

  • {location="site",record="kerberos"} — набор меток или тегов (label в терминологии Prometheus), представляющих собой пары «ключ — значение»;

    Метки (или теги) характеризуют определенные аспекты измеряемой величины. Для каждой уникальной комбинации пар «ключ — значение», заданной в виде метки, Prometheus формирует отдельный временной ряд. Таким образом, метки позволяют повысить информативность и уровень детализации измерений в рамках отдельной метрики.

    В приведенном примере метка location используется, чтобы отделить результаты запроса SRV-записей с привязкой к конкретному сайту от результатов запроса записей без такой привязки. Метка record позволяет формировать отдельные временные ряды для разных типов SRV-записей.

  • 0.0 — значение метрики.

Настройка сбора метрик

Настройки inno-samba-dc-exporter хранятся в файле config.yaml.

Файл со значениями по умолчанию создается после установки в каталоге /app/samba-dc-exporter/etc. При необходимости отредактируйте его и перезапустите сервис samba-dc-exporter.service.

При установке новой версии пакета inno-samba-dc-exporter или его удалении используются стандартные средства пакетного менеджера для управления конфигурационными файлами. По умолчанию сохраняется локальная версия файла config.yaml.

Файл config.yaml содержит следующие настройки формирования и сбора метрик:

  • dc_hostname — имя хоста контроллера домена Samba, для которого требуется формировать и экспортировать метрики (по умолчанию используется имя текущего хоста);

  • domain_name — имя домена, в рамках которого осуществляется мониторинг (по умолчанию используется имя локального домена);

  • настройки запуска HTTP/HTTPS-сервера для предоставления метрик:

    • HTTP-сервер:

      • http_enabled — признак запуска HTTP-сервера (значение по умолчанию — True);

      • http_port — номер порта для запуска HTTP-сервера (значение по умолчанию — 9099);

    • HTTPS-сервер:

      • https_enabled — признак запуска HTTPS-сервера (значение по умолчанию — False);

      • https_port — номер порта для запуска HTTPS-сервера(значение по умолчанию — 9098);

      • https_certpath — путь к файлу сертификата (значение по умолчанию — "");

      • https_keypath — путь к файлу закрытого ключа (значение по умолчанию — "");

  • настройки логирования:

    • logLevel — уровень логирования (значение по умолчанию — INFO);

    • logFormat — набор атрибутов для формирования записи в лог-файле (значение по умолчанию — '%(asctime)s - %(levelname)s - %(name)s - %(message)s');

    • logDir — путь к каталогу с логами (значение по умолчанию — /app/samba-dc-exporter/logs/);

    • logFileBytes — максимальный размер лог-файла в байтах (значение по умолчанию — 10*1024*1024);

    • logFileCount — максимальное количество лог-файлов (значение по умолчанию — 10);

  • metric_collect_interval_sec — интервал сбора метрик в секундах в секундах (значение по умолчанию — 5);

  • настройки LDAP:

    • ldap_search_path — уникальное составное имя объекта AD (DN) в LDAP для поиска sAMAccountName по заданному значению ldap_user (по умолчанию — `CN=Users,DC=domain,DC=name);

    • ldap_credentials_path — путь к файлу с реквизитами доступа для LDAP и базовой аутентификации по HTTP/HTTPS (значение по умолчанию — /app/samba-dc-exporter/etc/cred);

      В указанном файле ожидаются имена и пароли пользователей, зашифрованные с помощью base64:

      • ldap_user — имя пользователя для доступа к LDAP;

      • ldap_user_pw — пароль пользователя для доступа к LDAP;

      • http_user — имя пользователя для базовой аутентификации по HTTP/HTTPS (при необходимости);

      • http_user_pw — пароль пользователя для базовой аутентификации по HTTP/HTTPS (при необходимости).

      В качестве примера может использоваться файл cred.example, который создается при установке пакета в каталоге /app/samba-dc-exporter/etc.

  • dns_resolver_config — произвольный список SRV-записей (с привязкой или без привязки к сайту), которые должны запрашиваться в рамках проверки работоспособности службы DNS;

    Пример задания конфигурации для запроса SRV-записей с использованием подстановок:

    {
        '_kerberos.{site_name}._sites.{domain_name}': ['site', 'kerberos'],
        '_ldap._tcp.{site_name}._sites.{domain_name}': ['site', 'ldap'],
        '_kerberos._udp.{domain_name}': ['generic', 'kerberos'],
        '_ldap._tcp.{domain_name}': ['generic', 'ldap']
    }

    В приведенном примере:

    • _kerberos._tcp.{site_name}._sites.{domain_name} — строка с описанием типа SRV-записи, состоящая из следующих элементов:

      • {site_name} — имя сайта, в качестве которого в данном случае используется значение параметра site_name в config.yaml;

      • {domain.name} — имя домена, в качестве которого в данном случае используется значение параметра domain_name в config.yaml;

    • ['generic', 'kerberos'] — значения для меток location (site для запроса записей с привязкой к сайту; generic — без привязки к сайту) и record (тип SRV-записей).

    Использование подстановок {site_name} и {domain_name} не является обязательным. Вместо них могут быть явно указаны полные значения.

  • rpc_connect_transport — способ подключения к службе dcerpc; возможные варианты подключения:

    • ncacn_np — подключение по именованным каналам;

    • ncacn_ip_tcp — подключение по TCP/IP (значение по умолчанию — ncacn_ip_tcp:127.0.0.1);

    • ncalrpc — подключение по протоколу LRPC;

    Для корректной работы проверки добавьте rpcecho в список RPC-серверов в конфигурационном файле smb.conf:

    [global]
        dcerpc endpoint servers = +rpcecho
  • ntp_config — путь к конфигурационному файлу службы синхронизации времени (значение по умолчанию — /etc/chrony/chrony.conf);

  • настройки DNS:

    • dns_timeout — период ожидания ответа от DNS-сервера в секундах (значение по умолчанию — 2.0);

    • dns_log_path — путь к лог-файлу (значение по умолчанию — /var/log/syslog);

  • wsgi_headers — пользовательские HTTP/HTTPS-заголовки; если параметр не задан, используются заголовки по умолчанию.

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

    • ';' — разделитель между заголовками;

    • ':' — разделитель между заголовком и его содержимым;

    • '\;' — для добавления символа ';'.

    Пример значения для параметра:

    'Server:WSGIServer/0.2\; Python/3.20.1; Second-header: Second Header Content'

    Данное значение соответствует следующим HTTP-заголовкам:

    Server: WSGIServer/0.2; Python/3.20.1
    Second-header: Second Header Content
  • переключатели для задания списка метрик (возможные значения: True | False):

    • cldap_check– переключатель для метрики samba_cldap_check (значение по умолчанию — True);

    • cldap_process_check – переключатель для метрики samba_process_check_cldap (значение по умолчанию — True);

    • dns_process_check – переключатель для метрики samba_process_check_dns (значение по умолчанию — True);

    • dns_record_check – переключатель для метрики samba_dns_resolver (значение по умолчанию — True);

    • dns_recursive_check – переключатель для метрики samba_dns_recursive_check (значение по умолчанию — True);

    • dns_sec_check – переключатель для метрики samba_dns_sec_check (значение по умолчанию — False);

    • dns_suffix_check – переключатель для метрики samba_dns_suffix_check (значение по умолчанию — True);

    • dns_update_check – переключатель для метрики samba_dns_update_check (значение по умолчанию — False);

    • dns_zone_count – переключатель для метрики samba_dns_zone_count (значение по умолчанию — True);

    • dnsupdate_process_check – переключатель для метрики samba_process_check_dnsupdate (значение по умолчанию — False);

    • drepl_process_check – переключатель для метрики `samba_process_check_drepl (значение по умолчанию — True);

    • kcc_check – переключатель для метрики samba_kcc_check (значение по умолчанию — True);

    • kcc_process_check – переключатель для метрики samba_process_check_kcc (значение по умолчанию — True);

    • kdc_check – переключатель для метрики samba_kdc_response (значение по умолчанию — True);

    • kdc_process_check – переключатель для метрики samba_process_check_kdc (значение по умолчанию — True);

    • ldap_check– переключатель для метрики samba_ldap_search (значение по умолчанию — True);

    • ldap_process_check – переключатель для метрики `samba_process_check_ldap (значение по умолчанию — True);

    • log_rotating_check – переключатель для метрики samba_dns_log_check (значение по умолчанию — True);

    • nbt_process_check – переключатель для метрики samba_process_check_nbt (значение по умолчанию — True);

    • netbios_check – переключатель для метрики samba_nmbd_response (значение по умолчанию — True);

    • ntp_check – переключатель для метрики samba_ntp_response (значение по умолчанию — False);

    • ntp_sign_check – переключатель для метрики samba_ntp_signd_config_check (значение по умолчанию — True);

    • ntp_signd_process_check – переключатель для метрики samba_process_check_ntp_signd (значение по умолчанию — True);

    • replication_check – переключатель для метрик samba_wrepl_inbound_count и samba_wrepl_outbound_count (значение по умолчанию — True);

    • rpc_check – переключатель для метрики samba_rpc_echo_request (значение по умолчанию — True);

    • rpc_process_check – переключатель для метрики samba_process_check_rpc (значение по умолчанию — True);

    • samba_process_check – переключатель для метрики samba_process_check_samba (значение по умолчанию — True);

    • smb_check – переключатель для метрики ssamba_smbd_list_folder (значение по умолчанию — True);

    • smbd_process_check – переключатель для метрики samba_process_check_smbd (значение по умолчанию — True);

    • winbindd_process_check – переключатель для метрики samba_process_check_winbindd (значение по умолчанию — True);

    • wrepl_process_check – переключатель для метрики samba_process_check_wrepl (значение по умолчанию — True).

Для применения изменений в конфигурационном файле перезапустите сервис samba-dc-exporter.service.

Сбор метрик

По умолчанию после установки inno-samba-dc-exporter метрики доступны по URL http://127.0.0.1:9099. Для сохранения текущих значений в файл, например, используйте команду:

  • если в файле cred не заданы имя и пароль учетной записи для аутентификации по HTTP/HTTPS:

    curl http://127.0.0.1:9099 > /tmp/samba-dc-exporter.txt
  • если имя и пароль заданы:

    curl -u dc-exporter-user:dc-exporter-password http://127.0.0.1:9099 > /tmp/samba-dc-exporter.txt

Метрики для мониторинга работы процессов и служб

Модуль inno-samba-dc-exporter предоставляет метрики для мониторинга работы следующих основных процессов и служб на контроллере домена Samba:

samba

samba_process_check_samba

Проверка существования процесса samba.

Тип метрики: gauge.

Тип данных: Int.

Возможные значения:

  • 0 — процесс существует;

  • 1 — процесс не существует.

Формат:

# HELP samba_process_check_samba Health of process
# TYPE samba_process_check_samba gauge
samba_process_check_samba 0.0

smbd

samba_process_check_smbd

Проверка существования процесса smbd.

Тип метрики: gauge.

Тип данных: Int.

Возможные значения:

  • 0 — процесс существует;

  • 1 — процесс не существует.

Формат:

# HELP samba_process_check_smbd Health of smbd process
# TYPE samba_process_check_smbd gauge
samba_process_check_smbd 1.0

samba_smbd_list_folder

Проверка существования подкаталога с именем домена в каталоге sysvol.

В рамках проверки выполняется SMB-запрос по имени домена.

Тип метрики: gauge.

Тип данных: Int.

Возможные значения:

  • 0 — каталог существует;

  • 1 — каталог не существует.

Формат:

# HELP samba_smbd_list_folder Health of smbd
# TYPE samba_smbd_list_folder gauge
samba_smbd_list_folder 0.0

LDAP

samba_process_check_ldap

Проверка существования процесса, отвечающего за взаимодействие по протоколу LDAP.

Тип метрики: gauge.

Тип данных: Int.

Возможные значения:

  • 0 — процесс существует;

  • 1 — процесс не существует.

Формат:

# HELP samba_process_check_ldap Health of process
# TYPE samba_process_check_ldap gauge
samba_process_check_ldap 0.0

Проверка работоспособности поиска в LDAP.

В рамках проверки выполняется простой поисковый запрос в LDAP.

При проверке используются значения параметров, заданные в файлах config.yaml и cred (см. описание в разделе «Настройка сбора метрик»):

  • ldap_user;

  • ldap_user_pw;

  • ldap_search_path.

Тип метрики: gauge.

Тип данных: Int.

Возможные значения:

  • 0 — поисковый запрос к LDAP выполнен успешно;

  • 1 — поисковый запрос не выполнен.

формат:

# HELP samba_ldap_search Health of ldap search
# TYPE samba_ldap_search gauge
samba_ldap_search 0.0

DNS

samba_process_check_dns

Проверка существования процесса службы DNS.

Тип метрики: gauge.

Тип данных: Int.

Возможные значения:

  • 0 — процесс существует;

  • 1 — процесс не существует.

Формат:

# HELP samba_process_check_dns Health of process
# TYPE samba_process_check_dns gauge
samba_process_check_dns 0.0

samba_dns_resolver

Проверка работоспособности службы DNS.

В рамках проверки выполняется запрос списка SRV-записей, указанного в параметре dns_resolver_config в файле config.yaml.

По умолчанию выполняется запрос SRV-записей для службы ldap по протоколу TCP и для службы kerberos по протоколу UDP.

При проверке используются значения параметров, заданные в файле config.yaml (см. описание в разделе «Настройка сбора метрик»):

  • dc_hostname;

  • domain_name;

  • dns_timeout.

Тип метрики: gauge.

Тип данных: Int.

Метки по умолчанию:

  • site —SRV-записи с привязкой к сайту:

    • kerberos — статус запроса SRV-записей для службы kerberos (nslookup _kerberos._tcp.{site_name}._sites.{domain_name}):

      • 0 — в ответ на запрос получены SRV-записи;

      • 1 — в ответ на запрос не получены SRV-записи;

    • ldap — статус запроса SRV-записей для службы ldap (nslookup _ldap._tcp.{site_name}._sites.{domain_name});

      • 0 — в ответ на запрос получены SRV-записи;

      • 1 — в ответ на запрос не получены SRV-записи;

  • generic — SRV-записи без привязки к сайту:

    • kerberos — статус запроса SRV-записей для службы kerberos (nslookup _kerberos._udp.{domain_name}:

      • 0 — в ответ на запрос получены SRV-записи;

      • 1 — в ответ на запрос не получены SRV-записи;

    • ldap — статус запроса SRV-записей для службы ldap (nslookup _ldap._tcp.{domain_name});

      • 0 — в ответ на запрос получены SRV-записи;

      • 1 — в ответ на запрос не получены SRV-записи.

Формат по умолчанию:

# HELP samba_dns_resolver Health of DNS resolve
# TYPE samba_dns_resolver gauge
samba_dns_resolver{location="site",record="kerberos"} 0.0
samba_dns_resolver{location="site",record="ldap"} 0.0
samba_dns_resolver{location="generic",record="kerberos"} 0.0
samba_dns_resolver{location="generic",record="ldap"} 0.0

RPC

samba_process_check_rpc

Проверка существования процесса RPC.

Тип метрики: gauge.

Тип данных: Int.

Возможные значения:

  • 0 — процесс существует;

  • 1 — процесс не существует.

Формат:

# HELP samba_process_check_rpc Health of rpc process
# TYPE samba_process_check_rpc gauge
samba_process_check_rpc 0.0

samba_rpc_echo_request

Проверка работоспособности служб RPC.

В рамках проверки выполняется попытка установки соединения с сервером RPC заданным в конфигурации способом.

При проверке используется значение параметра rpc_connect_transport, заданное в файле config.yaml (см. описание в разделе «Настройка сбора метрик»).

Тип метрики: gauge.

Тип данных: Int.

Возможные значения:

Формат:

# HELP samba_rpc_echo_request Health of RPC
# TYPE samba_rpc_echo_request gauge
samba_rpc_echo_request 0.0

wrepl

samba_process_check_wrepl

Проверка существования процесса wrepl.

Тип метрики: gauge.

Тип данных: Int.

Возможные значения:

  • 0 — процесс существует;

  • 1 — процесс не существует.

Формат:

# HELP samba_process_check_wrepl Health of wrepl process
# TYPE samba_process_check_wrepl gauge
samba_process_check_wrepl 0.0

samba_wrepl_inbound_count

Проверка статуса входящей репликации.

Тип метрики: gauge.

Тип данных: Int.

Метки:

  • unknown — счетчик количества неуспешных попыток проверки статуса входящей репликации;

  • success — счетчик количества успешных входящих репликаций;

  • failure — счетчик количества неуспешных входящих репликаций.

Формат:

# HELP samba_wrepl_inbound_count AD Replication check from neighbors
# TYPE samba_wrepl_inbound_count gauge
samba_wrepl_inbound_count{status="success"} 0.0
samba_wrepl_inbound_count{status="failure"} 0.0
samba_wrepl_inbound_count{status="unknown"} 0.0

samba_wrepl_outbound_count

Проверка статуса исходящей репликации.

Тип метрики: gauge.

Тип данных: Int.

Метки:

  • unknown — счетчик количества неуспешных попыток проверки статуса исходящей репликации;

  • success — счетчик количества успешных исходящих репликаций;

  • failure — счетчик количества неуспешных исходящих репликаций.

Формат:

# HELP samba_wrepl_outbound_count AD Replication check to neighbors
# TYPE samba_wrepl_outbound_count gauge
samba_wrepl_outbound_count{status="success"} 0.0
samba_wrepl_outbound_count{status="failure"} 0.0
samba_wrepl_outbound_count{status="unknown"} 0.0

nbt

samba_process_check_nbt

Проверка существования процесса nbt.

Тип метрики: gauge.

Тип данных: Int.

Возможные значения:

  • 0 — процесс существует;

  • 1 — процесс не существует.

Формат:

# HELP samba_process_check_nbt Health of nbt process
# TYPE samba_process_check_nbt gauge
samba_process_check_nbt 0.0

samba_nmbd_response

Проверка работоспособности NetBIOS.

В рамках проверки выполняется запрос имени NetBIOS.

Тип метрики: gauge.

Тип данных: Int.

Возможные значения:

  • 0 — ответ на запрос получен;

  • 1 — ответ на запрос не получен.

Формат:

# HELP samba_nmbd_response Health of NetBios
# TYPE samba_nmbd_response gauge
samba_nmbd_response 0.0

cldap

samba_process_check_cldap

Проверка существования процесса cldap.

Тип метрики: gauge.

Тип данных: Int.

Возможные значения:

  • 0 — процесс существует;

  • 1 — процесс не существует.

Формат:

# HELP samba_process_check_cldap Health of cldap process
# TYPE samba_process_check_cldap gauge
samba_process_check_cldap 0.0

samba_cldap_check

Проверка работоспособности CLDAP.

В рамках проверки выполняется запрос имени домена доступного для записи контроллера домена с поддержкой LDAP (с флагами NBT_SERVER_LDAP, NBT_SERVER_DS, NBT_SERVER_WRITABLE) по протоколу CLDAP.

Тип метрики: gauge.

Тип данных: Int.

Возможные значения:

  • 0 — ответ на запрос получен;

  • 1 — ответ на запрос не получен.

Формат:

# HELP samba_cldap_check Connection-less LightweightDirectory Access Protocol checking
# TYPE samba_cldap_check gauge
samba_cldap_check 0.0

KDC

samba_process_check_kdc

Проверка существования процесса kdc.

Тип метрики: gauge.

Тип данных: Int.

Возможные значения:

  • 0 — процесс существует;

  • 1 — процесс не существует.

Формат:

# HELP samba_process_check_kdc Health of kdc process
# TYPE samba_process_check_kdc gauge
samba_process_check_kdc 0.0

samba_kdc_response

Проверка работоспособности KDC.

В рамках проверки выполняется запрос к KDC для получения и проверки пароля пользователя.

При проверке используются значения параметров, заданные в файле cred (см. описание в разделе «Настройка сбора метрик»):

  • ldap_user;

  • ldap_user_pw.

Для успешного выполнения проверки в конфигурационном файле smb.conf должен быть задан параметр kerberos method = secrets and keytab.

Формат:

# HELP samba_kdc_response Health of KDC
# TYPE samba_kdc_response gauge
samba_kdc_response 0.0

drepl

samba_process_check_drepl

Проверка существования процесса drepl.

Тип метрики: gauge.

Тип данных: Int.

Возможные значения:

  • 0 — процесс существует;

  • 1 — процесс не существует.

Формат:

# HELP samba_process_check_drepl Health of drepl process
# TYPE samba_process_check_drepl gauge
samba_process_check_drepl 0.0

winbindd

samba_process_check_winbindd

Проверка существования процесса winbindd.

Тип метрики: gauge.

Тип данных: Int.

Возможные значения:

  • 0 — процесс существует;

  • 1 — процесс не существует.

Формат:

# HELP samba_process_check_winbindd Health of winbindd process
# TYPE samba_process_check_winbindd gauge
samba_process_check_winbindd 0.0

ntp_signd

samba_process_check_ntp_signd

Проверка существования процесса ntp_signd.

Тип метрики: gauge.

Тип данных: Int.

Возможные значения:

  • 0 — процесс существует;

  • 1 — процесс не существует.

Формат:

# HELP samba_process_check_ntp_signd Health of ntp_signd process
# TYPE samba_process_check_ntp_signd gauge
samba_process_check_ntp_signd 0.0

samba_ntp_response

По умолчанию метрика отключена. Для включения задайте True в строке ntp_check в блоке переключателей в файле config.yaml.

Проверка работоспособности NTP.

В рамках проверки выполняется запрос к NTP-серверу с переданными параметрами (хост — localhost, порт — 123).

Тип метрики: gauge.

Тип данных: Int.

Возможные значения:

  • 0 — ответ на запрос получен;

  • 1 — ответ на запрос не получен.

Формат:

# HELP samba_ntp_response Health of NTP
# TYPE samba_ntp_response gauge
samba_ntp_response 1.0

samba_ntp_signd_config_check

Проверка корректности конфигурации ntp_signd.

В рамках проверки проверяется корректность задания в ключе ntpsigndsocket в конфигурации NTP пути к каталогу сокета, через который NTP взаимодействует с Samba при подписании пакетов. Для этого сравниваются значение ntpsigndsocket из конфигурационного файла NTP, заданного в параметре ntp_config в конфигурации модуля inno-samba-dc-exporter, и значение, полученное от NTP-сервера.

При проверке используется значение параметра ntp_config, заданное в файле config.yaml (см. описание в разделе «Настройка сбора метрик»).

Тип метрики: gauge.

Тип данных: Int.

Возможные значения:

  • 0 — ключ найден, значения совпадают;

  • 1 — ключ не найден либо значения не совпадают.

Формат:

# HELP samba_ntp_signd_config_check Value of ntpsigndsocket in config file of NTP server
# TYPE samba_ntp_signd_config_check gauge
samba_ntp_signd_config_check 1.0

dnsupdate

samba_process_check_dnsupdate

По умолчанию метрика отключена. Для включения задайте True в строке dnsupdate_process_check в блоке переключателей в файле config.yaml.

Проверка существования процесса dnsupdate.

Тип метрики: gauge.

Тип данных: Int.

Возможные значения:

  • 0 — процесс существует;

  • 1 — процесс не существует.

Формат:

# HELP samba_process_check_dnsupdate Health of dnsupdate process
# TYPE samba_process_check_dnsupdate gauge
samba_process_check_dnsupdate 0.0

samba_dns_update_check

По умолчанию метрика отключена. Для включения задайте True в строке dns_update_check в блоке переключателей в файле config.yaml.

Проверка работоспособности dnsupdate.

В рамках проверки каждые 10 минут:

  1. В файл private/dns_update_list добавляется A-запись для dc-exporter.domain_name.

  2. Через 10 минут выполняется обращение к службе DNS с запросом A-записи для dc-exporter.domain_name.

  3. Запись удаляется.

Тип метрики: gauge.

Тип данных: Int.

Возможные значения:

  • 0 — добавленная запись существует;

  • 1 — запись не существует.

Формат:

# HELP samba_dns_update_check DNS update checking
# TYPE samba_dns_update_check gauge
samba_dns_update_check 0.0

KCC

samba_process_check_kcc

Проверка существования процесса kcc.

Тип метрики: gauge.

Тип данных: Int.

Возможные значения:

  • 0 — процесс существует;

  • 1 — процесс не существует.

Формат:

# HELP samba_process_check_kcc Health of kcc process
# TYPE samba_process_check_kcc gauge
samba_process_check_kcc 0.0

samba_kcc_check

Проверка работоспособности KCC.

В рамках проверки выполняется поиск в LDAP объекта nTDSConnection, задающего путь для репликации с одного контроллера домена на другой.

При проверке используются значения параметров, заданные в файле cred (см. описание в разделе «Настройка сбора метрик»):

  • ldap_user;

  • ldap_user_pw.

Тип метрики: gauge.

Тип данных: Int.

Возможные значения:

  • 0 — объект существует;

  • 1 — объект не существует.

Формат:

# HELP samba_kcc_check Connection objects
# TYPE samba_kcc_check gauge
samba_kcc_check 1.0

Метрики для мониторинга корректности настройки DNS

Модуль inno-samba-dc-exporter предоставляет набор метрик для контроля ряда настроек DNS-службы на контролере домена Samba.

samba_dns_suffix_check

Проверка корректности настройки разрешения имен на контроллере домена.

В рамках проверки определяется наличие имени домена, указанного в параметре domain_name в config.yaml (по умолчанию — имени локального домена), в строке с ключом search в файле /etc/resolv.conf. В строке может быть указано несколько суффиксов (доменов). Для успешного прохождения проверки необходимо, чтобы среди них было значение параметра domain_name.

Тип метрики: gauge.

Тип данных: Int.

Метки:

  • search domain_name — наличие имени домена в списке поиска в файле /etc/resolv.conf:

    • 0 — имя домена содержится в строке поиска;

    • 1 — имя домена отсутствует или задано некорректно;

  • unknown — счетчик количества неуспешных попыток выполнения проверки (данные отсутствуют, не удается прочитать файл, файл отсутствует).

Формат:

# HELP samba_dns_suffix_check Check namesearch record in resolv.conf
# TYPE samba_dns_suffix_check gauge
samba_dns_suffix_check{dns_suffix="search domain_name"} 0.0
samba_dns_suffix_check{dns_suffix="unknown"} 0.0

samba_dns_zone_count

Проверка корректности задания зон на DNS-сервере.

В рамках проверки выполняется запрос списка зон, заданных на DNS-сервере. Ожидается, что заданы хотя бы две зоны вида domain_name и _msdcs.domain_name.

Тип метрики: gauge.

Тип данных: Int.

Метрика возвращает количество зон DNS.

Формат:

# HELP samba_dns_zone_count Check zone count in DNS
# TYPE samba_dns_zone_count gauge
samba_dns_zone_count 0.0

samba_dns_sec_check

По умолчанию метрика отключена. Для включения задайте True в строке dns_sec_check в блоке переключателей в файле config.yaml.

Проверка подписания зон при помощи DNSSEC.

В рамках проверки выполняется запрос записи типа DNSKEY.

Тип метрики: gauge.

Тип данных: Int.

Возможные значения:

  • 0 — запись DNSKEY найдена, зона подписана;

  • 1 — запись DNSKEY не найдена, зона не подписана.

Формат:

# HELP samba_dns_sec_check DNS signature
# TYPE samba_dns_sec_check gauge
samba_dns_sec_check 1.0

samba_dns_recursive_check

Проверка возможности выполнения рекурсивного DNS-запроса с заданным временем ожидания ответа.

В рамках проверки выполняется рекурсивный запрос A-записи для случайного домена с временем ожидания ответа 2 секунды.

Тип метрики: gauge.

Тип данных: Int.

Возможные значения:

  • 0 — рекурсивный запрос выполнен успешно в рамках заданного времени ожидания ответа;

  • 1 — заданное время ожидания ответа на рекурсивный запрос истекло.

Формат:

# HELP samba_dns_recursive_check Check recursive query timeout
# TYPE samba_dns_recursive_check gauge
samba_dns_recursive_check 0.0

samba_dns_log_check

Проверка корректности настройки ротации лог-файлов DNS-сервера.

В рамках проверки запрашивается размер лог-файла по заданному пути.

При проверке используется значение параметра dns_log_path, заданное в файле config.yaml (см. описание в разделе «Настройка сбора метрик»).

Тип метрики: gauge.

Тип данных: Int.

Метрика возвращает размер лог-файла, найденного по заданному пути. Уменьшение размера файла с течением времени свидетельствует о том, что ротация лог-файлов выполняется корректно.

Формат:

# HELP samba_dns_log_check Check size of dns log
# TYPE samba_dns_log_check gauge
samba_dns_log_check 0.0