SURFscz / SRAM-deploy

Deploy scripts for the SCZ
Apache License 2.0
5 stars 5 forks source link

add monitoring in zabbix voor ldapmonitor #372

Closed baszoetekouw closed 1 year ago

baszoetekouw commented 2 years ago

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)

mrvanes commented 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.

mrvanes commented 1 year ago

Mental note: de olcSizeLimit in olcDatabase={-1}frontend (500) zit /opt/ldapmonitor/ldapmonitor.sh nog in de weg.

mrvanes commented 1 year ago

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?

mrvanes commented 1 year ago

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

baszoetekouw commented 1 year ago

Het script is nu gedeployed naar test en acc. Kun jij er een test voor aanmaken in zabbix?

mrvanes commented 1 year ago

Tests en triggers aangemaakt voor app1-tf1 en app2-tf2

baszoetekouw commented 1 year ago

Werkt op test.