Сбор данных со счётчиков. Отправка ежемесячного отчёта с биллингом, используя Zabbix

Современный человек стремится автоматизировать как можно больше сфер своей личной и профессиональной жизни. Ранее в нашем блоге мы уже рассмотрели возможность автоматизированного сбора данных со счётчиков расхода воды в заданный период времени. В этой статье мы рассмотрим ещё один вариант автоматизации – отправку ежемесячного отчёта о данных расхода воды при помощи интеграции устройства мониторинга компании NetPing с системой мониторинга Zabbix.

В отчёте необходимо отразить следующую информацию:

  • дата отправки отчёта;
  • информация о счётчике;
  • итоговый расход воды/электроэнергии за последний месяц;
  • показания на начало периода;
  • показания на конец периода;
  • итоговая сумма оплаты в рублях по тарифу

Требуемое оборудование и программное обеспечение

Для реализации отправки ежемесячных отчётов нам потребуется следующий комплект оборудования:

  • Устройство удалённого мониторинга NetPing IO v2 или UniPing v3 – 1 шт.;
  • Счётчики расхода воды с импульсным выходом – 2 шт.;
  • ПК или сервер для сбора и хранения информации с установленной системой мониторинга Zabbix – 1 шт.;
  • Локальная/глобальная сеть передачи данных – 1 шт.

Считаем, что устройство мониторинга NetPing IO v2 настроено на работу в вашей локальной сети. Подробнее ознакомиться с настройками NetPing IO v2 можно в документации. Счётчики расхода воды с импульсным выходом подключены к соответствующим линиям ввода-вывода устройства NetPing IO v2 и настроены в соответствии с рекомендациями этой статьи. Также считаем, что система мониторинга Zabbix настроена на работу с устройством мониторинга NetPing IO v2 и счётчиками расхода воды с импульсным выходом (подробнее здесь). В этом примере мы используем Zabbix версии 3.4.8.

Настройка устройства мониторинга NetPing IO v2

Для большей информативности отчётов, нужно указать памятки IO линиям устройства NetPing IO v2, к которым подключены счётчики расхода воды с импульсным выходом. Для этого переходим на страницу «Ввод-вывод» через навигационное меню под шапкой web-интерфейса устройства мониторинга NetPing IO v2 и заполняем параметр «Памятка» для IO линии 1 и IO линии 2. К сожалению, Zabbix не распознает кириллицу, переданную по протоколу SNMP, поэтому памятки нужно указать латиницей. Настройки остальных параметров IO линий подробно рассматриваются здесь.

NetPing IO v2 настройка памятки IO линии

Настройка системы мониторинга Zabbix для отправки e-mail отчётов.

Далее переходим в web-интерфейс системы мониторинга Zabbix. Следуя этой статье, мы добавили по два новых элемента данных для каждого из счётчиков – для получения текущих показаний расхода воды от счётчика и вычисляемые элементы данных, которые определяют расход воды за месяц:

Zabbix переменные

Создадим ещё два вычисляемых элемента данных: один для счётчика холодной воды, второй для счётчика горячей, которые будут вычислять стоимость расхода воды за месяц. Переходим на страницу «Configuration → Hosts →Items»:

Zabbix Configuration - Hosts - Items

Нажимаем кнопку «Create Item»:

Zabbix создание элемента данных

Заполняем поля в открывшейся форме, как в нашем примере:

Zabbix создание элемента данных параметры

где:
Name – название элемента данных в Zabbix. В нашем примере «Price_cold» для счётчика холодной воды и «Price_hot» для счётчика горячей воды;
Type – параметр, определяющий метод опроса элемента данных;
Ключ – уникальное имя ключа элемента данных в пределах одного узла. В нашем примере «1price» для счётчика холодной воды и «2price» для счётчика горячей воды;
Formula – арифметическое выражение для расчёта необходимых показаний на основе других элементов данных.

В нашем примере мы умножаем расход воды за месяц на стоимость одного кубометра по тарифам ЖКХ. Для счётчика холодной воды последнее значение элемента данных «1month» умножаем на 33,03 руб. Для счётчика горячей воды последнее значение элемента данных «2month» умножаем на 116,86 руб (тарифы условны). Нажимаем кнопку «Add» и повторяем создание элемента данных для второго счётчика.

Далее нам необходимо настроить ежемесячную отправку отчёта на e-mail. Переходим на страницу «Administration → Media Types». Проверьте, что способ оповещения «Email» активен. Если требуется, активируйте его и произведите настройку в соответствии с документацией.

Zabbix Administration - Media Types

Затем переходим к настройкам пользователя Admin «Administration → Users» и добавляем новый способ оповещения на вкладке «Media». Нажимаем ссылку «Add» и в появившемся pop-up окне «Media» прописываем параметры, как в нашем примере:

Zabbix настройки пользователя Admin

Zabbix настройка нового типа оповещения

где:
Type – параметр для выбора способов оповещения, созданных ранее в системе мониторинга Zabbix («Administration → Media Types»). В нашем случае выбираем из списка тип оповещения «Email»;
Send to – адрес ящика , на который будут отправляться e-mail отчёты;
When active – время срабатывания данного оповещения. Настройку можно оставить по умолчанию;
Use if severity – важность триггера. Чек-боксы определяют, при какой важности триггера будет срабатывать данное оповещение. В примере установлены все чек-боксы для лучшей наглядности данного параметра.
Enabled – параметр для включения и отключения данного оповещения.

Сохраняем изменения нажатием кнопок «Add» и «Update».

Далее переходим к созданию действия, при выполнении которого будут отправляться наши e-mail отчёты. В этой статье мы рассмотрим отправку e-mail отчёта с показаниями счётчиков 1 раз в месяц по 20 числам. Сначала создадим триггер, при срабатывании которого будет отправляться ежемесячный отчёт. Переходим на страницу «Configuration → Hosts →Triggers» и нажимаем кнопку «Create trigger»:

Zabbix Configuration - Hosts - Triggers

Zabbix создание триггера

Заполняем поля в открывшейся форме, как на скриншоте:

Zabbix создание триггера заполнение параметров

где:
Name – название триггера. В нашем примере «Monthly report cold water» для счётчика холодной воды и «Monthly report hot water» для счётчика горячей воды;
Severity – выбор требуемой важности триггера. Выбираем уровень важности «Information»;
Expression – логическое выражение, при истинности которого срабатывает триггер.

Для настройки логического выражения нажимаем кнопку «Add» (1) и заполняем поля в открывшейся форме:

Zabbix создание триггера настройка логического выражения

где:
Item – выбираем элемент данных, который соответствует требуемому счётчику. В нашем примере «NetPing IO v2: Water meter 1 Cold Water Supply» для счётчика холодной воды и «NetPing IO v2: Water meter 2 Hot Water Supply» для счётчика горячей воды;
Function – выбираем из выпадающего списка «Day of month is = N»;
N – указываем требуемый день месяца. В нашем примере 20.

Далее нажимаем кнопку «Insert». Остальные параметры можно оставить по умолчанию. Сохраняем изменения нажатием кнопки «Add» (2). Повторяем создание триггера для второго счётчика расхода воды.

Затем переходим в раздел «Configuration → Actions» и нажимаем кнопку «Create Action»:

Zabbix создание действия

В открывшемся окне на вкладке «Action» заполняем поля как в нашем примере. Здесь нам необходимо отсортировать триггеры, при срабатывании которых будут отправляться e-mail отчёты:

Zabbix подбор триггеров для действия

где:
Name – уникальное имя действия. В нашем примере «Monthly report cold water» для счётчика холодной воды и «Monthly report hot water» для счётчика горячей воды;
Conditions – условия, при которых будет срабатывать действие. В нашем примере имена триггеров, при срабатывании которых отправляются e-mail отчёты, «NetPing IO v2: Monthly report cold water» для счётчика холодной воды и «NetPing IO v2: Monthly report hot water» для счётчика горячей воды;
New condition – поле для создания нового условия. Добавление правил подтверждается нажатием на ссылку «Add» в поле «New condition»;
Enabled – параметр для включения и отключения данного действия.

Затем переходим на вкладку «Operations» и прописываем текст e-mail отчёта, который будет отправлен при срабатывании триггера, описанного на вкладке «Action»:

Zabbix форма описания действия

где:
Default operation step duration – длительность одного шага операции. Например, длительность шага в один час означает, что, если первая операция в данном действии выполняется, то следующая операция начнётся через один час. В нашем примере операция отправки сообщения только одна, поэтому можно оставить значение по умолчанию;
Default subject – тема сообщения по умолчанию. Тема может содержать макросы. Поддерживается кириллица. В нашем примере «Ежемесячный отчёт о расходе холодной воды» для счётчика холодной воды и «Ежемесячный отчёт о расходе горячей воды» для счётчика горячей воды;
Default message – сообщение по умолчанию. Сообщение может содержать макросы. Поддерживается кириллица. В этом поле мы пишем текст e-mail отчёта, который будет получать администратор системы по 20 числам каждого месяца. В тексте e-mail отчёта используются ссылки на созданные нами ранее элементы данных.

В поле «Operations» нажимаем ссылку «New» и заполняем развернувшуюся форму описания действия как в нашем примере. Добавляем пользователя «Admin» в поле «Send to Users». В поле «Send only to» выбираем из списка тип уведомления «Email». Подтверждаем изменения нажатием ссылки «Add» (1):

Zabbix создание действия добавление получателя сообщения

Подтверждаем создание нового действия нажатием кнопки «Add» (2). Повторяем создание триггера для второго счётчика расхода воды.

Теперь по 20 числам месяца администратор системы будет получать e-mail отчёты о месячном расходе и стоимости воды:

Итоговый ежемесячный отчёт расхода воды с биллингом, используя Zabbix

Таким образом, мы автоматизировали не только учёт данных о расходе воды, но и отправку отчёта с билингом.

?
×

    Получите бесплатную консультацию по выбору оптимального оборудования

    Наши операторы свяжутся с вами при первой возможности

    ×

      Обращение в техническую поддержку

      Сформулируйте, пожалуйста, тему и текст вашего обращения. Вам ответят в течении рабочего дня.

      ×
      Ваша заявка отправлена. Мы свяжемся с вами при первой возможности.