#apache #knox-gateway
#apache #knox-шлюз
Вопрос:
Я хочу создать механизм проверки работоспособности, чтобы убедиться, что я удаляю неработоспособные экземпляры Knox, настроенные за балансировщиком нагрузки.
Обычный пинг для базовых экземпляров поможет проверить, доступен ли компьютер или нет. Но это не поможет определить, исправен ли / работает ли шлюз для обслуживания входящих запросов к этому экземпляру.
Я могу сделать запрос к Knox через LB, но он получит только один экземпляр, и нет никакого способа узнать это.
Я хочу знать, есть ли какой-либо способ определить то же самое? Или есть механизм, который предусмотрен в самом Knox, хотя я могу выполнить http (небезопасный, поскольку прямые вызовы https для экземпляра не разрешены) вызов сервера шлюза и определить?
Спасибо!!
Комментарии:
1. Решения, предложенные Nithin и Sandeep, могут быть использованы для целей проверки работоспособности. Поможет проверка порта службы шлюза на машинах или обращение к службе (в случае, если к машинам под LB можно получить прямой доступ для вызова шлюза, это можно сделать из скрипта) напрямую.
Ответ №1:
Я не уверен, какой балансировщик нагрузки вы используете. Из «проверки работоспособности» я предполагаю, что вы используете эластичный балансировщик нагрузки.
Создайте проверку работоспособности с помощью протокола tcp. Он будет проверять только, открыты ли эти порты или нет. Если knox не запущен, эти экземпляры будут выведены из строя, а входящие запросы будут перенаправлены на экземпляры, которые находятся в обслуживании.
Ответ №2:
Я не знаю, как настроен ваш балансировщик нагрузки, но вы можете попробовать выполнить пинг knox_host:knox_port
напрямую, это, по крайней мере, сообщит вам, запущен ли knox и работает (и прослушивается).
Если вы хотите узнать, исправен ли Knox (в частности, ваша топология), вы можете попробовать периодически отправлять тестовый запрос и искать код ответа 200.
например
curl -i -u guest:guest-password -X GET
'http://<direct-knox>:8443/gateway/sandbox/webhdfs/v1/?op=LISTSTATUS'
Надеюсь, это поможет!