zabbix._мониторинг_it_инфраструктуры_предприятия_2019

Table of Contents

Zabbix. Мониторинг IT инфраструктуры предприятия

Программа курса

Модуль 0. Подготовка стенда в классе

  • Узнать свой номер стенда
  • Удалить виртуалки
  • Удалить профили putty
  • Отключить не используемые адаптеры
  • Записать логин пароль и IP (сообщить преподавателю) рабочей станции
  • Проверить наличие дистрибутивов и образов

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

Теория

Лабораторные работы: Развертывание объектов мониторинга

Настраиваем необходимый для мониторинга минимум из курса Администрирование сервисов UNIX с использованием Скрипты автоконфигурации

# cat /etc/resolv.conf
search corpX.un
nameserver 192.168.X.10
  • Запуск системы client1

Модуль 2: Установка компонентов Zabbix

Теория

Лабораторные работы: Развертывание компонентов Zabbix

Вопросы

  1. Какие версии Zabbix рекомендуются к использованию?
  2. Для каких задач используется Zabbix?
  3. Перечислите компоненты системы Zabbix.

Модуль 3: Базовые сущности Zabbix

Теория

Лабораторные работы: Базовые элементы процесса мониторинга

Monitoring->Latest data
  ya.ru->check perf http ya.ru
  Zoom: 1h
  • Простые проверки доступности системы gate.isp.un и (не обязательно) сервиса RDP на windows client1 через server (методически лучше удалить host “Zabbix server” и добавить host server с адресом 127.0.0.1 и любым интерфейсом)
  • Настройка триггеров уведомляющего о недоступности gate.isp.un/ya.ru (с зависимостью друг от друга)
  • Отчет о проблемах
Monitoring->Triggers
  или
Monitoring->Problems
  • Использование Вычисляемые элементы для отображения среднего значения задержки ответа https://ya.ru
  • Сравнение мгновенных и средних значений за период на комплексном графике
gate# apt install wondershaper 

gate# wondershaper eth1 10 10

gate# wondershaper eth1

gate# wondershaper clear eth1

или просто:

  • Web сценарии (обзор значений в Latest data позволит создать соответствующие триггеры)
# tail -f /var/log/apache2/access.log  | grep ast

Вопросы

  1. Верно ли, что система Zabbix позволяет осуществлять мониторинг только тех систем, на которых установлен агент?
  2. Перечислите, какие интерфейсы может использовать Zabbix для мониторинга?
  3. Есть ли возможность осуществлять мониторинг системы, не имеющей поддерживаемых Zabbix интерфейсов?
  4. Как можно уменьшить количество сообщений системы мониторинга в случае сбоев больших коммутационных узлов?
  5. Приведите примеры использования вычисляемых элементов.
  6. Для чего нужны пользовательские графики?
  7. Какие возможности, по сравнению с net.tcp.service.perf[http] предоставляют Web сценарии?
  8. Можно ли мониторить работоспособность неуправляемого коммутатора?

Модуль 4: Использование шаблонов

Теория

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

4.1 Клонирование узлов (хостов)

  • Создать узел val.bmstu.ru через Full Clone узла ya.ru (обратить внимание на использование {HOST.NAME} в именах триггеров)

4.2 Использование готовых шаблонов

  • Обзор шаблона “Template OS Linux”
  • Установка zabbix agent на server (Мониторинг с использованием Zabbix agents, можно оставить конфигурацию по умолчанию)
  • Применить к созданному host server шаблоны “Template OS Linux” и “Template App Zabbix Server”

4.3 Создание шаблона на основе существующего

  • Создание своих шаблонов на основе Template App SSH Service с добавлением макроса, определяющего порт сервиса
  • Установка zabbix agent на gate (Мониторинг с использованием Zabbix agents) (рассмотреть и, в конце, отключить PSK аутентификацию и на агенте и на сервере, для удобства выполнения последующих лабораторных работ)
  • Назначаем шаблон системам server и gate
  • Меняем порт (Настройка ssh сервера) на gate и переопределяем значение макроса
gate# /usr/sbin/sshd -p 2222

gate# kill `cat /var/run/sshd.pid`

Вопросы

  1. Чем шаблоны лучше клонирования?
  2. Что можно использовать к качестве переменных в выражениях триггеров?
  3. Как работает переопределение и наследование макросов?
  4. Какой синтаксис у макроса?
  5. Что произойдет с объектами хостов при изменении описывающего их шаблона?
  6. Можно ли поменять значение объекта хоста, описанного шаблоном?
  7. Как обеспечить безопасную связь между zabbix агентом и сервером?

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

Теория

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

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

5.2 Настройка мониторинга статистики сервиса DHCP

Configuration->Host->gate
  Items
    Name: DHCP stat CUR
      ...
    Name: DHCP stat MAX
      ...
  Graphs
    Name: DHCP stat CUR MAX
      ...

Вопросы

  1. Какое ограничение накладывает zabbix на выполнение внешних скриптов?
  2. Какие варианты имеются для запуска скриптов на удаленных системах из zabbix?
  3. Как можно передать в zabbix результаты, получаемые в результате длительного времени?

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

Теория

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

6.1 Первое знакомство с LLD

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

Administration->General->Regular expressions

6.2 Создание своего шаблона с LLD

  • Добавление подсетей (LAN2-eth2-VirtualBox_Адаптер 3_Внутренняя сеть) в сервис 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
  • Разработка шаблона, использующего Low-Level Discovery (LLD) для мониторинга использования адресного пространства DHCP сетей (как вариант, преподаватель разрабатывает шаблон и скрипты которые загружают слушатели)

Вопросы

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

Модуль 7: Управление уведомлениями

Теория

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

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

  • Создать учетную запись user100+X с User type: “Zabbix User” и группой “Zabbix administrators”
  • Назначаем группе “Zabbix administrators” права на чтение всех объектов
  • Вместо группы “Zabbix administrators” использовать новую, созданную “Zabbix responsible”. Члены группы должны иметь права на просмотр результатов мониторинга и должны получать уведомления

Вопросы

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

Модуль 8: Активная регистрация оборудования

Теория

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

  • Преподаватель демонстрирует проблемы мониторинга windows систем с динамическими адресами
  1. необходимо настроить firewall,
  2. может измениться IP адрес (для демонстрации можно сменить mac адрес)
  3. LLD в пассивном режиме использует имя системы, и, если его нет в DNS - не работает.
# 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 [CLIENT1] not found
...

Для решения можно использовать инфраструктуру MS AD, или Настройка поддержки динамических обновлений от DHCP сервера или активный режим агента

  • Активный режим (клонирование шаблонов и настройка элементов на активный режим агента, настройка авто регистрации систем с активными агентами и настройка агента client1 на активный режим.

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

Вопросы

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

Модуль 9: Мониторинг оборудования по протоколу SNMP

Теория

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

Развертывание оборудования

configure terminal

hostname routerN
interface FastEthernet0/0
 ip address 172.16.1.19N 255.255.255.0
 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

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

Автоматическое добавление

Использование proxy

Вопросы

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

Модуль 10: Zabbix API

Теория

Лабораторные работы: Пример задачи, использующей Zabbix API

Техническое задание: сканировать через nmap определенные узлы и уведомлять, если результаты сканирования изменились

Решение:

  1. Создать шаблон “My Template Nmap” с Элементы типа trapper и триггером (см. Пример с текстовым элементом), подключить его к узлам, которые надо мониторить (перед подключение к узлу, удалить элемент my.nmap от предыдущих лабораторных работ).
  2. Периодически получать список узлов с шаблоном My Template Nmap из Zabbix через API (Выяснить templateids шаблона “My Template Nmap”)

Примечание: templateid можно увидеть в строке URL интерфейсе администрирования zabbix

# cat /root/zab_get_hosts_nmap.sh
#!/bin/sh

curl -s -k -X POST -H 'Content-Type: application/json-rpc' -d "
{
    \"jsonrpc\": \"2.0\",
    \"method\": \"host.get\",
    \"params\": {
        \"output\": [\"hostid\", \"host\"],
        \"templateids\": [\"10NNN\"]
    },
    \"auth\": \"${AUTH}\",
    \"id\": 2
} " http://127.0.0.1/zabbix/api_jsonrpc.php \
| jq '.result | .[] | { host: .host} | tostring' \
| tr -d '{}\\' | tr '"' ' ' | cut -d ' ' -f5 
# /root/zab_get_hosts_nmap.sh | tee /root/hosts_nmap.txt
  1. Периодически сканировать узлы (см. Пример текстового элемента) и передавать результаты сканирования в zabbix
# cat /root/nmap_2_zabbix.sh
#!/bin/sh

while read host
do
        echo $host
        zabbix_sender -z 127.0.0.1 -p 10051 -s $host -k my.nmap \
        -o "$(/etc/zabbix/externalscripts/detect_host_nmap.sh $host)"
done
# /root/nmap_2_zabbix.sh < /root/hosts_nmap.txt

Вопросы

  1. Верно ли что Zabbix API можно использовать для управления результатами мониторинга?
  2. Верно ли что Zabbix API можно использовать для управления конфигурацией системы мониторинга?

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

Теория

Лабораторные работы

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

Out: {gate:net.if.out[eth1].last(0)}
In: {gate:net.if.in[eth1].last(0)}

Материал для самостоятельного изучения:

zabbix._мониторинг_it_инфраструктуры_предприятия_2019.txt · Last modified: 2020/05/01 13:56 by val