Такой вопрос. Сейчас у нас крутится реплика с 3 миллионами пользователей на двух серверах.
Возник вопрос контроля ее состояния с отдачей в заббикс.
Пока что нашли два варианта решения этой задачи:
1. На всех серверах, участвующих в реплике выполнять команду ldapsearch -x -H "ldap://reopenldap-m1" -D "cn=admin,cn=config" -w1wUZVgvCjT0V -b "dc=privatix,dc=net" -s base contextCSN
В выводе мы получаем, в том числе и строку - contextCSN: 20180731090040.366612Z#000000#001#000000
Если эти строки совпадают - то получаем валидность реплики. Если не совпадают - то не валидность.
Единственное, что - в скрипте сравнения нужно учитывать ответ, когда полностью лежит сам сервер ldap.
2. Ну тут ранний вариант. Просто снимать раз в сутки со всех участников реплики slapd-ом бекап и считать количество строк, содержащих dn, сравнивая их на двух серверах
Но, ИМХО, вариант очень плохой - из-за того, что в нем учитывается только количество записей. Да и нагружает сервера слегка.
Поэтому вопрос. Может быть есть еще какие-то методы контроля состояния реплики в openLDAP?