Мониторинг mikrotik с использованием zabbix

Введение

За основу мониторинга Mikrotik я возьму стандартный шаблон Zabbix от разработчиков. Он очень качественно сделан. Забирает информацию по snmp. Итемы и триггеры настраиваются через автообнаружение. Вот основные метрики, которые в нем реализованы:

  1. Состояние процессоров (загрузка, температура).
  2. Статус и характеристика интерфейсов (трафик, активность, ошибки, тип, скорость).
  3. Хранилища (общий объем и используемый).
  4. Использование оперативной памяти.
  5. Проверка доступности пингом.
  6. Версия прошивки, модель, система, серийный номер, расположение, описание устройства.
  7. Время работы (uptime).

Для всех основных метрик есть графики. На все значимые события настроены триггеры:

  • Высокая температура процессора.
  • Изменение серийного номера, прошивки.
  • Сетевая недоступность по icmp.
  • Высокая загрузка памяти или процессора.
  • Окончание свободного места на хранилищах.
  • Уменьшилась скорость на интерфейсе.
  • Высокая утилизация интерфейса.
  • Большое количество ошибок на интерфейсе.
  • Интерфейс отключился.

Шаблон настолько хорош и полон, что я даже не придумал, чего в нем не хватает. По метрикам есть все. Для полного мониторинга Микротика мне не хватало только оповещений о том, что к нему кто-то подключился. Я реализовал это по своему, о чем расскажу далее подробно. В двух словах мониторинг подключений выглядит так:

  1. Mikrotik отправляет логи подключений на удаленный syslog сервер.
  2. На syslog сервере логи анализирует zabbix-agent.
  3. По определенному шаблону агент определяет имя и ip адрес подключившегося к микротику и отправляет эту информацию в уведомлении.

В целом, никаких сложностей в этой настройке нет. У меня уже есть статьи по сбору логов с микротиков — отправка в elk stack и на удаленный rsyslog сервер. Сегодня я актуализирую эту информацию и опишу еще раз.

Если вы не очень хорошо знакомы с описываемым роутером, рекомендую мою статью по базовой настройке микротика.

Если у вас еще нет своего сервера для мониторинга, то рекомендую материалы на эту тему. Для тех, кто предпочитает систему CentOS:

  1. Установка CentOS 8.
  2. Настройка CentOS 8.
  3. Установка и настройка zabbix сервера.

То же самое на Debian 10, если предпочитаете его:

  1. Установка Debian 10.
  2. Базовая настройка Debian.
  3. Установка и настройка zabbix на debian.

Как это работает

  1. Zabbix-сервер получает через zabbix-агенты информацию о пакетах и об операционной системе всех серверов в инфраструктуре.
  2. Плагин (с помощью Zabbix API) получает ранее собранный Zabbix-сервером отчет об ОС. Непосредственно с серверов плагин ничего не получает. И на данном этапе не треует с ними прямого контакта.
  3. Обработав полученную от Zabbix информацию плагин передает её в Vulners. От которого в ответ получает список найденных уязвимостей, их критичность и способ устранения.
  4. Плагин обрабатывает полученные данные, агрегирует их для формирования статистики и формирует пакеты данных для передачи в Zabbix.
  5. Плагин пушит в Zabbix данные в необходимом системе мониторинга формате. Делает он это с помощью утилиты zabbix-sender. После этого вы уже имеете в мониторинге все о найденных уязвимостях, которые отображаются на показанном ранее дашборде.
  6. После подтверждения проблемы выполняется удаленная команда, которая передает плагину:
    • Имя того, кто её инициировал
    • Fix-команду исправления уязвимости
    • Cписок серверов
  7. Получив все это Zabbix Threat Control:
    • Проверяет что команда на исправление инициирована тем, кем нужно. От того, кого не нужно — он команду не принимает :)
    • Выполняет переданную ему команду на нужном количестве серверов.

По умолчанию плагин передает fix-команду на уязвимые сервера с помощью утилиты zabbix-get, обращаясь к Zabbix-агенту на целевом сервере с параметром . Такой способ подключения позволяет процессу обновления пакетов выполняться в фоне не быть привязанным к процессам zabbix-агента. Также есть возможность выполнять команду на целевом сервере через простое SSH-подключение. Способ выполнения fix-команд выбирается опцией в конфигурацоинном файле плагина.

И как результат работы — отсутствие уязвимых серверов, ваш спокойный сон и отличное настроение :)

Установка

Мы рассказали, что такое Zabbix Threat Control, зачем он нужен и как работает. Теперь расскажем как его установить и настроить!

Зависимости

Для работы плагин не требует ничего сверхестественого. Необходимо чтобы на Zabbix-сервере, на который мы ставим планиг, было следующее:

  • zabbix v3.4 для использования кастомных дашбордов (они появились только в этой версии).
  • zabbix-sender нужен для отправки в данных об уязвимостях в систему мониторинга.
  • zabbix-get для отправки fix-команд, исправляющих уязвимости, на сервера.
  • python v3 с модулями: pyzabbix, jpath, requests для запуска основных скриптов плагина.

На всех серверах, для которых требуется сканирование на уязвимости требуется только:

  • zabbix-agent для сбора данных и запуска скриптов.
  • python v2 для запуска скрипта собирающего отчет об ОС.

Установка плагина из пакетов

Для начала подключаем репозиторий с пакетами:

RPM-дистрибутивы

DEB-дистрибутивы

После этого на Zabbix-сервере устанавливаем основной пакет, обеспечивающий всю логику работы плагина и пакет, формирующий отчетность об ОС:

RPM-дистрибутивы

DEB-дистрибутивы

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

RPM-дистрибутивы

DEB-дистрибутивы

Установка из исходников

Если вы предпочитаете установку из исходиников, то сделать это тоже очень просто:

На Zabbix-сервере устанавливаем основные скрипты, обеспечивающие всю логику работы плагина и скрипт, формирующий отчетность об ОС:

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

Мониторинг Mikrotik в Zabbix по snmp

Стандартный шаблон собирает все метрики по snmp. Так что нам надо включить его на микротике. Для этого подключаемся к нему по Winbox и идем в раздел IP -> SNMP. Настраиваем работу snmp.

Мониторинг Mikrotik в Zabbix по snmp

Мы включили snmp, выставили версию 2, разрешили подключаться только с ip адреса zabbix server — 10.1.3.29. Не забудьте указать адрес своего сервера.

Сходим теперь на zabbix-server и убедимся, что мы через него можем забирать информацию с mikrotik по snmp. Для этого подключимся к нему по ssh и воспользуемся утилитой snmpwalk. Если у вас ее нет, то поставить можно командой:

Подключаемся к микротику по snmp.

Подключаемся к микротику по snmp.

Получите кучу значений в консоли. Если хотите удобно их просмотреть, направьте вывод команды в файл и почитайте его. Если подключение прошло успешно, то переходим в Web интерфейс Zabbix сервера.

Здесь нам нужно будет добавить несколько шаблонов. Для начала загрузите вот этот пак шаблонов — https://share.zabbix.com/official-templates/template-modules-pack и установите несколько штук из него:

  • template_module_generic_snmp_SNMPv2_EN.xml
  • template_module_interfaces_SNMPv2_EN.xml
  • 00template_module_icmp_ping__EN.xml

Вроде все. Но если вдруг чего-то будет не хватать, то при установке основного шаблона, он вам скажет об этом. Загружаем основной шаблон отсюда — https://share.zabbix.com/network_devices/mikrotik/template-net-mikrotik-snmpv2 и устанавливаем на сервер мониторинга

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

Лично я немного поднял пороговые значения по температуре.

Теперь нам нужно добавить в систему само устройство Mikrotik. Делаем это как обычно, не забывая указать snmp интерфейс.

И не забудьте ему подключить шаблон Template Net Mikrotik SNMPv2. После этого можно идти в Lates Data и проверять поступление информации с устройства в систему мониторинга.

Часть данных увидите сразу, а та, что поступает через правила автообнаружения, появится позже. Надо подождать. После того, как отработают все правила автообнаружения, рекомендую сходить на хост и поотключать то, что вам не нужно. К примеру, если у вас настроен capsman, то в мониторинг с мастера попадут интерфейсы cap, которые отключаются, если к точке нет подключенных клиентов по wifi. В итоге будет ненужный спам от мониторинга с точек.

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

Zabbix — Мониторинг коммутатора через SNMP

Хотите узнать, как настроить Zabbix для мониторинга коммутатора с использованием SNMP? В этом руководстве мы покажем вам, как контролировать сетевой коммутатор через SNMP-сервер Zabbix.

• Zabbix версия: 4.4.0

Прежде чем мы начнем, вам нужно настроить SNMP на вашем сетевом коммутаторе.

Вот несколько примеров конфигурации SNMP:

• Конфигурация SNMP на коммутаторе HP
• Конфигурация SNMP на коммутаторе Cisco

Список оборудования:

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

Каждое оборудование, перечисленное выше, можно найти на сайте Amazon.

Zabbix Playlist:

На этой странице мы предлагаем быстрый доступ к списку видео, связанных с установкой Zabbix.

Playlist

Не забудьте подписаться на наш канал на YouTube FKIT.

На этой странице мы предлагаем быстрый доступ к списку учебных пособий, связанных с установкой Zabbix.

Учебное пособие — Zabbix Monitor Switch через SNMP

Получите доступ к панели инструментов Zabbix-сервера и добавьте сетевой коммутатор в качестве хоста.

Откройте браузер и введите IP-адрес вашего веб-сервера плюс / zabbix.

В нашем примере в браузере был введен следующий URL:

• http://192.168.0.10/zabbix

На экране входа в систему используйте имя пользователя по умолчанию и пароль по умолчанию.

• Имя пользователя по умолчанию: Admin
• Пароль по умолчанию: zabbix

После успешного входа вы будете отправлены на Zabbix Dashboard.

На экране панели инструментов откройте меню «Конфигурация» и выберите опцию «Хост».

В правом верхнем углу экрана нажмите кнопку «Создать хост».

На экране конфигурации хоста вам нужно будет ввести следующую информацию:

• Имя хоста — введите имя хоста для идентификации коммутатора.
• Видимое имя хоста — повторите имя хоста.
• Новая группа — введите имя для идентификации группы похожих устройств.
• Интерфейс агента — нажмите на кнопку Удалить.
• Интерфейс SNMP — нажмите кнопку «Добавить» и введите IP-адрес сетевого коммутатора.

Вот оригинальное изображение, перед нашей конфигурацией.

Вот новое изображение с нашей конфигурацией.

Далее нам нужно настроить сообщество SNMP, которое Zabbix будет использовать для подключения к сетевому коммутатору.

Откройте вкладку «Макросы» в верхней части экрана.

Создайте макрос с именем: {$ SNMP_COMMUNITY}

Значение макроса {$ SNMP_COMMUNITY} должно быть сообществом сетевого коммутатора SNMP.

В нашем примере значением {$ SNMP_COMMUNITY} является GokuBlack

Далее нам нужно связать хост с определенным шаблоном сетевого монитора.

По умолчанию Zabbix поставляется с большим разнообразием шаблонов мониторинга.

Откройте вкладку «Шаблоны» в верхней части экрана.

Найдите и выберите шаблон с именем: Шаблон Net Network Generic Device SNMPv2

Нажмите на кнопку Добавить.

Через несколько минут вы сможете увидеть первоначальный результат на Zabbix Dashboard.

Окончательный результат займет не менее часа.

По умолчанию Zabbix будет ждать 1 час, чтобы определить количество интерфейсов, доступных на коммутаторе.

По умолчанию Zabbix будет ждать 1 час, прежде чем собирать информацию из интерфейсов сетевого коммутатора.

Поздравляем! Вы настроили Zabbix сервер для мониторинга сетевого коммутатора.

2020-01-08T17:13:12-03:00

Шаг 11 — Защита Zabbix (опционально)

Мой Zabbix сервер имеет реальный IP и значит его видит весь мир. Разрешим доступ к веб интерфейсу только с определённых доверенных IP. В мой конфигурации я использую Apache/2.4.41 и буду использовать директиву Require ip. Если вы используете другой веб- сервер, вам следует изучить документации того веб сервера, который используете.

В конфигурационном файле Zabbix для Apache2 /etc/apache2/conf-enabled/zabbix.conf добавим директиву Require ip с вашим IP:

<Directory "/usr/share/zabbix">
Require ip x.x.x.x

FAQ Zabbix для версии < 5

  • SNMP

  • Automated backup of Zabbix configuration (MySQL) сохранение настроек, без истории
  • Zabbix, OpenVPN, D-Link DAP-2360

  • Zabbix templates, modules & more

  • Zabbix Notifier add-on for Chrome
  • Zabbix Alert Check Extension add-on for Chrome
  • Простые проверки: ping

  • Веб-мониторинг. Доступность веб-сайтов

  • Низкоуровневое обнаружение обнаружение файловых систем; обнаружение сетевых интерфейсов; обнаружение CPU
  • Мониторинг Mikrotik в Zabbix

  • Если вы хотите изменить параметр SNMP community, то это можно сделать прямо в Zabbix: зайдите в шаблон в Configuration → Templates , в Items выделите нужные элементы галочками и внизу выберите из выпадающего списка Mass update. Или для любого устройства Host→Macros, где можно переопределить любую переменную в том числе и {$SNMP_COMMUNITY} (Пользовательские макросы).
  • Ошибка: Zabbix proxy poller processes more than 75% busy
    # nano /etc/zabbix/zabbix_server.conf
    StartPollers=20
  • Ошибка: Zabbix icmp pinger processes more than 75% busy
    # nano /etc/zabbix/zabbix_server.conf
    StartPingers=10
    StartDiscoverers=10
  • Ошибка: Zabbix unreachable poller processes more than 75% busy
    # nano /etc/zabbix/zabbix_server.conf
    StartPollersUnreachable=10

Алгоритм настройки Zabbix сервера

Первоначальная настройка:

  1. сменить шаблон для localhost’а на Template_FreeBSD (или просто отцепить шаблон)
  2. активировать мониторинг localhost’а
  3. создать нужные “Элементы данных” (items)
  4. создать на них триггеры
  5. настройки отправку сообщений по триггерам

Настройка нового шаблона:

  1. полностью клонировать из стандартного (или создать новый) шаблона
  2. удалить (добавить) необходимые элементы данных и графики. Например, можно смело удалить для всех templates серверов элемент «Number of running processes zabbix_server» кроме шаблона для localhost

Zabbix и оборудование

Мониторинг температуры с помощью NetPing TS v2 и Zabbix

Настройка и использование SSH проверки используются для безагентного мониторинга

Обратите внимание, что Zabbix агент не требуется для проверок по SSH.

Zabbix и PostgreSql

Zabbix мониторинг сервера баз данных PostgreSQL версии 8.4.9.

  • Zabbix PostgreSQL UserParameters

  • PostgreSQL 8.4.11 Documentation

  • Template Postgres. Указываем согласно руководству вместо тестовой БД «neiron» собственную. И создадим суперпользователя zabbix
    sudo -u postgres createuser zabbix
    Shall the new role be a superuser? (y/n) y

Возможности Zabbix 5

Более подробно вы можете изучить возможности на официальном сайте Что нового в Zabbix 5.0 LTS. Я хочу отметить важные для меня возможности:

  1. Zabbix можно развернуть локально или в облаке
  2. Реализована одна и та же политика источника для iframe, что означает, что Zabbix веб-интерфейс нельзя поместить во фреймы на другом домене
  3. Переписан Zabbix Agent с поддержкой плагинов и сохранением состояния
  4. Обнаружение счетчиков JMX (Java расширений управления)
  5. Обнаружение счетчиков производительности Windows
  6. Встроенная интеграция с системами ITSM (IT Service Management) — управление IT- услугами. Zabbix 5 представляет набор готовых интеграций со стандартными облачными и локальными системами ITSM: Jira, OTRS, Redmine, Zendesk, Zammad, Servicenow.
  7. Встроенные интеграции с системами оповещений: XMPP (Jabber), Telegram, Slack, Mattermost, Msteams, Victorops, PagerDuty, OpsGenie.
  8. Добавлены новые шаблоны и плагины для мониторинга различных сервисов, приложений и устройств. Большинство шаблонов теперь используют дополнительные возможности для автоматического обнаружения различных ресурсов. Из коробки существуют шаблоны Zabbix для ClickHouse, MySQL, nginx, Redis, PostgreSQL, Haproxy, Memcached, Elasticsearch.
  9. Возможность сброса SNMP кэша, изменений контекста SNMPv3

Шаблоны Zabbix в версии 5 стали более сложными с кучей макросов и автообнаружений.

Обзор

Систему создал Алексей Владышев на языке Perl. Впоследствии проект подвергся серьезным изменением, которые затронули и архитектуру. Zabbix переписали на C и PHP. Открытый исходный код появился в 2001 г., а уже через три года выпустили первую стабильную версию.

Веб-интерфейс Zabbix написан на PHP. Для хранения данных используются MySQL, Oracle, PostgreSQL, SQLite или IBM DB2.

На данный момент доступна система Zabbix 4.4. Скачать ее можно на официальном сайте. Там же можно найти официальные курсы и вебинары для начинающих пользователей системы.

Далее рассмотрим, из чего состоит и как работает технология Zabbix в доступном формате «для чайников».

В другой руке Vulners

  • Агрегатор данных об уязвимостях из более чем 115 источников
  • Удобное API для различных способов сканирования
  • Выдает данные в нормализованном, машино-читаемом виде
  • Работает очень быстро
  • Позволяет коррелировать данные из различных источников

Мы попробовали их друг с другом интегрировать и вот что из этого получилось.

Zabbix Threat Control

Это плагин к Zabbix, с открытым исходным кодом, написан на Python, который:

  • Отображает в веб-интерфейсе Zabbix информацию об уязвимостях, найденных в вашей инфраструктуре.
  • Показывает уровень угрозы каждой уязвимости по стандарту CVSS.
  • И предлагает легко применимые способы устранения найденных уязвимостей.

CVSS это открытый промышленный стандарт оценки критичности уязвимости. По сути — 10 бальная шкала.

Zabbix Moscow Meetupвидео

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Техноарена
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: