Запрос данных CLI в заббикс / На примере D-Link DFL860E

Шаблоны Zabbix для сетевых устройств
Сетевое оборудование
Аватара пользователя
Артём Мамзиков
Admin
Сообщения: 804
Стаж: 5 лет 1 месяц
Откуда: Вологодская область
Поблагодарили: 33 раза
Контактная информация:

Запрос данных CLI в заббикс / На примере D-Link DFL860E

Сообщение Артём Мамзиков »

Пример запроса данных из командной строки CLI

На примере D-Link DFL860E нужно выбрать открытые порты 25 и 443.
Если внешний IP адрес повторяется более 15 раз в таблице, срабатывает триггер.

CLI обычно работает под telnet или ssh

Создадим пользователя с паролем и правами auditors на DFL860E.

Формат запроса будет
Список соединений с отслеживаемым состоянием.
Использование
connections -show [-num=<n>] [-verbose] [-srciface=<interface>][-destiface=<interface>] [-protocol=<name/num>][-srcport=<port>] [-destport=<port>] [-srcip=<ip addr>][-destip=<ip addr>]
connections -show -num=100 -verbose -destport=25

connections - Список соединений.
-show Отображение соединений.
-num=<n> Ограничение списка до <n> соединений. По умолчанию: 20.
-verbose Подробная информация.
-srciface=<interface> Фильтрация на интерфейсе источника.
-destiface=<interface> Фильтрация на интерфейсе назначения.
-protocol=<name/num> Отображение только указанного IP-протокола.
-srcport=<port> Отображение только указанного TCP/UDP-порта источника.
-destport=<port> Отображение только указанного TCP/UDP-порта назначения.
-srcip=<ip addr> Фильтрация IP-адреса источника.
-destip=<ip addr> Фильтрация IP-адреса назначения.


Отображение соединений.
connections -close [-all] [-srciface=<interface>][-destiface=<interface>] [-protocol=<name/num>][-srcport=<port>] [-destport=<port>] [-srcip=<ip addr>][-destip=<ip addr>]

Завершение соединений.
Опции
-close Завершить все соединения, соответствующие FilterExpression (Только с правами Администратора).
-all Отметить все соединения.
-srciface=<interface> Фильтрация на интерфейсе источника.
-destiface=<interface> Фильтрация на интерфейсе назначения.
-protocol=<name/num> Отображение только указанного IP-протокола.
-srcport=<port> Отображение только указанного TCP/UDP-порта источника.
-destport=<port> Отображение только указанного TCP/UDP-порта назначения.
-srcip=<ip addr> Фильтрация IP-адреса источника.
-destip=<ip addr> Фильтрация IP-адреса назначения.

logout -выход

В Zabbix Ключи имеют следующий вид

ssh.run[<уникальное короткое описание>,<ip>,<порт>,<кодировка>]
Проверки через SSH

telnet.run[<уникальное короткое описание>,<ip>,<порт>,<кодировка>]
Проверки через Telnet

Для 25 порта получаем следующий ключ
ssh.run[cli-25-port,{HOST.CONN},22,utf-8]
CLI - запрос
CLI - запрос
CLI - запрос по ssh
CLI - запрос по ssh

Пример Шаблона
D-Link DFL860E CLI.7z
D-Link DFL860E CLI
(1.58 КБ) 14 скачиваний
Пример последних данных
Пример последних данных
СКАЧАТЬ
25.11.2022-D-Link DFL860E CLI.zip
25.11.2022-D-Link DFL860E CLI.zip
(4.1 КБ) 14 скачиваний
Шаблон D-Link DFL860E CLI
Шаблон D-Link DFL860E CLI
Макросы:
Кол-во одинаковых IP срабатывание триггера
{$KOLSMTP} > 15
{$KOLHTTP} > 15

Группы элементов данных
CLI

Элементы данных
Шаблон D-Link DFL860E CLI Элементы данных
Шаблон D-Link DFL860E CLI Элементы данных
Список соединений 25 порт TCP/UDP-назначения Destination: Кол-во Одинаковых IP на 25 порт Триггеры 1 number-of-identical-ip-25 90d Зависимый элемент данных CLI Активировано

Список соединений 25 порт TCP/UDP-назначения Destination ssh.run[cli-25-port,{HOST.CONN},22,utf-8] 1m 90d SSH агент CLI Активировано

Список соединений 443 порт ssh.run[cli-443-port,{HOST.CONN},22,utf-8] 1m 90d SSH агент CLI Активировано

Список соединений 443 порт: Кол-во Одинаковых IP на 443 порт Триггеры 1 number-of-identical-ip-443 90d Зависимый элемент данных CLI Активировано

Список соединений 25 порт telnet.run[cli-25-port,{HOST.CONN},22,utf-8] 1h 90d TELNET агент CLI Деактивировано

Кол-во Одинаковых IP на 25 порт ssh.run[cli-25-port-obr,{HOST.CONN},22,utf-8] 1m 90d SSH агент CLI Деактивировано

Кол-во Одинаковых IP на 443 порт ssh.run[cli-443-port-obr,{HOST.CONN},22,utf-8] 1m 90d SSH агент CLI Деактивировано

Список соединений 25 порт TCP/UDP-назначения Destination LAN ssh.run[cli-25-port-des,{HOST.CONN},22,utf-8] 30s 90d SSH агент CLI Деактивировано

Обратное соединений 25 порт TCP/UDP-Source/Источник LAN ssh.run[cli-25-port-source,{HOST.CONN},22,utf-8] 30s 90d SSH агент CLI Деактивировано

Зависимый Элемент данных
Кол-во одинаковых IP
Кол-во одинаковых IP
Кол-во одинаковых IP предобработка
Кол-во одинаковых IP предобработка
Кол-во одинаковых IP
Кол-во одинаковых IP
Получаем последние данные
Последние данные количество одинаковых IP внешних подключено на 25 порт
Последние данные количество одинаковых IP внешних подключено на 25 порт
Триггер
Шаблон D-Link DFL860E CLI Триггеры
Шаблон D-Link DFL860E CLI Триггеры
Средняя Кол-во Одинаковых IP на 25 порт больше {$KOLSMTP} {D-Link DFL860E CLI:number-of-identical-ip-25.iregexp(check)}=1 Активировано

Средняя Кол-во Одинаковых IP на 443 порт больше {$KOLHTTP} {D-Link DFL860E CLI:number-of-identical-ip-443.iregexp(check)}=1 Активировано

Более подробно Предобработка JavaScript - JS в Zabbix

Не плохо было бы сделать множественный триггер и вывод ip адреса который вызвал срабатывания триггера, но так как тут массив строк так не выйдет. Либо делать что то в виде обнаружения lld элементы которые превышено число одинаковых IP и сразу же триггер, обнаружение каждую минуту, если строка пропала элемент тут же удаляется с триггером.
Или построчно скидывать данные и множественный триггер.


Если необходимо вывести только превышающие вид будет таким
// Выводим результат
//return result;
// Выведем ip которые превышают порог
var spsip = result.match(/.*check\b/g);
var spsips ="["+ spsip +"]";
return spsips.replace(/check,/gi,'check\n').replace(/\[|\]/g,'')
}
количество слов: 403

Вернуться в «Коммутаторы Маршрутизаторы Роутеры»