Задача нужно собрать данные о текущей информации с биллинга и передать в Zabbix для быстрого просмотра. Пример выделен красным что нужно взять с биллинга, скрипт написан для 5 переменных. Описываю как подключать только одну, с остальными аналогично можно сделать.

Попробуем написать небольшой парсер который сдирает информацию выводимую биллингом.
#!/bin/bash OUT=$(/opt/BGA/bin/status.sh | grep "IP pool") case "$1" in size) echo "${OUT:100}" | sed -n 's/.*size: \([0-9]\+\).*/\1/p' ;; occupied) echo "${OUT:100}" | sed -n 's/.*occupied: \([0-9]\+\).*/\1/p' ;; reserved) echo "${OUT:100}" | sed -n 's/.*reserved: \([0-9]\+\).*/\1/p' ;; localRsrvd) echo "${OUT:100}" | sed -n 's/.*localRsrvd: \([0-9]\+\).*/\1/p' ;; fetchSize) echo "${OUT:100}" | sed -n 's/.*fetchSize: \([0-9]\+\).*/\1/p' ;; *) echo "Usage: $0 {size|occupied|reserved|localRsrvd|fetchSize}" ;; esac
В скрипте мы вызываем основной скрипт пулом адресов, а sed мы обрабатываем его в отдельную переменную.
Далее мы открываем конфиг zabbix-agent, где находим строчку UserParameter. Далее придумываем перемену которая будет брать значение полученной от скрипта.

UserParameter=bgbilling.sessions.count,/opt/BGA/bin/ipstatus.sh occupied
bgbilling.sessions.count — Переменная в которой будет хранится значение, которую будем подключать в zabbix.
/opt/BGA/bin/ipstatus.sh — Путь к исполняемому файлу
occupied — Переменная из скрипта для сдирания определенного значения, если вам нужна другая используем ее.
Проверяем программой Zabbix_get передаются ли переменные
По умолчанию в пакете приложения zabbix_get нет. Скачиваем приложения с репозитория и сразу устанавливаем.
rpm -Uvh https://repo.zabbix.com/zabbix/7.2/stable/centos/9/x86_64/zabbix-get-7.2.9-release1.el9.x86_64.rpm
Там есть и под другие версии пакетов я взял под свои ссылка на выбор подходящей. https://repo.zabbix.com/zabbix/

Пакет установили пробуем проверить переменную которая зарезервирована в zabbix
zabbix_get -s 192.168.1.122 -k bgbilling.sessions.count

Первоначально zabbix_get ругался, что права не правильные стояли. Нужны были права на запуск.
Переходим к сбору данных
Переходим в веб панель zabbix в раздел Сбор данных — Шаблоны.

Нажимает на кнопку создания Шаблона в верхнем правом углу. Заполняем поля Имя шаблона и Группы шаблонов. Нажимаем кнопку Добавить


В шаблонах находим наш шаблон в данном случаи BGBilling_Sessions нажимаем ссылку Элементы данных, для добавления наших параметров.

В разделе элементы данных нажимаем кнопку Создать элемент данных.

Далее заполняем поля Элементов данных. Имя произвольное но что бы было понятное для поиска. Параметр ключ самый главный который мы передаем с zabbix-agent

Элементы добавили осталось добавить на панель, для удобного просмотра. Переходим на нужную панель. Нажимаем Изменить панель. Потом Добавить. Выбираем тип Элементы данных. В результате вот такая штучка получается.
