Модуль мониторинга для Zabbix. Часть-2

Автор: | 24.02.2015

photoПродолжение. Предыдущая часть здесь. Про изготовление печатных плат в домашних условиях я распостраняться не буду. Благо в сети полно материалов на тему изготовления печаток. Я делал при помощи фоторезиста.
Примерно процесс видно на фото(кликабельно). Ниболее интересный момент в этой заметке это работа с заббиксом. В процессе настройки сервера zabbix для приема данных внимательно записывайте ключи.

Входы выходы у нас давно запланированы, приступаем к написанию скетча. Так как особого опыта программирования у меня нет, то за скетч прошу не ругать. Более того, если у кого-то будет желание его переписать и поделиться с общественностью, то буду только рад. По скетчу скажу только что этот вариант рабоатет стабильно уже более месяца. Проблем замечено не было. Как снять данные с АЦП в принципе примеров полно. Интереснее другое. Отправка данных на zabbix-сервер из ардуины.
Для того чтобы zabbix мог принять произвольные данные от вашего устройства, необходимо выполнить некоторые настройки в самом zabbix-сервере. Заходим на zabbiх под административной учетной записью и начинаем:
1. Нужно создать узел сети. (Настройка — Узлы сети — Создать узел сети). Имя узла сети запоминаем. Именно для этого узла сети мы будем слать данныe. Назовем его к примеру «sensors».

2.Далее необходимо создать Элемент данных для этого узла. Выбираем созданный узел сети, ИДЕМ В «Элементы данных» и создаем элемент данных «zabbix траппер». На картинке пример создания элемента.

zab1

Важно запомнить ключ для элемента данных. Вообще рекомендую сразу для себя определить нумерацию ключей элементов данных. Потому что если модулей будет несколько, то будет путаница.
Я пошел простым путем. Маркирую так: m1b1 — что означет модуль 1 батарея 1.
После того как создали все необходимые элементы. (А их должно быть 6 штук. 3 батареи + датчик тока + Температура.)
Поправляем скетч под свои элементы.
Адрес сервера zabbix. Порт в функциях отправки данных использован стандартный 10051.

[code]
/IP-адресс сервера Zabbix
IPAddress zabbix(0,0,0,0);
[/code]

И прописываем ключи для своих элементов данных. Ключи для ацп батарей прописываются ниже по коду.

[code]
char host[] = "sensors"; // точка в заббикс(название узла сети).
char base64host[100];

char base64keyb[100]; // ключ для батарей
char base64valueb[100]; // Значение для батарей

char keyc1[] = "m1c1"; // ключ для тока
char base64keyc1[100];

char key2[] = "m1l1"; // ключ для линии 220v.
char base64key2[100];

char key3[] = "m1t1"; // ключ для температуры.
char base64key3[100];

char valuec1[] = ""; // значение Тока
char base64valuec1[100];

char value2[] = ""; // значение 220v.
char base64value2[100];

char value3[] = ""; // значения Температура.
char base64value3[100];[/code]

В функции void sendbat(int ub) нужно также прописать ключи для батарей.

Скетч очень кривой, но рабочий. Было бы все таки неплохо чтобы кто-то взялся его переделать.
Собственно. Что и куда подключать нарисовано на картинке ниже. Для измерения напряжения в линии 220 вольт необходим обычный нестабилизированый источник питания c переменным напряжением 9 Вольт. То есть AC 9V.
mm

Если все сделали правильно, то через несколько минут в Zabbix (Мониторинг — последние данные) увидите показания своих датчиков с модуля.

Примеры графиков которые строятся на показаниях модуля.
Напряжение батарей:
bat

Напряжение в линии 220В:
power

Температура:
temp

Скетч для ArduinoUNO : MM10

Модуль мониторинга для Zabbix. Часть-2: 3 комментария

  1. Уведомление: Модуль мониторинга для Zabbix. Часть-1.(План и схема) - POWER-HW

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *