
- Установка Zabbix
- Настройка мониторига SNMP, HTTP, RTSP
- Настройка оповещений
- Настройка графиков
- Templates for server monitoring
- Реакции
- Zabbix и видеонаблюдение
- Настройка веб-интерфейса Zabbix
- Запуск и настройка
- Клиент Zabbix
- «Облачная линия»
- Настройки мониторинга, шаблоны, триггеры
- Графики
- Настройка удаленного мониторинга сервера
- Настройка отправки
Установка Zabbix
Для установки Zabbix:
Настройка мониторига SNMP, HTTP, RTSP
Для мониторинга камер с помощью Zabbix можно настроить следующие проверки: статус потока rtsp, доступность web-интерфейса, доступность порта rtsp. Если у камеры есть поддержка snmp, то получить все данные о состоянии камеры.
Настройка оповещений
Для настройки оповещений:
Настройка графиков
Вывод графиков доступности можно настроить во вкладке graph:


The article discusses the option of connecting a camera as a network node in zabbix to monitor operation via the SNMP3 protocol.
I hope that the article will help to solve the working problems related to this.
In life, it became necessary to monitor the performance of a camera in a remote branch of an organization, due to periodic camera failures.
Yes, many have a server to which cameras are connected. An article for those who do not have such a server or you are just wondering how else you can use zabbix
The need to deploy zabbix and monitor cameras with it arose due to the need to control them in the branch of the organization, due to their periodic shutdown.
First, let’s make the necessary settings on the camera.
We go to the web interface of the camera – in our example it is D-link
Go to the menu Advanced – SNMP
Select SNMPv3 and enter the password. We leave the encryption method SHA

Zabbix will specify SHA and DEC encryption methods, but in my example, DEC is not supported in the camera settings
Save settings and go to zabbix settings
On the already deployed zabbix, we come to the section Hosts – Create a host
Disclaimer: In the picture IP addresses are taken randomly
The New Host window will appear.
Let’s start filling in the fields
Host name – your name
Templates – click Select, a list of default templates will open – select Network Generic Device SNMP
Group of hosts – webcamer
Interfaces – Add – SNMP

Next, you need to specify the IP address of the camera that we are connecting
SNMP version – select SNMPv3
Context name-specific field in zabbix – used to enter a context name to identify an item in an SNMP subnet.
Security name – enter the name specified in the camera settings
Security level – choose authPriv
Next, enter the password and passphrase set on your camera

Click Add. If all is well, then the SNMP field is green
If yellow, red, then there is a problem

Templates for server monitoring
Standard templates can greatly help save time. But it is better to use your own templates.
For example, create a template to monitor the amount of free memory.
Add another group called My test server and a template called Test agent.
Place our group in a template and create a new data item in it.
«Name» — change for example to My Free memory.
View the full list of modes can be in the official documentation.
“Type of information” — “Numeric” (positive integer).
«Unit of measurement» — «B» (bytes).
«Update Interval» — 10 m.
“History retention period” — set the number of days that we want to store the history, for example, 3 d.
“The storage period of the dynamics of change” — change to 10 d.

Click «Add», add a trigger.
«Name» — Not enough free memory.
“Importance” is high.
In the field «Expression» we add our data element, then we select the function «Last (most recent) T value <N" (set N value to "1,000,000,000").
Thus, when the amount of free memory is less than 1 GB, our trigger will work.

After adding a data item, click «Add».
We attach this template to our network node, as we did before.
For clarity, we create a graph, the name for which can be set in Russian, for example, “Free memory”.

Create an action with sending a notification to the mail.

Контроль доступа камеры
В системе видеонаблюдения «Линия» есть возможность отправлять простые GET-запросы на сервер и получать от него ответ, что очень поможет нам в мониторинге системы. Полную спецификацию можно найти по ссылке: devline.ru/aboutweb.
Рассмотрим запрос отдельного кадра с камеры №9 на нашем сервере.
Общий вид заявки (нумерация камер от 0)
Заходим в меню «Настройки» — «Шаблоны». В шаблоне нажмите на кнопку «Веб», затем «Создать веб-скрипт».
Полное описание полей можно найти здесь.
Заполните поля:
«Имя» — Проверить камеру офиса;
«Интервал обновления» — 5 м;
«Попытки» — 3;
«Агент» — Zabbix.

«Имя» — придумываем название шага;
«URL» — из спецификации берем запрос кадра: 127.0.0.1:9786/cameras/8/image»;
«Загружать только заголовки» — примечание;
«Время ожидания» — 15 с;
«Требуемые коды состояния» — 200.

Перейти в раздел «Аутентификация»:
«Аутентификация HTTP» проста;

Заходим в «Мониторинг» — «Веб».
Мы видим наш веб-мониторинг.

Теперь в этом шаблоне мы создадим триггер.
«Имя» — указываем имя для нашего триггера.
«Выражение» — создать выражение с элементом данных «Неудачный шаг сценария — Проверить камеру офиса.
«Функция» — «Последнее (самое последнее) значение T НЕ N».
«N» — установить на 200.

Далее настраиваем действие с нашим триггером.


Выключите камеру и проверьте почту.

Реакции
Мониторинг камеры можно настроить с помощью реакций в самой программе Line.
Время — оставляем «Всегда». Условие — «Отсутствует сигнал с камеры». Действие — «Отправить письмо».
Наполняем свою почту, выбираем с какой камеры отправлять кадры и ставим интервал 5 минут.

Zabbix и видеонаблюдение
Итак, мы рассмотрели основные способы работы с системой мониторинга zabbix. Это далеко не все его возможности, но мы надеемся, что данная статья принесла вам пользу и была интересна. Надеемся, что с этими знаниями вы сможете и дальше настраивать мониторинг своей системы видеонаблюдения. Если у вас остались вопросы, мы будем рады ответить на них в комментариях.
Настройка веб-интерфейса Zabbix
Теперь можно зайти в веб-интерфейс Zabbix, для этого нужно ввести в браузере:
Нас приветствует мастер установки.
В большинстве случаев мы нажимаем «Далее».





Здесь нужно ввести установленный ранее пароль.



Перейти к профилю.

Выбор русского языка.

Измените пароль от zabbix на свой и нажмите Обновить.

Запуск и настройка
Итак, программное обеспечение Zabbix построено по принципу «сервер — агент».
Сервер собирает и хранит всю информацию, с его помощью можно быстро просмотреть историю мониторинга, настроенные узлы, добавить новые узлы, правила и т.д.
Агент устанавливается на интересующий вас компьютер.
Серверная часть Zabbix работает под управлением Linux. Так как эта статья предназначена для людей, которые впервые столкнутся с этой ОС, мы рекомендуем начать с операционной системы Ubuntu, она более дружелюбна к новичкам. Всю информацию по ней можно найти в официальном русскоязычном сообществе ubuntu.ru. Там же можно посмотреть инструкцию по установке на ПК или на виртуальную машину, например, Oracle VM VirtualBox.
После запуска системы необходимо сразу обновить пакеты вашей ОС.
Для этого откройте консоль ctrl+alt+t и введите команду
sudo apt && sudo apt
Возможно, вам придется подождать несколько минут, пока все пакеты будут обновлены.
Так же нам понадобится текстовый редактор:
sudo apt-установить mcedit
Далее переводим язык системы на русский:
Для работы с zabbix необходимо установить базу данных MySQL и веб-сервер Apache:
sudo apt mysql-mysql-apache2

Теперь установите необходимые зависимости PHP:
sudo apt php-mbstring php-bcmath php-
И перезапустите Apache:
служба перезагрузки apache2
Затем можно приступать к установке самой системы мониторинга. Пошаговая инструкция описана на официальном сайте Zabbix, давайте пройдемся по ним вместе:
1) Выберите нашу платформу для сервера Zabbix. В качестве базы данных мы используем MySQL.
2) Загрузите и установите репозиторий Zabbix:
wget /-release/zabbix-release_3.-+xenial_all.deb sudo dpkg -i zabbix-release_3.-+xenial_all.deb sudo apt update
3) Установить zabbix-server-mysql, zabbix-frontend-php и zabbix-agent,
sudo apt zabbix—mysql zabbix-frontend-php zabbix-
4) Создать базу данных MySQL для Zabbix:
Теперь заполните базу данных, это займет некоторое время:
5) Настройка конфигураций Zabbix сервера:
Откройте файл конфигурации через текстовый редактор.
Установите часовой пояс в настройках веб-сервера:
php_value max_execution_time 300 php_value memory_limit 128M php_value post_max_size 16M php_value upload_max_filesize 2M php_value max_input_time 300 php_value always_populate_raw_post_data -1 php_value date.timezone Европа/Москва php_value max_execution_time 300 php_value memory_limit 128M php_value post_max_size 16M php_value upload_max_filesize 2M php_value max_input_time 300 php_value always_populate_raw_post_data -1 php_value date.timezone Европа/Москва
И перезапустить его:
7) Готово, можно запускать Zabbix сервер:
sudo systemctl zabbix- sudo systemctl zabbix-
Делаем небольшую проверку:
статус systemctl zabbix-zabbix-agent

Клиент Zabbix
Выше показана небольшая часть работы с zabbix, теперь приступаем к самому интересному. Наша цель поставить под контроль сервер, а именно нагрузку на центральный процессор.
Итак, приступим, в этом нам поможет zabbix-agent.
Начнем с агента Windows.
Его можно скачать с официального сайта Zabbix, выбрав zabbix-agent для windows.

После нужно создать папку, в которой будет лежать наш агент, например: C:/Program Files/zabbix.
/zabbix_agents_3.4.6.win.zip/bin/win64 и из этой папки копируем 3 файла zabbix_agentd, zabbix_get и zabbix_sender в папку C:/Program Files/zabbix; Далее копируем папку /zabbix_agents_3.4.6.win.zip/conf в папку C:/Program Files/zabbix.
Должно получиться так:

LogFile = c:/zabbix_agentd.log изменить на LogFile = C:/Program Files/zabbix/zabbix_agentd.log;
# LogFileSize = 1change toLogFileSize = 100;
# EnableRemoteCommands = 0change toEnableRemoteCommands = 1;
Server=127.0.0.1 указываем IP адрес нашего сервера на котором стоит zabbix-serverServer=192.168.1.105;
# ListenPort = 10050 изменить на ListenPort = 10050;
ServerActive=127.0.0.1 указываем IP адрес нашего сервера на котором стоит zabbix-serverServerActive=192.168.1.105.
Установить сервис:
—config –установить.
Запускаем сервис:
—config –старт.

Теперь нужно создать правило для брандмауэра.
Заходим в «Панель управления» — «Система и безопасность» — «Брандмауэр Защитника Windows» — «Дополнительные параметры» — «Правила для входящих подключений» — «Создать правило». Выберите «Для программы» — «Далее» — «Путь к программе». Указываем путь к zabbix_agentd — «Далее» — «Разрешить подключение» — «Далее». Ставим галочки на всех профилях — «Далее» — «Имя» — zabbix-agent — «Далее».
Для Linux установка агента zabbix намного проще. Более того, часть работ уже выполнена при установке zabbix сервера.
На сервер видеонаблюдения необходимо скачать и установить репозиторий zabbix:
Затем установите клиент
Настройка конфигурационного файла такая же, как и для версии для windows, за исключением параметра LogFile, который трогать не нужно:
перезапуск sudo /etc/.d/zabbix-agent
Получение информации от агента
Узнать имя узла, на котором стоит zabbix-agent. Для Windows это можно посмотреть в свойствах системы.

Для Linux вы можете использовать команду traceroute IP address.

Теперь заходим в веб-интерфейс zabbix сервера. Перейдите в «Настройки» — «Узлы сети» — «Создать узел сети».
«Имя хоста» — указываем имя нашего хоста, например Олег-ПК.
«Видимое имя» — указываем понятное нам имя, например Сервер Олег-ПК.
«Агентские интерфейсы» — вводим IP адрес нашего агента 192.168.1.100.
Перейдите на вкладку «Шаблоны» и в разделе «Подключение к новым шаблонам» нажмите «Выбрать».
Мы используем стандартный шаблон.
Выберите группу Шаблоны/Операционные системы и выберите шаблон Шаблон ОС Windows. Дважды щелкните «Добавить».

Аналогично настраивается настройка получения информации с сервера на базе Linux.
Итак, мы получаем сопоставление двух серверов.

Заходим в «Мониторинг» — «Графики», выбираем нашу группу Сети — узел сети сервер-убунту и смотрим какие графики нам доступны.

На сервере Windows мы выглядим одинаково.

У нас есть стандартные триггеры, для которых вы можете настроить действия. Например:
заходим в «Настройки» — «Действия» — «Источник события» — «Триггеры» — «Создать действие».
«Имя» — Высокая загрузка ЦП.
Удалить стандартное условие и добавить новое.

В «Операции», как и раньше, настраиваем получение сообщений электронной почты.
Таким образом, мы будем получать уведомления, когда ЦП на этом узле загружен.
Полные инструкции по агенту можно получить здесь.
«Облачная линия»
Дополнительно доступность серверов мониторинга можно настроить с помощью бесплатного сервиса Line Cloud. Для этого необходимо зарегистрировать сервер на базе ПО «Линия» в сервисе.
Следующим шагом будет поставить галочку «Включить динамический DNS», ввести действующий адрес электронной почты, желаемое доменное имя и нажать «Зарегистрироваться».
Далее на указанный ящик будет выслан код подтверждения, который необходимо ввести для завершения регистрации.
После ввода кода необходимо нажать «Подтвердить».
На этом процесс включения службы динамического DNS и регистрации доменного имени завершен.
Далее заходим в сервис Line Cloud и переходим на вкладку Мониторинг. Здесь ставим галочку «Включить мониторинг» и вводим почту, на которую будут приходить письма. Также можно указать номер телефона для отправки смс-сообщений (стоимость одного смс составит 3 рубля).
Настройки мониторинга, шаблоны, триггеры
Теперь переходим к главному, а именно к настройке мониторинга.
Заходим в «Настройки» — «Группы хостов».

Здесь мы увидим ранее созданные системные группы, удалять их не нужно.
Нажмите «Создать хост-группу». Введите название группы, например, Networks. Мы пока не добавляем узлы. Нажмите «Добавить».

Так же нам понадобится группа для наших шаблонов, нажимаем «Создать группу узлов сети», в поле «Название» пишем: Шаблоны для сетей. Нажмите «Добавить».
Теперь перейдем к шаблонам: «Настройки» — «Шаблоны» — «Создать шаблон».
Поскольку мы работаем с IP-камерами и серверами, первый шаблон — это проверка узла с помощью пинга.
Введите название шаблона, например, Ping Template. Добавляем нашу группу Templates for Networks и можем добавить описание по кнопке «Добавить».

Теперь мы можем выбрать группу для шаблонов, чтобы увидеть наши шаблоны.

Добавьте в шаблон элемент данных, для этого нажмите «Элементы данных» — «Создать элементы данных».
В поле «Имя» указываем Ping.
«Ключ» — нажмите «Выбрать» и выберите первый ключ. Он вернет 1 в случае успешного пинга и 0 в случае неудачного, нам этого достаточно.

Все параметры установлены по умолчанию, поэтому удаляем все, что в квадратных скобках:
«Тип информации» — выберите «Числовой (целое положительное)».
Поле «Единица измерения» оставлено пустым.
«Интервал обновления» — здесь выбираем интервал пинга, например 60 с.
«Срок хранения истории» — с целью уменьшения размера базы поставить 1 д.
«Срок хранения динамики изменения» — 5 дн.

А еще нужно знать процент потерянных пакетов.
Добавляем сразу еще один элемент — процент потерянных пакетов.
Нажмите «Создать элемент данных».
В поле «Имя» указать потерянный пакет.
«Ключ» — нажмите «Выбрать» и выберите второй ключ.
Также удалите все, что находится в квадратных скобках.
«Тип информации» — «Числовой (с плавающей запятой)».
«Единица измерения» — введите «%».
«Интервал обновления» — 60 с.
«Срок хранения истории» — 1 д.

Графики
Для визуализации информации нам нужны диаграммы. Выберите «Графики» и нажмите «Создать график».

В поле «Имя» введите Пинг.
Снимите флажок «Отображать триггеры».
«Элементы данных» — «Добавить» — выбираем наш Пинг.

Также добавьте потерянный пакет.

Настройка удаленного мониторинга сервера
Теперь приведем пример настройки мониторинга удаленного сервера.
Теперь, например, добавим наш удаленный сервер, у которого белый IP-адрес.
Заходим в «Настройка» — «Узлы сети» — «Создать узел сети».

Задайте имя, IP-адрес, описание (необязательно) и перейдите к добавлению шаблона.

В шаблонах в поле «Подключиться с новыми шаблонами» выбираем наш шаблон для сети и дважды нажимаем «Добавить».

В узлах сети видно добавление нашего сайта. Он имеет два элемента данных, график и активное состояние.

Теперь специально отключаем сеть на несколько минут и смотрим графики.
«Мониторинг» — «Графики» — выбираем нашу группу, узел и расписание.


Настройка отправки
Чтобы получать уведомления о проблемах в системе, настройте отправку уведомлений
Выберите и удалите стандартные методы.

Теперь создайте новый способ с помощью кнопки «Создать способ оповещения».
Заполняем настройки нашего smtp-сервера.


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

Добавляем наш предмет.

«Имя» — ввести Ping fail.
«Важность» устанавливается самостоятельно, здесь «Средняя».
Создайте действие, которое будет отправлять нам оповещения при срабатывании триггеров.
«Настройка» — «Действия» — «Источник события» — «Триггеры» — «Создать действие».

Вводим название действия, удаляем стандартное условие и добавляем свой тип «Триггер» — «Выбрать».

В поле «Новое условие» нажмите «Добавить» и перейдите на вкладку «Операции».
Здесь вы можете выбрать продолжительность, тему и текст сообщения. Оставьте их по умолчанию.
«Длительность шага операции по умолчанию» — установить 10 м.
«Отправить только через» — электронная почта.
Добавляем наше действие.

Отключить сеть для проверки.

Заходим в «Мониторинг» — «Проблемы» и видим свою ошибку.

Проверяем почту и видим письмо о проблеме.

После получения письма и устранения проблемы, вы можете нажать «Нет» в колонке «Подтверждено» в «Мониторинге проблем» и подтвердить событие, поставив себе заметку.

