Zabbix выгрузка данных в excel
В этом документе приводится пример настройки выгрузки метрик WAF‑ноды в систему мониторинга Zabbix с помощью утилиты collectd-nagios .
Схема работы примера¶
В этом примере рассматривается работа с единичной метрикой curl_json-wallarm_nginx/gauge-attacks , которая показывает количество атак на приложение, находящееся под защитой WAF‑ноды.
В этом документе используется следующая схема развертывания:
WAF‑нода Валарм развернута на хосте, доступном по IP‑адресу 10.0.30.5 и полному доменному имени node.example.local .
На хосте также развернут Zabbix‑агент версии 4.0 LTS, который:
- Получает значения метрик WAF‑ноды, используя утилиту collectd-nagios .
- Слушает входящие соединения на порту 10050/TCP (пассивные проверки с помощью Zabbix Appliance).
- Передает значения метрик в Zabbix Appliance.
На отдельном хосте с IP‑адресом 10.0.30.30 (далее — «хост Docker») развернут Zabbix Appliance версии 4.0 LTS в виде Docker‑контейнера.
Zabbix Appliance включает в себя:
- Сервер Zabbix, который периодически опрашивает Zabbix‑агент, установленный на хосте с WAF‑нодой, на предмет изменения значений метрик.
- Веб-интерфейс для управления сервером Zabbix, доступный на порту 80/TCP .
Настройка выгрузки метрик в Zabbix¶
- Сервис collectd настроен на выгрузку метрик через сокет домена Unix (подробнее здесь).
- На хост Docker 10.0.30.30 уже установлен Docker Community Edition.
- WAF‑нода node.example.local уже развернута, настроена, доступна для дальнейшей настройки (например, по протоколу SSH) и работает.
Развертывание Zabbix¶
Для развертывания Zabbix Appliance 4.0 LTS выполните на хосте Docker следующую команду:
Теперь у вас есть работающая система мониторинга Zabbix.
Развертывание Zabbix‑агента¶
Установите Zabbix‑агент 4.0 LTS на хост с WAF‑нодой:
Подключитесь к WAF‑ноде (например, с помощью протокола SSH). Убедитесь, что вы работаете под аккаунтом root или другим аккаунтом с правами суперпользователя.
Подключите репозитории Zabbix (используйте пункт «Install Zabbix repository» инструкции, соответствующей используемой операционной системе).
Установите Zabbix‑агент, выполнив одну из следующих команд в зависимости от используемой операционной системы:
Настройте Zabbix‑агент для работы с Zabbix Appliance. Для этого внесите следующие изменения в файл конфигурации агента /etc/zabbix/zabbix_agentd.conf :
Настройка сбора метрик с помощью Zabbix‑агента¶
Подключитесь к WAF‑ноде (например, с помощью протокола SSH) и настройте сбор метрик с помощью Zabbix‑агента. Для этого выполните следующие действия на хосте с WAF‑нодой:
1. Установите утилиту collectd_nagios .¶
Для этого выполните следующую команду:
2. Добавьте возможность запускать утилиту collectd-nagios с повышенными привилегиями от имени пользователя zabbix ¶
Для этого с помощью утилиты visudo добавьте следующую строку в файл /etc/sudoers :
Это позволит пользователю zabbix запускать утилиту collectd-nagios с правами суперпользователя с помощью утилиты sudo без ввода пароля.
Запуск collectd-nagios с правами суперпользователя
Утилита должна запускаться с правами суперпользователя, поскольку она использует сокет collectd (сокет домена Unix) для получения данных. Доступ к этому сокету есть только у суперпользователя.
Также, в качестве альтернативы добавлению пользователя zabbix в sudoers , вы можете настроить Zabbix‑агент так, чтобы он запускался с правами пользователя root (это может представлять угрозу безопасности, поэтому использовать этот способ не рекомендуется). Это достигается с помощью включения опции AllowRoot в конфигурационном файле агента.
3. Убедитесь, что пользователь zabbix может получать значения метрик от collectd ¶
Для этого выполните следующую тестовую команду на WAF‑ноде:
Эта команда позволяет пользователю zabbix получить значение метрики curl_json-wallarm_nginx/gauge-attacks (количество зафиксированных атак) для хоста node.example.local с WAF‑нодой.
Пример вывода команды:
4. Добавьте в файл конфигурации Zabbix‑агента на WAF‑ноде пользовательские параметры для получения требуемых вам метрик¶
Например, чтобы создать пользовательский параметр wallarm_nginx-gauge-attacks , который будет соответствовать метрике curl_json-wallarm_nginx/gauge-attacks для WAF‑ноды с полным доменным именем node.example.local , добавьте в файл конфигурации следующую строку:
Извлечение значения метрики
Для извлечения значения метрики, идущего после value= в выводе утилиты collectd-nagios (например, OKAY: 0 critical, 0 warning, 1 okay | value=0.000000;;;; ), используется перенаправление вывода в утилиту sed с последующим выполнением скрипта.
Обратитесь к документации sed для получения дополнительных сведений о синтаксисе его скриптов.
5. После того, как в файл конфигурации Zabbix‑агента добавлены все необходимые команды, перезапустите агент¶
Для этого выполните одну из следующих команд:
Настройка завершена¶
Теперь вы можете осуществлять мониторинг пользовательских параметров, связанных со специфичными для Валарм метриками, с помощью Zabbix.
Функции Импорта/Экспорта в Zabbix дают возможность эффективного обмена различными наборами настроек.
Данные экспортируются в XML формат, который легко читать и изменять. Случаи использования:
Пользователи Zabbix могут делиться параметрами настроек.
Универсальный формат XML делает возможной интеграцию и импорт/экспорт данных со сторонними инструментами и приложениями.
Экспортирование и импортирование карт сетей поддерживается начиная с Zabbix версии 1.8.213.2 Обзор
В настоящее время для экспортирования поддерживаются две основные категории настроек: узлы сети и связанные с ними данные, сетевые карты.
13.2.1 Импорт/Экспорт узлов сети
В Zabbix имеется возможность Импорта/Экспорта следующих данных:
13.2.2 Импорт/Экспорт карт сети
Начиная с версии 1.8.2 Zabbix поддерживает импорт/экспорт следующих элементов:
Все элементы карты, включая изображения, триггеры, узлы сети, группы узлов сети и карты сети; Все связи с сопутствующими данными, включая подписи и индикаторы состояний.Кроме того, начиная с версии 1.8.3 используемые рисунки (иконки и фоновые изображения) могут быть также экспортированы.
13.2.3 Импорт/Экспорт комплексных экранов
Zabbix поддерживает импорт/экспорт комплексных экранов и всех их элементов.
13.3 Экспорт узлов сети
В версиях Zabbix до 1.8.3, экспорт узлов сети и шаблонов доступен из Настройки → Экспорт/Импорт. Начиная с версии 1.8.3, управление импортом и экспортом доступно на соответствующих страницах (Настройки → Узлы сети и Настройки → Шаблоны).
13.3.1 Начиная с Zabbix 1.8.3
13.3.1.1 Шаг 1
Перейдите либо в Настройка → Узлы сети, либо в Настройка → Шаблоны, в зависимости от того чтобы Вы хотите экспортировать. Установите флажки рядом с экспортируемыми элементами.
13.3.1.2 Шаг 2
Убедитесь, что выбран пункт Экспортировать выбранное в выпадающем списке ниже списка узлов сети или шаблонов, затем нажмите кнопку Выполнить и сохраните файл.
13.3.2 До версии Zabbix 1.8.3
Шаг 1
Выберите элементы для экспорта
Мы выбрали узел сети “Template_Linux” и все его элементы данных и триггеры.
Шаг 2
13.4 Импорт узла сети
В Zabbix версиях ниже 1.8.3, импорт узлов сети и шаблонов доступен в Настройки → Экспорт/Импорт. Начиная с версии 1.8.3, управление импортом и экспортом доступно на соответствующих страницах настройки (Настройки → Узлы сети и Настройки → Шаблоны).
Шаг 1
Установите параметры для импортирования данных и нажмите “Импорт”.
Обратите внимание на следующие параметры:
Параметр | Описание |
---|---|
Файл для импорта | Имя XML файла. |
Правила | Элемент определяет элемент данных из XML файла. Если параметр Обновление установлен для Существующее элементов данных, то импортирование будет обновлять его в соответствии с данными взятыми из файла. В противном случае элемент данных не будет обновлен. Если параметр Добавлять установлен для Отсутствующих элементов данных, то импортирование будет добавлять новый элемент данных на основе данных из файла. В противном случае элемент данных не будет добавлен. |
13.5 Экспорт и импорт карт сети
Экспорт и импорт карт сети доступен начиная с версии 1.8.2 .Элементы управления экспортом и импортом карт сети могут быть найдены в меню Настройка → Карты сети, где отображаются все установленные карты сети.
13.5.1 Экспорт карт сети
В левом нижнем углу имеется список с доступными двумя опциями: “Экспортировать выбранное” и “Удалить”. Для экспорта карт сети:
Выберите файл, в который будет сохранено данные XML с экспортированными картами сети.
13.5.2 Импорт карт сети
Импортирование карт такое же простое как и экспортирование. Сверху справа рядом с кнопкой “Создать карту” вы можете найти новую кнопку - “Импорт карты”.
Для импортирования карты:
Нажмите на кнопку “Выбрать файл” для выбора XML файла содержащего данные о экспортированных картах сети Zabbix; Проверьте опцию “Обновить существующее”, если вы хотите обновить (перезаписать) существующие карты; Проверьте опцию “Добавить отсутствующее”, если вы хотите создать новую карту, если такой карты нет; Нажмите импорт для отправки требуемых данных веб-интерфейсу Zabbix; Подождите обновления страницы. Это может занять некоторое время, если у вас много карт для импорта или много узлов сети, триггеров и т.д.. Веб-интерфейс Zabbix сообщит вам о успешном импорте или об ошибке импорта.Диалог импорта карты | Диалог импорта карты для суперадминистратора Zabbix, отображает опции импорта изображений (доступно начиная с версии 1.8.3) |
Нажмите на ссылку “Детали” слева сверху для просмотра подробной информации о результатах импортирования, или чтобы узнать причину ошибки импорта.
13.5.3 Что экспортируется?
Экспортируется только структура карты сети. Это означает, что экспортируются все настройки карт сети, все содержащиеся элементы с их настройками, а так же все связи и индикаторы состояний связей.
13.5.4 Что не экспортируется?
Любые карты, группы узлов сети, узлы сети, триггеры, изображения или любые другие элементы связанные с экспортируемой картой не экспортируются. Это означает, что если хотя бы один элемент карты ссылается на отсутствующий элемент данных, тогда импортирование будет не успешным.
13.5.5 Формат экспорта
Например экспорт пустой карты с фоновым изображением из узла распределенной установки:
13.5.5.1 Элементы карты
Давайте возьмем XML выборку некоторых элементов карты Zabbix, например:
<selement> является открывающим тэгом для элемента (сокращение от “Элемент карты сети); <selementid> уникальный id элемента, используемый для связей на карте; <elementid> ссылка на физическую запись в Zabbix, которая изображена на карте сети (карта, группа узлов сети/узел сети и др.); <node> тэг будет присутствовать, если экспортируемая карта сделана на распределенной установке, иначе пропускается; <elementtype> описывает, что за тип элемента хранится в тэге <elementid>; При импортировании XML, значения selementid не должны совпадать с любыми значениями в существующем наборе данных - они используются только для определения связей на карте.13.5.5.2 Типы элементов и их сохранение
Тэг elementtype в экспортируемой карте может быть одним из:
Значение | Тип |
---|---|
0 | Узел сети |
1 | Карта сети |
2 | Триггер |
3 | Группа узлов сети |
4 | Изображение |
Установка DM (распределенный мониторинг)
Одиночная установка сервера
Узлы сети ссылаются по имени узла сети.
Установка DM (распределенный мониторинг)
Одиночная установка сервера
Карты ссылаются по имени карт.
Триггеры описываются более сложным способом: Установка DM (распределенный мониторинг)
Одиночная установка сервера
Триггеры ссылаются по имени узла сети, имени триггера и выражению триггера.
Установка DM (распределенный мониторинг)
Одиночная установка сервера
Группы узлов сети ссылаются по имени группы узлов сети.
Для изображений <elementid> ноды может быть пропущенным.Узлы <iconid_off>, <iconid_on>, <iconid_unknown>, <iconid_maintenance> и <iconid_disabled> описываются, какие иконки будут использоваться для элементов карты в зависимости от его состояния.
По умолчанию используется пиктограмма <iconid_off>.
Внутри блока иконки, указывается само изображение: Установка DM (распределенный мониторинг)
Одиночная установка сервера
Чтобы использовалась иконка по умолчанию для любого состояния, нода для этого состояния должна быть пропущена в блоке <selement>.
13.5.5.3 Подписи к элементам
<label> описываются подписи к элементам карты. Здесь могут использоваться макросы. <label_location> используется для позиционирования подписи к элементам:Значение | Тип |
---|---|
-1 | использовать значение по умолчанию для карты |
0 | снизу |
1 | слева |
2 | справа |
3 | сверху |
13.5.5.4 Позиционирование элемента
Тэги <x> и <y> используются для позиционирования элемента карты по координатам x и y.
13.5.5.5 Связи на карте
тэги <selemetid1> и <selementid2> используются для указания элементов карты, которые объединяет связь. <drawtype> определяет стиль связи по умолчанию:Значение | Стиль |
---|---|
0 | линия |
2 | жирная линия |
3 | точечная линия |
4 | пунктирная линия |
* <color> указывает цвет связи по умолчанию;
<linktriggers> содержит информацию о индикаторах состояния связи. <triggerid> описывает какой триггер используется для индикации состояния связи. Связанный триггер ссылается так же как и триггер элемента карты; <drawtype> и <color> используются для индикации того, как связь должна быть отрисована на карте, если этот триггер имеет наивысший уровень важности среди всех активных триггеров, присоединенных к этой связи.13.5.5.6 Изображения
Экспорт/импорт изображений поддерживается в Zabbix начиная с версии 1.8.3Эта функция дает возможность импорта и экспорта изображений, использованных в картах сети. Если экспортируемая карта сети использует какие-либо изображения, то они будут записаны в результирующий XML файл. Например, как будет выглядеть экспортированное изображение:
Значение для тэга <encodedImage> укорочено в этом примере <imagetype> - тип изображения, где 1 ⇒ иконка, 2⇒ фоновое изображениеПри импортировании, отсутствующие изображения могут быть добавлены и существующие изображения могут быть перезаписаны в зависимости от выбранных галочек. Импортирование изображений доступно только пользователем с типом Zabbix Super Admin.
Внимание: если выбрано замену существующего изображения, то это каснется всех карт сети, в которых используется это изображение. В результате будет использоваться новое изображение.Есть возможность импортировать только изображения, сняв обе галочки напротив “Карта сети”.
13.6 Экспорт и импорт комплексных экранов
Экспорт и импорт комплексных экранов доступен в Zabbix начиная с версии 1.8.2.Управление экспортом и импортом комплексных экранов вы можете найти в меню Настройка → Комплексные экраны, там где и отображаются все настройки комплексных экранов.
13.6.1 Экспортирование комплексного экрана
В левом нижнем углу имеется список в двумя опциями: “Экспортировать выбранное” и “Удалить”.
Для экспорта комплексных экранов:
Установите флажки выбора рядом с комплексными экранами, которые вы хотите экспортировать; Выберите “Экспортировать выбранное”, если вы этого еще не выбрали; Выберите где вы хотите сохранить файл, в который будут сохранены XML данные с экспортированными комплексными экранами Zabbix.13.6.2 Импортирование комплексного экрана
Импортирование комплексных экранов производить так же легко как и экспортирование. В верхнем правом углу рядом с кнопкой “Создать комплексный экран”, вы можете найти новую кнопку - “Импорт комплексного экрана”.
Для импорта комплексного экрана:
Нажмите на кнопку и выберите XML файл, содержащий экспортированные комплексные экраны Zabbix; Отметьте галочку “Обновить существующее”, если вы хотите обновить (перезаписать) существующие комплексные экраны; Отметьте галочку “Добавить отсутствующее”, если вы хотите создать новый комплексный экран, в случае если таковой отсутствует; Нажмите импорт для начала импорта требуемых данных в веб-интерфейс Zabbix; Подождите пока страница обновиться. Этот процесс может занять некоторое время если у вас много комплексных экранов для импорта или они содержат много элементов. Веб-интерфейс Zabbix сообщит о успешности или ошибке импортирования комплексных экранов. Нажмите на ссылку “Детали” в левом верхнем углу для просмотра подробной информации о том, что было сделано при импортировании или почему не удалось выполнить импорт.13.6.3 Экспортируемые данные
Экспортируется только структура комплексного экрана. Она включает все настройки комплексного экрана и все элементы комплексного экрана вместе с их настройками.
13.6.4 Не экспортируемые данные
Все, что включено в сам комплексный экран (например узел сети, группа узлов сети или любые другие данные) не экспортируются.
При импорте комплексного экрана, если любой из указанных элементов отсутствует, импорт будет завершен с ошибкой, например с такой:
13.6.5 Формат XML - определения в комплексном экране
Экспорт комплексного экрана содержит определения самого экрана и всех дополнительных элементов.
screenitem - индивидуальные элементы комплексного экрана, которые описаны ниже.13.6.6 XML формат - элементы комплексного экрана
Возможные элементы комплексного экрана и их типы (ID).
Тип ресурса | Описание |
---|---|
0 | График |
1 | Простой график |
2 | Карта сети |
3 | Простой текст |
4 | Информация об узлах сети |
5 | Информация о триггерах |
6 | Информация о сервере |
7 | Часы |
8 | Комплексный экран |
9 | Обзор триггеров |
10 | Обзор данных |
11 | Ссылка URL |
12 | История действий |
13 | История событий |
14 | Состояние триггеров группы узлов сети |
15 | Состояние системы |
16 | Состояние триггеров узла сети |
13.6.7 Формат XML - Возможные тэги элементов
Жирный текст - обязательный тэг для всех элементов;
Нормальный текст - тэг доступный для всех элементов;
Наклонный текст - тэг опционально доступный для некоторых элементов (смотрите ниже для подробных сведений).
Если <resourceid> относится к имени объекта, то он может иметь вложенные тэги. Если данные экспортируются с системы, настроенной на распределенный мониторинг, тогда нода всегда будет идентифицироваться по имени:
Например, запись о Простой график <resourceid> с системы без распределенного мониторинга будет выглядеть примерно так:
В распределенном мониторинге, она будет:
Индивидуальные описания объектов перечисляются для каждого элемента.
13.6.8 Формат XML - индивидуальные детали каждого элемента комплексного экрана, A-Z
Каждый элемент должен иметь обязательные тэги, описанные в предыдущей секции и также может иметь тэги доступные для всех элементов. Если дополнительные тэги доступны для специфичного элемента, они будут отражены здесь.
В статье описана настройка мониторинга r_keeper_7 через систему Zabbix. Мониторинг позволяет отслеживать метрики и уведомлять о превышения критических значений показателей.
Система мониторинга состоит из 2 частей:
Агенты необходимо установить на каждый компьютер, на котором хотите что-либо мониторить.
Минимальная совместимая версия r_keeper_7 — 7.06.04.
Определения и сокращения
- Триггер — настраиваемая реакция системы на событие
- Хост — объект мониторинга
Схема работы
Возможности системы
В данный момент можно мониторить:
- Версии модулей системы
- Тип модулей системы. Может иметь значения:
- Сервер справочников
- Сервер отчетов
- Станция обслуживания
В статье описана базовая настройка взаимодействия r_keeper_7 с Zabbix. Т.е. корректные настройки R-Keeper 7 и Zabbix должны открыть канал передачи метрик
Планируемые обновления
В будущем планируется создать новые триггеры и метрики. Триггеры будут реагировать на критические значения показателей, присылая уведомления.
- Число файлов в очереди выгрузки в БД SQL стало больше 10
- Число файлов в очереди на отправку на сервер уровнем выше стало больше 10
- Количество ошибок при выгрузке данных в БД SQL стало больше 0
- Метрики по сборку данных смен / онлайн данных
- Метрики по процессам синхронизации справочников
- Метрики по бизнес операциям (среднее время чека / работа систем лояльности и т. д.)
- Метрики по мониторингу доступности компонентов (основной / резервный принтеры)
Настройка Zabbix
Дальше по тексту подразумевается, что сервер уже установлен и работает.
Установка агента
Запустите файл установки агента и следуйте указаниям. Согласитесь с лицензионным соглашением.
Укажите IP-адрес компьютера, на который устанавливаете агент в поле Host name. Укажите адрес Zabbix-сервера в поле Zabbix server и порт, который он слушает. Рекомендуем поставить галочку Add agent location to the PATH, чтобы удобнее было проверять работу агента через консоль.
Выберите путь и компоненты установки, нажмите Next и Install.В результате агент установится и будет отсылать данные на сервер.
Настройка r_keeper 7
Для настройки мониторинга, необходимо настроить INI-файлы r_keeper 7. В каждом желаемом модуле отдельно.
Откройте INI-файл нужного сервера и добавьте в него записи:
Добавьте эти настройки в каждый требуемый сервер. Примеры использования:
1. Сервер справочников
2. Сервер отчетов
3. Кассовый сервер
4. Кассовая станция
Если требуется запустить службу на нестандартном порту, то в ini-файлах к IP-адресу добавьте порт с ключом "-p". Например:
Сохраните INI-файлы и перезапустите серверы.
Настройка Zabbix
Импорт шаблона
Скачайте файл шаблона по ссылке или из приложенных файлов.
Зайдите в систему.
Перейдите в раздел Configuration > Templates и нажмите в правом углу кнопку Import. В списке шаблонов появится Template App R-Keeper 7.
Выберите загруженный файл и снова нажмите кнопку Import.
Рекомендуем удалить ненужные шаблоны. Для этого отметьте их галочками и нажмите кнопку Delete внизу.Создание хостов
Чтобы создать хост, необходимо сначала создать группу. Для создания перейдите в Configuration > Host Groups и нажмите кнопку Create host group в правом углу .
Укажите название новой группы и нажмите Add
Теперь создайте сами хосты.
Перейдите в Configuration > Host и нажмите Create host- Host name — имя хоста. Разрешена только латиница без пробелов. Обязательно должно совпадать с именем, указанным в INI-файле сервера.
- Visible name — отображаемое имя. Может содержать пробелы и русский язык
- Groups — группа хостов
- Agent interfaces — адрес Zabbix-агента. Укажите здесь IP и порт с r_keeper_7, который вы хотите мониторить
- Остальные поля заполнять не нужно.
Перейдите на вкладку Templates, нажмите Add и выберите в списке шаблон Template App R-Keeper 7, установленный ранее. Это действие можно сделать позже в массовом порядке.
Хост появится в списке. Повторите действия для всех нужных хостов.
Убедитесь, что для каждого хоста выбран правильный шаблон, иначе данные отображаться не будут.На этом настройка завершена, можно переходить к наблюдению.
Мониторинг
Перейдите в раздел Monitoring > Latest data. Укажите группу в поле Host groups и нажмите Apply. В списке ниже появятся данные мониторинга. В данный момент доступна только передача версий. В будуем количество метрик будет увеличено.
Если нет данных в столбцах Last check и Last value, то значит, данные не приходят.
Решение проблем
Для проверки передачи данных на сервер Zabbix следует использовать ручной запуск консольной утилиты zabbix_sender.exe, которая устанавливается вместе с агентом. Утилита отправляет заданные данные на сервер и вы можете их увидеть в мониторинге.
Откройте командную строку и запустите утилиту zabbix_sender:В случае успешной передачи появится надпись processed: 1; failed: 0. В случае ошибок будет наоборот.
И отправленное значение метрики появится на странице мониторинга.
Описание метрик
- rk7.app.version: версия
- Версия компонента, например:
- 7.6.4.212
- 7.6.5.113
- Тип компонента, например:
- Сервер справочников ()
- Станция обслуживания (POS) ()
- Сетевое имя компонента в инфраструктуре r_keeper_7, например:
- OA-02-MIDS-001
- OA-02-CASH-001
Современный человек стремится автоматизировать как можно больше сфер своей личной и профессиональной жизни. Ранее в нашем блоге мы уже рассмотрели возможность автоматизированного сбора данных со счётчиков расхода воды в заданный период времени. В этой статье мы рассмотрим ещё один вариант автоматизации – отправку ежемесячного отчёта о данных расхода воды при помощи интеграции устройства мониторинга компании 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 линий подробно рассматриваются здесь.
Настройка системы мониторинга Zabbix для отправки e-mail отчётов.
Далее переходим в web-интерфейс системы мониторинга Zabbix. Следуя этой статье, мы добавили по два новых элемента данных для каждого из счётчиков – для получения текущих показаний расхода воды от счётчика и вычисляемые элементы данных, которые определяют расход воды за месяц:
Создадим ещё два вычисляемых элемента данных: один для счётчика холодной воды, второй для счётчика горячей, которые будут вычислять стоимость расхода воды за месяц. Переходим на страницу «Configuration → Hosts →Items»:
Нажимаем кнопку «Create Item»:
Заполняем поля в открывшейся форме, как в нашем примере:
где:
Name – название элемента данных в Zabbix. В нашем примере «Price_cold» для счётчика холодной воды и «Price_hot» для счётчика горячей воды;
Type – параметр, определяющий метод опроса элемента данных;
Ключ – уникальное имя ключа элемента данных в пределах одного узла. В нашем примере «1price» для счётчика холодной воды и «2price» для счётчика горячей воды;
Formula – арифметическое выражение для расчёта необходимых показаний на основе других элементов данных.В нашем примере мы умножаем расход воды за месяц на стоимость одного кубометра по тарифам ЖКХ. Для счётчика холодной воды последнее значение элемента данных «1month» умножаем на 33,03 руб. Для счётчика горячей воды последнее значение элемента данных «2month» умножаем на 116,86 руб (тарифы условны). Нажимаем кнопку «Add» и повторяем создание элемента данных для второго счётчика.
Далее нам необходимо настроить ежемесячную отправку отчёта на e-mail. Переходим на страницу « Administration → Media Types». Проверьте, что способ оповещения «Email» активен. Если требуется, активируйте его и произведите настройку в соответствии с документацией.
Затем переходим к настройкам пользователя Admin «Administration → Users» и добавляем новый способ оповещения на вкладке «Media». Нажи маем ссылку «Add» и в появившемся pop-up окне «Media» прописываем параметры, как в нашем примере:
где:
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 »:
Заполняем поля в открывшейся форме, как на скриншоте:
где:
Name – название триггера. В нашем примере « Monthly report cold water » для счётчика холодной воды и «Mo n thly report hot water» для счётчика горячей воды;
Severity – выбор требуемой важности триггера. Выбираем уровень важности «Information»;
Expression – логическое выражение, при истинности которого срабатывает триггер.Для настройки логического выражения нажимаем кнопку «Add» (1) и заполняем поля в открывшейся форме:
где:
Item – выбираем элемент данных, который соответствует требуемому счётчику. В нашем примере « NetPing IO v 2: 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). Повторяем создание триггера для второго счётчика расхода воды.
Затем переходим в раздел « C onfiguration → Actions» и нажимаем кнопку «Create Action»:
В открывшемся окне на вкладке «Action» заполняем поля как в нашем примере. Здесь нам необходимо отсортировать триггеры, при срабатывании которых будут отправляться e-mail отчёты:
где:
Name – уникальное имя действия. В нашем примере « Monthly report cold water » для счётчика холодной воды и «Mo n thly report hot water» для счётчика горячей воды ;
Conditions – условия, при которых будет срабатывать действие. В нашем примере имена триггеров, при срабатывании которых отправляются e - mail отчёты, « NetPing IO v 2: Monthly report cold water » для счётчика холодной воды и «NetPing IO v2: Mo n thly report hot water» для счётчика горячей воды ;
New condition – поле для создания нового условия. Добавление правил подтверждается нажатием на ссылку «Add» в поле «New condition»;
Enabled – параметр для включения и отключения данного действия.Затем переходим на вкладку «Operations» и прописываем текст e - mail отчёта , который будет отправлен при срабатывании триггера, описанного на вкладке «Action»:
В поле «Operations» нажимаем ссылку «New» и заполняем развернувшуюся форму описания действия как в нашем примере. Добавляем пользователя «Admin» в поле «Sen d to Users». В поле «Send only to» выбираем из списка тип уведомления « Email ». Подтверждаем изменения нажатием ссылки «Add» (1):
Подтверждаем создание нового действия нажатием кнопки «Add» (2). Повторяем создание триггера для второго счётчика расхода воды.
Теперь по 20 числам месяца администратор системы будет получать e - mail отчёты о месячном расходе и стоимости воды :
Таким образом, мы автоматизировали не только учёт данных о расходе воды, но и отправку отчёта с билингом.
Читайте также:
- Версия компонента, например: