Мониторинг ip камер zabbix

Сейчас уже редко найдешь офис, в котором не установлена система мониторинга, cобирающая ежедневные показатели серверов и сетевого оборудования, и отслеживающая статусы различных сервисов. Нам захотелось отслеживать количество успешных вызовов и вызовов с 500 Internal Server Error /503 Service Unavailable релизами. В интернете есть куча платных программ, которые сделают это с легкостью, но мы не ищем легких путей, к тому же, для мониторинга мы уже давно используем Zabbix и не хотелось бы от него отказываться. Собирать статистику по вызовам мы будем с помощью Voipmonitor, после чего с помощью Zabbix агента и скриптов передавать данные на Zabbix сервер, где будут прорисовываться нужные нам графики. Наш метод не претендует на самый правильный и простой, но, может быть, кому-то пригодится и будет полезным. Что мы имеем: сервер CentOS 6.6 с установленным на нем Asterisk 11, Zabbix 2.4, MySQL.

Voipmonitor – OpenSource VoIP снифер, предназначенный для оценки и контроля качества VoIP связи. VoIPmonitor перехватывает вызовы в реальном времени и сохраняет статистику и дампы файлов в БД для последующего анализа. VoIPmonitor использует снифер на базе libpcap, обнаруживает SIP INVITE пакет и перехватывает RTP в обоих направлениях. Далее используется код Jitter буфера Asterisk’а для имитации буфера и получения статистики потери пакетов и джиттера при различных величинах и типах буфера.

Первым делом обновляемся и устанавливаем нужные нам программы и пакеты:

Переходим в /usr/src/ и скачиваем нужную нам версию снифера

теперь распаковываем и устанавливаем

Теперь отредактируем конфигурационный файл /etc/voipmonitor.conf

Вносим изменения для подключения к нашей базе данных:

Указываем какой сетевой интерфейс и порт должен слушать снифер (в нашем случае все вызовы ходят через 5080):

По умолчанию снифер сохраняет весь sip и rtp трафик в pcap файлы. Нам данный функционал не нужен, так что его надо отключить:

Конфигурационный файл сопровождается очень хорошим описанием, так что при желании можно гибко настроить все под себя. Сохраняем настройки и запускаем программу

После запуска в MySQL будет создана база данных voipmonitor с различными таблицами.

Более подробно о структурах таблиц можно посмотреть тут. В нашем случае нам потребуются данные только из таблицы cdr. Теперь напишем небольшой скриптик, который будет вытягивать из базы данных voipmonitor и таблицы cdr вызовы, завершенные 500 и 503 релизом.

Создадим Bash скрипт InternalServer.sh со следующим содержимым:

U="root" – логин для подключения к Mysql

Читайте также:  Лучшие боты для телеграмма

B="voipmonitor" – База данных

select count(lastSIPresponseNum) from cdr WHERE calldate >= NOW() – INTERVAL 5 MINUTE and lastSIPresponseNum like ‘500’ GROUP BY lastSIPresponseNum;" – выводит кол-во вызовов за последние 5 минут завершенные 500 релизом.

Создадим еще один скрипт ServiceUnavailable.sh, указав там lastSIPresponseNum like ‘503’

Даем право на исполнение нашим скриптам

Переходим к установке и настройке Zabbix агента.

Если Zabbix agent не установлен, устанавливаем

и переходим к настройкам агента:

переходим в секцию Option: UserParameter и добавляем наши параметры и прописываем путь до наших скриптов

Еще нам нужно выводить кол-во активных вызовов, так что добавим еще вот такую строчку:

Теперь нужно разрешить zabbix выполнять команды sudo. Переходим /etc/sudoers и добавляем строку. Рестартим Zabbix агент

Настройка сервера Zabbix

В веб-панели Zabbix заходим в Настройки -> Шаблоны, создаем пустой шаблон и называем его, например, VoIP monitoring. Заходим в редактирование шаблона и переходим в раздел “ Элементы данных” . Нажмите на “ Создать элемент данных” в правом верхнем углу экрана, в форме введите следующие параметры:

Теперь переходим в раздел Графики, нажимаем на кнопку “ Создать график” и заполняем поля следующим образом:


Все сохраняем и к нужному узлу сети добавляем наш шаблон.

На что влияет число ядер CPU? Объясняем по-простому

Добрый день ребята, сегодня зарегистрировался в 1XBET по промокоду: 1x_99491 и мне начислили бонусы в размере 6500 рублей. Кто хочет

На что влияет число ядер CPU? Объясняем по-простому

does exercising help somebody with a low thyroid so they dont have to take synthroid cheap Valacyclovir fast shipping look what i found

На что влияет число ядер CPU? Объясняем по-простому

На что влияет число ядер CPU? Объясняем по-простому

Современные девушки – отнюдь не тургеневские барышни, томно вздыхающие от малейшего дуновения ветерка. Они прекрасно чувствуют себя наедине с

На что влияет число ядер CPU? Объясняем по-простому

Каждый бизнесмен желает, чтобы его бизнес был защищен надёжным пакетом документов, не правда ли? Именно грамотно оформленные бумаги, в том числе

На что влияет число ядер CPU? Объясняем по-простому

Каждый предприниматель хочет, чтобы его бизнес был защищен надёжным пакетом документов, не правда ли? Именно правильно оформленные бумаги, в том

На что влияет число ядер CPU? Объясняем по-простому

Массаж для вип. Кололевский Массаж. Ветка сакуры. Приглашаем на Массаж. vip.freshrelax.ru

На что влияет число ядер CPU? Объясняем по-простому

Все про эротический массаж Магия тела. Как делать эротический массаж. Способы эротического массажа. freshrelax.ru

На что влияет число ядер CPU? Объясняем по-простому

oyeoihpvy buy viagra upprxigoa pfbqswwvt zfjvhacwf Bulletproof spam hosting – abuse@moniker.com

Mattermost | Мессенджер

Select the Super Smash Bros. Downoad Final Fantasy II Anniversary Edition PSP ISO for Free, Monsters was called by a malevolent emperor to take

Реклама

Поиск по тегам

Мониторинг доступности камер в zabbix

Answer

Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry’s standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five http://jquery2dotnet.com/ centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.

Читайте также:  Мини пк i3 7100u

И так. У нас есть 13 камер, но все описывать не буду, достаточно будет только одной.
У ПО Девлайн есть возможность просматривать камеры в браузере (полноценный клиент) и в частности каждую камеру по отдельности. Ссылка имеет вид
где:
localhost – ip адрес вашего сервера видеонаблюдения
9999 – порт который указывался при установке сервера. По умолчанию 9786.

Мы будем мониторить доступность камеры по следующему адресу:

цифра 1 – номер камеры по порядку, который присваивается в момент добавления её на сервер. порядковые номера начинаются с 0!

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

Переходим в меню "Насройка – шаблоны". У шаблона жмём веб, и создаём веб сценарий со следующими параметрами

Имя – придумайте своё
Интервал обновления – можно оставить 1м, но рекомендую увеличить хотябы до 3м
Попыток – 3
Агент – zabbix

Вкладка "Шаги"

Имя – имя для шага
url – http://localhost:9999/cameras/1/image
где:
localhost – IP адрес вашего сервера видеонаблюдения
9999 – порт
1 – номер камеры
Снимаем галку у "Следовать перенаправлениям" и ставим у "Загружать только заголовки"
Время ожидания – 15с
Требуемые коды состояния – 200
После того как заполнили данные не забываем нажать кнопку "Добавить"


Вкладка "Аутентификация"
HTTP – аутентификация – простая
Пользователь – login
Пароль – pass
где
login и pass – это логин и пароль для доступа к серверу видеонаблюдения. Можно завести отдельного пользователя для этого дела, главное с правами не напутать.
После заполнения не забываем про кнопку "Добавить"


После этих манипуляций переходим в "мониторинг – веб"

Теперь для шаблона создадим тригер

Имя – указываем имя
Выражение – через кнопку добавить в новом окне:
Элемент данных – Failed step of scenario "check camera 1
Функция – последнее (самое новое) Т значение NOT N
N – 200
У меня получилось следующее:


Опять же не забываем про кнопку "добавить" 🙂

Вот в принципе и всё. У меня настроено так что все траблы с приоритетом высокое мне присылается через бота в телеграме ) как нить расскажу в следующей статье )

Почему я это все делаю, просто ставя себе задачу я решаю/нарабатываю опыт для будующих места и для своего самоудовлетворения — можно сказать, что это хобби которое слилось во едино с моей работой любых организации, вот и сейчас имеет место быть практическая задача.

Задача: Настроить сценарии мониторинга доступа к камерам Видеонаблюдения .

В существующем Zabbix сервере, план:

  • Завожу хост (Камеру) на мониторинг по порту 8 и присваиваю шаблон Template ICMP Ping
  • Далее внутри хоста (Камеры) создаю Application (к примеру, Web )
  • После настраиваю Сценарий проверяющий авторизацию по логину и паролю с целью получения ответного кода 200
  • После настраиваю trigger на проработку подключения к Web -интерфейсу камеры.
Читайте также:  Можно ли зарегистрировать брак без паспорта

Приступаю к реализации поставленного плана:

http :// IP & DNS – Configuration – Hosts – выбираю, что сделать выборку по группе Camera , наблюдаю следующие камеры добавленные ранее на мониторинг.

  • Теперь захожу в настройки камеры Camera 2 щелкнув левой кнопкой мыши по первой колонке:
  • Теперь перехожу в ApplicationsCreate Application и создаю внутри с именем: Web и нажимаю Save
  • Теперь перехожу в настройки Web scenarios – Create scenario

Name: Camera 2 Web interface

Authentication: Basic authentication

Update interval (in sec): 60

После перехожу на вкладку StepsAdd

Required status code: 200

И нажимаем Add , а после нажимаю Save для сохранения настроек Web -сценария.

Теперь на этой сценарий нужно сделать Triggers (,т.е. как обрабатывать не получения возможности зайти Zabbix сервером на камеру через Web интерфейс) — Create trigger –

Name: No access Web Interface

Item: — Select – выбираю : Camera 2: Last error message of scenario “Camera 2 Web Interface”

Function: Last (most recent) T value is NOT N

И нажимаю Insert

Enable : ставлю галку

Нажимаю Save

На этом настройки сценария для камеры 2 завершены, что имеем в конечном счете.

MonitoringWeb – здесь указаны Ваши настроенные сценарии которыми вы мониторите доступность посредством Web обращения к тем или иным ресурсам.

Переходим на созданный сценарий: — Camera 2 Web Interface

И начинаются строиться графики результатов.

Таким образом я отслеживаю доступность адресов, скорость до них и время ответа, к примеру у меня есть два шлюза и вот они переодически из-за своей древности подвисают с нагрузкой , что это значит? – если на них нельзя зайти через Web -интерфейс, то связь между офисом и производством идет с ошибками, внутренние сервисы не работают и помогает только банальная физическая перезагрузка их . Мне просто заранее нужно знать что такое произошло, чтобы поправить это дело не заостряя внимание руководства на давно известную проблему, когда офис не видит производство. И да, это уже было донесено и не раз, что оконечное оборудование находящееся на стыке нужно менять – бизнес то простаивает, но меня как бы не слышат (кажется специально, это же деньги надо вкладывать). А так заметка работоспособна, применительно к своему знанию я использую наработки мест где мне когда либо приходилось работать, а остальное дадут денег на новое оборудование или не дадут, уже не столь важно, мне главное на текущем месте где я работал это научиться всему и разобрать все что можно. Потому как мне никто ничего не рассказывал и все приходилось решать самим, но в то же время это и было лучшим. А пока все, до встречи, с уважением автор блога ekzorchik.

Читайте также:

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

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

Adblock detector