Правильное обнаружение проблем с помощью zabbix

Zabbix как сканер безопасности +28

  • 04.07.18 08:57


isox

#416137

Хабрахабр

6800

Информационная безопасность, *nix, Блог компании Vulners

Привет! Все мы знаем и любим такие продукты для vulnerability assessment процессов как Nessus, Qualys, Max Patrol и всякие прочие OpenVAS. Одной из основных задач, которые они решают, является обеспечение контроля версионных уязвимостей.

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

Существует масса разнообразных инструментов для решения этой задачи, но у всех них с нашей точки зрения есть одна общая проблема — они требуют отдельного хлопотного развертывания и порождают в вашей инфраструктуре еще один инструмент с root-овой учетной записью. Но ведь для такого простого действия как сбор информации об установленных пакетах root не нужен! Да и обычно в инфраструктуре уже присутствуют развернутые системы с возможностью консолидации данных, совместной работы и удаленного исполнения команд на серверах. Поэтому мы решили сделать инструмент, который позволил бы в пару кликов развернуть в своей среде систему контроля уязвимостей Linux с минимальными изменениями продакшена.

Что развернуто в большинстве продуктовых систем? Конечно же мониторинг. И довольно часто это Zabbix. Так давайте к нему и прикрутимся!

В одной руке Zabbix

Все просто: распределенная система агентов, дашборды для визуализации, многопользовательская система доступа, выполнение действий по заданным критериям уже сделаны без нас. Нам не нужно изобретать велосипед и делать это все с нуля.

Прав у Zabbix-а хватает на получение информации о пакетах, куда их сложить тоже есть. Осталось их объединить и отправить на анализ в Vulners API. А затем обработать полученные знания об уязвимостях.

Но давайте начнем с небольшого вступления, что умеет Zabbix и что нам потребуется сделать.

Zabbix-агенты устанавливаются на сервера и позволяют:

  • получать широкий диапазон метрик операционной системы;
  • запускать скрипты и программы и получать результат их выполнения;
  • выполнять любые команды в отдельном процессе (fork), не зависимом от процессов Zabbix-агента;
  • работать сразу с несколькими Zabbix-серверами;
  • работать за файерволлом, инициируя соединение к серверу или же наоборот, ожидая входящих подключений.

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

  • Отправлять оповещения по различным каналам (почта, смс, мессенджеры и т.д.);
  • Подключаться к серверам по SSH или IPMI и выполнять на них различные команды;
  • Или же выполнять различные корректирующие команды на серверах используя подключения к ним Zabbix-агент;

Веб-интерфейс написан на PHP и позволят отображать собранные Zabbix-ом метрики, графики, сработавшие оповещения о проблемах, и выполненные системой мониторинга команды и действия.

Также через веб-интерфейс осуществляется администрирование Zabbix.

Zabbix API является API на основе веб и поставляется как часть веб-интерфейса. Он использует протокол JSON-RPC.

  • Позволяет получать, создавать, конфигурировать и удалять любые объекты в системе мониторинга.
  • Используя API можно с легкостью интегрировать систему мониторинга с различными внешними системами.

Однако Zabbix ничего не знает про уязвимости! Зато про них знает Vulners :)

Модуль 1: Развертывание IT инфраструктуры предприятия

1.1 Схема стенда, импорт, настройка и запуск VM gate и server

Запустите с правами Administrator

C:\cmder\Cmder.exe

λ bash

λ cd

λ git clone http://val.bmstu.ru/unix/conf.git

λ cd conf/virtualbox/

!!!! Вместо X укажите Ваш номер стенда, если не помните, спросите преподавателя !!!!

λ ./setup.sh X
# sh net_gate.sh

# init 6

server

# sh net_server.sh

# init 6

Создать в Putty профили gate, server и подключиться

1.3 настройка сервисов DNS и DHCP

gate:~# sh conf/dhcp.sh

Финальная настройка DNS сервера (понадобится в лабораторной работе про простые проверки)

server:~# sh conf/dns.sh

Настройка клиента DNS на gate и server

# cat /etc/resolv.conf
search corpX.un
nameserver 192.168.X.10
# host ns

Импорт и запуск системы client1

Модуль 5: Управление учетными записями и уведомлениями

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

5.1 Добавление учетных записей администраторов

server# cd conf/

server# git pull origin master

server# ansible-playbook ansible/roles/mail.yml
  • Включить student в группу “Zabbix administrators” (см. следующий пункт)

5.2 Настройка уведомлений о событиях

  • Можно создать группу “Don t disturb” и включить в нее пользователя Admin, что бы Zabbix не отправлял ему сообщений
  • Продемонстрировать на преподавательском стенде звуковые уведомления в браузере (в настройках профиля)
  • (Email, XMPP, PSTN)

5.3 Добавление учетных записей службы поддержки

Задание на дом:)

  • Создать группу “Zabbix responsible”
  • Назначить группе “Zabbix responsible” права на чтение элементов групп Linux servers и External Hosts. Это нужно также для получение уведомлений о срабатывании триггеров этих элементов.
  • Создать учетную запись user1/password1 с User type: “Zabbix User” и включить его в группу “Zabbix responsible”
  • user1 должен иметь права на просмотр результатов мониторинга через Web интерфейс и должен получать уведомления по электронной почте.

5.4 Настройка публичного доступа к информации в Zabbix

См. модуль 11

  1. Где можно посмотреть, какие уведомления были отправлены zabbix?
  2. Какие варианты отправки уведомлений имеются в zabbix?

Установка Zabbix Agent в Linux

Теперь установим агент Zabbix в Linux. Для установки Zabbix агента в Ubuntu Server 18.04 с помощью пакетного менеджера нужно скачать и установить репозиторий Zabbix. Затем из репозитория установим zabbix agent:

В CentOS для добавления репозитория и установки агента zabbix используется команды:

Перед тем как мы запустим zabbix агент, нужно отредактировать конфигурационный файл /etc/zabbix/zabbix_agentd.conf. В нем нужно указать IP адрес сервера Zabbix для активных проверок.

Server=IP
ServerActive=IP:10051
Hostname=testagent

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

Убедитесь, что агент успешно запустился.

Строка cannot parse list of active checks говорит о том, что на сервере нет активных проверок для этого хоста.

Как и в случае с Windows агентом, вам нужно добавить ваш Linux хост в настройках сервера Zabbix

Обратите внимание на параметр Host name в настройка хоста в интерфейсе заббикс сервера — этот параметр должен совпадать с Hostname параметром, который мы указываем в конфиге Zabbix -агента. В конфиге выше я указывал имя хоста testagent. Перезагрузите Zabbix агент и проверьте лог

Перезагрузите Zabbix агент и проверьте лог.

Проверьте, что данные от агента появились на сервере Zabbix.

На этом настройка Zabbix-агента на Linux системе завершена. В следующей статье мы рассмотрим безагентный мониторинг доступности узлов в Zabbix через ICMP Ping.

Модуль 6: Внешние проверки и пользовательские параметры

Лабораторные работы: Мониторинг с использование внешних программ/скриптов

6.1 Варианты получения результатов из внешних программ/скриптов на zabbix сервере

Демонстрирует преподаватель

  • Сервис speedtest

Недостаток технологии

Время выполнения некоторых заданий, Пример скрипта, требующего повышения привилегий, для отслеживания изменений nmap отпечатков систем, может превышать 30 секунд

Альтернативные решения

Элементы типа trapper Сервис speedtest

Обсудить решение задачи отслеживания изменений nmap отпечатков систем с использованием элемента типа traper

  • Добавление текстового для хранения отпечатка
  • Отслеживание изменения отпечатка через для триггера
  • Сравнение отпечатков в сообщениях путем

6.2 Варианты получения результатов из внешних программ/скриптов на удаленных узлах

  • Обсудить с использованием SSH
  • в zabbix-agent для получения результатов из внешних приложений, на примере мониторинга количества выданных ip сервисом DHCP
  • Обсудить использование для учета процента выданных адресов
  • Обсудить необходимость вычисляемых элементов для добавления к узлу gate графика процента выданных адресов
  • Обсудить необходимость вычисляемых элементов дла настройки триггера, срабатывающего при достижении 80-ти процентов
  1. Какое ограничение накладывает zabbix на выполнение внешних скриптов?
  2. Какие варианты имеются для запуска скриптов на удаленных системах из zabbix?
  3. Как можно передать в zabbix результаты, получаемые в течении длительного времени?

Настройка email оповещений

Указываем следующие настройки для отправки почты через gmail.

Это мы настроили адрес отправки. Теперь нужно пользователю добавить адрес для получения. Для этого идем в Administration -> Users, выбираем пользователя Admin.

Идем в закладку Media и жмем Add.

Указываем почтовый ящик получателя уведомлений.

Жмем Add, затем Update. Дальше нужно активировать отправку уведомлений по событиям. Для этого идем в Configuration -> Actions и жмем на Disabled, чтобы она стала Enabled.

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

Если вам нужны оповещения в telegram, то читайте отдельную статью на эту тему.

Подготовка сервера к установке

Начинаем традиционно с подготовки рабочего окружения. Первым делом нам необходимо установить и настроить сервер Debian 9. Дальше нам нужно настроить web сервер для работы интерфейса управления. В этой статье я буду делать стандартную установку Zabbix на традиционный веб сервер apache + php. Если вы хотите, чтобы ваш заббикс работал на веб сервере nginx + php-fpm, читайте отдельный материал по установке zabbix на nginx и php-fpm.

# apt update && apt upgrade

Работа будет проходить на следующей версии Debian:

Теперь установим mysql server — mariadb. Он необходим для хранения всей информации, которую использует zabbix.

На всякий случай упомяну для тех, кто не знает, что такое mariadb и почему мы ставим ее, а не mysql. Mariadb — ответвление mysql. Они полностью совместимы, возможен в любой момент переход с одной субд на другую и обратно. Есть информация, что mariadb пошустрее работает mysql и люди потихоньку перебираются на нее. Разработчики CentOS начиная с версии 7 и Debian, начиная с 9-й предлагают ее как сервер баз данных по-умолчанию.

# apt install mysql-server mysql-client

Запускаем mariadb и добавляем ее в автозагрузку:

# systemctl start mariadb
# systemctl enable mariadb.service

Запускаем скрипт первоначальной настройки mysql:

# /usr/bin/mysql_secure_installation

Все подготовительные работы выполнены, двигаемся дальше.

Step 5: Examples, Tips and Tricks

a. Zabbix maps examples (screenshots)

Run out of ideas for Zabbix maps? Need more examples? Check out these screenshots:

  • Zabbix maps – Example 1
  • Zabbix maps – Example 2
  • Zabbix maps – Example 3
  • Zabbix maps – Example 4

b. Configure “Map navigation tree” widget on dashboard

Zabbix has a “Map navigation tree” widget that you can use on the dashboard. “Map navigation tree” widget enables you to sort and view maps hierarchically just as shown in the example below.


Picture shows an example of Zabbix map navigation tree

First, create a dashboard just for maps or use the existing dashboard if you want to combine a “Map navigation tree” widget with others.


Picture showing how to configure a Zabbix map navigation tree widget – Step 1

On your new dasboard add “Map navigation tree” widget.


Picture showing how to configure a Zabbix map navigation tree widget – Step 2

Then add tree element (map) on the “Map navigation tree” widget.


Picture showing how to configure a Zabbix map navigation tree widget – Step 3

Great job! Now we must define “Map” widget on the same dashboard that will render maps from “Map navigation tree” widget.


Picture showing how to configure a Zabbix map navigation tree widget – Step 4

Add other maps in a hierarchical way or as you wish.


Picture showing how to configure a Zabbix map navigation tree widget – Step 5

c. Custom background image in Zabbix map

You can set custom background image in Zabbix maps.

First, you need to upload the image to Zabbix image repository just as shown in the picture below.


Picture showing how to add custom background image on Zabbix for use on maps

Second, you need to open “Properties” of the map and set your newly added image file as a “Background image”.


Picture showing how to set custom background image on Zabbix map

Thank you for reading.

Модуль 11: Дополнительные возможности визуализации результатов мониторинга в Zabbix

11.1 Использование карт

Label: ISP
Icon: Cloud

Host: gate.corpX.un 
Label: {HOST.CONN}

Создать линк и подписать параметры входящего и исходящего трафиков

Out: {gate.corpX.un:net.if.out.last()}
In: {gate.corpX.un:net.if.in.last()}
Download: {server.corpX.un:speedtest.download.last()}
Upload: {server.corpX.un:speedtest.upload.last()}
  • Пользователя guest убрать из группы Disabled
  • Предоставить группе Guests права на чтение объектов мониторинга группы узлов Linux servers (Можно сделать отдельную группу Public info и включить в нее узлы, элементы которых будут дотступны публично)

Добавление устройства на Zabbix-сервере

Чтобы убедиться в работоспособности агента, нужно добавить хост testnode2 на Zabbix сервер и назначить ему проверки (checks).

Заметка. В заббиксе есть 2 типа проверок:

  • Пассивные – Zabbix сервер запрашивает у агента какие-либо данные;
  • Активные – агент посылает на сервер данные;

При установке агента мы указывали сервер в формате IP:PORT как раз для активных проверок.

Добавление нового устройства для мониторинга в Zabbix выполняется через Web-интерфейс. Перейдите в раздел Configuration -> Hosts.

Нажмите Create host и заполните данные

Обратите внимание, что Host name хоста должен полностью совпадать с hostname машины или значением параметра Hostname в конфиге агента

Во вкладке Templates добавить несколько встроенных Windows шаблонов. Шаблоны в Zabbix это наборы значений, триггеров, графов и правил обнаружения, которые могут быть назначены одному или нескольким хостам.

Эти интегрированные шаблоны имеют постфикс “active”, значит, будут использоваться активные проверки.

Нажмите Add. Чтобы не ждать пока сервер и агент увидят друг друга (обычно занимает пару минут), перезагрузите службу Zabbix Agent на testnode2 и проверьте лог агента (C:\Program Files\Zabbix Agent\zabbix_agentd.txt).

Сообщение “started ” говорит о том, что на сервере найдены активные проверки для этого хоста. Теперь посмотрим на данные, которые пришли на сервер Zabbix от агента. Для этого в Zabbix перейдите на Monitoring -> Latest Data и выберете нужный вам хост в поле Hosts.

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

Обратите внимание на то, что в дашборде Zabbix висит уведомление о том, что служба BITS не запущена. Это уведомление появилось потому что мы назначили стандартные шаблоны нашему хосту. В одном из шаблонов был мониторинг сервиса BITS и соответствующий триггер, который срабатывает если служба BITS находится не в статусе Running

В одном из шаблонов был мониторинг сервиса BITS и соответствующий триггер, который срабатывает если служба BITS находится не в статусе Running.

На этом настройка Windows Agentа завершена.

Установка Zabbix-agent в Unix/Linux

Данная статья, подразумевает то, что имеется zabbix-server и он уже установлен и работает.

Вот чтиво:

Установка Zabbix-agent в CentOS/Fedora/RedHat

Я приводил примеры добавления разных версий репозиториев с zabbix (смотрите статья выше), приведу наглядный пример.

CentOS 7:

# cd /usr/local/src && rpm -Uvh http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-release-3.2-1.el7.noarch.rpm

Добавим теперь хотя бы одного агента мониторинга, чтобы проверить работу системы. Устанавливать будем на этот же сервер. Делается это просто:

# yum -y install zabbix-agent

Нужно еще настроить конфиг с агентом.

Установка Zabbix-agent в Debian/Ubuntu

Я приводил примеры добавления разных версий репозиториев с zabbix (смотрите статья выше), приведу наглядный пример.

Debian 8:

# cd /usr/local/src && wget http://repo.zabbix.com/zabbix/3.2/debian/pool/main/z/zabbix-release/zabbix-release_3.2-1+jessie_all.deb

Установим:

# dpkg -i zabbix-release_*_all.deb

И обновляемся:

# apt-get update

Добавим теперь хотя бы одного агента мониторинга, чтобы проверить работу системы. Устанавливать будем на этот же сервер. Делается это просто:

# apt-get install zabbix-agent

Нужно еще настроить конфиг с агентом.

Установка Zabbix-agent в MacOS X

Скачиваем последнюю версии zabbix_agentd_osx_installer:

# cd /usr/local/src && wget https://github.com/mipmip/zabbix_agentd_osx_installer/releases/download/1.1/zabbix_agentd-2.2.5-OSX-64bit.pkg

Установим:

# sudo installer -package zabbix_agentd-2.2.5-OSX-64bit.pkg -target /
Password:
installer: Package name is Zabbix Agentd for OSX
installer: Upgrading at base path /
installer: The upgrade was successful.

PS: Вот полезное чтиво:

Настройка:

# vim /usr/local/etc/zabbix/zabbix_agentd.conf

Приводим к виду:

LogFile=/tmp/zabbix_agentd.log
Server=192.168.13.10
ServerActive=192.168.13.10
HostnameItem=system.hostname

Агент запускается автоматически во время следующей загрузки. Для запуска вручную введите:

$ sudo launchctl load /Library/LaunchDaemons/com.zabbix.zabbix_agentd.plist

Если, Launchctl unload не работает, используйте команду ниже:

$ sudo kill -9 `ps -aef | grep zabbix_agentd | grep -v grep | awk '{print $2}'`

Собираем zabbix agentd

Вы должны установить инструменты командной строки xcode и PackageMaker.app.

Скачиваем исходный код:

# cd /usr/local/src && wget https://netcologne.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/3.2.6/zabbix-3.2.6.tar.gz

Клонируем:

# cd /usr/local/src && git clone https://github.com/mipmip/zabbix_agentd_osx_installer.git

И выполняем:

$ cd zabbix_agentd_osx_installer && sudo rake create\[/usr/local/src/zabbix-3.2.6.tar.gz]

PS: У меня не завелось на новой версии Mac OS X!

Модуль 11: Дополнительные возможности визуализации результатов мониторинга в Zabbix

11.1 Использование карт

Label: ISP
Icon: Cloud

Host: gate.corpX.un 
Label: {HOST.CONN}

Создать линк и подписать параметры входящего и исходящего трафиков

Out: {gate.corpX.un:net.if.out.last()}
In: {gate.corpX.un:net.if.in.last()}
Download: {server.corpX.un:speedtest.download.last()}
Upload: {server.corpX.un:speedtest.upload.last()}
  • Пользователя guest убрать из группы Disabled
  • Предоставить группе Guests права на чтение объектов мониторинга группы узлов Linux servers (Можно сделать отдельную группу Public info и включить в нее узлы, элементы которых будут дотступны публично)

Видео

Ниже снято видео установки zabbix 3.0 на freebsd 10, снятое в точности по приведенной выше статье. Если у вас что-то не получается настроить, посмотрите, как это делаю я.

Онлайн курсы по Mikrotik

Если у вас есть желание научиться работать с роутерами микротик и стать специалистом в этой области, рекомендую пройти курсы по программе, основанной на информации из официального курса MikroTik Certified Network Associate. Помимо официальной программы, в курсах будут лабораторные работы, в которых вы на практике сможете проверить и закрепить полученные знания. Все подробности на сайте .

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

  • Знания, ориентированные на практику;
  • Реальные ситуации и задачи;
  • Лучшее из международных программ.

Модуль 9: Мониторинг систем по протоколу SNMP

Лабораторные работы: Мониторинг сетевого оборудования

9.1 Развертывание сетевого оборудования с поддержкой SNMP

Демонстрирует преподаватель

Используются Материалы по GNS и фрагменты курса Linux. Мониторинг оборудования и интеграция с Cisco

configure terminal

hostname routerN
interface FastEthernet0/0
 ip address 172.16.1.19N 255.255.255.0
 duplex full
 no shutdown

ip route 0.0.0.0 0.0.0.0 172.16.1.254

ip name-server 172.16.1.254
ip domain-name isp.un
ip domain-lookup

snmp-server community public RO
end

copy running-config startup-config

9.3 Настройка мониторинга систем по протоколу SNMP в zabbix

  • на server
  • на server

Демонстрирует преподаватель (для ускорения демонстрации уменьшить интервалы времени до 1 минуты)

Мониторинг по протоколу SNMP системы router1.isp.un

9.5 Использование Zabbix proxy для преодоления проблем с доступом к объектам мониторинга

!!!Работает с задержкой!!!

configure terminal

no ip route 0.0.0.0 0.0.0.0 172.16.1.254
  • на gate
  • на gate
  • на gate
  1. Что необходимо установить в систему с zabbix для мониторинга оборудования по протоколу SNMP?
  2. В чем отличие процесса автоматического добавления оборудования в этой лабораторной работе от варианта с активным агентом?
  3. Как формируется имя хоста в случае Discovery в версиях zabbix до и после 4.2?
  4. Придумайте свои варианты задач, при которых может понадобиться Zabbix Proxy

Дополнительные материалы по Zabbix

Онлайн курсы по Mikrotik

Если у вас есть желание научиться работать с роутерами микротик и стать специалистом в этой области, рекомендую пройти курсы по программе, основанной на информации из официального курса MikroTik Certified Network Associate. Помимо официальной программы, в курсах будут лабораторные работы, в которых вы на практике сможете проверить и закрепить полученные знания. Все подробности на сайте .

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

  • Знания, ориентированные на практику;
  • Реальные ситуации и задачи;
  • Лучшее из международных программ.
Рекомендую полезные материалы по Zabbix:
Настройки системы
  • Установка 4.0
  • Обновление 3.0 -> 3.2
  • Обновление 3.4 -> 4.0
  • Установка Zabbix Proxy
  • Работа на NGINX

Видео и подробное описание установки и настройки Zabbix 4.0, а также установка агентов на linux и windows и подключение их к мониторингу.

Подробное описание обновления системы мониторинга zabbix версии 3.4 до новой версии 4.0.

Пошаговая процедура обновления сервера мониторинга zabbix 2.4 до 3.0. Подробное описание каждого шага с пояснениями и рекомендациями.

Подробное описание установки и настройки zabbix proxy для организации распределенной системы мониторинга. Все показано на примерах.

Подробное описание установки системы мониторинга Zabbix на веб сервер на базе nginx + php-fpm.

Мониторинг служб и сервисов
 
  • Температура процессора
  • Nginx и php-fpm
  • Mysql репликация
  • Службы Linux
  • Рейд mdadm
  • Транки Asterisk
  • Synology

Мониторинг температуры процессора с помощью zabbix на Windows сервере с использованием пользовательских скриптов.

Настройка полноценного мониторинга web сервера nginx и php-fpm в zabbix с помощью скриптов и пользовательских параметров.

Мониторинг репликации mysql с помощью Zabbix. Подробный разбор методики и тестирование работы.

Описание настройки мониторинга tcp служб с помощью zabbix и его инструмента простых проверок (simple checks)

Настройка мониторинга рейда mdadm с помощью zabbix. Подробное пояснение принципа работы и пошаговая инструкция.

Подробное описание мониторинга регистраций транков (trunk) в asterisk с помощью сервера мониторинга zabbix.

Подробная инструкция со скриншотами по настройке мониторинга по snmp дискового хранилища synology с помощью сервера мониторинга zabbix.

Мониторинг различных значений
  • Мониторинг сайта
  • Мониторинг бэкапов
  • Размер бэкапа
  • Делегирование домена
  • Значения из текстового файла
  • Мониторинг логов

Настройка мониторинга web сайта в zabbix. Параметры для наблюдения — доступность сайта, время отклика, скорость доступа к сайту.

Один из способов мониторинга бэкапов с помощью zabbix через проверку даты последнего изменения файла из архивной копии с помощью vfs.file.time.

Подробное описание настройки мониторинга размера бэкапов в Zabbix с помощью внешних скриптов.

Пример настройки мониторинга за временем делегирования домена с помощью Zabbix и внешнего скрипта. Все скрипты и готовый шаблон представлены.

Пример распознавания и мониторинга за изменением значений в обычных текстовых файлах с помощью zabbix.

Описание мониторинга лог файлов в zabbix на примере анализа лога программы apcupsd. Отправка оповещений по событиям из лога.

Модуль 8: Автоматическая регистрация и инвентаризация компьютеров

Лабораторные работы: Мониторинг систем с динамическими адресами

8.1 Настройка инвентаризации

  • Настройка сбора инвентарных данных для систем gate и server !!!Работает с задержкой!!!
  • На уровне шаблона настроить использование элемента “Software installed/system.sw.packages” для инвентарного поля “Software (Full details)”

8.2 Установка агента на Windows client

Демонстрирует преподаватель

Временно отключить windows firewall и проверить связь с агентом

server# zabbix_get -s 192.168.X.1NN -p 10050 -k agent.version

Делаем все

  • для инвентаризации установленного ПО

Преподаватель демонстрирует как выглядит список ПО

server# zabbix_get -s 192.168.X.1NN -p 10050 -k listinstalledsoft

8.3 Проблемы мониторинга windows систем с динамическими адресами

# grep 192.168.X.102 /var/log/zabbix/zabbix_server.log
...
12202:20190605:125020.551 cannot send list of active checks to "192.168.X.102": host  not found
...

8.4 Использование активного режима агента

  • Разработка шаблона “Template OS Windows list installed soft Active” с элементом listinstalledsoft, заполняющим инвентарное поле “Software (Full details)” и триггером, информирующем об изменении состава установленного ПО, используя

Сравнение списков ПО с помощью Добавление информации о значении элемента в сообщение

Домашнее задание — отключить уведомления о включении/выключении (…just been restarted…, Zabbix agent on … is unreachable…) клиентских компьютеров

  1. Чем отличается активный режим от пассивного в zabbix агенте?
  2. Придумайте варианты конфигураций сети, при которых необходимо использовать активный режим агента zabbix.

Setup Zabbix via Web Installer

Open a web browser and go to the following URL.

http://your-ip-add-ress/zabbix/
For both versions of Zabbix, the instructions are the same.

Click Next Step on Zabbix welcome page.

Zabbix 5.0 Welcome Screen

Zabbix web installer now verifies whether all pre-requisites are met for installation or there are any issues.

If there are no errors, click Next Step.

Zabbix Pre-Installation Checks

Type the Zabbix database name, DB user, and the database password in the respective fields. Then, click Next Step.

Database Configuration

Mention the Zabbix server host, port number, and the name for the Zabbix server.

Zabbix Server Details

You will now get a pre-installation summary something like below. Click Next Step.

Zabbix Pre-installation Summary

Zabbix server installation is now complete. Click Finish.

Zabbix Installation Completed

Once you click the Finish button, the installer will redirect you to the Zabbix Login Page.

Добавление устройства на Zabbix-сервере

Чтобы убедиться в работоспособности агента, нужно добавить хост testnode2 на Zabbix сервер и назначить ему проверки (checks).

Заметка. В заббиксе есть 2 типа проверок:

  • Пассивные – Zabbix сервер запрашивает у агента какие-либо данные;
  • Активные – агент посылает на сервер данные;

При установке агента мы указывали сервер в формате IP:PORT как раз для активных проверок.

Добавление нового устройства для мониторинга в Zabbix выполняется через Web-интерфейс. Перейдите в раздел Configuration -> Hosts.

Нажмите Create host и заполните данные

Обратите внимание, что Host name хоста должен полностью совпадать с hostname машины или значением параметра Hostname в конфиге агента

Во вкладке Templates добавить несколько встроенных Windows шаблонов. Шаблоны в Zabbix это наборы значений, триггеров, графов и правил обнаружения, которые могут быть назначены одному или нескольким хостам.

Эти интегрированные шаблоны имеют постфикс “active”, значит, будут использоваться активные проверки.

Нажмите Add. Чтобы не ждать пока сервер и агент увидят друг друга (обычно занимает пару минут), перезагрузите службу Zabbix Agent на testnode2 и проверьте лог агента (C:\Program Files\Zabbix Agent\zabbix_agentd.txt).

Сообщение “started ” говорит о том, что на сервере найдены активные проверки для этого хоста. Теперь посмотрим на данные, которые пришли на сервер Zabbix от агента. Для этого в Zabbix перейдите на Monitoring -> Latest Data и выберете нужный вам хост в поле Hosts.

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

Обратите внимание на то, что в дашборде Zabbix висит уведомление о том, что служба BITS не запущена. Это уведомление появилось потому что мы назначили стандартные шаблоны нашему хосту. В одном из шаблонов был мониторинг сервиса BITS и соответствующий триггер, который срабатывает если служба BITS находится не в статусе Running

В одном из шаблонов был мониторинг сервиса BITS и соответствующий триггер, который срабатывает если служба BITS находится не в статусе Running.

На этом настройка Windows Agentа завершена.

Модуль 7: Низкоуровневое обнаружение (LLD)

Лабораторные работы: Управление конфигурацией с помощью шаблонов и LLD

7.1 Знакомство с LLD

Configuration->Hosts->...->Items
                         ->Triggers
                         ->Graphs
                         ->Discovery rules
                                ->Mounted filesystem discovery: ...
                                ->Network interface discovery: ...

Фильтрация элементов

Zabbix 4

Administration->General->Regular expressions

Zabbix 5 — унаследованные макросы

7.2 Использование LLD для учета статистики выданных адресов по DHCP в множестве подсетей

Демонстрирует преподаватель

Добавление подсетей (LAN2-eth2-VBox Внутренняя сеть) в сервис DHCP (можно после создания и применения шаблона)

gate# cat /etc/network/interfaces

gate# ifup eth2

gate# cat /etc/default/isc-dhcp-server

gate# cat /etc/dhcp/dhcpd.conf

gate# service isc-dhcp-server restart

Разработки шаблона, использующего LLD для учета Статистика DHCP сервера в множестве подсетей

Экспорт шаблона (Экспорт/импорт в XML), размещение его и дополнительных материалов в Интернет с использованием Сервис Git

Импорт инструкции по развертыванию и дополнительных материалов

gate# git clone https://github.com/valbmsturu/zabbix_dhcp_pools.git

gate# cd zabbix_dhcp_pools/

gate# ./install.sh

server# zabbix_get -s gate -k dhcp.pools.discovery | jq

server# zabbix_get -s gate -k dhcp.pools.shared-network

Импорт шаблона https://github.com/valbmsturu/zabbix_dhcp_pools

  1. Придумайте свои варианты задач, при которых может понадобиться LLD.
  2. Как можно отфильтровать только нужные элементы в процессе discovery?
Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Ваша ОС
Добавить комментарий

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