понедельник, 9 января 2023 г.

Создание произвольных метрик в Zabbix агенте и их мониторинг задержек TCP соединений

 Для измерения задержек подключения к серверам и создания графа сетевого взаимодействия имеются продукты типа Cisco AppDynamics. Но в моей ситуации имеется только предустановленный zabbix agent и curl. 

Создаем метрику для измерения задержек при создании TCP соединения с хоста на сервер (DB например). Для этого будем использовать функционал CURL и на его основе создадим пользовательские метрики в zabbix агенте (добавить в /etc/zabbix/zabbix_agentd.conf   , рестарт:  service zabbix-agent restart). 

1) Измерение времени DNS-резолвинга fqdn сервера:

UserParameter=DNS_resolve_Time,curl -w "%{time_namelookup}\n" -o /dev/null -s "http://SQLXXXXX.foo.com:1433"

вывод: 0,0X sec.

2) Измерение времени установления TCP соединения (получение SYN ACK) от сервера:

UserParameter=TCP_Syn_Received_Time,curl -w "%{time_connect}\n" -o /dev/null -s "http://SQLXXXXX.foo.com:1433"

вывод: 0,0X sec.

Сумма 2-х значений - есть время создание TCP подключения от хоста к серверу(DB) по порту 1433. В Curl можно использовать "http" для определения времени TCP соединения независимо от слушающего протокола (4-го уровня) на стороне сервера. В случае, возврата "0" от Curl, значит TCP порт не слушает или запрещен. 

Также можно отслеживать количество открытых TCP сокетов следующим параметром:

3) UserParameter=net.tcp_conn,netstat -nta | wc -l

 Настройка элемента данных в сервере Zabbix.

1) Добавляем хост любым способом (если ещё не мониторится) через интерфейс zabbix agent (TCP/10050), применяем любой подходящий шаблон.

2) После появления "последних данных" для данного хоста, необходимо отклонировать любой элемент данных, дать новое название и указать в качестве ключа параметры выделенные зеленым цветом в п.п. 1-3, выше. 


3) Для отображения общего времени соединения (dns + tcp connect) удобно создать "стекируемый" график для данного хоста и выводить именно его.

Примерный вывод обоих метрик:








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

Отправить комментарий