Как я могу узнать, сколько подключений к моему LDAP-серверу slapd?
-
19-08-2019 - |
Вопрос
У меня есть LDAP-сервер slapd, который важен для моего приложения. Я хочу контролировать его, чтобы определить, когда он перегружен или не работает.
К сожалению, мы застряли на очень старой версии slapd, в которой есть известная ошибка: она не может справиться с более чем 64 одновременными подключениями. Если клиент пытается открыть больше блоков соединений slapd, вызывая всевозможные проблемы.
Меня попросили создать инструмент, который будет определять количество открытых соединений в любой момент - это может быть использовано в инструменте автоматического мониторинга, но как я могу узнать состояние slapd? Есть ли способ сделать это?
Решение
Лучший инструмент для этого - lsof .
lsof -i tcp:389
покажет вам все TCP-соединения с вашим сервером LDAP.
Другие советы
Не имеет отношения непосредственно к slapd, но задумывались ли вы об использовании netstat для получения количества установленных соединений?
Нечто подобное может сделать это:
netstat -na | grep ESTABLISHED | grep -E "^tcp\s+[0-9]+\s+[0-9]+\s+[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+:3306" | wc -l
Это для Ubuntu Linux - печатает количество подключений к серверу MySQL. Поэтому вам нужно изменить номер порта на 389 (или порт, который вы используете для slapd).
Вы можете использовать бэкэнд монитора для OpenLDAP, чтобы запросить у самого ldapserver номер соединения, которое он в данный момент удерживает.