Сервис metrics_manager (пакет inno-samba)

Сервис metrics_manager в составе Эллес (пакет inno-samba) реализует подсистему мониторинга, обеспечивая формирование и предоставление следующих групп метрик:

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

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

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

  • метрики для мониторинга работы samba_dnsupdate;

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

  • метрики для мониторинга базы данных (LMDB);

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

По умолчанию метрики доступны на порте 3070. На стандартном порте, используемом LDAP, они недоступны. См. подробнее в подразделе «Изменение порта для обслуживания запросов метрик мониторинга».

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

Сервис metrics_manager формирует данные для мониторинга в формате счетчиков (количество операций, транзакций, ошибок), суммарных значений (общее время выполнения операций, транзакций в миллисекундах) и целых значений (статус процесса, код завершения), предоставляя их в виде атрибутов в LDAP.

Эти данные могут использоваться в системах мониторинга для построения комплексных метрик типа histogram и summary.

Так как сервис metrics_manager предоставляет метрики только по протоколу LDAP, для их сбора и анализа в системах мониторинга, не поддерживающих LDAP в качестве источника данных, необходимо использовать адаптер/экспортер.

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

Сервис metrics_manager доступен в Эллес начиная с версии 1.9.0.

Если в конфигурационном файле smb.conf (полный путь — /app/inno-samba/etc/smb.conf) существующего экземпляра Эллес явно задано значение параметра server services, для формирования и получения значений метрик после обновления до версии 1.9.0 необходимо добавить на первое место в списке имя сервиса мониторинга — metrics_manager.

Например:

[global]
    ...
    server services = metrics_manager, s3fs, rpc, nbt, wrepl, ldap, cldap, kdc, drepl, winbindd, ntp_signd, kcc, dnsupdate, dns, lacheck, disco, mt, core_manager
    ...

При первичной установке пакета inno-samba дополнительные действия не требуются — сервис metrics_manager доступен по умолчанию.

Управление доступностью подсистемы мониторинга

Для управления доступностью сервиса metrics_manager в процессе эксплуатации может использоваться конфигурационный параметр monitoring:disable. Параметр полностью отключает подсистему мониторинга, включая сбор метрик и их предоставление через LDAP.

Параметр задается в разделе [global] файла smb.conf:

  • чтобы отключить подсистему мониторинга, добавьте параметр в конфигурацию со следующим значением:

    [global]
        ...
        monitoring:disable = Yes
        ...
  • чтобы снова включить подсистему мониторинга, удалите параметр из конфигурации или измените его значение следующим образом:

    [global]
        ...
        monitoring:disable = No
        ...

По умолчанию параметр не задан: сервис metrics_manager работает, метрики доступны для получения через LDAP.

Управление периодичностью сбора метрик мониторинга

По умолчанию сбор метрик осуществляется с периодичностью 60 секунд. Для изменения интервала укажите требуемое значение в секундах с помощью параметра monitoring:periodic_interval в разделе [global] файла smb.conf.

Например:

[global]
    ...
    monitoring:periodic_interval = 30
    ...

Если значения метрик логируются, при изменении интервала сбора скорректируйте соответствующим образом значение параметра monitoring:metric_dump_periodic_interval.

Изменение порта для обслуживания запросов метрик мониторинга

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

По умолчанию используется порт 3070.

Чтобы изменить порт по умолчанию, добавьте в раздел [global] файла smb.conf параметр ldap_server:monitoring instance port с требуемым значением.

Например:

[global]
    ...
    ldap_server:monitoring instance port = 3071
    ...
На порте, выделенном для обслуживания запросов метрик мониторинга, недоступны данные по основным разделам каталога. Он может использоваться только для получения метрик.

Включение обязательной авторизации для получения метрик мониторинга

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

Чтобы включить обязательную авторизацию, добавьте в раздел [global] файла smb.conf параметр monitoring:auth со значением true.

Например:

[global]
    ...
    monitoring:auth = true
    ...

Чтобы отключить обязательную авторизацию, удалите параметр из файла smb.conf или измените его значение на false.

Получение метрик

Метрики формируются в процессе работы Эллес в виде атрибутов объектов, соответствующих группам контролируемых показателей, в контейнере CN=Monitoring в дереве LDAP.

Для получения значений метрик используйте стандартные инструменты выполнения запросов по протоколу LDAP с указанием требуемого DN.

Пример запроса полного списка метрик с помощью ldbsearch при использовании DNS-сервера BIND 9:

Пример запроса и ответа
ldbsearch -H ldap://localhost:3070 -b "CN=Monitoring"
# record 1
dn: CN=DNS,CN=MONITORING
ZoneCount: 4
distinguishedName: CN=DNS,CN=MONITORING

# record 2
dn: CN=SCHEMA,CN=MONITORING
BranchPages: 16
DataEntries: 12407
LeafPages: 728
MaxDbSize: 8589934592
MaxPages: 2097152
MaxReaders: 100000
OverflowPages: 1820
PageSize: 4096
TreeDepth: 3
UsedDbSize: 10678272
UsedPages: 2607
UsedReaders: 7
LastTransactionID: 1952
distinguishedName: CN=SCHEMA,CN=MONITORING

# record 3
dn: CN=samdom,CN=Partitions,CN=KCC,CN=MONITORING
InboundAvailDSACount: 0
InboundDSACount: 0
OutboundDSACount: 1
OutboundAvailDSACount: 1
distinguishedName: CN=samdom,CN=Partitions,CN=KCC,CN=MONITORING

# record 4
dn: CN=LDAPOperations,CN=MONITORING
BindError: 0
BindErrorDuration: 0
Modify: 0
ModifyDuration: 0
ModifyError: 0
ModifyErrorDuration: 0
SearchError: 9
SearchErrorDuration: 24
Bind: 7
BindDuration: 64
Search: 95
SearchDuration: 2196
distinguishedName: CN=LDAPOperations,CN=MONITORING

# record 5
dn: CN=WINDC,CN=Schema,CN=Partitions,CN=KCC,CN=MONITORING
InboundFailure: 0
LastSuccessDelta: 0
LastAttempt: 133935114560000000
LastSuccess: 133935114560000000
distinguishedName: CN=WINDC,CN=Schema,CN=Partitions,CN=KCC,CN=MONITORING

# record 6
dn: CN=TDO,CN=MONITORING
Errored: 0
Scheduled: 40
Executed: 39
Performed: 39
distinguishedName: CN=TDO,CN=MONITORING

# record 7
dn: CN=HealthCheck,CN=MONITORING
disco[756]: 1
dnsupdate[751]: 1
drepl[733]: 1
kcc[747]: 1
kdc(0)[737]: 1
kdc(1)[742]: 1
kdc(2)[748]: 1
kdc[729]: 1
lacheck[754]: 1
ldap[720]: 1
nbt[707]: 1
ntp_signd[743]: 1
rpc(0)[721]: 1
rpc(1)[727]: 1
rpc(2)[731]: 1
rpc(3)[734]: 1
rpc[693]: 1
s3fs[678]: 1
samba[592]: 1
smbd-cleanupd[767]: 1
smbd-notifyd[766]: 1
smbd[696]: 1
mt[758]: 1
winbindd[738]: 1
winbindd[746]: 1
wrepl[715]: 1
ldap(0)[769]: 1
ldap(1)[771]: 1
ldap(2)[774]: 1
ldap(3)[777]: 1
ldap(4)[781]: 1
wb[772]: 1
wb[775]: 1
kdc(3)[752]: 1
core_manager[745]: 1
cldap[725]: 1
distinguishedName: CN=HealthCheck,CN=MONITORING

# record 8
dn: CN=WINDC,CN=Configuration,CN=Partitions,CN=KCC,CN=MONITORING
InboundFailure: 0
LastSuccessDelta: 0
LastAttempt: 133935115310000000
LastSuccess: 133935115310000000
distinguishedName: CN=WINDC,CN=Configuration,CN=Partitions,CN=KCC,CN=MONITOR
 ING

# record 9
dn: CN=DOMAINDNSZONES,CN=MONITORING
BranchPages: 1
DataEntries: 176
LastTransactionID: 1087
LeafPages: 12
MaxDbSize: 8589934592
MaxPages: 2097152
MaxReaders: 100000
OverflowPages: 38
PageSize: 4096
TreeDepth: 2
UsedDbSize: 286720
UsedPages: 70
UsedReaders: 7
distinguishedName: CN=DOMAINDNSZONES,CN=MONITORING

# record 10
dn: CN=SAMDOM,CN=MONITORING
BranchPages: 3
DataEntries: 1530
LeafPages: 101
MaxDbSize: 8589934592
MaxPages: 2097152
MaxReaders: 100000
OverflowPages: 264
PageSize: 4096
TreeDepth: 3
UsedDbSize: 1716224
UsedPages: 419
UsedReaders: 7
LastTransactionID: 3904
distinguishedName: CN=SAMDOM,CN=MONITORING

# record 11
dn: CN=KDCOperations,CN=MONITORING
ProxyReq: 0
ProxyReqDuration: 0
AS_REQ: 19
AS_REQDuration: 13893
TGS_REQ: 28
TGS_REQDuration: 10016
distinguishedName: CN=KDCOperations,CN=MONITORING

# record 12
dn: CN=FORESTDNSZONES,CN=MONITORING
BranchPages: 1
DataEntries: 216
LeafPages: 17
MaxDbSize: 8589934592
MaxPages: 2097152
MaxReaders: 100000
OverflowPages: 45
PageSize: 4096
TreeDepth: 2
UsedDbSize: 393216
UsedPages: 96
UsedReaders: 7
LastTransactionID: 2116
distinguishedName: CN=FORESTDNSZONES,CN=MONITORING

# record 13
dn: CN=CONFIGURATION,CN=MONITORING
MaxDbSize: 8589934592
MaxPages: 2097152
MaxReaders: 100000
PageSize: 4096
TreeDepth: 3
UsedReaders: 7
BranchPages: 26
LeafPages: 1290
OverflowPages: 645
DataEntries: 8121
UsedPages: 2134
UsedDbSize: 8740864
LastTransactionID: 2171
distinguishedName: CN=CONFIGURATION,CN=MONITORING

# record 14
dn: CN=DNSOperationsBind9,CN=MONITORING
Queries: 1088
QueriesDuration: 88085
distinguishedName: CN=DNSOperationsBind9,CN=MONITORING

# record 15
dn: CN=ForestDnsZones,CN=Partitions,CN=KCC,CN=MONITORING
InboundDSACount: 1
InboundAvailDSACount: 1
OutboundDSACount: 1
OutboundAvailDSACount: 1
distinguishedName: CN=ForestDnsZones,CN=Partitions,CN=KCC,CN=MONITORING

# record 16
dn: CN=WINDC,CN=ForestDnsZones,CN=Partitions,CN=KCC,CN=MONITORING
InboundFailure: 0
LastSuccessDelta: 0
LastAttempt: 133935114570000000
LastSuccess: 133935114570000000
distinguishedName: CN=WINDC,CN=ForestDnsZones,CN=Partitions,CN=KCC,CN=MONITO
 RING

# record 17
dn: CN=samba_dnsupdate,CN=MONITORING
LastRunExitCode: 0
RunCount: 8
RunCountDuration: 74270
LastRunDuration: 7.087396
distinguishedName: CN=samba_dnsupdate,CN=MONITORING

# record 18
dn: CN=Configuration,CN=Partitions,CN=KCC,CN=MONITORING
InboundDSACount: 1
OutboundDSACount: 1
InboundAvailDSACount: 1
OutboundAvailDSACount: 1
distinguishedName: CN=Configuration,CN=Partitions,CN=KCC,CN=MONITORING

# record 19
dn: CN=Schema,CN=Partitions,CN=KCC,CN=MONITORING
InboundDSACount: 1
InboundAvailDSACount: 1
OutboundDSACount: 1
OutboundAvailDSACount: 1
distinguishedName: CN=Schema,CN=Partitions,CN=KCC,CN=MONITORING

# record 20
dn: CN=KCC,CN=MONITORING
PartitionCount: 3
InboundConnectionCount: 1
OutboundConnectionCount: 1
InboundSuccess: 3
InboundFailure: 0
OutboundSuccess: 4
OutboundFailure: 0
distinguishedName: CN=KCC,CN=MONITORING

# record 21
dn: CN=REPLOperations,CN=MONITORING
Replicate: 0
ReplicateDuration: 0
distinguishedName: CN=REPLOperations,CN=MONITORING

# returned 21 records
# 21 entries
# 0 referrals

Фильтрация по атрибутам

При запросе метрик по протоколу LDAP поддерживается возможность фильтрации результатов по атрибутам.

В версии Эллес 1.15.1 при запросе метрики-счетчика в вывод также включается связанная метрика, суммирующая время выполнения учтенных в счетчике операций. Например, при фильтрации результатов запроса к контейнеру CN=LDAPOperations,CN=Monitoring по атрибуту Search также будет возвращен атрибут SearchDuration. При этом отсутствует возможность запросить суммирующий атрибут отдельно от атрибута-счетчика. Так, при попытке использования в качестве фильтра атрибута SearchDuration запрос вернет пустой результат.

Пример фильтрации вывода запроса метрик в контейнере CN=LDAPOperations,CN=Monitoring по атрибутам Search и SearchError:

ldbsearch -H ldap://localhost:3070 -b "CN=LDAPOperations,CN=Monitoring" Search SearchError
# record 1
dn: CN=LDAPOperations,CN=Monitoring
Search: 35
SearchError: 2

# returned 1 records
# 1 entries
# 0 referrals

Примеры дополнительной обработки вывода:

  • ограничение вывода атрибутами и их значениями:

    ldbsearch -H ldap://localhost:3070 -b "CN=LDAPOperations,CN=Monitoring" Search SearchError | awk '!/^dn:/ && /^[^#]/ && /:/ {print}'
    Search: 35
    SearchError: 2
  • ограничение вывода значением атрибута:

    ldbsearch -H ldap://localhost:3070 -b "CN=LDAPOperations,CN=Monitoring" Search | awk -F': ' '/^[^# ]+:/ && $1 != "dn" {print $2}'
    35

Логирование метрик

Эллес предоставляет класс отладки metrics для фиксации всех сообщений, формируемых сервисом metrics_manager в процессе работы, в соответствии с установленным уровнем логирования. В том числе он используется для сохранения значений метрик стандартными средствами логирования.

Для вывода текущих значений метрик в указанный файл добавьте класс metrics с уровнем логирования 3 или выше, а также укажите расположение и имя файла в значении параметра log level в разделе [global] конфигурационного файла /app/inno-samba/etc/smb.conf.

Например:

[global]
    ...
    log level = 1 metrics:3@/tmp/metrics.log
    ...
Пример записи при использовании DNS-сервера BIND 9
[2025/06/04 15:34:04.282042,  3] ../../source4/metrics_manager/metrics_manager_service.c:870(metrics_manager_metric_dump_periodic_run)
  metrics_manager_metric_dump_periodic_run: Metrics dump:
  Section CN=DNS,CN=MONITORING:
  	ZoneCount: 4
  Section CN=SCHEMA,CN=MONITORING:
  	BranchPages: 16
  	DataEntries: 12407
  	LeafPages: 728
  	MaxDbSize: 8589934592
  	MaxPages: 2097152
  	MaxReaders: 100000
  	OverflowPages: 1820
  	PageSize: 4096
  	TreeDepth: 3
  	UsedDbSize: 10678272
  	UsedPages: 2607
  	UsedReaders: 7
  	LastTransactionID: 1945
  Section CN=samdom,CN=Partitions,CN=KCC,CN=MONITORING:
  	InboundAvailDSACount: 0
  	InboundDSACount: 0
  	OutboundDSACount: 1
  	OutboundAvailDSACount: 1
  Section CN=LDAPOperations,CN=MONITORING:
  	BindError: 0
  	BindErrorDuration: 0
  	Modify: 0
  	ModifyDuration: 0
  	ModifyError: 0
  	ModifyErrorDuration: 0
  	SearchError: 9
  	SearchErrorDuration: 24
  	Bind: 7
  	BindDuration: 64
  	Search: 95
  	SearchDuration: 2196
  Section CN=WINDC,CN=Schema,CN=Partitions,CN=KCC,CN=MONITORING:
  	InboundFailure: 0
  	LastSuccessDelta: 0
  	LastAttempt: 133935114560000000
  	LastSuccess: 133935114560000000
  Section CN=TDO,CN=MONITORING:
  	Errored: 0
  	Scheduled: 38
  	Executed: 37
  	Performed: 37
  Section CN=HealthCheck,CN=MONITORING:
  	disco[756]: 1
  	dnsupdate[751]: 1
  	drepl[733]: 1
  	kcc[747]: 1
  	kdc(0)[737]: 1
  	kdc(1)[742]: 1
  	kdc(2)[748]: 1
  	kdc[729]: 1
  	lacheck[754]: 1
  	ldap[720]: 1
  	nbt[707]: 1
  	ntp_signd[743]: 1
  	rpc(0)[721]: 1
  	rpc(1)[727]: 1
  	rpc(2)[731]: 1
  	rpc(3)[734]: 1
  	rpc[693]: 1
  	s3fs[678]: 1
  	samba[592]: 1
  	smbd-cleanupd[767]: 1
  	smbd-notifyd[766]: 1
  	smbd[696]: 1
  	mt[758]: 1
  	winbindd[738]: 1
  	winbindd[746]: 1
  	wrepl[715]: 1
  	ldap(0)[769]: 1
  	ldap(1)[771]: 1
  	ldap(2)[774]: 1
  	ldap(3)[777]: 1
  	ldap(4)[781]: 1
  	wb[772]: 1
  	wb[775]: 1
  	kdc(3)[752]: 1
  	core_manager[745]: 1
  	cldap[725]: 1
  Section CN=WINDC,CN=Configuration,CN=Partitions,CN=KCC,CN=MONITORING:
  	InboundFailure: 0
  	LastSuccessDelta: 0
  	LastAttempt: 133935115310000000
  	LastSuccess: 133935115310000000
  Section CN=DOMAINDNSZONES,CN=MONITORING:
  	BranchPages: 1
  	DataEntries: 176
  	LastTransactionID: 1087
  	LeafPages: 12
  	MaxDbSize: 8589934592
  	MaxPages: 2097152
  	MaxReaders: 100000
  	OverflowPages: 38
  	PageSize: 4096
  	TreeDepth: 2
  	UsedDbSize: 286720
  	UsedPages: 70
  	UsedReaders: 7
  Section CN=SAMDOM,CN=MONITORING:
  	BranchPages: 3
  	DataEntries: 1530
  	LeafPages: 101
  	MaxDbSize: 8589934592
  	MaxPages: 2097152
  	MaxReaders: 100000
  	OverflowPages: 264
  	PageSize: 4096
  	TreeDepth: 3
  	UsedDbSize: 1716224
  	UsedPages: 419
  	UsedReaders: 7
  	LastTransactionID: 3896
  Section CN=KDCOperations,CN=MONITORING:
  	ProxyReq: 0
  	ProxyReqDuration: 0
  	AS_REQ: 19
  	AS_REQDuration: 13893
  	TGS_REQ: 28
  	TGS_REQDuration: 10016
  Section CN=FORESTDNSZONES,CN=MONITORING:
  	BranchPages: 1
  	DataEntries: 216
  	LeafPages: 17
  	MaxDbSize: 8589934592
  	MaxPages: 2097152
  	MaxReaders: 100000
  	OverflowPages: 45
  	PageSize: 4096
  	TreeDepth: 2
  	UsedDbSize: 393216
  	UsedPages: 96
  	UsedReaders: 7
  	LastTransactionID: 2109
  Section CN=CONFIGURATION,CN=MONITORING:
  	MaxDbSize: 8589934592
  	MaxPages: 2097152
  	MaxReaders: 100000
  	PageSize: 4096
  	TreeDepth: 3
  	UsedReaders: 7
  	BranchPages: 26
  	LeafPages: 1290
  	OverflowPages: 645
  	DataEntries: 8121
  	UsedPages: 2134
  	UsedDbSize: 8740864
  	LastTransactionID: 2164
  Section CN=DNSOperationsBind9,CN=MONITORING:
  	Queries: 1032
  	QueriesDuration: 82244
  Section CN=ForestDnsZones,CN=Partitions,CN=KCC,CN=MONITORING:
  	InboundDSACount: 1
  	InboundAvailDSACount: 1
  	OutboundDSACount: 1
  	OutboundAvailDSACount: 1
  Section CN=WINDC,CN=ForestDnsZones,CN=Partitions,CN=KCC,CN=MONITORING:
  	InboundFailure: 0
  	LastSuccessDelta: 0
  	LastAttempt: 133935114570000000
  	LastSuccess: 133935114570000000
  Section CN=samba_dnsupdate,CN=MONITORING:
  	LastRunExitCode: 0
  	RunCount: 8
  	RunCountDuration: 74270
  	LastRunDuration: 7.087396
  Section CN=Configuration,CN=Partitions,CN=KCC,CN=MONITORING:
  	InboundDSACount: 1
  	OutboundDSACount: 1
  	InboundAvailDSACount: 1
  	OutboundAvailDSACount: 1
  Section CN=Schema,CN=Partitions,CN=KCC,CN=MONITORING:
  	InboundDSACount: 1
  	InboundAvailDSACount: 1
  	OutboundDSACount: 1
  	OutboundAvailDSACount: 1
  Section CN=KCC,CN=MONITORING:
  	PartitionCount: 3
  	InboundConnectionCount: 1
  	OutboundConnectionCount: 1
  	InboundSuccess: 3
  	InboundFailure: 0
  	OutboundSuccess: 4
  	OutboundFailure: 0
  Section CN=REPLOperations,CN=MONITORING:
  	Replicate: 0
  	ReplicateDuration: 0

По умолчанию значения метрик логируются с периодичностью 60 секунд. Для изменения интервала задайте требуемое значение в секундах с помощью параметра monitoring:metric_dump_periodic_interval в разделе [global] в файле smb.conf.

Например:

[global]
    ...
    monitoring:metric_dump_periodic_interval = 30
    ...

При изменении интервала логирования учитывайте значение параметра monitoring:periodic_interval, задающего периодичность сбора метрик.

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

Сервис metrics_manager предоставляет метрики для мониторинга состояния процессов и служб на контроллере домена Эллес.

Для их группировки служит объект Healthcheck в контейнере Monitoring (CN=Healthcheck,CN=Monitoring) в дереве LDAP.

Список метрик зависит от состава запущенных процессов. Он может меняться по мере развития продукта.

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

Периодичность обновления — 1 минута.

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

process_name(worker_number)[PID]: status

Описание формата имени метрики:

  • process_name — имя процесса;

  • worker_number — номер рабочего процесса (при работе в режиме prefork);

  • PID — PID процесса;

  • status — статус процесса:

    • 1 — рабочий процесс запущен и работает в штатном режиме;

    • 0 — процесс не запущен или неработоспособен.

В режиме prefork для поддерживающих его служб (KDC, LDAP, RPC) помимо метрики, отражающей состояние основного процесса, также формируются метрики для того количества рабочих процессов, которое задано в настройках Эллес (по умолчанию  prefork children = 4).

См. подробнее о режимах обработки клиентских соединений в разделе «Вывод списка процессов Эллес на контроллере домена».

Пример запроса текущих значений метрик на контроллере домена Эллес по протоколу LDAP:

ldbsearch -H ldap://localhost:3070 -b "CN=HealthCheck,CN=Monitoring" | awk 'NF && !/^(dn:|distinguishedName:|#)/' | sort -f
cldap[1104]: 1
core_manager[1153]: 1
disco[1135]: 1
dnsupdate[1128]: 1
drepl[1112]: 1
kcc[1125]: 1
kdc(0)[20768]: 1
kdc(1)[20770]: 1
kdc(2)[20772]: 1
kdc(3)[20766]: 1
kdc[1108]: 1
lacheck[1132]: 0
ldap(0)[1248]: 1
ldap(1)[1250]: 1
ldap(2)[1252]: 1
ldap(3)[1254]: 1
ldap(4)[1256]: 1
ldap[1100]: 1
nbt[1095]: 1
ntp_signd[1120]: 1
rpc(0)[1101]: 1
rpc[1092]: 1
rpc(1)[1105]: 1
rpc(2)[1109]: 1
rpc(3)[1113]: 1
s3fs[1089]: 1
samba[1085]: 1
smbd[1094]: 1
smbd-cleanupd[1145]: 1
smbd-notifyd[1144]: 1
mt[1151]: 1
wb[1146]: 1
wb[1147]: 1
winbindd[1115]: 1
winbindd[1122]: 1
wrepl[1097]: 1

Описание метрик в примере:

Метрика Тип Пример значения Описание

cldap

Integer

1

Рабочий процесс сервера CLDAP, отвечающего на запросы к каталогу по протоколу Connectionless LDAP (вариант LDAP без установки соединения на основе UDP)

core_manager

Integer

1

Рабочий процесс сервиса, предоставляющего gRPC API для управления доменом и контроллером домена

disco

Integer

1

Рабочий процесс сервиса асинхронного обнаружения контроллеров домена с ролью сервера глобального каталога (GC)

dnsupdate

Integer

1

Рабочий процесс сервиса, отвечающего за обновление записей DNS

drepl

Integer

1

Рабочий процесс сервиса репликации каталога, выполняющего регулярную синхронизацию разделов каталога с другими контроллерами домена, периодически запрашивая у них информацию об изменениях и рассылая нотификации о собственных изменениях

kcc

Integer

1

Рабочий процесс сервера KCC, отвечающего за построение топологии репликации

kdc, kdc(0…​N)

Integer

1

Рабочие процессы сервера KDC, выполняющего функции центра распространения ключей (Key Distribution Center) для аутентификации Kerberos. Процессы отвечают за выдачу клиентам сессионных билетов и последующую их валидацию при авторизации

lacheck

Integer

1

Рабочий процесс процедуры обработки связанных атрибутов

ldap, ldap(0…​N)

Integer

1

Рабочие процессы сервера LDAP, отвечающего на запросы к каталогу по протоколу LDAP

mt

Integer

1

Рабочий процесс сервиса автоматического запуска периодических задач

nbt

Integer

1

Рабочий процесс сервера NBT, предоставляющего сервисы NETBIOS over TCP

ntp_signd

Integer

1

Рабочий процесс сервиса, отвечающего за подписание пакетов NTP при синхронизации времени с клиентами на ОС Windows

rpc, rpc(0…​N)

Integer

1

Рабочие процессы сервера DCE/RPC, обеспечивающего общий транспорт для сетевых сервисов (например, LSA, SAMR, NETLOGON)

s3fs

Integer

1

Рабочий процесс файлового сервера s3fs

samba

Integer

1

Корневой процесс, отвечающий за запуск всех остальных рабочих процессов и мониторинг их работы

smbd

Integer

1

Рабочий процесс файлового сервера, предоставляющего клиентам сервисы совместного доступа к файлам и печати по протоколу SMB

smbd-cleanupd

Integer

1

Рабочий процесс сервиса очистки, обслуживающего файловый сервер

smbd-notifyd

Integer

1

Рабочий процесс сервиса нотификации, обслуживающего файловый сервер

wb, winbindd

Integer

1

Рабочие процессы сервера Winbind, предоставляющего ряд сервисов для диспетчера службы имен (Name Service Switch, NSS) для сопоставления пользователей каталога с локальными пользователями

wrepl

Integer

1

Рабочий процесс сервиса репликации

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

Сервис metrics_manager предоставляет метрики для контроля ряда настроек DNS на контролере домена Эллес.

Для их группировки служит объект DNS в контейнере Monitoring (CN=DNS,CN=Monitoring) в дереве LDAP.

Пример запроса текущих значений метрик на контроллере домена Эллес по протоколу LDAP:

ldbsearch -H ldap://localhost:3070 -b "CN=DNS,CN=Monitoring"
# record 1
dn: CN=DNS,CN=Monitoring
ZoneCount: 3
distinguishedName: CN=DNS,CN=Monitoring

# returned 1 records
# 1 entries
# 0 referrals

Описание метрик:

Метрика Тип Пример значения Описание

ZoneCount

Integer

3

Количество зон DNS

Метрики для мониторинга репликации

Сервис metrics_manager предоставляет метрики для мониторинга состояния репликации на контролере домена Эллес.

Для их группировки служит объект KCC в контейнере Monitoring (CN=KCC,CN=Monitoring) в дереве LDAP.

Количество реплицируемых разделов каталога (партиций) и соединений репликации

Пример запроса текущих значений метрик на контроллере домена Эллес по протоколу LDAP:

ldbsearch -H ldap://localhost:3070 -s base -b "CN=KCC,CN=Monitoring"
# record 1
dn: CN=KCC,CN=MONITORING
PartitionCount: 3
InboundConnectionCount: 1
OutboundConnectionCount: 1
InboundSuccess: 3
InboundFailure: 0
OutboundSuccess: 4
OutboundFailure: 0
distinguishedName: CN=KCC,CN=MONITORING

# returned 1 records
# 1 entries
# 0 referrals

Описание метрик:

Метрика Тип Пример значения Описание

PartitionCount

Integer

3

Количество разделов каталога, реплицируемых на контроллер домена

InboundConnectionCount

Integer

1

Количество входящих соединений репликации

OutboundConnectionCount

Integer

1

Количество исходящих соединений репликации

InboundSuccess

Integer

3

Количество разделов каталога, по которым последняя попытка входящей репликации завершилась успешно

InboundFailure

Integer

0

Количество разделов каталога, по которым последняя попытка входящей репликации завершилась неуспешно

OutboundSuccess

Integer

4

Количество разделов каталога, по которым последняя попытка исходящей репликации завершилась успешно

OutboundFailure

Integer

0

Количество разделов каталога, по которым последняя попытка исходящей репликации завершилась неуспешно

Количество партнеров для репликации по разделам каталога (партициям)

Пример запроса текущих значений метрик на контроллере домена Эллес по протоколу LDAP:

ldbsearch -H ldap://localhost:3070 -s one -b "CN=Partitions,CN=KCC,CN=Monitoring"
# record 1
dn: CN=samba,CN=Partitions,CN=KCC,CN=MONITORING
InboundAvailDSACount: 0
InboundDSACount: 0
OutboundDSACount: 1
OutboundAvailDSACount: 1
distinguishedName: CN=samba,CN=Partitions,CN=KCC,CN=MONITORING

# record 2
dn: CN=ForestDnsZones,CN=Partitions,CN=KCC,CN=MONITORING
InboundDSACount: 1
InboundAvailDSACount: 1
OutboundDSACount: 1
OutboundAvailDSACount: 1
distinguishedName: CN=ForestDnsZones,CN=Partitions,CN=KCC,CN=MONITORING

# record 3
dn: CN=Configuration,CN=Partitions,CN=KCC,CN=MONITORING
InboundDSACount: 1
OutboundDSACount: 1
InboundAvailDSACount: 1
OutboundAvailDSACount: 1
distinguishedName: CN=Configuration,CN=Partitions,CN=KCC,CN=MONITORING

# record 4
dn: CN=Schema,CN=Partitions,CN=KCC,CN=MONITORING
InboundDSACount: 1
InboundAvailDSACount: 1
OutboundDSACount: 1
OutboundAvailDSACount: 1
distinguishedName: CN=Schema,CN=Partitions,CN=KCC,CN=MONITORING

# returned 4 records
# 4 entries
# 0 referrals

Описание метрик:

Метрика Тип Пример значения Описание

InboundDSACount

Integer

1

Количество партнеров для входящей репликации по разделу каталога

InboundAvailDSACount

Integer

1

Количество доступных партнеров для входящей репликации по разделу каталога

OutboundDSACount

Integer

1

Количество партнеров для исходящей репликации по разделу каталога

OutboundAvailDSACount

Integer

1

Количество доступных партнеров для исходящей репликации по разделу каталога

Состояние входящей репликации по разделам каталога (партициям) и партнерам

Пример запроса текущих значений метрик на контроллере домена Эллес по протоколу LDAP:

ldbsearch -H ldap://localhost:3070 -s one -b "CN=Schema,CN=Partitions,CN=KCC,CN=Monitoring"
# record 1
dn: CN=SMBDC-2,CN=Schema,CN=Partitions,CN=KCC,CN=MONITORING
InboundFailure: 168
LastSuccessDelta: 3338741
LastAttempt: 133935096660000000
LastSuccess: 133901709250000000
distinguishedName: CN=SMBD-2,CN=Schema,CN=Partitions,CN=KCC,CN=MONITORING

# returned 1 records
# 1 entries
# 0 referrals

Описание метрик:

Метрика Тип Пример значения Описание

InboundFailure

Integer

168

Количество неуспешных попыток входящей репликации с момента последней успешной репликации по разделу каталога и партнеру

LastSuccessDelta

Integer

3338741

Разница между временем последней успешной репликации и временем последней попытки репликации по разделу каталога и партнеру

LastAttempt

Integer

133935186560000000

Время последней попытки репликации по разделу каталога и партнеру

LastSuccess

Integer

133935186560000000

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

Метрики для мониторинга работы samba_dnsupdate

Сервис metrics_manager предоставляет метрики для мониторинга работы скрипта samba_dnsupdate на контроллере домена Эллес.

Для их группировки служит объект samba_dnsupdate в контейнере Monitoring (CN=samba_dnsupdate,CN=Monitoring) в дереве LDAP.

Пример запроса текущих значений метрик на контроллере домена Эллес по протоколу LDAP:

ldbsearch -H ldap://localhost:3070 -b "CN=samba_dnsupdate,CN=Monitoring"
# record 1
dn: CN=samba_dnsupdate,CN=Monitoring
RunCount: 1
RunCountDuration: 26
LastRunDuration: 20.190445
LastRunExitCode: 0
distinguishedName: CN=samba_dnsupdate,CN=MONITORING

# returned 1 records
# 1 entries
# 0 referrals
Метрика Тип Пример значения Описание

RunCount

Counter

4

Количество запусков скрипта samba_dnsupdate

RunCountDuration

Counter

Общее время работы скрипта samba_dnsupdate с момента запуска Эллес в секундах с округлением до целого числа

LastRunDuration

Floating

0

Продолжительно последнего запуска скрипта samba_dnsupdate в секундах с точностью до шести знаков после запятой

LastRunExitCode

Integer

0

Статус последнего запуска скрипта samba_dnsupdate

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

  • 0 — работа скрипта завершилась без ошибок;

  • 1 — работа скрипта завершилась ошибкой

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

Сервис metrics_manager предоставляет метрики для мониторинга производительности следующих процессов и служб на контроллере домена Эллес:

LDAP

Для мониторинга производительности сервера LDAP служит объект LDAPOperations в контейнере Monitoring (CN=LDAPOperations,CN=Monitoring) в дереве LDAP.

Пример запроса текущих значений метрик на контроллере домена Эллес по протоколу LDAP:

ldbsearch -H ldap://localhost:3070 -b "CN=LDAPOperations,CN=Monitoring"
# record 1
dn: CN=LDAPOperations,CN=Monitoring
Bind: 18
BindDuration: 1329
BindError: 0
BindErrorDuration: 0
Search: 35
SearchDuration: 20389
SearchError: 2
SearchErrorDuration: 20065
Modify: 0
ModifyDuration: 0
ModifyError: 0
ModifyErrorDuration: 0
distinguishedName: CN=LDAPOperations,CN=Monitoring

# returned 1 records
# 1 entries
# 0 referrals

Описание метрик:

Метрика Тип Пример значения Описание

Bind

Counter

18

Количество запросов соединения с сервером LDAP

BindDuration

Counter

1329

Общее время выполнения запросов соединения с сервером LDAP с момента запуска Эллес в миллисекундах

BindError

Counter

0

Количество запросов соединения с сервером LDAP, завершившихся ошибкой

BindErrorDuration

Counter

0

Общее время выполнения запросов соединения с сервером LDAP, завершившихся ошибкой, с момента запуска Эллес в миллисекундах

Search

Counter

35

Количество запросов поиска в БД LDAP

SearchDuration

Counter

20389

Общее время выполнения запросов поиска в БД LDAP в миллисекундах

SearchError

Counter

5

Количество запросов поиска в БД LDAP, завершившихся ошибкой

SearchErrorDuration

Counter

125

Общее время выполнения запросов поиска в БД LDAP, завершившихся ошибкой, с момента запуска Эллес в миллисекундах

Modify

Counter

32

Количество запросов на внесение изменений в БД LDAP

ModifyDuration

Counter

34359

Общее время выполнения запросов на внесение изменений в БД LDAP с момента запуска Эллес в миллисекундах

ModifyError

Counter

1

Количество запросов на внесение изменений в БД LDAP, завершившихся ошибкой

ModifyErrorDuration

Counter

23

Общее время выполнения запросов на внесение изменений в БД LDAP, завершившихся ошибкой, с момента запуска Эллес в миллисекундах

DNS

Для мониторинга производительности DNS служит:

  • при использовании DNS-сервера BIND 9 (в случае указания опции --dns-backend=BIND9_DLZ при развертывании домена или вводе в существующий домен) — объект DNSOperationsBind9 в контейнере Monitoring (CN=DNSOperationsBind9,CN=Monitoring) в дереве LDAP;

  • при использовании внутреннего DNS-сервера (по умолчанию или в случае указания опции --dns-backend=SAMBA_INTERNAL при развертывании домена или вводе в существующий домен) — объект DNSOperations в контейнере Monitoring (CN=DNSOperations,CN=Monitoring) в дереве LDAP.

Метрики являются взаимоисключающими: при использовании BIND 9 доступна только метрика DNSOperationsBind9, а метрика DNSOperations недоступна; при использовании внутреннего DNS-сервера доступна только метрика DNSOperations, а метрика DNSOperationsBind9 — недоступна.

Назначение метрик различается:

  • DNSOperationsBind9 отражает общее количество и время выполнения запросов DNS-сервера BIND 9 к базе данных Эллес через функции API, реализованные в плагине BIND9_DLZ;

  • DNSOperations отражает общее количество и время выполнения DNS-запросов.

Как работают счетчики запросов BIND 9 к базе данных Эллес

При получении запроса записи DNS сервер BIND 9 может обращаться за данными к Эллес. Для этой цели он использует функции API, предоставляемые плагином BIND9_DLZ (библиотека dlz_bind9_16.so). Данный плагин реализует интерфейс для взаимодействия между сервером BIND 9 и базой данных Эллес.

В частности, следующие функции API обращаются к базе данных Эллес:

  • dlz_findzonedb — функция проверяет, существует ли запрошенная зона DNS в базе данных Эллес, и возвращает соответствующий статус;

  • dlz_lookup — функция выполняет поиск записей DNS в базе данных Эллес по имени и типу и возвращает найденные записи;

  • dlz_allnodes — функция возвращает все записи DNS, относящиеся к указанной в запросе зоне;

  • dlz_newversion — функция инициирует новую транзакцию для внесения изменений в данные зоны DNS;

  • dlz_closeversion — функция завершает ранее начатую транзакцию;

  • dlz_ssumatch — функция проверяет, имеет ли указанный клиент право вносить изменения в указанную зону DNS;

  • dlz_addrdataset — функция добавляет новый набор ресурсных записей (RR) в базу данных DNS;

  • dlz_subrdataset — функция удаляет указанный набор ресурсных записей (RR) из базы данных DNS;

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

Счетчик количества запросов (Queries) увеличивается на 1 при каждом обращении к любой из перечисленных выше функций.

Счетчик времени выполнения (QueriesDuration) увеличивается на время выполнения вызванной функции.

Примеры запросов BIND 9 к базе данных Эллес, приводящих к увеличению значений счетчиков

В качестве примера рассмотрим домен (samdom.example.com) из двух контроллеров:

  • SMBDC — контроллер домена (RWDC) на базе Эллес с работающим DNS-сервером BIND 9;

  • WINDC — контроллер домена на базе Windows AD DS.

Запрос существующей SRV-записи

Запрос:

nslookup -type=SRV _ldap._tcp.Default-First-Site-Name._sites.dc._msdcs.SAMDOM.EXAMPLE.COM

Результат запроса:

_ldap._tcp.Default-First-Site-Name._sites.dc._msdcs.SAMDOM.EXAMPLE.COM	service = 0 100 389 windc.samdom.example.com.
_ldap._tcp.Default-First-Site-Name._sites.dc._msdcs.SAMDOM.EXAMPLE.COM	service = 0 100 389 smbdc.SAMDOM.EXAMPLE.COM.

В соответствии с количеством вызовов функций счетчик Queries увеличивается на 21.

Вызовы функций в рамках запроса:

  • dlz_findzonedb (с параметром _ldap._tcp.default-first-site-name._sites.dc._msdcs.samdom.example.com);

  • dlz_findzonedb (с параметром _tcp.default-first-site-name._sites.dc._msdcs.samdom.example.com);

  • dlz_findzonedb (с параметром default-first-site-name._sites.dc._msdcs.samdom.example.com);

  • dlz_findzonedb (с параметром _sites.dc._msdcs.samdom.example.com);

  • dlz_findzonedb (с параметром dc._msdcs.samdom.example.com);

  • dlz_lookup (с параметром @);

  • dlz_lookup (с параметром dc);

  • dlz_lookup (с параметром *);

  • dlz_lookup (с параметром _sites.dc);

  • dlz_lookup (с параметром *.dc);

  • dlz_lookup (с параметром *);

  • dlz_lookup (с параметром default-first-site-name._sites.dc);

  • dlz_lookup (с параметром *._sites.dc);

  • dlz_lookup (с параметром *.dc);

  • dlz_lookup (с параметром *);

  • dlz_lookup (с параметром _tcp.default-first-site-name._sites.dc);

  • dlz_lookup (с параметром *.Default-First-Site-Name._sites.dc);

  • dlz_lookup (с параметром *._sites.dc);

  • dlz_lookup (с параметром *.dc);

  • dlz_lookup (с параметром *);

  • dlz_lookup (с параметром _ldap._tcp.default-first-site-name._sites.dc).

Повторный запрос существующей SRV-записи

Запрос:

nslookup -type=SRV _ldap._tcp.Default-First-Site-Name._sites.dc._msdcs.SAMDOM.EXAMPLE.COM

Результат:

_ldap._tcp.Default-First-Site-Name._sites.dc._msdcs.SAMDOM.EXAMPLE.COM	service = 0 100 389 windc.samdom.example.com.
_ldap._tcp.Default-First-Site-Name._sites.dc._msdcs.SAMDOM.EXAMPLE.COM	service = 0 100 389 smbdc.SAMDOM.EXAMPLE.COM.

В соответствии с количеством вызовов функций счетчик Queries увеличивается на 21.

Вызовы функций в рамках запроса:

  • dlz_findzonedb (с параметром _ldap._tcp.default-first-site-name._sites.dc._msdcs.samdom.example.com);

  • dlz_findzonedb (с параметром _tcp.default-first-site-name._sites.dc._msdcs.samdom.example.com);

  • dlz_findzonedb (с параметром default-first-site-name._sites.dc._msdcs.samdom.example.com);

  • dlz_findzonedb (с параметром _sites.dc._msdcs.samdom.example.com);

  • dlz_findzonedb (с параметром dc._msdcs.samdom.example.com);

  • dlz_lookup (с параметром @);

  • dlz_lookup (с параметром dc);

  • dlz_lookup (с параметром *);

  • dlz_lookup (с параметром _sites.dc);

  • dlz_lookup (с параметром *.dc);

  • dlz_lookup (с параметром *);

  • dlz_lookup (с параметром default-first-site-name._sites.dc);

  • dlz_lookup (с параметром *._sites.dc);

  • dlz_lookup (с параметром *.dc);

  • dlz_lookup (с параметром *);

  • dlz_lookup (с параметром _tcp.default-first-site-name._sites.dc);

  • dlz_lookup (с параметром *.Default-First-Site-Name._sites.dc);

  • dlz_lookup (с параметром *._sites.dc);

  • dlz_lookup (с параметром *.dc);

  • dlz_lookup (с параметром *);

  • dlz_lookup (с параметром _ldap._tcp.default-first-site-name._sites.dc).

Запрос существующей A-записи

Запрос:

nslookup -type=A SMBDC.SAMDOM.EXAMPLE.COM

Результат:

Name:	SMBDC.SAMDOM.EXAMPLE.COM
Address: 10.56.0.76

В соответствии с количеством вызовов функций счетчик Queries увеличивается на 3.

Вызовы функций в рамках запроса:

  • dlz_findzonedb (с параметром smbdc.samdom.example.com);

  • dlz_lookup (с параметром @);

  • dlz_lookup (с параметром smbdc).

Запрос несуществующей A-записи

Запрос:

nslookup -type=A SMBDC10.SAMDOM.EXAMPLE.COM

Результат:

** server can't find SMBDC10.SAMDOM.EXAMPLE.COM: NXDOMAIN

В соответствии с количеством вызовов функций счетчик Queries увеличивается на 5.

Вызовы функций в рамках запроса:

  • dlz_findzonedb (с параметром smbdc10.samdom.example.com);

  • dlz_lookup (с параметром @);

  • dlz_lookup (с параметром smbdc10);

  • dlz_lookup (с параметром *);

  • dlz_lookup (с параметром @).

Пример запроса метрик

Пример запроса текущих значений метрик на контроллере домена Эллес по протоколу LDAP:

  • при использовании BIND 9:

    ldbsearch -H ldap://localhost:3070 -b "CN=DNSOperationsBind9,CN=Monitoring"
    # record 1
    dn: CN=DNSOperationsBind9,CN=Monitoring
    Queries: 14663
    QueriesDuration: 934828
    distinguishedName: CN=DNSOperationsBind9,CN=Monitoring
    
    # returned 1 records
    # 1 entries
    # 0 referrals
  • при использовании внутреннего DNS-сервера:

    ldbsearch -H ldap://localhost:3070 -b "CN=DNSOperations,CN=Monitoring"
    # record 1
    dn: CN=DNSOperations,CN=Monitoring
    Queries: 28651
    QueriesDuration: 1590702
    distinguishedName: CN=DNSOperations,CN=Monitoring
    
    # returned 1 records
    # 1 entries
    # 0 referrals

Описание метрик

При использовании BIND 9:

Метрика Тип Пример значения Описание

Queries

Counter

14663

Количество запросов BIND 9 к базе данных Эллес посредством функций API, реализуемых плагином BIND9_DLZ

QueriesDuration

Counter

934828

Общее время выполнения запросов BIND 9 к базе данных Эллес посредством функций API, реализуемых плагином BIND9_DLZ, в миллисекундах

При использовании внутреннего DNS-сервера:

Метрика Тип Пример значения Описание

Queries

Counter

28651

Количество запросов к серверу DNS

QueriesDuration

Counter

1590702

Общее время выполнения запросов к серверу DNS с момента запуска Эллес в миллисекундах

drepl

Для мониторинга нагрузки на сервис репликации служит объект REPLOperations в контейнере Monitoring (CN=REPLOperations,CN=Monitoring) в дереве LDAP.

Метрики отражают нагрузку на процесс репликации доменной партиции.

Пример запроса текущих значений метрик на контроллере домена Эллес по протоколу LDAP:

ldbsearch -H ldap://localhost:3070 -b "CN=REPLOperations,CN=Monitoring"
# record 1
dn: CN=REPLOperations,CN=Monitoring
Replicate: 17
ReplicateDuration: 3172
distinguishedName: CN=REPLOperations,CN=Monitoring

# returned 1 records
# 1 entries
# 0 referrals

Описание метрик:

Метрика Тип Пример значения Описание

Replicate

Counter

17

Количество репликационных транзакций доменного раздела каталога (доменной партиции)

ReplicateDuration

Counter

3172

Общее время выполнения репликационных транзакций доменного раздела каталога (доменной партиции) с момента запуска Эллес в миллисекундах

KDC

Для мониторинга нагрузки на сервер распространения ключей Kerberos (KDC) служит объект KDCOperations в контейнере Monitoring (CN=KDCOperations,CN=Monitoring) в дереве LDAP.

Пример запроса текущих значений метрик на контроллере домена Эллес по протоколу LDAP:

ldbsearch -H ldap://localhost:3070 -b "CN=KDCOperations,CN=Monitoring"
# record 1
dn: CN=KDCOperations,CN=Monitoring
AS_REQ: 18
AS_REQDuration: 5342
TGS_REQ: 18
TGS_REQDuration: 7690
ProxyReq: 0
ProxyReqDuration: 0
distinguishedName: CN=KDCOperations,CN=Monitoring

# returned 1 records
# 1 entries
# 0 referrals

Описание метрик:

Метрика Тип Пример значения Описание

AS_REQ

Counter

18

Количество запросов к сервису аутентификации Kerberos

AS_REQDuration

Counter

5342

Общее время выполнения запросов к сервису аутентификации Kerberos с момента запуска Эллес в миллисекундах

TGS_REQ

Counter

18

Количество запросов к серверу выдачи билетов Kerberos для доступа к сервисам

TGS_REQDuration

Counter

7690

Общее время выполнения запросов к серверу выдачи билетов Kerberos для доступа к сервисам с момента запуска Эллес в миллисекундах

ProxyReq

Counter

15

Количество запросов, проксированных контроллером RODC к серверу KDC контроллера RWDC

ProxyReqDuration

Counter

4598

Общее время определения контроллером RODC необходимости проксирования запросов к серверу KDC контроллера RWDC с момента запуска Эллес в миллисекундах

Метрики для мониторинга базы данных (LMDB)

При использовании в качестве базы данных каталога LMDB сервис metrics_manager предоставляет метрики для мониторинга ключевых показателей ее работы.

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

  • раздел Domain;

    Пример запроса текущих значений метрик на контроллере домена Эллес по протоколу LDAP:

    ldbsearch -H ldap://localhost:3070 -b "CN=SAMDOM,CN=Monitoring"
    # record 1
    dn: CN=SAMDOM,CN=Monitoring
    TreeDepth: 3
    BranchPages: 7
    LeafPages: 250
    OverflowPages: 587
    DataEntries: 3251
    PageSize: 4096
    UsedPages: 846
    MaxPages: 2097152
    LastTransactionID: 226946
    MaxReaders: 100000
    UsedReaders: 6
    MaxDbSize: 8589934592
    UsedDbSize: 3465216
    distinguishedName: CN=SAMDOM,CN=Monitoring
    
    # returned 1 records
    # 1 entries
    # 0 referrals
  • раздел Schema;

    Пример запроса текущих значений метрик на контроллере домена Эллес по протоколу LDAP:

    ldbsearch -H ldap://localhost:3070 -b "CN=SCHEMA,CN=Monitoring"
    # record 1
    dn: CN=SCHEMA,CN=Monitoring
    TreeDepth: 3
    BranchPages: 14
    LeafPages: 715
    OverflowPages: 1820
    DataEntries: 12407
    PageSize: 4096
    UsedPages: 2551
    MaxPages: 2097152
    LastTransactionID: 2
    MaxReaders: 100000
    UsedReaders: 1
    MaxDbSize: 8589934592
    UsedDbSize: 10448896
    distinguishedName: CN=SCHEMA,CN=Monitoring
    
    # returned 1 records
    # 1 entries
    # 0 referrals
  • раздел Configuration;

    Пример запроса текущих значений метрик на контроллере домена Эллес по протоколу LDAP:

    ldbsearch -H ldap://localhost:3070 -b "CN=CONFIGURATION,CN=Monitoring"
    # record 1
    dn: CN=CONFIGURATION,CN=Monitoring
    description: Samba monitoring metrics
    hasSubordinates: FALSE
    TreeDepth: 3
    BranchPages: 22
    LeafPages: 1223
    OverflowPages: 557
    DataEntries: 7595
    PageSize: 4096
    UsedPages: 1804
    MaxPages: 2097152
    LastTransactionID: 2
    MaxReaders: 100000
    UsedReaders: 1
    MaxDbSize: 8589934592
    UsedDbSize: 7389184
    distinguishedName: CN=CONFIGURATION,CN=Monitoring
    
    # returned 1 records
    # 1 entries
    # 0 referrals
  • раздел ForestDnsZones;

    Пример запроса текущих значений метрик на контроллере домена Эллес по протоколу LDAP:

    ldbsearch -H ldap://localhost:3070 -b "CN=FORESTDNSZONES,CN=Monitoring"
    # record 1
    dn: CN=FORESTDNSZONES,CN=Monitoring
    TreeDepth: 2
    BranchPages: 1
    LeafPages: 10
    OverflowPages: 30
    DataEntries: 145
    PageSize: 4096
    UsedPages: 43
    MaxPages: 2097152
    LastTransactionID: 164305
    MaxReaders: 100000
    UsedReaders: 8
    MaxDbSize: 8589934592
    UsedDbSize: 176128
    distinguishedName: CN=FORESTDNSZONES,CN=Monitoring
  • раздел DomainDnsZones;

    Пример запроса текущих значений метрик на контроллере домена Эллес по протоколу LDAP:

    ldbsearch -H ldap://localhost:3070 -b "CN=DOMAINDNSZONES,CN=Monitoring"
    # record 1
    dn: CN=DOMAINDNSZONES,CN=Monitoring
    TreeDepth: 2
    BranchPages: 1
    LeafPages: 23
    OverflowPages: 59
    DataEntries: 290
    PageSize: 4096
    UsedPages: 85
    MaxPages: 2097152
    LastTransactionID: 163212
    MaxReaders: 100000
    UsedReaders: 8
    MaxDbSize: 8589934592
    UsedDbSize: 348160
    distinguishedName: CN=DOMAINDNSZONES,CN=Monitoring
    
    # returned 1 records
    # 1 entries
    # 0 referrals

Описание метрик:

Метрика Тип Пример значения Описание

TreeDepth

Integer

3

Высота дерева B-tree

BranchPages

Integer

14

Количество внутренних страниц (узловые страницы, non-leaf)

LeafPages

Integer

715

Количество страниц-листьев (страницы с данными, leaf)

OverflowPages

Integer

1820

Количество страниц, использующихся для хранения пар ключ-значение с размером более размера страницы

DataEntries

Integer

12407

Количество пар ключ-значение

PageSize

Integer

4096

Размер одной страницы

UsedPages

Integer

2551

Количество используемых страниц, вычисляемое по формуле:

BranchPages + LeafPages + OverflowPages + MetaPages

В формуле MetaPages — количество контрольных страниц в начале файла БД (обычно — 2)

MaxPages

Integer

2097152

Максимально возможное количество страниц в БД

LastTransactionID

Integer

130106

Идентификатор последней транзакции (может использоваться для оценки значения TPS)

MaxReaders

Integer

100000

Максимальное количество потоков чтения LMDB

UsedReaders

Integer

6

Текущее количество потоков чтения LMDB

MaxDbSize

Integer

8589934592

Максимальный размер базы данных, вычисляемый по формуле:

MaxPages * PageSize

UsedDbSize

Integer

10448896

Используемый размер базы данных, вычисляемый по формуле:

UsedPages * PageSize

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

Для мониторинга работы сервиса mt, обеспечивающего автоматический запуск периодических задач, служит объект TDO в контейнере Monitoring (CN=TDO,CN=Monitoring) в дереве LDAP.

Пример запроса текущих значений метрик на контроллере домена Эллес по протоколу LDAP:

ldbsearch -H ldap://localhost:3070 -b "CN=TDO,CN=Monitoring"
# record 1
dn: CN=TDO,CN=Monitoring
Scheduled: 672
Executed: 671
Performed: 3
Errored: 0
distinguishedName: CN=TDO,CN=Monitoring

# returned 1 records
# 1 entries
# 0 referrals

Описание метрик:

Метрика Тип Пример значения Описание

Scheduled

Integer

672

Количество запланированных запусков периодических задач

Executed

Integer

671

Количество выполненных запусков периодических задач

Performed

Integer

3

Количество успешно завершившихся запусков периодических задач

Errored

Integer

0

Количество запусков периодических задач, завершившихся ошибкой