Мониторинг Inno Samba
Для мониторинга работы Inno Samba в роли контроллера домена используется набор метрик в формате Prometheus.
В качестве источников метрик выступают модули:
-
inno-samba-dc-exporter — обеспечивает формирование и экспорт следующих групп метрик в формате Prometheus:
-
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;{ '_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
samba_ldap_search
Проверка работоспособности поиска в 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.
Возможные значения:
-
0— получен echo-ответ на RPC через интерфейс echo.idl; -
1— ответ не получен.
Формат:
# 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 минут:
-
В файл private/dns_update_list добавляется A-запись для
dc-exporter.domain_name. -
Через 10 минут выполняется обращение к службе DNS с запросом A-записи для
dc-exporter.domain_name. -
Запись удаляется.
Тип метрики: 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