Closed baszoetekouw closed 1 year ago
De contextCSN zit niet in de cn=Monitor. Ik ben benieuwd wat je interessant vindt aan cn=Monitor (ik vind het zelf nogal karig namelijk). Waar kan Zabbix de ldap-checksums vinden, hebben die nou uiteindelijk ergens een (web)plekje gekregen? update: never mind, ik zie nu dat er een ldapmonitor scriptje in /opt/ldapmonitor staat.
Mental note: de olcSizeLimit in olcDatabase={-1}frontend (500) zit /opt/ldapmonitor/ldapmonitor.sh nog in de weg.
Ik stel voor om een heel klein scriptje de losse onderdelen op te laten hoesten zodat ze makkelijker voor Zabbix te consumeren zijn:
#!/usr/bin/env python3
from flask import Flask
import json
app = Flask(__name__)
@app.route('/<command>')
def get(command):
try:
with open('status/ldap-info.txt', 'r') as f:
time = f.readline()
hash = f.readline()
csn = f.readline()
if command == 'time':
return time.strip() + "\n"
elif command == 'hash':
return hash.strip() + "\n"
elif command == 'csn':
lst = [k.strip() for k in csn.split(':')]
parts = [k.strip() for k in lst[1].split('#')]
return json.dumps(parts) + "\n"
except Exception:
return "error\n"
if __name__ == '__main__':
app.run(port=8080, debug=False)
Is dat een idee?
Een trigger over een vergelijking tussen items van meerdere hosts: https://www.zabbix.com/forum/zabbix-help/5898-can-i-directly-compare-2-items-values-in-a-trigger
Het script is nu gedeployed naar test en acc. Kun jij er een test voor aanmaken in zabbix?
Tests en triggers aangemaakt voor app1-tf1 en app2-tf2
Werkt op test.
ldapmonitor schrijft nu zinvolle dingen naar /opt/ldapmonitor/status maar die dingen komen nog niet in zabbix. We willen daar iig kunnen zien wat het tijdverschil tussen de CSNs is, en of de ldap-checksums kloppen (met een beetje slack ertussen)