Muehlenhoff has uploaded a new change for review. (
https://gerrit.wikimedia.org/r/394331 )
Change subject: Also track operations monitoring metrics
......................................................................
Also track operations monitoring metrics
Our previously used Diamond collector also gathered metrics on LDAP
operations per second. The Prometheus exporter didn't collect these
so far, so add support for the separate container.
Change-Id: Ie007d2fae7d525f9621c76965462a9b8e3973024
---
M prometheus-openldap-exporter
1 file changed, 19 insertions(+), 0 deletions(-)
git pull
ssh://gerrit.wikimedia.org:29418/operations/debs/prometheus-openldap-exporter
refs/changes/31/394331/1
diff --git a/prometheus-openldap-exporter b/prometheus-openldap-exporter
index fe1f2a3..59241f8 100755
--- a/prometheus-openldap-exporter
+++ b/prometheus-openldap-exporter
@@ -48,7 +48,9 @@
log = Logger()
basedn = 'cn=Monitor'
+ basedn_ops = 'cn=Operations,cn=Monitor'
query = '(|(objectClass=monitorCounterObject)(objectClass=monitoredObject))'
+ query_ops = '(objectClass=monitorOperation)'
def __init__(self, request, config):
self.request = request
@@ -66,7 +68,13 @@
def isAuthenticated(self, result):
base = LDAPEntry(self.client, self.basedn)
d = base.search(filterText = self.query, attributes = ('*', '+'))
+
+ base_ops = LDAPEntry(self.client, self.basedn_ops)
+ d_ops = base.search(filterText = self.query_ops, attributes = ('*', '+'))
+
d.addCallback(self.gotResults)
+
+ d_ops.addCallback(self.gotResultsOperations)
def gotResults(self, results):
self.request.setHeader(b'Content-Type', b'text/plain; charset=utf-8;
version=0.0.4')
@@ -97,6 +105,17 @@
self.client.unbind()
self.client.transport.loseConnection()
+ def gotResultsOperations(self, results_ops):
+ for entry in results_ops:
+ if 'monitorOperation' in entry['objectClass']:
+ if 'monitorOpCompleted' in entry and
len(entry['monitorOpCompleted']) == 1:
+ try:
+ labels = 'dn="{}"'.format(entry.dn)
+ value = float(entry['monitorOpCompleted'].pop())
+ self.request.write('openldap_monitored_op{{{}}}
{}\n'.format(labels, value).encode('utf-8'))
+ except ValueError:
+ pass
+
class MetricsPage(Resource):
log = Logger()
isLeaf = True
--
To view, visit https://gerrit.wikimedia.org/r/394331
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: Ie007d2fae7d525f9621c76965462a9b8e3973024
Gerrit-PatchSet: 1
Gerrit-Project: operations/debs/prometheus-openldap-exporter
Gerrit-Branch: master
Gerrit-Owner: Muehlenhoff <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits