нужна помощь по keepalived с Ldap Скрипт разной проверки высокой доступности
Мне нужна помощь по keepalived с помощью скрипта проверки разной доступности Ldap High availability.
У нас возникла проблема с LDAP: внезапно пользователи не могли войти в систему через приложения и su - ldapuser, это повторялось дважды.
В течение этого времени на первичных серверах LDAP установлено 600 соединений, а на вторичных серверах LDAP - 1000.
Со всеми серверами приложений будет связываться через серверы поддержки активности (балансировщики нагрузки), в настоящее время у нас есть 2 фунтовых узла и 2 узла LDAP.
Дизайн LDAP является активным и активным, если первичный не работает, запросы переходят на вторичный.
Так что найти основную причину очень сложно, мы много пытались найти, поэтому мы хотели бы реализовать на уровне LB, если есть соединения с высоким, например, 600 или более, чем этот переключатель на вторичный сервер
Я обращаюсь сюда за предложениями о том, как реализовать в misc проверку, является ли проверка количества соединений допустимым или любым другим параметром, который будет использоваться для проверки содержимого, связанного с LDAP, для переключения на вторичный сервер. Даже я не хочу этого делать ssh из lb для проверки содержимого ldap, мне нужна прямая логика для проверки и переключения
В настоящее время у нас есть следующий сценарий проверки:
Скрипт мониторинга LB:
virtual_server 10.X.X.X 389 {
protocol TCP
!service_name ldap
persistence_timeout 0
sorry_server 10.X.X.X 389
lb_kind DR
real_server 10.X.X.X 389 {
MISC_CHECK {
misc_path "/monitor.sh 389 10.X.X.X"
misc_timeout 6
}
weight 1
}
lb_algo rr
delay_loop 15
Кошка monitor.sh
#!/bin/bash
port=$1
ip=$2
timeout 1s /bin/bash -c "2>/dev/null >/dev/tcp/$ip/$port"
if [ $? -eq 0 ]
then
echo "OK"
RETURN_CODE=0
else
echo "NOK"
RETURN_CODE=1
fi
exit $RETURN_CODE
Спасибо, Субхаш Кумар.
1 ответ
Одно дело проверить, открыт ли порт, но выполнение привязки LDAP позволит вам проверить, действительно ли служба отвечает на запрос LDAP.
В зависимости от реализации вашего LDAP-сервера ldapsearch для чего-либо в rootDSE и проверка разумного ответа работают хорошо.
Я предполагаю, хотя вы и не раскрываете, что это какая-то установка LDAP "linux", которая генерирует логи. Обычно эти журналы LDAP на стороне Linux предоставляют множество ответов.
Обычно в таких сценариях мы видим неправильную настройку разумного кэширования на стороне клиента Linux. Часто каждая команда, выполняемая в Linux, требует проверки авторизации и, следовательно, вызова LDAP. Даже "cd .."