проверка работоспособности apache knox

#apache #knox-gateway

#apache #knox-шлюз

Вопрос:

Я хочу создать механизм проверки работоспособности, чтобы убедиться, что я удаляю неработоспособные экземпляры Knox, настроенные за балансировщиком нагрузки.

Обычный пинг для базовых экземпляров поможет проверить, доступен ли компьютер или нет. Но это не поможет определить, исправен ли / работает ли шлюз для обслуживания входящих запросов к этому экземпляру.

Я могу сделать запрос к Knox через LB, но он получит только один экземпляр, и нет никакого способа узнать это.

Я хочу знать, есть ли какой-либо способ определить то же самое? Или есть механизм, который предусмотрен в самом Knox, хотя я могу выполнить http (небезопасный, поскольку прямые вызовы https для экземпляра не разрешены) вызов сервера шлюза и определить?

Спасибо!!

Комментарии:

1. Решения, предложенные Nithin и Sandeep, могут быть использованы для целей проверки работоспособности. Поможет проверка порта службы шлюза на машинах или обращение к службе (в случае, если к машинам под LB можно получить прямой доступ для вызова шлюза, это можно сделать из скрипта) напрямую.

Ответ №1:

Я не уверен, какой балансировщик нагрузки вы используете. Из «проверки работоспособности» я предполагаю, что вы используете эластичный балансировщик нагрузки.

Создайте проверку работоспособности с помощью протокола tcp. Он будет проверять только, открыты ли эти порты или нет. Если knox не запущен, эти экземпляры будут выведены из строя, а входящие запросы будут перенаправлены на экземпляры, которые находятся в обслуживании.

PFB скриншоты для того же. введите описание изображения здесь
введите описание изображения здесь
введите описание изображения здесь

Ответ №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' 
  

Надеюсь, это поможет!