User Tools

Site Tools


zabbix_v2

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
zabbix_v2 [2019/06/21 16:23]
val удалено
— (current)
Line 1: Line 1:
-====== Zabbix v2 ====== 
  
-===== Программа курса ===== 
- 
-===== Модуль 1: Развертывание IT инфраструктуры предприятия ===== 
- 
-==== Теория ==== 
- 
-  * [[http://​ru.wikipedia.org/​wiki/​Управление_компьютерной_сетью|Управление компьютерной сетью]] 
- 
-==== Лабораторные работы:​ Развертывание объектов мониторинга ==== 
- 
-Настраиваем необходимый для мониторинга минимум из курса [[Администрирование сервисов UNIX]] с использованием [[Настройка стендов слушателей#​Скрипты автоконфигурации]] 
- 
-  * Для локальной сети использовать VirtualBox Host-Only Ethernet Adapte (понадобится в лабораторной работе про простые проверки) 
-  * [[Настройка стендов слушателей#​Настройка виртуальных систем Unix]] gate и server 
-  * Создать в Putty профили ​ 
-  * [[Сервис DHCP]] (понадобится в лабораторной работе про LLD) 
-  * [[Финальная настройка DNS сервера]] (понадобится в лабораторной работе про простые проверки) 
-  * Настройка клиента DNS на gate и server 
-<​code>​ 
-# cat /​etc/​resolv.conf 
-</​code><​code>​ 
-search corpX.un 
-nameserver 192.168.X.10 
-</​code>​ 
-  * Запуск системы 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]] (выполнить в модуле 4) 
- 
- 
-==== Вопросы ==== 
- 
-  - Какие версии Zabbix рекомендуются к использованию?​ 
-  - Для каких задач используется Zabbix? 
-  - Перечислите компоненты системы Zabbix. 
- 
-===== Модуль 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/​visualisation/​graphs/​custom|Zabbix Documentation Пользовательские графики]] 
-  * [[https://​www.zabbix.com/​documentation/​3.0/​ru/​manual/​web_monitoring|Веб-мониторинг]],​ [[https://​www.zabbix.com/​documentation/​3.4/​ru/​manual/​web_monitoring/​items|Элементы данных веб-мониторинга]] 
- 
-==== Лабораторные работы:​ Базовые элементы процесса мониторинга ==== 
- 
-  * Добавление системы без агента ya.ru и [[Сервис Zabbix#​Простые проверки]] отзывчивости https://​ya.ru 
-  * Визуализация данных 
-<​code>​ 
-Monitoring->​Latest data 
-  ya.ru->​check perf http ya.ru 
-  Zoom: 1h 
-</​code>​ 
-  * [[Сервис Zabbix#​Простые проверки]] доступности системы gate.isp.un и (не обязательно) сервиса RDP на windows client1 через server (методически лучше удалить host "​Zabbix server"​ и добавить host server с адресом 127.0.0.1 и любым интерфейсом) 
- 
-  * [[Сервис Zabbix#​Настройка триггеров]] уведомляющего о недоступности gate.isp.un/​ya.ru (с зависимостью друг от друга) 
-  * Отчет о проблемах 
-<​code>​ 
-Monitoring->​Triggers 
-  Group: all 
-  Host: all 
-  Triggers status: Problem 
-  Acknowledge status: With unack... events 
-</​code>​ 
-  * Использование [[Сервис Zabbix#​Вычисляемые элементы]] для отображения среднего значения задержки ответа https://​ya.ru 
-  * Сравнение мгновенных и средних значений за период на комплексном графике 
- 
-<​code>​ 
-gate# apt install wondershaper ​ 
- 
-gate# wondershaper eth0 100 100 
- 
-gate# wondershaper eth0 
- 
-gate# wondershaper clear eth0 
-</​code>​ 
- 
-  * [[Сервис Zabbix#​Настройка триггеров]] уведомляющего о ухудшении качества доступа в Интернет на основании повышения среднего времени ответа за период ​ 
-  * [[Сервис Zabbix#​Пользовательские графики]] (включают отображение триггеров) 
- 
-  * Asterisk 3 [[Asterisk. Интеграция#​Модуль 5. Интеграция c web приложениями]] 
-  * [[Сервис Zabbix#Web сценарии]] 
- 
-<​code>​ 
-# tail -f /​var/​log/​apache2/​access.log ​ | grep ast 
-</​code>​ 
-==== Вопросы ==== 
- 
-  - Верно ли, что система Zabbix позволяет осуществлять мониторинг только тех систем,​ на которых установлен агент? 
-  - Перечислите,​ какие интерфейсы может использовать Zabbix для мониторинга?​ 
-  - Есть ли возможность осуществлять мониторинг системы,​ не имеющей поддерживаемых Zabbix интерфейсов?​ 
-  - Как можно уменьшить количество сообщений системы мониторинга в случае сбоев больших коммутационных узлов? 
-  - Приведите примеры использования вычисляемых элементов. 
-  - Для чего нужны пользовательские графики?​ 
-  - Какие возможности,​ по сравнению с net.tcp.service.perf[http] предоставляют Web сценарии?​ 
- 
-===== Модуль 4: Использование шаблонов ===== 
- 
-==== Теория ==== 
- 
-  * [[https://​www.zabbix.com/​documentation/​3.0/​ru/​manual/​config/​templates|Zabbix Documentation - Шаблоны]] 
- 
-==== Лабораторные работы:​ Управление конфигурацией с помощью шаблонов ==== 
- 
-=== 4.1 Клонирование узлов (хостов) === 
- 
-  * Создать узел val.bmstu.ru через Full Clone узла ya.ru (обратить внимание на использование {HOST.NAME} в именах триггеров) 
- 
-=== 4.2 Использование готовых шаблонов === 
- 
-  * Обзор шаблона "​Template OS Linux" 
-  * Установка zabbix agent на server ([[Сервис Zabbix#​Мониторинг с использованием Zabbix agents]], можно оставить конфигурацию по умолчанию) 
-  * Применить к созданному host server шаблоны "​Template OS Linux" и "​Template App Zabbix Server"​ 
- 
-=== 4.3 Создание шаблона на основе существующего === 
- 
-  * [[Сервис Zabbix#​Создание своих шаблонов]] на основе Template App SSH Service с добавлением макроса,​ определяющего порт сервиса 
-  * Установка zabbix agent на gate ([[Сервис Zabbix#​Мониторинг с использованием Zabbix agents]]) (рассмотреть и, в конце, отключить PSK аутентификацию и на агенте и на сервере,​ для удобства выполнения последующих лабораторных работ) 
-  * Назначаем шаблон системам server и gate 
-  * Меняем порт ([[Сервис SSH#​Настройка ssh сервера]]) на gate и переопределяем значение макроса 
-<​code>​ 
-gate# service ssh stop 
- 
-gate# /​usr/​sbin/​sshd -p 2222 
- 
-gate# kill `cat /​var/​run/​sshd.pid` 
-</​code>​ 
- 
-==== Вопросы ==== 
- 
-  - Чем шаблоны лучше клонирования?​ 
-  - Что можно использовать к качестве переменных в выражениях триггеров?​ 
-  - Как работает переопределение и наследования макросов?​ 
-  - Какой синтаксис у макроса?​ 
-  - Что произойдет с объектами хостов при изменении описывающего их шаблона?​ 
-  - Можно ли поменять значение объекта хоста, описанного шаблоном?​ 
-  - Как обеспечить безопасную связь между zabbix агентом и сервером?​ 
-===== Модуль 5: Внешние проверки и пользовательские параметры ===== 
- 
-==== Теория ==== 
- 
-  * [[https://​www.zabbix.com/​documentation/​2.4/​ru/​manual/​config/​items/​itemtypes/​external|Внешние проверки]] 
-  * [[https://​www.zabbix.com/​documentation/​3.0/​ru/​manual/​config/​items/​userparameters|Пользовательские параметры]] 
- 
-==== Лабораторные работы:​ Мониторинг с использование внешних программ/​скриптов ==== 
- 
-=== 5.1 Варианты использования внешних программ/​скриптов на zabbix сервере === 
- 
-  * [[Сервис Zabbix#​Внешние проверки]] 
-  * [[Сервис Zabbix#​Пример простого скрипта]] 
- 
-  * [[Сервис Zabbix#​Пример скрипта,​ требующего повышения привилегий]] 
-  * Настройка триггеров [[Сервис Zabbix#​Пример с текстовым элементом]] 
- 
-  * [[Сервис Zabbix#​Элементы типа trapper]] 
-  * Задание,​ сделать триггер,​ по аналогии [[Сервис Zabbix#​Пример с текстовым элементом]] 
- 
-=== 5.2 Настройка мониторинга статистики сервиса DHCP === 
- 
-  * [[Сервис DHCP#​Статистика DHCP сервера]] 
-  * [[Сервис Zabbix#​Пример запуска скрипта на удаленной системе]] (демонстрирует преподаватель) 
-  * [[Сервис Zabbix#​Использование UserParameter]] в zabbix-agent для мониторинга количества выданных ip сервисом DHCP 
-<​code>​ 
-Configuration->​Host->​gate 
-  Items 
-    Name: DHCP stat CUR 
-      ... 
-    Name: DHCP stat MAX 
-      ... 
-  Graphs 
-    Name: DHCP stat CUR MAX 
-      ... 
-</​code>​ 
-  * Использование [[Сервис Zabbix#​Вычисляемые элементы]] для отображения процента выданных адресов 
-  * [[Сервис Zabbix#​Настройка триггеров]] "On gate dhcp subnet is full" 
- 
-==== Вопросы ==== 
- 
-  - Какое ограничение накладывает zabbix на выполнение внешних скриптов?​ 
-  - Какие варианты имеются для запуска скриптов на удаленных системах из zabbix? 
-  - Как можно передать в zabbix результаты,​ получаемые в результате длительного времени?​ 
-  
-===== Модуль 6: Низкоуровневое обнаружение (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 ==== 
- 
-=== 6.1 Первое знакомство с LLD === 
- 
-  * [[Сервис Zabbix#​Low-Level Discovery (LLD)]] 
-<​code>​ 
-Configuration->​Hosts->​...->​Items 
-                         ​->​Triggers 
-                         ​->​Graphs 
-                                ->​Mounted filesystem discovery: ... 
-                                ->​Network interface discovery: ... 
- 
-Administration->​General->​Regular expressions 
-</​code>​ 
- 
-=== 6.2 Создание своего шаблона с LLD === 
- 
-  * Добавление подсетей (LAN2-eth2-VirtualBox_Адаптер 3_Внутренняя сеть) в сервис DHCP 
-<​code>​ 
-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 
-</​code>​ 
- 
-  * Разработка шаблона,​ использующего [[Сервис Zabbix#​Low-Level Discovery (LLD)]] для мониторинга использования адресного пространства DHCP сетей (как вариант,​ преподаватель разрабатывает шаблон и скрипты которые загружают слушатели) 
- 
-  * [[Сервис Zabbix#​Экспорт/​импорт в XML]] 
- 
-==== Вопросы ==== 
- 
-  - Придумайте свои варианты задач, при которых может понадобиться LLD. 
-  - Как можно отфильтровать только нужные элементы в процессе discovery? 
-===== Модуль 7: Управление уведомлениями ===== 
- 
-==== Теория ==== 
- 
-  * [[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 
- 
-==== Лабораторные работы:​ Настройка уведомлений о событиях ==== 
- 
-  * Создать учетную запись с login/alias userX, Вашим ФИО и, с User type: "​Zabbix Super Admin" 
-  * Включить userX в группу "​Zabbix administrators"​ 
-  * [[Сервис Zabbix#​Настройка уведомлений о событиях]] 
- 
-Задание на дом:​) ​ 
- 
-  * Создать учетную запись user100+X с User type: "​Zabbix User" и группой "​Zabbix administrators"​ 
-  * Назначаем группе "​Zabbix administrators"​ права на чтение всех объектов 
-  * Вместо группы "​Zabbix administrators"​ использовать новую, созданную "​Zabbix responsible"​. Члены группы должны иметь права на просмотр результатов мониторинга и должны получать уведомления 
- 
-==== Вопросы ==== 
- 
-  - Где можно посмотреть,​ какие уведомления были отправлены zabbix? 
-  - Какие варианты отправки уведомлений имеются в zabbix? 
- 
-===== Модуль 8: Активная регистрация оборудования ===== 
- 
-==== Теория ==== 
- 
-  * [[https://​www.zabbix.com/​documentation/​3.0/​ru/​manual/​config/​items/​itemtypes/​trapper|Zabbix Documentation Траппер элементы данных]] 
-  * Варианты использования zabbix-agent в режиме active 
-  * [[https://​www.zabbix.com/​documentation/​3.2/​ru/​manual/​appendix/​items/​activepassive|Zabbix Documentation - Пассивные и активные проверки агента]] 
- 
-==== Лабораторные работы:​ Мониторинг систем с динамическими адресами ==== 
- 
-  * Преподаватель демонстрирует проблемы мониторинга windows систем с динамическими адресами ​ 
- 
-  - необходимо настроить firewall, ​ 
-  - может измениться IP адрес (для демонстрации можно сменить mac адрес) 
-  - LLD в пассивном режиме использует имя системы,​ и, если его нет в DNS - не работает. 
-<​code>​ 
-# grep 192.168.13.102 /​var/​log/​zabbix/​zabbix_server.log 
-... 
-12202:​20190605:​125020.551 cannot send list of active checks to "​192.168.13.102":​ host [CLIENT1] not found 
-... 
-</​code>​ 
- 
-Для решения можно использовать инфраструктуру MS AD, или [[Сервис DNS#​Настройка поддержки динамических обновлений от DHCP сервера]] или активный режим агента 
- 
-  * [[Сервис Zabbix#​Активный режим]] (клонирование шаблонов и настройка элементов на активный режим агента,​ настройка авто регистрации систем с активными агентами и настройка агента client1 на активный режим. 
- 
-Домашнее задание - отключить уведомления о включении/​выключении (...just been restarted...,​ Zabbix agent on ... is unreachable...) клиентских компьютеров 
- 
-==== Вопросы ==== 
- 
-  - Чем отличается активный режим от пассивного в zabbix агенте?​ 
-  - Придумайте варианты конфигураций сети, при которых необходимо использовать активный режим агента zabbix. 
-===== Модуль 9: Мониторинг оборудования по протоколу 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 на стенде преподавателя 
-<​code>​ 
-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 
- 
- 
-</​code>​ 
- 
-=== Настройка мониторинга SNMP устройства в zabbix === 
- 
-  * [[Сервис SNMP#​Установка пакета net-snmp]] на server 
-  * [[Сервис SNMP#​Варианты использования snmp консоли в режиме чтения]] на server 
-  * [[Сервис Zabbix#​Мониторинг по протоколу SNMP]] системы router1.isp.un (для ускорения демонстрации уменьшить интервалы времени до 1 минуты) 
-  * Дополнительное задание - [[Сервис Zabbix#​Мониторинг доступности SNMP устройства]] 
- 
-=== Автоматическое добавление === 
-  
-  * Удалить router1.isp.un их zabbix 
-  * [[Сервис Zabbix#​Автоматическое добавление]] 
- 
- 
-=== Использование proxy === 
- 
-<​code>​ 
-configure terminal 
- 
-no ip route 0.0.0.0 0.0.0.0 172.16.1.254 
-</​code>​ 
- 
-  * [[Сервис SNMP#​Установка пакета net-snmp]] на gate 
-  * [[Сервис SNMP#​Варианты использования snmp консоли в режиме чтения]] на gate 
-  * [[Сервис Zabbix#​Установка и запуск proxy]] на gate 
- 
-==== Вопросы ==== 
- 
-  - Что необходимо установить в систему с zabbix для мониторинга оборудования по протоколу SNMP? 
-  - В чем отличие процесса автоматического добавления оборудования в этой лабораторной работе от варианта с активным агентом?​ 
-  - Как формируется имя хоста в случае Discovery в 3-й и 4-й версии zabbix? 
-  - Придумайте свои варианты задач, при которых может понадобиться Zabbix Proxy 
- 
-===== Модуль 10: Zabbix API ===== 
- 
-==== Теория ==== 
- 
-  * [[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 API ==== 
- 
-Техническое задание:​ сканировать через nmap определенные узлы и уведомлять,​ если результаты сканирования изменились 
- 
-Решение:​ 
- 
-  - Создать шаблон "My Template Nmap" с [[Сервис Zabbix#​Элементы типа trapper]] и триггером (см. [[Сервис Zabbix#​Пример с текстовым элементом]]),​ подключить его к узлам, которые надо мониторить (перед подключение к узлу, удалить элемент my.nmap от предыдущих лабораторных работ). 
-  - Периодически получать список узлов с шаблоном My Template Nmap из Zabbix через [[Сервис Zabbix#​API]] (Выяснить templateids шаблона "My Template Nmap") 
- 
-<​code>​ 
-# cat /​root/​zab_get_hosts.sh 
-</​code><​code>​ 
-#!/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  
-</​code><​code>​ 
-# /​root/​zab_get_hosts.sh | tee /​root/​hosts_nmap.txt 
-</​code>​ 
- 
-  - Периодически сканировать узлы (см. [[Сервис Zabbix#​Пример текстового элемента]]) и передавать результаты сканирования в zabbix 
- 
-<​code>​ 
-# cat /​root/​nmap_2_zabbix.sh 
-</​code><​code>​ 
-#!/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 
-</​code><​code>​ 
-# /​root/​nmap_2_zabbix.sh < /​root/​hosts_nmap.txt 
-</​code>​ 
-==== Вопросы ==== 
- 
-  - Верно ли что Zabbix API можно использовать для управления результатами мониторинга?​ 
-  - Верно ли что Zabbix API можно использовать для управления конфигурацией системы мониторинга?​ 
-===== Модуль 11: Дополнительные возможности визуализации результатов мониторинга в Zabbix ===== 
- 
-==== Теория ==== 
- 
-  * [[https://​www.zabbix.com/​documentation/​3.0/​ru/​manual/​config/​visualisation/​maps/​map|Zabbix Documentation Настройка карты сети]] 
- 
-==== Лабораторные работы ==== 
- 
-Материал для самостоятельного изучения 
- 
-  * Вебинар [[Zabbix - построение топологии сети]]