====== Zabbix. Мониторинг IT инфраструктуры предприятия 2018 ======
===== Программа курса =====
===== Модуль 1: Развертывание IT инфраструктуры предприятия =====
==== Теория ====
* [[http://ru.wikipedia.org/wiki/Управление_компьютерной_сетью|Управление компьютерной сетью]]
==== Лабораторные работы: Развертывание объектов мониторинга ====
Настраиваем необходимый для мониторинга минимум из курса [[Администрирование сервисов UNIX]] с использованием [[Настройка стендов слушателей#Скрипты автоконфигурации]]
* [[Настройка стендов слушателей#Настройка виртуальных систем Unix]] gate и server
* Создать в Putty профили
* [[Сервис DHCP]] (понадобится в лабораторной работе про LLD)
* [[Финальная настройка DNS сервера]] (понадобится в лабораторной работе про простые проверки)
* Настройка клиента DNS на gate и server
# cat /etc/resolv.conf
search corpX.un
nameserver 192.168.X.10
* Запуск системы client1
===== Модуль 2: Установка компонентов Zabbix =====
==== Теория ====
* [[https://ru.wikipedia.org/wiki/Zabbix|Zabbix - Википедия]]
* [[https://www.zabbix.com/life_cycle_and_release_policy|Zabbix Life Cycle & Release Policy]]
* [[https://www.zabbix.com/documentation/2.4/ru/manual/introduction/overview|Архитектура Zabbix]]
* [[https://www.zabbix.com/documentation/3.0/ru/manual/web_interface/frontend_sections|Zabbix Documentation Разделы веб-интерфейса]]
* [[https://www.zabbix.com/documentation/3.0/ru/manual/config/hosts|Zabbix Documentation Узлы сети и группы узлов сети]]
==== Лабораторные работы: Развертывание компонентов Zabbix ====
* [[Сервис Zabbix#Установка и запуск сервера]] на server
* [[Сервис Zabbix#Установка и запуск web интерфейса]] (zabbix-frontend) на server
* Подключение к frontend для [[Сервис Zabbix#Настройка мониторинга]]
* [[Сервис Zabbix#Мониторинг с использованием Zabbix agents]] системы server (выполнить в модуле 4)
* [[Сервис Zabbix#Мониторинг с использованием Zabbix agents]] системы gate с использованием PSK аутентификации (выполнить в модуле 4, разрешить подключаться к gate без PSK для удобства выполнения последующих лабораторных работ)
===== Модуль 3: Базовые сущности Zabbix =====
==== Теория ====
* Сравнение с [[Сервис MRTG]], [[Сервис Cacti]] и [[Сервис Nagios]]
* [[https://www.zabbix.com/documentation/3.0/ru/manual/config/items|Zabbix Documentation Элементы данных]]
* [[https://www.zabbix.com/documentation/2.0/ru/manual/config/items/history_and_trends|Zabbix Documentation История и динамика изменений]]
* [[https://www.zabbix.com/documentation/3.0/ru/manual/config/items/itemtypes/simple_checks|Zabbix Documentation Простые проверки]]
* [[https://www.zabbix.com/documentation/3.0/ru/manual/config/triggers|Zabbix Documentation Триггеры]]
* [[https://www.zabbix.com/documentation/3.2/ru/manual/config/triggers/expression|Zabbix Documentation Выражение триггера]]
* [[https://www.zabbix.com/documentation/3.0/ru/manual/config/triggers/dependencies|Zabbix Documentation Зависимости триггеров]]
* [[https://www.zabbix.com/documentation/3.0/ru/manual/config/items/itemtypes/calculated|Zabbix Documentation Вычисляемые элементы данных]]
* [[https://www.zabbix.com/documentation/3.0/ru/manual/config/items/itemtypes/trapper|Zabbix Documentation Траппер элементы данных]]
==== Лабораторные работы: Базовые элементы процесса мониторинга ====
* Добавление системы без агента ya.ru и [[Сервис Zabbix#Простые проверки]] отзывчивости https://ya.ru
* Визуализация данных
Monitoring->Latest data
ya.ru->check perf http ya.ru
Zoom: 1h
* [[Сервис Zabbix#Простые проверки]] доступности системы gate.isp.un и (не обязательно) сервиса RDP на windows client1 через server (методически лучше удалить host "Zabbix server" и добавить host server с адресом 127.0.0.1 и любым интерфейсом)
* [[Сервис Zabbix#Настройка триггеров]] уведомляющего о недоступности gate.isp.un/ya.ru (с зависимостью друг от друга)
* Отчет о проблемах
Monitoring->Triggers
Group: all
Host: all
Triggers status: Problem
Acknowledge status: With unack... events
* Использование [[Сервис Zabbix#Вычисляемые элементы]] для отображения среднего значения задержки ответа https://ya.ru
* [[Сервис Zabbix#Настройка триггеров]] уведомляющего о ухудшении качества доступа в Интернет на основании повышения ([[Утилита iPerf]]) среднего времени ответа за период
server$ iperf -c gate -u -b 1G -t 600
* Использование [[Сервис Zabbix#Элементы типа trapper]] (готовимся к модулю 7)
===== Модуль 4: Использование шаблонов =====
==== Теория ====
* [[https://www.zabbix.com/documentation/3.0/ru/manual/config/templates|Zabbix Documentation - Шаблоны]]
==== Лабораторные работы: Управление конфигурацией с помощью шаблонов ====
=== 4.1 Использование готовых шаблонов ===
* Обзор шаблона "Template OS Linux"
* Установка zabbix agent на server ([[Сервис Zabbix#Мониторинг с использованием Zabbix agents]], можно оставить конфигурацию по умолчанию)
* Применить к созданному host server шаблоны "Template OS Linux" и "Template App Zabbix Server"
=== 4.2 Создание шаблона на основе существующего ===
* [[Сервис Zabbix#Создание своих шаблонов]] на основе Template App SSH Service с добавлением макроса, определяющего порт сервиса
* Установка zabbix agent на gate ([[Сервис Zabbix#Мониторинг с использованием Zabbix agents]])
* Назначаем шаблон системам server и gate
* Меняем порт ([[Сервис SSH#Настройка ssh сервера]]) на gate и переопределяем значение макроса
gate# service ssh stop
gate# /usr/sbin/sshd -p 2222
gate# kill `cat /var/run/sshd.pid`
=== 4.3 Настройка мониторинга статистики сервиса DHCP ===
* [[Сервис Zabbix#Использование UserParameter]] в zabbix-agent для мониторинга количества выданных ip сервисом DHCP (лучше уменьшить максимальное количество адресов до 10)
Configuration->Host->gate
Items
Name: dhcp.stat.CUR
...
dhcp.stat.MAX
Graphs
Name: dhcp.stat.CUR.MAX
...
* Использование [[Сервис Zabbix#Вычисляемые элементы]] для отображения процента выданных адресов
* [[Сервис Zabbix#Настройка триггеров]] "On gate dhcp subnet is full"
=== 4.4 Создание своего шаблона ===
* Выполнить лабораторную работу 4.3 с использованием шаблонов
===== Модуль 5: Низкоуровневое обнаружение (LLD) =====
==== Теория ====
* [[https://www.zabbix.com/documentation/3.0/ru/manual/discovery/low_level_discovery|Zabbix Documentation. Низкоуровневое обнаружение]]
* Протокол [[https://ru.wikipedia.org/wiki/JSON|JSON]]
* Формат [[https://ru.wikipedia.org/wiki/XML|XML]]
==== Лабораторные работы: Управление конфигурацией с помощью шаблонов и LLD ====
=== 5.1 Первое знакомство с LLD ===
* [[Сервис Zabbix#Low-Level Discovery (LLD)]]
Configuration->Hosts->...->Items
->Triggers
->Graphs
->Mounted filesystem discovery: ...
->Network interface discovery: ...
=== 5.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
* Разработка шаблона, использующего [[Сервис Zabbix#Low-Level Discovery (LLD)]] для мониторинга использования адресного пространства DHCP сетей (как вариант, преподаватель разрабатывает шаблон и скрипты которые загружают слушатели)
* [[Сервис Zabbix#Экспорт/импорт в XML]]
===== Модуль 6: Управление уведомлениями =====
==== Теория ====
* [[https://www.zabbix.com/documentation/3.0/ru/manual/config/users_and_usergroups/permissions|Zabbix Documentation Права доступа]]
* [[https://www.zabbix.com/documentation/3.0/ru/manual/quickstart/notification|Zabbix Documentation - Получение оповещения о проблеме]]
* Протокол SMTP
==== Лабораторные работы: Настройка уведомлений о событиях ====
* Создать учетную запись userX с User type: "Zabbix Super Admin"
* Включить userX в группу "Zabbix administrators"
* [[Сервис Zabbix#Настройка уведомлений о событиях]]
* Создать учетную запись user100+X с User type: "Zabbix User" и группой "Zabbix administrators"
* Назначаем группе "Zabbix administrators" права на чтение всех объектов
* Задание: вместо группы "Zabbix administrators" использовать новую, созданную "Zabbix responsible". Члены группы должны иметь права на просмотр результатов мониторинга и должны получать уведомления
===== Модуль 7: Активная регистрация оборудования =====
==== Теория ====
* Варианты использования zabbix-agent в режиме active
* [[https://www.zabbix.com/documentation/3.2/ru/manual/appendix/items/activepassive|Zabbix Documentation - Пассивные и активные проверки агента]]
==== Лабораторные работы: Мониторинг систем с динамическими адресами ====
* Преподаватель демонстрирует проблемы мониторинга windows систем с динамическими адресами (отключить фаервол, запустить агент в обычном режиме), !!! LLD в пассивном режиме использует имя системы, и, если его нет в DNS - не работает, для демонстрации можно в имени хоста использовать ip адрес, или рассказать про [[Сервис DNS#Настройка поддержки динамических обновлений от DHCP сервера]] в DNS
* [[Сервис Zabbix#Активный режим]] zabbix-agent на client1
* автоматическая регистрация агентов систем с динамическими IP параметрами
* отключение уведомлений
===== Модуль 8: Мониторинг оборудования по протоколу SNMP =====
==== Теория ====
* [[https://ru.wikipedia.org/wiki/SNMP|Протокол SNMP - Wikipedia]]
* [[https://www.zabbix.com/documentation/1.8/ru/manual/auto-discovery|Zabbix Documentation - Обнаружение]]
* [[https://www.zabbix.com/documentation/3.0/ru/manual/distributed_monitoring/proxies|Zabbix Documentation - Прокси]]
==== Лабораторные работы: Мониторинг сетевого оборудования ====
=== Развертывание оборудования !!! Делает ТОЛЬКО преподаватель ===
* [[Общие настройки сетевого оборудования Cisco#Настройка snmp агента]] на cisco router в GNS3 на стенде преподавателя, или cisco switch.isp.un в шкафу класса
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#Установка пакета net-snmp]] на server
* [[Сервис SNMP#Варианты использования snmp консоли в режиме чтения]] на server
* [[Сервис Zabbix#Мониторинг по протоколу SNMP]]
* [[Сервис Zabbix#Мониторинг доступности SNMP устройства]]
=== Использование proxy ===
* [[Сервис SNMP#Установка пакета net-snmp]] на gate
* [[Сервис SNMP#Варианты использования snmp консоли в режиме чтения]] на gate
* [[Сервис Zabbix#Установка и запуск proxy]] на gate
===== Модуль 9: Дополнительные возможности мониторинга в Zabbix =====
==== Теория ====
* [[https://www.zabbix.com/documentation/3.0/ru/manual/config/visualisation/maps/map|Zabbix Documentation Настройка карты сети]]
* [[https://ru.wikipedia.org/wiki/JSON|Материал из Википедии. JSON]]
* [[https://www.zabbix.com/documentation/1.8/ru/api/getting_started|Zabbix Documentation Начало работы с Zabbix API]]
* [[https://www.zabbix.com/forum/zabbix-troubleshooting-and-problems/36900-api-key-lifetime|api key lifetime]]
==== Лабораторные работы: Расширенные средства мониторинга и представления информации в Zabbix ====
* Карты сети
* [[Сервис Zabbix#API]]
* Вебинар [[Zabbix - построение топологии сети]]