mirror of
https://github.com/prometheus-community/windows_exporter.git
synced 2026-03-08 03:26:35 +00:00
process: Use registry collector for V1 data (#1814)
Signed-off-by: Jan-Otto Kröpke <mail@jkroepke.de>
This commit is contained in:
@@ -21,7 +21,7 @@ import (
|
||||
|
||||
"github.com/alecthomas/kingpin/v2"
|
||||
"github.com/prometheus-community/windows_exporter/internal/mi"
|
||||
"github.com/prometheus-community/windows_exporter/internal/perfdata"
|
||||
"github.com/prometheus-community/windows_exporter/internal/pdh"
|
||||
"github.com/prometheus-community/windows_exporter/internal/types"
|
||||
"github.com/prometheus/client_golang/prometheus"
|
||||
)
|
||||
@@ -36,7 +36,8 @@ var ConfigDefaults = Config{}
|
||||
type Collector struct {
|
||||
config Config
|
||||
|
||||
perfDataCollector *perfdata.Collector
|
||||
perfDataCollector *pdh.Collector
|
||||
perfDataObject []perfDataCounterValues
|
||||
|
||||
addressBookClientSessions *prometheus.Desc
|
||||
addressBookOperationsTotal *prometheus.Desc
|
||||
@@ -129,156 +130,9 @@ func (c *Collector) Close() error {
|
||||
}
|
||||
|
||||
func (c *Collector) Build(_ *slog.Logger, _ *mi.Session) error {
|
||||
counters := []string{
|
||||
abANRPerSec,
|
||||
abBrowsesPerSec,
|
||||
abClientSessions,
|
||||
abMatchesPerSec,
|
||||
abPropertyReadsPerSec,
|
||||
abProxyLookupsPerSec,
|
||||
abSearchesPerSec,
|
||||
approximateHighestDNT,
|
||||
atqEstimatedQueueDelay,
|
||||
atqOutstandingQueuedRequests,
|
||||
atqRequestLatency,
|
||||
atqThreadsLDAP,
|
||||
atqThreadsOther,
|
||||
atqThreadsTotal,
|
||||
baseSearchesPerSec,
|
||||
databaseAddsPerSec,
|
||||
databaseDeletesPerSec,
|
||||
databaseModifiesPerSec,
|
||||
databaseRecyclesPerSec,
|
||||
digestBindsPerSec,
|
||||
draHighestUSNCommittedHighPart,
|
||||
draHighestUSNCommittedLowPart,
|
||||
draHighestUSNIssuedHighPart,
|
||||
draHighestUSNIssuedLowPart,
|
||||
draInboundBytesCompressedBetweenSitesAfterCompressionSinceBoot,
|
||||
draInboundBytesCompressedBetweenSitesAfterCompressionPerSec,
|
||||
draInboundBytesCompressedBetweenSitesBeforeCompressionSinceBoot,
|
||||
draInboundBytesCompressedBetweenSitesBeforeCompressionPerSec,
|
||||
draInboundBytesNotCompressedWithinSiteSinceBoot,
|
||||
draInboundBytesNotCompressedWithinSitePerSec,
|
||||
draInboundBytesTotalSinceBoot,
|
||||
draInboundBytesTotalPerSec,
|
||||
draInboundFullSyncObjectsRemaining,
|
||||
draInboundLinkValueUpdatesRemainingInPacket,
|
||||
draInboundObjectUpdatesRemainingInPacket,
|
||||
draInboundObjectsAppliedPerSec,
|
||||
draInboundObjectsFilteredPerSec,
|
||||
draInboundObjectsPerSec,
|
||||
draInboundPropertiesAppliedPerSec,
|
||||
draInboundPropertiesFilteredPerSec,
|
||||
draInboundPropertiesTotalPerSec,
|
||||
draInboundTotalUpdatesRemainingInPacket,
|
||||
draInboundValuesDNsOnlyPerSec,
|
||||
draInboundValuesTotalPerSec,
|
||||
draOutboundBytesCompressedBetweenSitesAfterCompressionSinceBoot,
|
||||
draOutboundBytesCompressedBetweenSitesAfterCompressionPerSec,
|
||||
draOutboundBytesCompressedBetweenSitesBeforeCompressionSinceBoot,
|
||||
draOutboundBytesCompressedBetweenSitesBeforeCompressionPerSec,
|
||||
draOutboundBytesNotCompressedWithinSiteSinceBoot,
|
||||
draOutboundBytesNotCompressedWithinSitePerSec,
|
||||
draOutboundBytesTotalSinceBoot,
|
||||
draOutboundBytesTotalPerSec,
|
||||
draOutboundObjectsFilteredPerSec,
|
||||
draOutboundObjectsPerSec,
|
||||
draOutboundPropertiesPerSec,
|
||||
draOutboundValuesDNsOnlyPerSec,
|
||||
draOutboundValuesTotalPerSec,
|
||||
draPendingReplicationOperations,
|
||||
draPendingReplicationSynchronizations,
|
||||
draSyncFailuresOnSchemaMismatch,
|
||||
draSyncRequestsMade,
|
||||
draSyncRequestsSuccessful,
|
||||
draThreadsGettingNCChanges,
|
||||
draThreadsGettingNCChangesHoldingSemaphore,
|
||||
dsPercentReadsFromDRA,
|
||||
dsPercentReadsFromKCC,
|
||||
dsPercentReadsFromLSA,
|
||||
dsPercentReadsFromNSPI,
|
||||
dsPercentReadsFromNTDSAPI,
|
||||
dsPercentReadsFromSAM,
|
||||
dsPercentReadsOther,
|
||||
dsPercentSearchesFromDRA,
|
||||
dsPercentSearchesFromKCC,
|
||||
dsPercentSearchesFromLDAP,
|
||||
dsPercentSearchesFromLSA,
|
||||
dsPercentSearchesFromNSPI,
|
||||
dsPercentSearchesFromNTDSAPI,
|
||||
dsPercentSearchesFromSAM,
|
||||
dsPercentSearchesOther,
|
||||
dsPercentWritesFromDRA,
|
||||
dsPercentWritesFromKCC,
|
||||
dsPercentWritesFromLDAP,
|
||||
dsPercentWritesFromLSA,
|
||||
dsPercentWritesFromNSPI,
|
||||
dsPercentWritesFromNTDSAPI,
|
||||
dsPercentWritesFromSAM,
|
||||
dsPercentWritesOther,
|
||||
dsClientBindsPerSec,
|
||||
dsClientNameTranslationsPerSec,
|
||||
dsDirectoryReadsPerSec,
|
||||
dsDirectorySearchesPerSec,
|
||||
dsDirectoryWritesPerSec,
|
||||
dsMonitorListSize,
|
||||
dsNameCacheHitRate,
|
||||
dsNotifyQueueSize,
|
||||
dsSearchSubOperationsPerSec,
|
||||
dsSecurityDescriptorPropagationsEvents,
|
||||
dsSecurityDescriptorPropagatorAverageExclusionTime,
|
||||
dsSecurityDescriptorPropagatorRuntimeQueue,
|
||||
dsSecurityDescriptorSubOperationsPerSec,
|
||||
dsServerBindsPerSec,
|
||||
dsServerNameTranslationsPerSec,
|
||||
dsThreadsInUse,
|
||||
externalBindsPerSec,
|
||||
fastBindsPerSec,
|
||||
ldapActiveThreads,
|
||||
ldapBindTime,
|
||||
ldapClientSessions,
|
||||
ldapClosedConnectionsPerSec,
|
||||
ldapNewConnectionsPerSec,
|
||||
ldapNewSSLConnectionsPerSec,
|
||||
ldapSearchesPerSec,
|
||||
ldapSuccessfulBindsPerSec,
|
||||
ldapUDPOperationsPerSec,
|
||||
ldapWritesPerSec,
|
||||
linkValuesCleanedPerSec,
|
||||
negotiatedBindsPerSec,
|
||||
ntlmBindsPerSec,
|
||||
oneLevelSearchesPerSec,
|
||||
phantomsCleanedPerSec,
|
||||
phantomsVisitedPerSec,
|
||||
samAccountGroupEvaluationLatency,
|
||||
samDisplayInformationQueriesPerSec,
|
||||
samDomainLocalGroupMembershipEvaluationsPerSec,
|
||||
samEnumerationsPerSec,
|
||||
samGCEvaluationsPerSec,
|
||||
samGlobalGroupMembershipEvaluationsPerSec,
|
||||
samMachineCreationAttemptsPerSec,
|
||||
samMembershipChangesPerSec,
|
||||
samNonTransitiveMembershipEvaluationsPerSec,
|
||||
samPasswordChangesPerSec,
|
||||
samResourceGroupEvaluationLatency,
|
||||
samSuccessfulComputerCreationsPerSecIncludesAllRequests,
|
||||
samSuccessfulUserCreationsPerSec,
|
||||
samTransitiveMembershipEvaluationsPerSec,
|
||||
samUniversalGroupMembershipEvaluationsPerSec,
|
||||
samUserCreationAttemptsPerSec,
|
||||
simpleBindsPerSec,
|
||||
subtreeSearchesPerSec,
|
||||
tombstonesGarbageCollectedPerSec,
|
||||
tombstonesVisitedPerSec,
|
||||
transitiveOperationsMillisecondsRun,
|
||||
transitiveOperationsPerSec,
|
||||
transitiveSubOperationsPerSec,
|
||||
}
|
||||
|
||||
var err error
|
||||
|
||||
c.perfDataCollector, err = perfdata.NewCollector("DirectoryServices", perfdata.InstancesAll, counters)
|
||||
c.perfDataCollector, err = pdh.NewCollector[perfDataCounterValues]("DirectoryServices", pdh.InstancesAll)
|
||||
if err != nil {
|
||||
return fmt.Errorf("failed to create DirectoryServices collector: %w", err)
|
||||
}
|
||||
@@ -663,210 +517,204 @@ func (c *Collector) Build(_ *slog.Logger, _ *mi.Session) error {
|
||||
// Collect sends the metric values for each metric
|
||||
// to the provided prometheus Metric channel.
|
||||
func (c *Collector) Collect(ch chan<- prometheus.Metric) error {
|
||||
perfData, err := c.perfDataCollector.Collect()
|
||||
err := c.perfDataCollector.Collect(&c.perfDataObject)
|
||||
if err != nil {
|
||||
return fmt.Errorf("failed to collect DirectoryServices (AD) metrics: %w", err)
|
||||
}
|
||||
|
||||
data, ok := perfData["NTDS"]
|
||||
|
||||
if !ok {
|
||||
return fmt.Errorf("failed to collect DirectoryServices (AD) metrics: %w", types.ErrNoData)
|
||||
}
|
||||
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.addressBookOperationsTotal,
|
||||
prometheus.CounterValue,
|
||||
data[abANRPerSec].FirstValue,
|
||||
c.perfDataObject[0].AbANRPerSec,
|
||||
"ambiguous_name_resolution",
|
||||
)
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.addressBookOperationsTotal,
|
||||
prometheus.CounterValue,
|
||||
data[abBrowsesPerSec].FirstValue,
|
||||
c.perfDataObject[0].AbBrowsesPerSec,
|
||||
"browse",
|
||||
)
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.addressBookOperationsTotal,
|
||||
prometheus.CounterValue,
|
||||
data[abMatchesPerSec].FirstValue,
|
||||
c.perfDataObject[0].AbMatchesPerSec,
|
||||
"find",
|
||||
)
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.addressBookOperationsTotal,
|
||||
prometheus.CounterValue,
|
||||
data[abPropertyReadsPerSec].FirstValue,
|
||||
c.perfDataObject[0].AbPropertyReadsPerSec,
|
||||
"property_read",
|
||||
)
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.addressBookOperationsTotal,
|
||||
prometheus.CounterValue,
|
||||
data[abSearchesPerSec].FirstValue,
|
||||
c.perfDataObject[0].AbSearchesPerSec,
|
||||
"search",
|
||||
)
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.addressBookOperationsTotal,
|
||||
prometheus.CounterValue,
|
||||
data[abProxyLookupsPerSec].FirstValue,
|
||||
c.perfDataObject[0].AbProxyLookupsPerSec,
|
||||
"proxy_search",
|
||||
)
|
||||
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.addressBookClientSessions,
|
||||
prometheus.GaugeValue,
|
||||
data[abClientSessions].FirstValue,
|
||||
c.perfDataObject[0].AbClientSessions,
|
||||
)
|
||||
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.approximateHighestDistinguishedNameTag,
|
||||
prometheus.GaugeValue,
|
||||
data[approximateHighestDNT].FirstValue,
|
||||
c.perfDataObject[0].ApproximateHighestDNT,
|
||||
)
|
||||
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.atqEstimatedDelaySeconds,
|
||||
prometheus.GaugeValue,
|
||||
data[atqEstimatedQueueDelay].FirstValue/1000,
|
||||
c.perfDataObject[0].AtqEstimatedQueueDelay/1000,
|
||||
)
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.atqOutstandingRequests,
|
||||
prometheus.GaugeValue,
|
||||
data[atqOutstandingQueuedRequests].FirstValue,
|
||||
c.perfDataObject[0].AtqOutstandingQueuedRequests,
|
||||
)
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.atqAverageRequestLatency,
|
||||
prometheus.GaugeValue,
|
||||
data[atqRequestLatency].FirstValue,
|
||||
c.perfDataObject[0].AtqRequestLatency,
|
||||
)
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.atqCurrentThreads,
|
||||
prometheus.GaugeValue,
|
||||
data[atqThreadsLDAP].FirstValue,
|
||||
c.perfDataObject[0].AtqThreadsLDAP,
|
||||
"ldap",
|
||||
)
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.atqCurrentThreads,
|
||||
prometheus.GaugeValue,
|
||||
data[atqThreadsOther].FirstValue,
|
||||
c.perfDataObject[0].AtqThreadsOther,
|
||||
"other",
|
||||
)
|
||||
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.searchesTotal,
|
||||
prometheus.CounterValue,
|
||||
data[baseSearchesPerSec].FirstValue,
|
||||
c.perfDataObject[0].BaseSearchesPerSec,
|
||||
"base",
|
||||
)
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.searchesTotal,
|
||||
prometheus.CounterValue,
|
||||
data[subtreeSearchesPerSec].FirstValue,
|
||||
c.perfDataObject[0].SubtreeSearchesPerSec,
|
||||
"subtree",
|
||||
)
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.searchesTotal,
|
||||
prometheus.CounterValue,
|
||||
data[oneLevelSearchesPerSec].FirstValue,
|
||||
c.perfDataObject[0].OneLevelSearchesPerSec,
|
||||
"one_level",
|
||||
)
|
||||
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.databaseOperationsTotal,
|
||||
prometheus.CounterValue,
|
||||
data[databaseAddsPerSec].FirstValue,
|
||||
c.perfDataObject[0].DatabaseAddsPerSec,
|
||||
"add",
|
||||
)
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.databaseOperationsTotal,
|
||||
prometheus.CounterValue,
|
||||
data[databaseDeletesPerSec].FirstValue,
|
||||
c.perfDataObject[0].DatabaseDeletesPerSec,
|
||||
"delete",
|
||||
)
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.databaseOperationsTotal,
|
||||
prometheus.CounterValue,
|
||||
data[databaseModifiesPerSec].FirstValue,
|
||||
c.perfDataObject[0].DatabaseModifiesPerSec,
|
||||
"modify",
|
||||
)
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.databaseOperationsTotal,
|
||||
prometheus.CounterValue,
|
||||
data[databaseRecyclesPerSec].FirstValue,
|
||||
c.perfDataObject[0].DatabaseRecyclesPerSec,
|
||||
"recycle",
|
||||
)
|
||||
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.bindsTotal,
|
||||
prometheus.CounterValue,
|
||||
data[digestBindsPerSec].FirstValue,
|
||||
c.perfDataObject[0].DigestBindsPerSec,
|
||||
"digest",
|
||||
)
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.bindsTotal,
|
||||
prometheus.CounterValue,
|
||||
data[dsClientBindsPerSec].FirstValue,
|
||||
c.perfDataObject[0].DsClientBindsPerSec,
|
||||
"ds_client",
|
||||
)
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.bindsTotal,
|
||||
prometheus.CounterValue,
|
||||
data[dsServerBindsPerSec].FirstValue,
|
||||
c.perfDataObject[0].DsServerBindsPerSec,
|
||||
"ds_server",
|
||||
)
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.bindsTotal,
|
||||
prometheus.CounterValue,
|
||||
data[externalBindsPerSec].FirstValue,
|
||||
c.perfDataObject[0].ExternalBindsPerSec,
|
||||
"external",
|
||||
)
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.bindsTotal,
|
||||
prometheus.CounterValue,
|
||||
data[fastBindsPerSec].FirstValue,
|
||||
c.perfDataObject[0].FastBindsPerSec,
|
||||
"fast",
|
||||
)
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.bindsTotal,
|
||||
prometheus.CounterValue,
|
||||
data[negotiatedBindsPerSec].FirstValue,
|
||||
c.perfDataObject[0].NegotiatedBindsPerSec,
|
||||
"negotiate",
|
||||
)
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.bindsTotal,
|
||||
prometheus.CounterValue,
|
||||
data[ntlmBindsPerSec].FirstValue,
|
||||
c.perfDataObject[0].NTLMBindsPerSec,
|
||||
"ntlm",
|
||||
)
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.bindsTotal,
|
||||
prometheus.CounterValue,
|
||||
data[simpleBindsPerSec].FirstValue,
|
||||
c.perfDataObject[0].SimpleBindsPerSec,
|
||||
"simple",
|
||||
)
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.bindsTotal,
|
||||
prometheus.CounterValue,
|
||||
data[ldapSuccessfulBindsPerSec].FirstValue,
|
||||
c.perfDataObject[0].LdapSuccessfulBindsPerSec,
|
||||
"ldap",
|
||||
)
|
||||
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.replicationHighestUsn,
|
||||
prometheus.CounterValue,
|
||||
float64(uint64(data[draHighestUSNCommittedHighPart].FirstValue)<<32)+data[draHighestUSNCommittedLowPart].FirstValue,
|
||||
float64(uint64(c.perfDataObject[0].DRAHighestUSNCommittedHighPart)<<32)+c.perfDataObject[0].DRAHighestUSNCommittedLowPart,
|
||||
"committed",
|
||||
)
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.replicationHighestUsn,
|
||||
prometheus.CounterValue,
|
||||
float64(uint64(data[draHighestUSNIssuedHighPart].FirstValue)<<32)+data[draHighestUSNIssuedLowPart].FirstValue,
|
||||
float64(uint64(c.perfDataObject[0].DRAHighestUSNIssuedHighPart)<<32)+c.perfDataObject[0].DRAHighestUSNIssuedLowPart,
|
||||
"issued",
|
||||
)
|
||||
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.interSiteReplicationDataBytesTotal,
|
||||
prometheus.CounterValue,
|
||||
data[draInboundBytesCompressedBetweenSitesAfterCompressionPerSec].FirstValue,
|
||||
c.perfDataObject[0].DRAInboundBytesCompressedBetweenSitesAfterCompressionPerSec,
|
||||
"inbound",
|
||||
)
|
||||
// The pre-compression perfData size seems to have little value? Skipping for now
|
||||
@@ -879,7 +727,7 @@ func (c *Collector) Collect(ch chan<- prometheus.Metric) error {
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.interSiteReplicationDataBytesTotal,
|
||||
prometheus.CounterValue,
|
||||
data[draOutboundBytesCompressedBetweenSitesAfterCompressionPerSec].FirstValue,
|
||||
c.perfDataObject[0].DRAOutboundBytesCompressedBetweenSitesAfterCompressionPerSec,
|
||||
"outbound",
|
||||
)
|
||||
// ch <- prometheus.MustNewConstMetric(
|
||||
@@ -891,270 +739,270 @@ func (c *Collector) Collect(ch chan<- prometheus.Metric) error {
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.intraSiteReplicationDataBytesTotal,
|
||||
prometheus.CounterValue,
|
||||
data[draInboundBytesNotCompressedWithinSitePerSec].FirstValue,
|
||||
c.perfDataObject[0].DRAInboundBytesNotCompressedWithinSitePerSec,
|
||||
"inbound",
|
||||
)
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.intraSiteReplicationDataBytesTotal,
|
||||
prometheus.CounterValue,
|
||||
data[draOutboundBytesNotCompressedWithinSitePerSec].FirstValue,
|
||||
c.perfDataObject[0].DRAOutboundBytesNotCompressedWithinSitePerSec,
|
||||
"outbound",
|
||||
)
|
||||
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.replicationInboundSyncObjectsRemaining,
|
||||
prometheus.GaugeValue,
|
||||
data[draInboundFullSyncObjectsRemaining].FirstValue,
|
||||
c.perfDataObject[0].DRAInboundFullSyncObjectsRemaining,
|
||||
)
|
||||
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.replicationInboundLinkValueUpdatesRemaining,
|
||||
prometheus.GaugeValue,
|
||||
data[draInboundLinkValueUpdatesRemainingInPacket].FirstValue,
|
||||
c.perfDataObject[0].DRAInboundLinkValueUpdatesRemainingInPacket,
|
||||
)
|
||||
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.replicationInboundObjectsUpdatedTotal,
|
||||
prometheus.CounterValue,
|
||||
data[draInboundObjectsAppliedPerSec].FirstValue,
|
||||
c.perfDataObject[0].DRAInboundObjectsAppliedPerSec,
|
||||
)
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.replicationInboundObjectsFilteredTotal,
|
||||
prometheus.CounterValue,
|
||||
data[draInboundObjectsFilteredPerSec].FirstValue,
|
||||
c.perfDataObject[0].DRAInboundObjectsFilteredPerSec,
|
||||
)
|
||||
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.replicationInboundPropertiesUpdatedTotal,
|
||||
prometheus.CounterValue,
|
||||
data[draInboundPropertiesAppliedPerSec].FirstValue,
|
||||
c.perfDataObject[0].DRAInboundPropertiesAppliedPerSec,
|
||||
)
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.replicationInboundPropertiesFilteredTotal,
|
||||
prometheus.CounterValue,
|
||||
data[draInboundPropertiesFilteredPerSec].FirstValue,
|
||||
c.perfDataObject[0].DRAInboundPropertiesFilteredPerSec,
|
||||
)
|
||||
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.replicationPendingOperations,
|
||||
prometheus.GaugeValue,
|
||||
data[draPendingReplicationOperations].FirstValue,
|
||||
c.perfDataObject[0].DRAPendingReplicationOperations,
|
||||
)
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.replicationPendingSynchronizations,
|
||||
prometheus.GaugeValue,
|
||||
data[draPendingReplicationSynchronizations].FirstValue,
|
||||
c.perfDataObject[0].DRAPendingReplicationSynchronizations,
|
||||
)
|
||||
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.replicationSyncRequestsTotal,
|
||||
prometheus.CounterValue,
|
||||
data[draSyncRequestsMade].FirstValue,
|
||||
c.perfDataObject[0].DRASyncRequestsMade,
|
||||
)
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.replicationSyncRequestsSuccessTotal,
|
||||
prometheus.CounterValue,
|
||||
data[draSyncRequestsSuccessful].FirstValue,
|
||||
c.perfDataObject[0].DRASyncRequestsSuccessful,
|
||||
)
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.replicationSyncRequestsSchemaMismatchFailureTotal,
|
||||
prometheus.CounterValue,
|
||||
data[draSyncFailuresOnSchemaMismatch].FirstValue,
|
||||
c.perfDataObject[0].DRASyncFailuresOnSchemaMismatch,
|
||||
)
|
||||
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.nameTranslationsTotal,
|
||||
prometheus.CounterValue,
|
||||
data[dsClientNameTranslationsPerSec].FirstValue,
|
||||
c.perfDataObject[0].DsClientNameTranslationsPerSec,
|
||||
"client",
|
||||
)
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.nameTranslationsTotal,
|
||||
prometheus.CounterValue,
|
||||
data[dsServerNameTranslationsPerSec].FirstValue,
|
||||
c.perfDataObject[0].DsServerNameTranslationsPerSec,
|
||||
"server",
|
||||
)
|
||||
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.changeMonitorsRegistered,
|
||||
prometheus.GaugeValue,
|
||||
data[dsMonitorListSize].FirstValue,
|
||||
c.perfDataObject[0].DsMonitorListSize,
|
||||
)
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.changeMonitorUpdatesPending,
|
||||
prometheus.GaugeValue,
|
||||
data[dsNotifyQueueSize].FirstValue,
|
||||
c.perfDataObject[0].DsNotifyQueueSize,
|
||||
)
|
||||
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.nameCacheHitsTotal,
|
||||
prometheus.CounterValue,
|
||||
data[dsNameCacheHitRate].FirstValue,
|
||||
c.perfDataObject[0].DsNameCacheHitRate,
|
||||
)
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.nameCacheLookupsTotal,
|
||||
prometheus.CounterValue,
|
||||
data[dsNameCacheHitRate].SecondValue,
|
||||
c.perfDataObject[0].DsNameCacheHitRateSecondValue,
|
||||
)
|
||||
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.directoryOperationsTotal,
|
||||
prometheus.CounterValue,
|
||||
data[dsPercentReadsFromDRA].FirstValue,
|
||||
c.perfDataObject[0].DsPercentReadsFromDRA,
|
||||
"read",
|
||||
"replication_agent",
|
||||
)
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.directoryOperationsTotal,
|
||||
prometheus.CounterValue,
|
||||
data[dsPercentReadsFromKCC].FirstValue,
|
||||
c.perfDataObject[0].DsPercentReadsFromKCC,
|
||||
"read",
|
||||
"knowledge_consistency_checker",
|
||||
)
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.directoryOperationsTotal,
|
||||
prometheus.CounterValue,
|
||||
data[dsPercentReadsFromLSA].FirstValue,
|
||||
c.perfDataObject[0].DsPercentReadsFromLSA,
|
||||
"read",
|
||||
"local_security_authority",
|
||||
)
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.directoryOperationsTotal,
|
||||
prometheus.CounterValue,
|
||||
data[dsPercentReadsFromNSPI].FirstValue,
|
||||
c.perfDataObject[0].DsPercentReadsFromNSPI,
|
||||
"read",
|
||||
"name_service_provider_interface",
|
||||
)
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.directoryOperationsTotal,
|
||||
prometheus.CounterValue,
|
||||
data[dsPercentReadsFromNTDSAPI].FirstValue,
|
||||
c.perfDataObject[0].DsPercentReadsFromNTDSAPI,
|
||||
"read",
|
||||
"directory_service_api",
|
||||
)
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.directoryOperationsTotal,
|
||||
prometheus.CounterValue,
|
||||
data[dsPercentReadsFromSAM].FirstValue,
|
||||
c.perfDataObject[0].DsPercentReadsFromSAM,
|
||||
"read",
|
||||
"security_account_manager",
|
||||
)
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.directoryOperationsTotal,
|
||||
prometheus.CounterValue,
|
||||
data[dsPercentReadsOther].FirstValue,
|
||||
c.perfDataObject[0].DsPercentReadsOther,
|
||||
"read",
|
||||
"other",
|
||||
)
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.directoryOperationsTotal,
|
||||
prometheus.CounterValue,
|
||||
data[dsPercentSearchesFromDRA].FirstValue,
|
||||
c.perfDataObject[0].DsPercentSearchesFromDRA,
|
||||
"search",
|
||||
"replication_agent",
|
||||
)
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.directoryOperationsTotal,
|
||||
prometheus.CounterValue,
|
||||
data[dsPercentSearchesFromKCC].FirstValue,
|
||||
c.perfDataObject[0].DsPercentSearchesFromKCC,
|
||||
"search",
|
||||
"knowledge_consistency_checker",
|
||||
)
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.directoryOperationsTotal,
|
||||
prometheus.CounterValue,
|
||||
data[dsPercentSearchesFromLDAP].FirstValue,
|
||||
c.perfDataObject[0].DsPercentSearchesFromLDAP,
|
||||
"search",
|
||||
"ldap",
|
||||
)
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.directoryOperationsTotal,
|
||||
prometheus.CounterValue,
|
||||
data[dsPercentSearchesFromLSA].FirstValue,
|
||||
c.perfDataObject[0].DsPercentSearchesFromLSA,
|
||||
"search",
|
||||
"local_security_authority",
|
||||
)
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.directoryOperationsTotal,
|
||||
prometheus.CounterValue,
|
||||
data[dsPercentSearchesFromNSPI].FirstValue,
|
||||
c.perfDataObject[0].DsPercentSearchesFromNSPI,
|
||||
"search",
|
||||
"name_service_provider_interface",
|
||||
)
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.directoryOperationsTotal,
|
||||
prometheus.CounterValue,
|
||||
data[dsPercentSearchesFromNTDSAPI].FirstValue,
|
||||
c.perfDataObject[0].DsPercentSearchesFromNTDSAPI,
|
||||
"search",
|
||||
"directory_service_api",
|
||||
)
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.directoryOperationsTotal,
|
||||
prometheus.CounterValue,
|
||||
data[dsPercentSearchesFromSAM].FirstValue,
|
||||
c.perfDataObject[0].DsPercentSearchesFromSAM,
|
||||
"search",
|
||||
"security_account_manager",
|
||||
)
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.directoryOperationsTotal,
|
||||
prometheus.CounterValue,
|
||||
data[dsPercentSearchesOther].FirstValue,
|
||||
c.perfDataObject[0].DsPercentSearchesOther,
|
||||
"search",
|
||||
"other",
|
||||
)
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.directoryOperationsTotal,
|
||||
prometheus.CounterValue,
|
||||
data[dsPercentWritesFromDRA].FirstValue,
|
||||
c.perfDataObject[0].DsPercentWritesFromDRA,
|
||||
"write",
|
||||
"replication_agent",
|
||||
)
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.directoryOperationsTotal,
|
||||
prometheus.CounterValue,
|
||||
data[dsPercentWritesFromKCC].FirstValue,
|
||||
c.perfDataObject[0].DsPercentWritesFromKCC,
|
||||
"write",
|
||||
"knowledge_consistency_checker",
|
||||
)
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.directoryOperationsTotal,
|
||||
prometheus.CounterValue,
|
||||
data[dsPercentWritesFromLDAP].FirstValue,
|
||||
c.perfDataObject[0].DsPercentWritesFromLDAP,
|
||||
"write",
|
||||
"ldap",
|
||||
)
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.directoryOperationsTotal,
|
||||
prometheus.CounterValue,
|
||||
data[dsPercentSearchesFromLSA].FirstValue,
|
||||
c.perfDataObject[0].DsPercentSearchesFromLSA,
|
||||
"write",
|
||||
"local_security_authority",
|
||||
)
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.directoryOperationsTotal,
|
||||
prometheus.CounterValue,
|
||||
data[dsPercentWritesFromNSPI].FirstValue,
|
||||
c.perfDataObject[0].DsPercentWritesFromNSPI,
|
||||
"write",
|
||||
"name_service_provider_interface",
|
||||
)
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.directoryOperationsTotal,
|
||||
prometheus.CounterValue,
|
||||
data[dsPercentWritesFromNTDSAPI].FirstValue,
|
||||
c.perfDataObject[0].DsPercentWritesFromNTDSAPI,
|
||||
"write",
|
||||
"directory_service_api",
|
||||
)
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.directoryOperationsTotal,
|
||||
prometheus.CounterValue,
|
||||
data[dsPercentWritesFromSAM].FirstValue,
|
||||
c.perfDataObject[0].DsPercentWritesFromSAM,
|
||||
"write",
|
||||
"security_account_manager",
|
||||
)
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.directoryOperationsTotal,
|
||||
prometheus.CounterValue,
|
||||
data[dsPercentWritesOther].FirstValue,
|
||||
c.perfDataObject[0].DsPercentWritesOther,
|
||||
"write",
|
||||
"other",
|
||||
)
|
||||
@@ -1162,207 +1010,207 @@ func (c *Collector) Collect(ch chan<- prometheus.Metric) error {
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.directorySearchSubOperationsTotal,
|
||||
prometheus.CounterValue,
|
||||
data[dsSearchSubOperationsPerSec].FirstValue,
|
||||
c.perfDataObject[0].DsSearchSubOperationsPerSec,
|
||||
)
|
||||
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.securityDescriptorPropagationEventsTotal,
|
||||
prometheus.CounterValue,
|
||||
data[dsSecurityDescriptorSubOperationsPerSec].FirstValue,
|
||||
c.perfDataObject[0].DsSecurityDescriptorSubOperationsPerSec,
|
||||
)
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.securityDescriptorPropagationEventsQueued,
|
||||
prometheus.GaugeValue,
|
||||
data[dsSecurityDescriptorPropagationsEvents].FirstValue,
|
||||
c.perfDataObject[0].DsSecurityDescriptorPropagationsEvents,
|
||||
)
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.securityDescriptorPropagationAccessWaitTotalSeconds,
|
||||
prometheus.GaugeValue,
|
||||
data[dsSecurityDescriptorPropagatorAverageExclusionTime].FirstValue,
|
||||
c.perfDataObject[0].DsSecurityDescriptorPropagatorAverageExclusionTime,
|
||||
)
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.securityDescriptorPropagationItemsQueuedTotal,
|
||||
prometheus.CounterValue,
|
||||
data[dsSecurityDescriptorPropagatorRuntimeQueue].FirstValue,
|
||||
c.perfDataObject[0].DsSecurityDescriptorPropagatorRuntimeQueue,
|
||||
)
|
||||
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.directoryServiceThreads,
|
||||
prometheus.GaugeValue,
|
||||
data[dsThreadsInUse].FirstValue,
|
||||
c.perfDataObject[0].DsThreadsInUse,
|
||||
)
|
||||
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.ldapClosedConnectionsTotal,
|
||||
prometheus.CounterValue,
|
||||
data[ldapClosedConnectionsPerSec].FirstValue,
|
||||
c.perfDataObject[0].LdapClosedConnectionsPerSec,
|
||||
)
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.ldapOpenedConnectionsTotal,
|
||||
prometheus.CounterValue,
|
||||
data[ldapNewConnectionsPerSec].FirstValue,
|
||||
c.perfDataObject[0].LdapNewConnectionsPerSec,
|
||||
"ldap",
|
||||
)
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.ldapOpenedConnectionsTotal,
|
||||
prometheus.CounterValue,
|
||||
data[ldapNewSSLConnectionsPerSec].FirstValue,
|
||||
c.perfDataObject[0].LdapNewSSLConnectionsPerSec,
|
||||
"ldaps",
|
||||
)
|
||||
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.ldapActiveThreads,
|
||||
prometheus.GaugeValue,
|
||||
data[ldapActiveThreads].FirstValue,
|
||||
c.perfDataObject[0].LdapActiveThreads,
|
||||
)
|
||||
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.ldapLastBindTimeSeconds,
|
||||
prometheus.GaugeValue,
|
||||
data[ldapBindTime].FirstValue/1000,
|
||||
c.perfDataObject[0].LdapBindTime/1000,
|
||||
)
|
||||
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.ldapSearchesTotal,
|
||||
prometheus.CounterValue,
|
||||
data[ldapSearchesPerSec].FirstValue,
|
||||
c.perfDataObject[0].LdapSearchesPerSec,
|
||||
)
|
||||
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.ldapUdpOperationsTotal,
|
||||
prometheus.CounterValue,
|
||||
data[ldapUDPOperationsPerSec].FirstValue,
|
||||
c.perfDataObject[0].LdapUDPOperationsPerSec,
|
||||
)
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.ldapWritesTotal,
|
||||
prometheus.CounterValue,
|
||||
data[ldapWritesPerSec].FirstValue,
|
||||
c.perfDataObject[0].LdapWritesPerSec,
|
||||
)
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.ldapClientSessions,
|
||||
prometheus.GaugeValue,
|
||||
data[ldapClientSessions].FirstValue,
|
||||
c.perfDataObject[0].LdapClientSessions,
|
||||
)
|
||||
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.linkValuesCleanedTotal,
|
||||
prometheus.CounterValue,
|
||||
data[linkValuesCleanedPerSec].FirstValue,
|
||||
c.perfDataObject[0].LinkValuesCleanedPerSec,
|
||||
)
|
||||
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.phantomObjectsCleanedTotal,
|
||||
prometheus.CounterValue,
|
||||
data[phantomsCleanedPerSec].FirstValue,
|
||||
c.perfDataObject[0].PhantomsCleanedPerSec,
|
||||
)
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.phantomObjectsVisitedTotal,
|
||||
prometheus.CounterValue,
|
||||
data[phantomsVisitedPerSec].FirstValue,
|
||||
c.perfDataObject[0].PhantomsVisitedPerSec,
|
||||
)
|
||||
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.samGroupMembershipEvaluationsTotal,
|
||||
prometheus.CounterValue,
|
||||
data[samGlobalGroupMembershipEvaluationsPerSec].FirstValue,
|
||||
c.perfDataObject[0].SamGlobalGroupMembershipEvaluationsPerSec,
|
||||
"global",
|
||||
)
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.samGroupMembershipEvaluationsTotal,
|
||||
prometheus.CounterValue,
|
||||
data[samDomainLocalGroupMembershipEvaluationsPerSec].FirstValue,
|
||||
c.perfDataObject[0].SamDomainLocalGroupMembershipEvaluationsPerSec,
|
||||
"domain_local",
|
||||
)
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.samGroupMembershipEvaluationsTotal,
|
||||
prometheus.CounterValue,
|
||||
data[samUniversalGroupMembershipEvaluationsPerSec].FirstValue,
|
||||
c.perfDataObject[0].SamUniversalGroupMembershipEvaluationsPerSec,
|
||||
"universal",
|
||||
)
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.samGroupMembershipGlobalCatalogEvaluationsTotal,
|
||||
prometheus.CounterValue,
|
||||
data[samGCEvaluationsPerSec].FirstValue,
|
||||
c.perfDataObject[0].SamGCEvaluationsPerSec,
|
||||
)
|
||||
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.samGroupMembershipEvaluationsNonTransitiveTotal,
|
||||
prometheus.CounterValue,
|
||||
data[samNonTransitiveMembershipEvaluationsPerSec].FirstValue,
|
||||
c.perfDataObject[0].SamNonTransitiveMembershipEvaluationsPerSec,
|
||||
)
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.samGroupMembershipEvaluationsTransitiveTotal,
|
||||
prometheus.CounterValue,
|
||||
data[samTransitiveMembershipEvaluationsPerSec].FirstValue,
|
||||
c.perfDataObject[0].SamTransitiveMembershipEvaluationsPerSec,
|
||||
)
|
||||
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.samGroupEvaluationLatency,
|
||||
prometheus.GaugeValue,
|
||||
data[samAccountGroupEvaluationLatency].FirstValue,
|
||||
c.perfDataObject[0].SamAccountGroupEvaluationLatency,
|
||||
"account_group",
|
||||
)
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.samGroupEvaluationLatency,
|
||||
prometheus.GaugeValue,
|
||||
data[samResourceGroupEvaluationLatency].FirstValue,
|
||||
c.perfDataObject[0].SamResourceGroupEvaluationLatency,
|
||||
"resource_group",
|
||||
)
|
||||
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.samComputerCreationRequestsTotal,
|
||||
prometheus.CounterValue,
|
||||
data[samSuccessfulComputerCreationsPerSecIncludesAllRequests].FirstValue,
|
||||
c.perfDataObject[0].SamSuccessfulComputerCreationsPerSecIncludesAllRequests,
|
||||
)
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.samComputerCreationSuccessfulRequestsTotal,
|
||||
prometheus.CounterValue,
|
||||
data[samMachineCreationAttemptsPerSec].FirstValue,
|
||||
c.perfDataObject[0].SamMachineCreationAttemptsPerSec,
|
||||
)
|
||||
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.samUserCreationRequestsTotal,
|
||||
prometheus.CounterValue,
|
||||
data[samUserCreationAttemptsPerSec].FirstValue,
|
||||
c.perfDataObject[0].SamUserCreationAttemptsPerSec,
|
||||
)
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.samUserCreationSuccessfulRequestsTotal,
|
||||
prometheus.CounterValue,
|
||||
data[samSuccessfulUserCreationsPerSec].FirstValue,
|
||||
c.perfDataObject[0].SamSuccessfulUserCreationsPerSec,
|
||||
)
|
||||
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.samQueryDisplayRequestsTotal,
|
||||
prometheus.CounterValue,
|
||||
data[samDisplayInformationQueriesPerSec].FirstValue,
|
||||
c.perfDataObject[0].SamDisplayInformationQueriesPerSec,
|
||||
)
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.samEnumerationsTotal,
|
||||
prometheus.CounterValue,
|
||||
data[samEnumerationsPerSec].FirstValue,
|
||||
c.perfDataObject[0].SamEnumerationsPerSec,
|
||||
)
|
||||
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.samMembershipChangesTotal,
|
||||
prometheus.CounterValue,
|
||||
data[samMembershipChangesPerSec].FirstValue,
|
||||
c.perfDataObject[0].SamMembershipChangesPerSec,
|
||||
)
|
||||
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.samPasswordChangesTotal,
|
||||
prometheus.CounterValue,
|
||||
data[samPasswordChangesPerSec].FirstValue,
|
||||
c.perfDataObject[0].SamPasswordChangesPerSec,
|
||||
)
|
||||
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.tombstonesObjectsCollectedTotal,
|
||||
prometheus.CounterValue,
|
||||
data[tombstonesGarbageCollectedPerSec].FirstValue,
|
||||
c.perfDataObject[0].TombstonesGarbageCollectedPerSec,
|
||||
)
|
||||
ch <- prometheus.MustNewConstMetric(
|
||||
c.tombstonesObjectsVisitedTotal,
|
||||
prometheus.CounterValue,
|
||||
data[tombstonesVisitedPerSec].FirstValue,
|
||||
c.perfDataObject[0].TombstonesVisitedPerSec,
|
||||
)
|
||||
|
||||
return nil
|
||||
|
||||
@@ -1,222 +0,0 @@
|
||||
// Copyright 2024 The Prometheus Authors
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
//go:build windows
|
||||
|
||||
package ad
|
||||
|
||||
const (
|
||||
abANRPerSec = "AB ANR/sec"
|
||||
abBrowsesPerSec = "AB Browses/sec"
|
||||
abClientSessions = "AB Client Sessions"
|
||||
abMatchesPerSec = "AB Matches/sec"
|
||||
abPropertyReadsPerSec = "AB Property Reads/sec"
|
||||
abProxyLookupsPerSec = "AB Proxy Lookups/sec"
|
||||
abSearchesPerSec = "AB Searches/sec"
|
||||
approximateHighestDNT = "Approximate highest DNT"
|
||||
atqEstimatedQueueDelay = "ATQ Estimated Queue Delay"
|
||||
atqOutstandingQueuedRequests = "ATQ Outstanding Queued Requests"
|
||||
_ = "ATQ Queue Latency"
|
||||
atqRequestLatency = "ATQ Request Latency"
|
||||
atqThreadsLDAP = "ATQ Threads LDAP"
|
||||
atqThreadsOther = "ATQ Threads Other"
|
||||
atqThreadsTotal = "ATQ Threads Total"
|
||||
baseSearchesPerSec = "Base searches/sec"
|
||||
databaseAddsPerSec = "Database adds/sec"
|
||||
databaseDeletesPerSec = "Database deletes/sec"
|
||||
databaseModifiesPerSec = "Database modifys/sec"
|
||||
databaseRecyclesPerSec = "Database recycles/sec"
|
||||
digestBindsPerSec = "Digest Binds/sec"
|
||||
_ = "DirSync session throttling rate"
|
||||
_ = "DirSync sessions in progress"
|
||||
draHighestUSNCommittedHighPart = "DRA Highest USN Committed (High part)"
|
||||
draHighestUSNCommittedLowPart = "DRA Highest USN Committed (Low part)"
|
||||
draHighestUSNIssuedHighPart = "DRA Highest USN Issued (High part)"
|
||||
draHighestUSNIssuedLowPart = "DRA Highest USN Issued (Low part)"
|
||||
draInboundBytesCompressedBetweenSitesAfterCompressionSinceBoot = "DRA Inbound Bytes Compressed (Between Sites, After Compression) Since Boot"
|
||||
draInboundBytesCompressedBetweenSitesAfterCompressionPerSec = "DRA Inbound Bytes Compressed (Between Sites, After Compression)/sec"
|
||||
draInboundBytesCompressedBetweenSitesBeforeCompressionSinceBoot = "DRA Inbound Bytes Compressed (Between Sites, Before Compression) Since Boot"
|
||||
draInboundBytesCompressedBetweenSitesBeforeCompressionPerSec = "DRA Inbound Bytes Compressed (Between Sites, Before Compression)/sec"
|
||||
draInboundBytesNotCompressedWithinSiteSinceBoot = "DRA Inbound Bytes Not Compressed (Within Site) Since Boot"
|
||||
draInboundBytesNotCompressedWithinSitePerSec = "DRA Inbound Bytes Not Compressed (Within Site)/sec"
|
||||
draInboundBytesTotalSinceBoot = "DRA Inbound Bytes Total Since Boot"
|
||||
draInboundBytesTotalPerSec = "DRA Inbound Bytes Total/sec"
|
||||
draInboundFullSyncObjectsRemaining = "DRA Inbound Full Sync Objects Remaining"
|
||||
draInboundLinkValueUpdatesRemainingInPacket = "DRA Inbound Link Value Updates Remaining in Packet"
|
||||
_ = "DRA Inbound Link Values/sec"
|
||||
draInboundObjectUpdatesRemainingInPacket = "DRA Inbound Object Updates Remaining in Packet"
|
||||
draInboundObjectsAppliedPerSec = "DRA Inbound Objects Applied/sec"
|
||||
draInboundObjectsFilteredPerSec = "DRA Inbound Objects Filtered/sec"
|
||||
draInboundObjectsPerSec = "DRA Inbound Objects/sec"
|
||||
draInboundPropertiesAppliedPerSec = "DRA Inbound Properties Applied/sec"
|
||||
draInboundPropertiesFilteredPerSec = "DRA Inbound Properties Filtered/sec"
|
||||
draInboundPropertiesTotalPerSec = "DRA Inbound Properties Total/sec"
|
||||
_ = "DRA Inbound Sync Link Deletion/sec"
|
||||
draInboundTotalUpdatesRemainingInPacket = "DRA Inbound Total Updates Remaining in Packet"
|
||||
draInboundValuesDNsOnlyPerSec = "DRA Inbound Values (DNs only)/sec"
|
||||
draInboundValuesTotalPerSec = "DRA Inbound Values Total/sec"
|
||||
_ = "DRA number of NC replication calls since boot"
|
||||
_ = "DRA number of successful NC replication calls since boot"
|
||||
draOutboundBytesCompressedBetweenSitesAfterCompressionSinceBoot = "DRA Outbound Bytes Compressed (Between Sites, After Compression) Since Boot"
|
||||
draOutboundBytesCompressedBetweenSitesAfterCompressionPerSec = "DRA Outbound Bytes Compressed (Between Sites, After Compression)/sec"
|
||||
draOutboundBytesCompressedBetweenSitesBeforeCompressionSinceBoot = "DRA Outbound Bytes Compressed (Between Sites, Before Compression) Since Boot"
|
||||
draOutboundBytesCompressedBetweenSitesBeforeCompressionPerSec = "DRA Outbound Bytes Compressed (Between Sites, Before Compression)/sec"
|
||||
draOutboundBytesNotCompressedWithinSiteSinceBoot = "DRA Outbound Bytes Not Compressed (Within Site) Since Boot"
|
||||
draOutboundBytesNotCompressedWithinSitePerSec = "DRA Outbound Bytes Not Compressed (Within Site)/sec"
|
||||
draOutboundBytesTotalSinceBoot = "DRA Outbound Bytes Total Since Boot"
|
||||
draOutboundBytesTotalPerSec = "DRA Outbound Bytes Total/sec"
|
||||
draOutboundObjectsFilteredPerSec = "DRA Outbound Objects Filtered/sec"
|
||||
draOutboundObjectsPerSec = "DRA Outbound Objects/sec"
|
||||
draOutboundPropertiesPerSec = "DRA Outbound Properties/sec"
|
||||
draOutboundValuesDNsOnlyPerSec = "DRA Outbound Values (DNs only)/sec"
|
||||
draOutboundValuesTotalPerSec = "DRA Outbound Values Total/sec"
|
||||
draPendingReplicationOperations = "DRA Pending Replication Operations"
|
||||
draPendingReplicationSynchronizations = "DRA Pending Replication Synchronizations"
|
||||
draSyncFailuresOnSchemaMismatch = "DRA Sync Failures on Schema Mismatch"
|
||||
draSyncRequestsMade = "DRA Sync Requests Made"
|
||||
draSyncRequestsSuccessful = "DRA Sync Requests Successful"
|
||||
draThreadsGettingNCChanges = "DRA Threads Getting NC Changes"
|
||||
draThreadsGettingNCChangesHoldingSemaphore = "DRA Threads Getting NC Changes Holding Semaphore"
|
||||
_ = "DRA total number of Busy failures since boot"
|
||||
_ = "DRA total number of MissingParent failures since boot"
|
||||
_ = "DRA total number of NotEnoughAttrs/MissingObject failures since boot"
|
||||
_ = "DRA total number of Preempted failures since boot"
|
||||
_ = "DRA total time of applying replication package since boot"
|
||||
_ = "DRA total time of NC replication calls since boot"
|
||||
_ = "DRA total time of successful NC replication calls since boot"
|
||||
_ = "DRA total time of successfully applying replication package since boot"
|
||||
_ = "DRA total time on waiting async replication packages since boot"
|
||||
_ = "DRA total time on waiting sync replication packages since boot"
|
||||
dsPercentReadsFromDRA = "DS % Reads from DRA"
|
||||
dsPercentReadsFromKCC = "DS % Reads from KCC"
|
||||
dsPercentReadsFromLSA = "DS % Reads from LSA"
|
||||
dsPercentReadsFromNSPI = "DS % Reads from NSPI"
|
||||
dsPercentReadsFromNTDSAPI = "DS % Reads from NTDSAPI"
|
||||
dsPercentReadsFromSAM = "DS % Reads from SAM"
|
||||
dsPercentReadsOther = "DS % Reads Other"
|
||||
dsPercentSearchesFromDRA = "DS % Searches from DRA"
|
||||
dsPercentSearchesFromKCC = "DS % Searches from KCC"
|
||||
dsPercentSearchesFromLDAP = "DS % Searches from LDAP"
|
||||
dsPercentSearchesFromLSA = "DS % Searches from LSA"
|
||||
dsPercentSearchesFromNSPI = "DS % Searches from NSPI"
|
||||
dsPercentSearchesFromNTDSAPI = "DS % Searches from NTDSAPI"
|
||||
dsPercentSearchesFromSAM = "DS % Searches from SAM"
|
||||
dsPercentSearchesOther = "DS % Searches Other"
|
||||
dsPercentWritesFromDRA = "DS % Writes from DRA"
|
||||
dsPercentWritesFromKCC = "DS % Writes from KCC"
|
||||
dsPercentWritesFromLDAP = "DS % Writes from LDAP"
|
||||
dsPercentWritesFromLSA = "DS % Writes from LSA"
|
||||
dsPercentWritesFromNSPI = "DS % Writes from NSPI"
|
||||
dsPercentWritesFromNTDSAPI = "DS % Writes from NTDSAPI"
|
||||
dsPercentWritesFromSAM = "DS % Writes from SAM"
|
||||
dsPercentWritesOther = "DS % Writes Other"
|
||||
dsClientBindsPerSec = "DS Client Binds/sec"
|
||||
dsClientNameTranslationsPerSec = "DS Client Name Translations/sec"
|
||||
dsDirectoryReadsPerSec = "DS Directory Reads/sec"
|
||||
dsDirectorySearchesPerSec = "DS Directory Searches/sec"
|
||||
dsDirectoryWritesPerSec = "DS Directory Writes/sec"
|
||||
dsMonitorListSize = "DS Monitor List Size"
|
||||
dsNameCacheHitRate = "DS Name Cache hit rate"
|
||||
dsNotifyQueueSize = "DS Notify Queue Size"
|
||||
dsSearchSubOperationsPerSec = "DS Search sub-operations/sec"
|
||||
dsSecurityDescriptorPropagationsEvents = "DS Security Descriptor Propagations Events"
|
||||
dsSecurityDescriptorPropagatorAverageExclusionTime = "DS Security Descriptor Propagator Average Exclusion Time"
|
||||
dsSecurityDescriptorPropagatorRuntimeQueue = "DS Security Descriptor Propagator Runtime Queue"
|
||||
dsSecurityDescriptorSubOperationsPerSec = "DS Security Descriptor sub-operations/sec"
|
||||
dsServerBindsPerSec = "DS Server Binds/sec"
|
||||
dsServerNameTranslationsPerSec = "DS Server Name Translations/sec"
|
||||
dsThreadsInUse = "DS Threads in Use"
|
||||
_ = "Error eventlogs since boot"
|
||||
_ = "Error events since boot"
|
||||
externalBindsPerSec = "External Binds/sec"
|
||||
fastBindsPerSec = "Fast Binds/sec"
|
||||
_ = "Fatal events since boot"
|
||||
_ = "Info eventlogs since boot"
|
||||
ldapActiveThreads = "LDAP Active Threads"
|
||||
_ = "LDAP Add Operations"
|
||||
_ = "LDAP Add Operations/sec"
|
||||
_ = "LDAP batch slots available"
|
||||
ldapBindTime = "LDAP Bind Time"
|
||||
_ = "LDAP busy retries"
|
||||
_ = "LDAP busy retries/sec"
|
||||
ldapClientSessions = "LDAP Client Sessions"
|
||||
ldapClosedConnectionsPerSec = "LDAP Closed Connections/sec"
|
||||
_ = "LDAP Delete Operations"
|
||||
_ = "LDAP Delete Operations/sec"
|
||||
_ = "LDAP Modify DN Operations"
|
||||
_ = "LDAP Modify DN Operations/sec"
|
||||
_ = "LDAP Modify Operations"
|
||||
_ = "LDAP Modify Operations/sec"
|
||||
ldapNewConnectionsPerSec = "LDAP New Connections/sec"
|
||||
ldapNewSSLConnectionsPerSec = "LDAP New SSL Connections/sec"
|
||||
_ = "LDAP Outbound Bytes"
|
||||
_ = "LDAP Outbound Bytes/sec"
|
||||
_ = "LDAP Page Search Cache entries count"
|
||||
_ = "LDAP Page Search Cache size"
|
||||
ldapSearchesPerSec = "LDAP Searches/sec"
|
||||
ldapSuccessfulBindsPerSec = "LDAP Successful Binds/sec"
|
||||
_ = "LDAP Threads Sleeping on BUSY"
|
||||
ldapUDPOperationsPerSec = "LDAP UDP operations/sec"
|
||||
ldapWritesPerSec = "LDAP Writes/sec"
|
||||
linkValuesCleanedPerSec = "Link Values Cleaned/sec"
|
||||
_ = "Links added"
|
||||
_ = "Links added/sec"
|
||||
_ = "Links visited"
|
||||
_ = "Links visited/sec"
|
||||
_ = "Logical link deletes"
|
||||
_ = "Logical link deletes/sec"
|
||||
negotiatedBindsPerSec = "Negotiated Binds/sec"
|
||||
ntlmBindsPerSec = "NTLM Binds/sec"
|
||||
_ = "Objects returned"
|
||||
_ = "Objects returned/sec"
|
||||
_ = "Objects visited"
|
||||
_ = "Objects visited/sec"
|
||||
oneLevelSearchesPerSec = "Onelevel searches/sec"
|
||||
_ = "PDC failed password update notifications"
|
||||
_ = "PDC password update notifications/sec"
|
||||
_ = "PDC successful password update notifications"
|
||||
phantomsCleanedPerSec = "Phantoms Cleaned/sec"
|
||||
phantomsVisitedPerSec = "Phantoms Visited/sec"
|
||||
_ = "Physical link deletes"
|
||||
_ = "Physical link deletes/sec"
|
||||
_ = "Replicate Single Object operations"
|
||||
_ = "Replicate Single Object operations/sec"
|
||||
_ = "RID Pool invalidations since boot"
|
||||
_ = "RID Pool request failures since boot"
|
||||
_ = "RID Pool request successes since boot"
|
||||
samAccountGroupEvaluationLatency = "SAM Account Group Evaluation Latency"
|
||||
samDisplayInformationQueriesPerSec = "SAM Display Information Queries/sec"
|
||||
samDomainLocalGroupMembershipEvaluationsPerSec = "SAM Domain Local Group Membership Evaluations/sec"
|
||||
samEnumerationsPerSec = "SAM Enumerations/sec"
|
||||
samGCEvaluationsPerSec = "SAM GC Evaluations/sec"
|
||||
samGlobalGroupMembershipEvaluationsPerSec = "SAM Global Group Membership Evaluations/sec"
|
||||
samMachineCreationAttemptsPerSec = "SAM Machine Creation Attempts/sec"
|
||||
samMembershipChangesPerSec = "SAM Membership Changes/sec"
|
||||
samNonTransitiveMembershipEvaluationsPerSec = "SAM Non-Transitive Membership Evaluations/sec"
|
||||
samPasswordChangesPerSec = "SAM Password Changes/sec"
|
||||
samResourceGroupEvaluationLatency = "SAM Resource Group Evaluation Latency"
|
||||
samSuccessfulComputerCreationsPerSecIncludesAllRequests = "SAM Successful Computer Creations/sec: Includes all requests"
|
||||
samSuccessfulUserCreationsPerSec = "SAM Successful User Creations/sec"
|
||||
samTransitiveMembershipEvaluationsPerSec = "SAM Transitive Membership Evaluations/sec"
|
||||
samUniversalGroupMembershipEvaluationsPerSec = "SAM Universal Group Membership Evaluations/sec"
|
||||
samUserCreationAttemptsPerSec = "SAM User Creation Attempts/sec"
|
||||
simpleBindsPerSec = "Simple Binds/sec"
|
||||
subtreeSearchesPerSec = "Subtree searches/sec"
|
||||
tombstonesGarbageCollectedPerSec = "Tombstones Garbage Collected/sec"
|
||||
tombstonesVisitedPerSec = "Tombstones Visited/sec"
|
||||
transitiveOperationsMillisecondsRun = "Transitive operations milliseconds run"
|
||||
transitiveOperationsPerSec = "Transitive operations/sec"
|
||||
transitiveSubOperationsPerSec = "Transitive suboperations/sec"
|
||||
_ = "Warning eventlogs since boot"
|
||||
_ = "Warning events since boot"
|
||||
)
|
||||
223
internal/collector/ad/types.go
Normal file
223
internal/collector/ad/types.go
Normal file
@@ -0,0 +1,223 @@
|
||||
// Copyright 2024 The Prometheus Authors
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
//go:build windows
|
||||
|
||||
package ad
|
||||
|
||||
type perfDataCounterValues struct {
|
||||
AbANRPerSec float64 `perfdata:"AB ANR/sec"`
|
||||
AbBrowsesPerSec float64 `perfdata:"AB Browses/sec"`
|
||||
AbClientSessions float64 `perfdata:"AB Client Sessions"`
|
||||
AbMatchesPerSec float64 `perfdata:"AB Matches/sec"`
|
||||
AbPropertyReadsPerSec float64 `perfdata:"AB Property Reads/sec"`
|
||||
AbProxyLookupsPerSec float64 `perfdata:"AB Proxy Lookups/sec"`
|
||||
AbSearchesPerSec float64 `perfdata:"AB Searches/sec"`
|
||||
ApproximateHighestDNT float64 `perfdata:"Approximate highest DNT"`
|
||||
AtqEstimatedQueueDelay float64 `perfdata:"ATQ Estimated Queue Delay"`
|
||||
AtqOutstandingQueuedRequests float64 `perfdata:"ATQ Outstanding Queued Requests"`
|
||||
_ float64 `perfdata:"ATQ Queue Latency"`
|
||||
AtqRequestLatency float64 `perfdata:"ATQ Request Latency"`
|
||||
AtqThreadsLDAP float64 `perfdata:"ATQ Threads LDAP"`
|
||||
AtqThreadsOther float64 `perfdata:"ATQ Threads Other"`
|
||||
AtqThreadsTotal float64 `perfdata:"ATQ Threads Total"`
|
||||
BaseSearchesPerSec float64 `perfdata:"Base searches/sec"`
|
||||
DatabaseAddsPerSec float64 `perfdata:"Database adds/sec"`
|
||||
DatabaseDeletesPerSec float64 `perfdata:"Database deletes/sec"`
|
||||
DatabaseModifiesPerSec float64 `perfdata:"Database modifys/sec"`
|
||||
DatabaseRecyclesPerSec float64 `perfdata:"Database recycles/sec"`
|
||||
DigestBindsPerSec float64 `perfdata:"Digest Binds/sec"`
|
||||
_ float64 `perfdata:"DirSync session throttling rate"`
|
||||
_ float64 `perfdata:"DirSync sessions in progress"`
|
||||
DRAHighestUSNCommittedHighPart float64 `perfdata:"DRA Highest USN Committed (High part)"`
|
||||
DRAHighestUSNCommittedLowPart float64 `perfdata:"DRA Highest USN Committed (Low part)"`
|
||||
DRAHighestUSNIssuedHighPart float64 `perfdata:"DRA Highest USN Issued (High part)"`
|
||||
DRAHighestUSNIssuedLowPart float64 `perfdata:"DRA Highest USN Issued (Low part)"`
|
||||
DRAInboundBytesCompressedBetweenSitesAfterCompressionSinceBoot float64 `perfdata:"DRA Inbound Bytes Compressed (Between Sites, After Compression) Since Boot"`
|
||||
DRAInboundBytesCompressedBetweenSitesAfterCompressionPerSec float64 `perfdata:"DRA Inbound Bytes Compressed (Between Sites, After Compression)/sec"`
|
||||
DRAInboundBytesCompressedBetweenSitesBeforeCompressionSinceBoot float64 `perfdata:"DRA Inbound Bytes Compressed (Between Sites, Before Compression) Since Boot"`
|
||||
DRAInboundBytesCompressedBetweenSitesBeforeCompressionPerSec float64 `perfdata:"DRA Inbound Bytes Compressed (Between Sites, Before Compression)/sec"`
|
||||
DRAInboundBytesNotCompressedWithinSiteSinceBoot float64 `perfdata:"DRA Inbound Bytes Not Compressed (Within Site) Since Boot"`
|
||||
DRAInboundBytesNotCompressedWithinSitePerSec float64 `perfdata:"DRA Inbound Bytes Not Compressed (Within Site)/sec"`
|
||||
DRAInboundBytesTotalSinceBoot float64 `perfdata:"DRA Inbound Bytes Total Since Boot"`
|
||||
DRAInboundBytesTotalPerSec float64 `perfdata:"DRA Inbound Bytes Total/sec"`
|
||||
DRAInboundFullSyncObjectsRemaining float64 `perfdata:"DRA Inbound Full Sync Objects Remaining"`
|
||||
DRAInboundLinkValueUpdatesRemainingInPacket float64 `perfdata:"DRA Inbound Link Value Updates Remaining in Packet"`
|
||||
_ float64 `perfdata:"DRA Inbound Link Values/sec"`
|
||||
DRAInboundObjectUpdatesRemainingInPacket float64 `perfdata:"DRA Inbound Object Updates Remaining in Packet"`
|
||||
DRAInboundObjectsAppliedPerSec float64 `perfdata:"DRA Inbound Objects Applied/sec"`
|
||||
DRAInboundObjectsFilteredPerSec float64 `perfdata:"DRA Inbound Objects Filtered/sec"`
|
||||
DRAInboundObjectsPerSec float64 `perfdata:"DRA Inbound Objects/sec"`
|
||||
DRAInboundPropertiesAppliedPerSec float64 `perfdata:"DRA Inbound Properties Applied/sec"`
|
||||
DRAInboundPropertiesFilteredPerSec float64 `perfdata:"DRA Inbound Properties Filtered/sec"`
|
||||
DRAInboundPropertiesTotalPerSec float64 `perfdata:"DRA Inbound Properties Total/sec"`
|
||||
_ float64 `perfdata:"DRA Inbound Sync Link Deletion/sec"`
|
||||
DRAInboundTotalUpdatesRemainingInPacket float64 `perfdata:"DRA Inbound Total Updates Remaining in Packet"`
|
||||
DRAInboundValuesDNsOnlyPerSec float64 `perfdata:"DRA Inbound Values (DNs only)/sec"`
|
||||
DRAInboundValuesTotalPerSec float64 `perfdata:"DRA Inbound Values Total/sec"`
|
||||
_ float64 `perfdata:"DRA number of NC replication calls since boot"`
|
||||
_ float64 `perfdata:"DRA number of successful NC replication calls since boot"`
|
||||
DRAOutboundBytesCompressedBetweenSitesAfterCompressionSinceBoot float64 `perfdata:"DRA Outbound Bytes Compressed (Between Sites, After Compression) Since Boot"`
|
||||
DRAOutboundBytesCompressedBetweenSitesAfterCompressionPerSec float64 `perfdata:"DRA Outbound Bytes Compressed (Between Sites, After Compression)/sec"`
|
||||
DRAOutboundBytesCompressedBetweenSitesBeforeCompressionSinceBoot float64 `perfdata:"DRA Outbound Bytes Compressed (Between Sites, Before Compression) Since Boot"`
|
||||
DRAOutboundBytesCompressedBetweenSitesBeforeCompressionPerSec float64 `perfdata:"DRA Outbound Bytes Compressed (Between Sites, Before Compression)/sec"`
|
||||
DRAOutboundBytesNotCompressedWithinSiteSinceBoot float64 `perfdata:"DRA Outbound Bytes Not Compressed (Within Site) Since Boot"`
|
||||
DRAOutboundBytesNotCompressedWithinSitePerSec float64 `perfdata:"DRA Outbound Bytes Not Compressed (Within Site)/sec"`
|
||||
DRAOutboundBytesTotalSinceBoot float64 `perfdata:"DRA Outbound Bytes Total Since Boot"`
|
||||
DRAOutboundBytesTotalPerSec float64 `perfdata:"DRA Outbound Bytes Total/sec"`
|
||||
DRAOutboundObjectsFilteredPerSec float64 `perfdata:"DRA Outbound Objects Filtered/sec"`
|
||||
DRAOutboundObjectsPerSec float64 `perfdata:"DRA Outbound Objects/sec"`
|
||||
DRAOutboundPropertiesPerSec float64 `perfdata:"DRA Outbound Properties/sec"`
|
||||
DRAOutboundValuesDNsOnlyPerSec float64 `perfdata:"DRA Outbound Values (DNs only)/sec"`
|
||||
DRAOutboundValuesTotalPerSec float64 `perfdata:"DRA Outbound Values Total/sec"`
|
||||
DRAPendingReplicationOperations float64 `perfdata:"DRA Pending Replication Operations"`
|
||||
DRAPendingReplicationSynchronizations float64 `perfdata:"DRA Pending Replication Synchronizations"`
|
||||
DRASyncFailuresOnSchemaMismatch float64 `perfdata:"DRA Sync Failures on Schema Mismatch"`
|
||||
DRASyncRequestsMade float64 `perfdata:"DRA Sync Requests Made"`
|
||||
DRASyncRequestsSuccessful float64 `perfdata:"DRA Sync Requests Successful"`
|
||||
DRAThreadsGettingNCChanges float64 `perfdata:"DRA Threads Getting NC Changes"`
|
||||
DRAThreadsGettingNCChangesHoldingSemaphore float64 `perfdata:"DRA Threads Getting NC Changes Holding Semaphore"`
|
||||
_ float64 `perfdata:"DRA total number of Busy failures since boot"`
|
||||
_ float64 `perfdata:"DRA total number of MissingParent failures since boot"`
|
||||
_ float64 `perfdata:"DRA total number of NotEnoughAttrs/MissingObject failures since boot"`
|
||||
_ float64 `perfdata:"DRA total number of Preempted failures since boot"`
|
||||
_ float64 `perfdata:"DRA total time of applying replication package since boot"`
|
||||
_ float64 `perfdata:"DRA total time of NC replication calls since boot"`
|
||||
_ float64 `perfdata:"DRA total time of successful NC replication calls since boot"`
|
||||
_ float64 `perfdata:"DRA total time of successfully applying replication package since boot"`
|
||||
_ float64 `perfdata:"DRA total time on waiting async replication packages since boot"`
|
||||
_ float64 `perfdata:"DRA total time on waiting sync replication packages since boot"`
|
||||
DsPercentReadsFromDRA float64 `perfdata:"DS % Reads from DRA"`
|
||||
DsPercentReadsFromKCC float64 `perfdata:"DS % Reads from KCC"`
|
||||
DsPercentReadsFromLSA float64 `perfdata:"DS % Reads from LSA"`
|
||||
DsPercentReadsFromNSPI float64 `perfdata:"DS % Reads from NSPI"`
|
||||
DsPercentReadsFromNTDSAPI float64 `perfdata:"DS % Reads from NTDSAPI"`
|
||||
DsPercentReadsFromSAM float64 `perfdata:"DS % Reads from SAM"`
|
||||
DsPercentReadsOther float64 `perfdata:"DS % Reads Other"`
|
||||
DsPercentSearchesFromDRA float64 `perfdata:"DS % Searches from DRA"`
|
||||
DsPercentSearchesFromKCC float64 `perfdata:"DS % Searches from KCC"`
|
||||
DsPercentSearchesFromLDAP float64 `perfdata:"DS % Searches from LDAP"`
|
||||
DsPercentSearchesFromLSA float64 `perfdata:"DS % Searches from LSA"`
|
||||
DsPercentSearchesFromNSPI float64 `perfdata:"DS % Searches from NSPI"`
|
||||
DsPercentSearchesFromNTDSAPI float64 `perfdata:"DS % Searches from NTDSAPI"`
|
||||
DsPercentSearchesFromSAM float64 `perfdata:"DS % Searches from SAM"`
|
||||
DsPercentSearchesOther float64 `perfdata:"DS % Searches Other"`
|
||||
DsPercentWritesFromDRA float64 `perfdata:"DS % Writes from DRA"`
|
||||
DsPercentWritesFromKCC float64 `perfdata:"DS % Writes from KCC"`
|
||||
DsPercentWritesFromLDAP float64 `perfdata:"DS % Writes from LDAP"`
|
||||
DsPercentWritesFromLSA float64 `perfdata:"DS % Writes from LSA"`
|
||||
DsPercentWritesFromNSPI float64 `perfdata:"DS % Writes from NSPI"`
|
||||
DsPercentWritesFromNTDSAPI float64 `perfdata:"DS % Writes from NTDSAPI"`
|
||||
DsPercentWritesFromSAM float64 `perfdata:"DS % Writes from SAM"`
|
||||
DsPercentWritesOther float64 `perfdata:"DS % Writes Other"`
|
||||
DsClientBindsPerSec float64 `perfdata:"DS Client Binds/sec"`
|
||||
DsClientNameTranslationsPerSec float64 `perfdata:"DS Client Name Translations/sec"`
|
||||
DsDirectoryReadsPerSec float64 `perfdata:"DS Directory Reads/sec"`
|
||||
DsDirectorySearchesPerSec float64 `perfdata:"DS Directory Searches/sec"`
|
||||
DsDirectoryWritesPerSec float64 `perfdata:"DS Directory Writes/sec"`
|
||||
DsMonitorListSize float64 `perfdata:"DS Monitor List Size"`
|
||||
DsNameCacheHitRate float64 `perfdata:"DS Name Cache hit rate"`
|
||||
DsNameCacheHitRateSecondValue float64 `perfdata:"DS Name Cache hit rate,secondvalue"`
|
||||
DsNotifyQueueSize float64 `perfdata:"DS Notify Queue Size"`
|
||||
DsSearchSubOperationsPerSec float64 `perfdata:"DS Search sub-operations/sec"`
|
||||
DsSecurityDescriptorPropagationsEvents float64 `perfdata:"DS Security Descriptor Propagations Events"`
|
||||
DsSecurityDescriptorPropagatorAverageExclusionTime float64 `perfdata:"DS Security Descriptor Propagator Average Exclusion Time"`
|
||||
DsSecurityDescriptorPropagatorRuntimeQueue float64 `perfdata:"DS Security Descriptor Propagator Runtime Queue"`
|
||||
DsSecurityDescriptorSubOperationsPerSec float64 `perfdata:"DS Security Descriptor sub-operations/sec"`
|
||||
DsServerBindsPerSec float64 `perfdata:"DS Server Binds/sec"`
|
||||
DsServerNameTranslationsPerSec float64 `perfdata:"DS Server Name Translations/sec"`
|
||||
DsThreadsInUse float64 `perfdata:"DS Threads in Use"`
|
||||
_ float64 `perfdata:"Error eventlogs since boot"`
|
||||
_ float64 `perfdata:"Error events since boot"`
|
||||
ExternalBindsPerSec float64 `perfdata:"External Binds/sec"`
|
||||
FastBindsPerSec float64 `perfdata:"Fast Binds/sec"`
|
||||
_ float64 `perfdata:"Fatal events since boot"`
|
||||
_ float64 `perfdata:"Info eventlogs since boot"`
|
||||
LdapActiveThreads float64 `perfdata:"LDAP Active Threads"`
|
||||
_ float64 `perfdata:"LDAP Add Operations"`
|
||||
_ float64 `perfdata:"LDAP Add Operations/sec"`
|
||||
_ float64 `perfdata:"LDAP batch slots available"`
|
||||
LdapBindTime float64 `perfdata:"LDAP Bind Time"`
|
||||
_ float64 `perfdata:"LDAP busy retries"`
|
||||
_ float64 `perfdata:"LDAP busy retries/sec"`
|
||||
LdapClientSessions float64 `perfdata:"LDAP Client Sessions"`
|
||||
LdapClosedConnectionsPerSec float64 `perfdata:"LDAP Closed Connections/sec"`
|
||||
_ float64 `perfdata:"LDAP Delete Operations"`
|
||||
_ float64 `perfdata:"LDAP Delete Operations/sec"`
|
||||
_ float64 `perfdata:"LDAP Modify DN Operations"`
|
||||
_ float64 `perfdata:"LDAP Modify DN Operations/sec"`
|
||||
_ float64 `perfdata:"LDAP Modify Operations"`
|
||||
_ float64 `perfdata:"LDAP Modify Operations/sec"`
|
||||
LdapNewConnectionsPerSec float64 `perfdata:"LDAP New Connections/sec"`
|
||||
LdapNewSSLConnectionsPerSec float64 `perfdata:"LDAP New SSL Connections/sec"`
|
||||
_ float64 `perfdata:"LDAP Outbound Bytes"`
|
||||
_ float64 `perfdata:"LDAP Outbound Bytes/sec"`
|
||||
_ float64 `perfdata:"LDAP Page Search Cache entries count"`
|
||||
_ float64 `perfdata:"LDAP Page Search Cache size"`
|
||||
LdapSearchesPerSec float64 `perfdata:"LDAP Searches/sec"`
|
||||
LdapSuccessfulBindsPerSec float64 `perfdata:"LDAP Successful Binds/sec"`
|
||||
_ float64 `perfdata:"LDAP Threads Sleeping on BUSY"`
|
||||
LdapUDPOperationsPerSec float64 `perfdata:"LDAP UDP operations/sec"`
|
||||
LdapWritesPerSec float64 `perfdata:"LDAP Writes/sec"`
|
||||
LinkValuesCleanedPerSec float64 `perfdata:"Link Values Cleaned/sec"`
|
||||
_ float64 `perfdata:"Links added"`
|
||||
_ float64 `perfdata:"Links added/sec"`
|
||||
_ float64 `perfdata:"Links visited"`
|
||||
_ float64 `perfdata:"Links visited/sec"`
|
||||
_ float64 `perfdata:"Logical link deletes"`
|
||||
_ float64 `perfdata:"Logical link deletes/sec"`
|
||||
NegotiatedBindsPerSec float64 `perfdata:"Negotiated Binds/sec"`
|
||||
NTLMBindsPerSec float64 `perfdata:"NTLM Binds/sec"`
|
||||
_ float64 `perfdata:"Objects returned"`
|
||||
_ float64 `perfdata:"Objects returned/sec"`
|
||||
_ float64 `perfdata:"Objects visited"`
|
||||
_ float64 `perfdata:"Objects visited/sec"`
|
||||
OneLevelSearchesPerSec float64 `perfdata:"Onelevel searches/sec"`
|
||||
_ float64 `perfdata:"PDC failed password update notifications"`
|
||||
_ float64 `perfdata:"PDC password update notifications/sec"`
|
||||
_ float64 `perfdata:"PDC successful password update notifications"`
|
||||
PhantomsCleanedPerSec float64 `perfdata:"Phantoms Cleaned/sec"`
|
||||
PhantomsVisitedPerSec float64 `perfdata:"Phantoms Visited/sec"`
|
||||
_ float64 `perfdata:"Physical link deletes"`
|
||||
_ float64 `perfdata:"Physical link deletes/sec"`
|
||||
_ float64 `perfdata:"Replicate Single Object operations"`
|
||||
_ float64 `perfdata:"Replicate Single Object operations/sec"`
|
||||
_ float64 `perfdata:"RID Pool invalidations since boot"`
|
||||
_ float64 `perfdata:"RID Pool request failures since boot"`
|
||||
_ float64 `perfdata:"RID Pool request successes since boot"`
|
||||
SamAccountGroupEvaluationLatency float64 `perfdata:"SAM Account Group Evaluation Latency"`
|
||||
SamDisplayInformationQueriesPerSec float64 `perfdata:"SAM Display Information Queries/sec"`
|
||||
SamDomainLocalGroupMembershipEvaluationsPerSec float64 `perfdata:"SAM Domain Local Group Membership Evaluations/sec"`
|
||||
SamEnumerationsPerSec float64 `perfdata:"SAM Enumerations/sec"`
|
||||
SamGCEvaluationsPerSec float64 `perfdata:"SAM GC Evaluations/sec"`
|
||||
SamGlobalGroupMembershipEvaluationsPerSec float64 `perfdata:"SAM Global Group Membership Evaluations/sec"`
|
||||
SamMachineCreationAttemptsPerSec float64 `perfdata:"SAM Machine Creation Attempts/sec"`
|
||||
SamMembershipChangesPerSec float64 `perfdata:"SAM Membership Changes/sec"`
|
||||
SamNonTransitiveMembershipEvaluationsPerSec float64 `perfdata:"SAM Non-Transitive Membership Evaluations/sec"`
|
||||
SamPasswordChangesPerSec float64 `perfdata:"SAM Password Changes/sec"`
|
||||
SamResourceGroupEvaluationLatency float64 `perfdata:"SAM Resource Group Evaluation Latency"`
|
||||
SamSuccessfulComputerCreationsPerSecIncludesAllRequests float64 `perfdata:"SAM Successful Computer Creations/sec: Includes all requests"`
|
||||
SamSuccessfulUserCreationsPerSec float64 `perfdata:"SAM Successful User Creations/sec"`
|
||||
SamTransitiveMembershipEvaluationsPerSec float64 `perfdata:"SAM Transitive Membership Evaluations/sec"`
|
||||
SamUniversalGroupMembershipEvaluationsPerSec float64 `perfdata:"SAM Universal Group Membership Evaluations/sec"`
|
||||
SamUserCreationAttemptsPerSec float64 `perfdata:"SAM User Creation Attempts/sec"`
|
||||
SimpleBindsPerSec float64 `perfdata:"Simple Binds/sec"`
|
||||
SubtreeSearchesPerSec float64 `perfdata:"Subtree searches/sec"`
|
||||
TombstonesGarbageCollectedPerSec float64 `perfdata:"Tombstones Garbage Collected/sec"`
|
||||
TombstonesVisitedPerSec float64 `perfdata:"Tombstones Visited/sec"`
|
||||
TransitiveOperationsMillisecondsRun float64 `perfdata:"Transitive operations milliseconds run"`
|
||||
TransitiveOperationsPerSec float64 `perfdata:"Transitive operations/sec"`
|
||||
TransitiveSubOperationsPerSec float64 `perfdata:"Transitive suboperations/sec"`
|
||||
_ float64 `perfdata:"Warning eventlogs since boot"`
|
||||
_ float64 `perfdata:"Warning events since boot"`
|
||||
}
|
||||
Reference in New Issue
Block a user