Muehlenhoff has submitted this change and it was merged. (
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(-)
Approvals:
Muehlenhoff: Verified; Looks good to me, approved
Filippo Giunchedi: Looks good to me, but someone else must approve
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: merged
Gerrit-Change-Id: Ie007d2fae7d525f9621c76965462a9b8e3973024
Gerrit-PatchSet: 1
Gerrit-Project: operations/debs/prometheus-openldap-exporter
Gerrit-Branch: master
Gerrit-Owner: Muehlenhoff <[email protected]>
Gerrit-Reviewer: Filippo Giunchedi <[email protected]>
Gerrit-Reviewer: Muehlenhoff <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits