Как определить в реальном времени TOP Клиентских подключений с локальных систем (ПК, терминальные сервера...) через прокси-сервер Blue Coat ProxySG?

С таким вопросом ко мне как то пришли коллеги. Периодически тошнит проксю по превышению клиентских подключений и хотелось видеть список самых активных пользователей у кого больше всего текущих соединений через проксю в интернет.

Запилил обработочку, репозитарий https://github.com/dima-sheihin/zabbix-bluecoat

После настройки, можем увидеть такой вывод на борде мониторинга:

Статистика по TCP сессиям по обоим проксям в реальном времени

Что нам нужно:

Включить в BlueCoat SG протокол SNMP, выставить настройки безопасности (мы используем SNMP 3 версии протокола).

Поправим в скрипте bluecoat_top.pl настройки подключения

my $AUTH_LEVEL = "authPriv";
my $USER       = "zabbix";
my $AUTH_PRT   = "SHA";
my $AUTH_PASS  = "xxxxxxxxx";
my $PRIV_PRT   = "AES";
my $PRIV_PASS  = "xxxxxxxxx";

Установим Perl зависимости, для резолва IP адресов

Установим snmpwalk

Скопируем файлы BLUECOAT-MIB.mib и BLUECOAT-SG-PROXY-MIB.mib в каталог /usr/share/snmp/mibs/

Добавим шаблон Templates BlueCoat-TOP.xml в мониторинг zabbix (у меня шаблон с 4 версии заббикса)

Добавим шаблон Templates BlueCoat-TOP.xml к хостам BC SG в мониторинге

Поправим в файле bluecoat_top.pl параметры BC SG

$hosts{00001}->{hostname}   = "bcsg01.domain.com";
$hosts{00001}->{connection} = "172.16.0.3";
$hosts{00001}->{zbbx_tcp}   = "bluecoat_json_connState";
$hosts{00001}->{zbbx_top}   = "bluecoat_top";

$hosts{00002}->{hostname}   = "bcsg02.domain.com";
$hosts{00002}->{connection} = "172.16.0.4";
$hosts{00002}->{zbbx_tcp}   = "bluecoat_json_connState";
$hosts{00002}->{zbbx_top}   = "bluecoat_top";

{hostname} - это имя хоста в мониторинге (для правильности работы zabbix-sender)

{connection} - это IP MGMT интерфейса самой BC SG

{zbbx_tcp} и {zbbx_top} - это имена метрик, приленкованных через шаблон к хосту (хостам) BC SG

В общем все, добавим скрипт в планировщик

# crontab -e

*/10 * * * * /usr/zabbix/bluecoat_top.pl > /dev/null 2>&1

Еще в репозитарии есть шаблон Templates-BlueCoat.xml рекомендую его, довольно много метрик можно собирать с железок.