Назад | Перейти на главную страницу

Получение кодов HTTP из балансировщика нагрузки F5

Моя среда - это 4 сервера Ubuntu 14.04, на которых работает Nginx, за балансировщиком нагрузки F5. Они отправляют метрики в Datadog, а также получают метрики из F5 через SNMP для отправки в Datadog.

Команда разработчиков должна иметь возможность отслеживать коды HTTP. Я не могу вытащить их из Nginx на стороне сервера, так как это возможно только с Nginx Plus. Я думал о том, чтобы создать какое-то внутреннее решение с чтением журналов доступа и тому подобное, но на самом деле не хочу идти по этому пути. Затем я посмотрел на F5, но тоже не смог поймать их.

Этот OID возвращает значение 0: sysStatHttpRequests::1.3.6.1.4.1.3375.2.1.1.2.1.56

Я знаю, что это неверно, так как я отправлял около 1000 HTTP-запросов на VIP в секунду. Следующее также возвращает значения 0:

sysFastHttpStatResp2xxCnt   1.3.6.1.4.1.3375.2.1.1.2.14.16
sysFastHttpStatResp3xxCnt   1.3.6.1.4.1.3375.2.1.1.2.14.17
sysFastHttpStatResp4xxCnt   1.3.6.1.4.1.3375.2.1.1.2.14.18
sysFastHttpStatResp5xxCnt   1.3.6.1.4.1.3375.2.1.1.2.14.19

SNMP работает, так как я могу получать другие метрики, такие как пропускная способность, соединения и т. Д. У кого-нибудь есть идеи, как получить метрики HTTP-кода в этой среде? Или, может быть, мне совершенно не хватает чего-то, что мне нужно настроить на F5 для этого.

РЕДАКТИРОВАТЬ: Решил мою проблему. Пришлось подготовить AVR на F5, а затем применить профиль HTTP к виртуальным серверам.

Если у вас не применен профиль fastHTTP, вы не увидите статистику по этому идентификатору. Обычные профили HTTP используют эти идентификаторы:

[root@ltm3:Active:Standalone] mibs # snmptranslate -On F5-BIGIP-SYSTEM-MIB::sysHttpStatResp2xxCnt
.1.3.6.1.4.1.3375.2.1.1.2.4.3
[root@ltm3:Active:Standalone] mibs # snmptranslate -On F5-BIGIP-SYSTEM-MIB::sysHttpStatResp3xxCnt
.1.3.6.1.4.1.3375.2.1.1.2.4.4
[root@ltm3:Active:Standalone] mibs # snmptranslate -On F5-BIGIP-SYSTEM-MIB::sysHttpStatResp4xxCnt
.1.3.6.1.4.1.3375.2.1.1.2.4.5

И если я убегу ab 10k раз против местного vip после сброса статистики и проверки 2xx oid, я вижу:

[root@ltm3:Active:Standalone] mibs # snmpget -v 2c -c public localhost .1.3.6.1.4.1.3375.2.1.1.2.4.3.0
F5-BIGIP-SYSTEM-MIB::sysHttpStatResp2xxCnt.0 = Counter64: 10000

Для того, чтобы F5 начал собирать метрики в отношении кодов ответов HTTP, мне пришлось подготовить модуль AVR на F5. Затем мне просто нужно просто применить профиль HTTP по умолчанию к моему пулу виртуальных серверов. Затем мы отслеживаем статистику HTTP-кодов, и я мог бы получить эту статистику через SNMP и отправить ее в Datadog.