工作中遇到需要监控 openldap 的问题,因为公司用的监控工具是 prometheus,所以一开始使用了一个 openldap_exporter 来抓取 openldap 的 metrics,后面就遇到了问题,监控会把 openldap 跑死,排查原因是连接的速度大于断开连接的速度,导致连接数不断增加,使得其他需要 ldap 认证的服务连接不上,所以果断放弃使用这个 exporter 监控。
决定自己写一个 python 脚本来监控 openldap,首先搜索到 python-ldap 提供 api,用于从 Python 程序访问 LDAP 目服务器。好了,接下来上脚本。
vim alert.py
import ldap
import requests
import json
l = ldap.initialize('ldap://ip:389')
binddn = "cn=Manager,dc=xxx,dc=xxx"
bindpw = "xxxxxxx"
def get_token():
url='https://qyapi.weixin.qq.com/cgi-bin/gettoken'
values = {'corpid' : 'xxx' ,
'corpsecret':'xxx',
}
req = requests.post(url, params=values)
data = json.loads(req.text)
return data["access_token"]
def send_msg(messageinfo):
url="https://qy