====== 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 - построение топологии сети]]