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