Zabbix. Полное руководство. 2е изд.

Андреа Далле Ваккье

 

Первая публикация на английском языке: декабрь 2013

Второе издание: сентябрь 2015

Перевод второго издания: 30 октября 2016 ДМК Пресс

Ссылка на продукт: 1080915

Все права защищены. Никакая часть этой книги не может быть воспроизведена, сохранена в поисковой системе или передана в любой форме или любыми средствами без предварительного письменного разрешения издателя, за исключением случаев кратких цитат, встроенных в критические статьи и обзоры.

При подготовке этой книги были предприняты все усилия чтобы гарантировать точность представленной информации. Тем не менее, информация, содержащаяся в этой книге, продаётся без гарантии в явном или неявном виде. Ни авторы, ни Packt Publishing, ни их дилеры и дистрибьюторы не будут нести ответственность за любые убытки, вызванные или предположительно вызванные прямо или косвенно этой книгой.

Packt Publishing пыталась предоставить информацию о товарных знаках обо всех компаниях и продуктов, упомянутых в данной книге для надлежащего использования капиталов. Тем не менее, Packt Publishing не может гарантировать точность этой информации.

Опубликовано Packt Publishing Ltd.

Livery Place

35 Livery Street

Birmingham B3 2PB, UK

ISBN 978-1-78528-926-2

www.packtpub.com

2016-09-01

 Состав исполнителей

Второго издания на английском языке
Автор
Андреа Далле Ваккье
Рецензенты
Григорий Чернышёв
Нитиш Кумар
Николя Пиер
Тимоти Скопетта
Редактор выпуска
Дипика Каонкар
Редактор
Кевин Колако
Редактор разработки содержания
Адриан Рапозо
Технический редактор
Параж Топре
Литературный редактор
Саранг Чари
Координатор проекта
Санчита Мандал
Корректоры
Safis editing
Составитель указателя
Моника Аджмера Мехта
Графика
Шитал Ауте
Диша Харья
Джейсон Мантейро
Абхинаш Саху
Координатор производства
Нилеш Р. Мохите
Изготовитель переплета
Нилеш Р. Мохите

 Об авторе

Андреа Далле Ваккье является высококвалифицированным специалистом с более чем 15 летним опытом в отрасли.

Он закончил Univeristà degli Studi di Ferrara с сертификацией по информационной технологии. Это заложило технологическую основу, которую Андреа построил на текущий момент. Он освоил различные другие относящиеся к отрасли сертификации больших участников ИТ индустрии, которые включают в себя Cisco, Oracle, ITIL и, конечно, Zabbix. Он также имеет Red Hat Certified Engineer. На протяжении своей карьеры он работал во многих крупномасштабных средах, зачастую на ролях, которые были очень сложными, на основе консультанта. Это ещё расширило его растущую квалификацию, добавив к его базе практических знаний и забетонировало его аппетит к теоретическому техническому изучению.

Любовь Андреа к Zabbix пришла из времени, которое он провёл в мире Oracle в качестве администратора/ разработчика базы данных. Его время в основном было потрачено в основном на сокращении "стоимости владения" со специализацией в мониторинге и автоматизации. Именно тогда он наткнулся на Zabbix предлагаемую им техническую и административную гибкость. При этом в качестве стартовой площадки Андреа был вдохновлён на развитие Orabbix, первой части программного обеспечения с открытым исходным кодом для мониторинга Oracle, которая полностью интегрирована с Zabbix. Опубликовал ряд статей по связанному с Zabbix программному обеспечению, такому как DBforBIX. Его проекты находятся в свободном доступе на его веб- сайте по адресу http://www.smartmarmot.com.

В настоящее время Андреа работает в качестве главного архитектора для передового глобального инвестиционного банка в очень разнообразной и бросающей вызовы среде. Он вовлечён в очень широкий круг проблем, и он связан со многими критическими вопросами платформ Unix/ Linux и уделяет должное внимание многим различным типам программного обеспечения сторонних производителей, которые стратегически выравниваются вдоль технической дорожной карты банка.

Андреа также играет важную роль в расширенной команде управления по вопросам безопасности банка, связанной с такими дисциплинами, как безопасность, секретность, стандартизация, аудит, требования регуляторов, а также решения в области безопасности.

В дополнение к этой книге он является автором следующих книг:

{Прим. пер.: в агусте 2016 также увидела свет 2я редакция книги Ричарда Олупса Zabbix Network Monitoring. Если хватит наших сил, мы рассматриваем возможность и её перевода, следите за ссылкой Сетевой мониторинг Zabbix, 2е изд. После некоторых сопоставлений текстов мы всё- таки остановились именно на данной последовательности, несмотря на очерёдность выхода в свет.}

 Благодарности

Для начала я хотел бы выразить благодарность своей жене, Анне, за её поддержку и поощрение на протяжении написания мной этой книги. Я выражаю ей высокую признательность за помощь и рекомендации. Большое спасибо Фифи за её компанию по релаксу и мягкое освобождение от напряжения.

<

Я бы хотел выразить особую благодарность всей команде Packt Publishing и, в частности, признательности Адриану. Их советы, усилия и предложения были очень ценными. Вся команда была очень профессиональной и полезной.

 Рецензент

Григорий Чернышёв является старшим управляющим редакциями / инженером DevOps отделения онлайн игр в Mail.Ru Group. Он специализируется на управлении настройками, автоматизацией построения конвейеров, мониторинга, выпуска версий, а также написании сценариев на Python. Он имеет опыт в проектах подобных играм Allods Online и Skyforge—AAA MMORPG, которые известны во всём мире. В своей повседневной работе он применяет Zabbix для мониторинга внутренних серверов игр, гетерогенных агентов построения, а также массы серверов инфраструктуры.

Кроме того, он написал встраиваемые модули для Atlassian Jira и JetBrains Teamcity - из последнего, он даже выиграл 2015 WordPress Plugins contest!

Нитиш Кумар является руководителем Wintel в HT Media Ltd и независимым техническим блоггером по различным технологиям. Он работал с различными технологиями Microsoft и решениями с открытым исходным кодом (включая, но не ограничиваясь, Spiceworks, продуктами ManageEngine, Zabbix, MS Active Directory, MS Exchange Servers и тому подобными) на протяжении 8 лет, из которых последнюю пару лет он потратил на приведение эффективных в стоимостном отношении решений в корпорации для упрощения их сложных требований и оздоровлении управления временем их персонала. Нитиш является технологическим энтузиастом и был участником различных корпоративных событий и общественных вебинаров. Мобильные технологии являются зоной особого интереса для него и он часто пишет о различных гаджетах и технологиях. Нитиш владеет степенью MS в программном обеспечении от J.K Institute of Applied Physics and Technology, а его область интересов включает технологии Microsoft, программного обеспечения с открытым исходным кодом и мобильные гаджеты. Он время от времени пишет блоги в http://nitishkumar.net и к нему можно обратиться по nitish@nitishkumar.net.

Нитиш является соавтором Getting Started with Spiceworks, Packt Publishing. Кроме того, он был техническим рецензентом для других книг по таким темам как Zabbix и Spiceworks.

Николя Пиер является инженером сетевых сред в областях служб управления и профессиональных сервисов. Его опыт включает веб- разработку, проектирование инфраструктур сетевых центров данных с решениями виртуализации и SAN, а также написании программного обеспечения промежуточного уровня для бизнес- приложений. На текущий момент Николя обладает рядом сертификатов отрасли, включающими в себя Cisco CCNP, VMware VCP-DCV, а также различные прочие Cisco и CompTIA сертификаты. Он имеет страсть к крафтовому пиву, бегу на длинные дистанции, а также чтению, на которые он тратит всё своё свободное время.

Тимоти Скопетта является системным инженером, который специализируется в области автоматизации, продолжительной интеграции, а также создании отказоустойчивых инфраструктур. Имея постоянное место в Google, а также ряд стартапов, в настоящее время он сосредоточен на привнесении передовых инструментов и установившейся практики отрасли в высшее образование.

 www.PacktPub.com

 Содержание

Предисловие
Что охватывает эта книга
Для кого эта книга
Что вам нужно для этой книги
Соглашения
Обратная связь с читателями
Поддержка пользователей
Загрузка кодов примеров
Опечатки
Незаконное тиражирование
Вопросы
Глава 1. Развёртывание Zabbix
Определение размера вашей среды
Архитектуры Zabbix
Установка Zabbix
Необходимые условия
Сборка сервера
Наладка агента
Установка и создание пакета
Установка из пакета
Настройка сервера
Установка базы данных
Некоторые соображения о базе данных
Определение размеров базы данных
Некоторые соображения по очистке
Веб- интерфейс
Веб мастер - настройка пользовательского интерфейса
Планирование ёмкости Zabbix
Эффект обозревателя
Принятие решения о предмете мониторинга
Определение базового уровня
Нагрузочное тестирование
Предсказание тенденций
Выводы
Глава 2. Распределённый мониторинг
Прокси Zabbix
Развёртывание прокси Zabbix
Команды времени выполнения прокси Zabbix
Развёртывание прокси Zabbix при помощи RPM
Рассмотрение различных баз данных прокси Zabbix
Понимание потока данных мониторинга Zabbix
Понимание потока данных мониторинга с прокси
Мониторинг прокси Zabbix
Рассмотрение безопасности
Отсутствие настройки сетевой среды
Изоляция сетевой среды
Простые туннели
Безопасная оболочка
Stunnel
Полномасштабный VPN
Выводы
Глава 3. Высокая доступность и отказоустойчивость
Понимание высокой доступности
Понимание уровней ИТ служб
Некоторые соображения о высокой доступности
Автоматизация перехода в другой режим/ обработки отказов при помощи менеджера ресурсов
Репликация файловой системы при помощи DRBD
Реализация высокой доступности веб-сервера
Настройка HA HTTPD
Понимание Pacemaker и STONITH
Pacemaker - действительно ли нужен Кворум?
Pacemaker - концепция сцепляемости
Pacemaker - настройка Apache/HTTPD
Настройка сервера Zabbix для высокой доступности
Реализация высокой доступности для базы данных
Кластеризация PostgreSQL
Зеркалирование логических томов при помощи LVM и DRDB
Необходимые предварительные задачи для запуска с LVM и DRDB
Создание DRDB устройства поверх раздела LVM
Включение ресурсов в DRDB
Определение первичного устройства в DRDB
Создание файловой системы в устройстве DRDB
Кластеры Pacemaker - интеграция DRBD
Включение настройки DRBD
Pacemaker - настройка LVM
Pacemaker - настройка PostgreSQL
Pacemaker - настройка сетевой среды
Pacemaker - завершающая настройка
Настройка кластера - завершающее тестирование
Производительность и оптимизация DRBD
Эффективная синхронизация DRDB
Включение верификации DRDB в реальном времени
DRDB - некоторые соображения по сетевой среде
Выводы
Глава 4. Сбор данных
Накопление элементов в виде необработанных данных
Понимание потока данных для элементов Zabbix
Понимание улавливающих элементов Zabbix
Обзор потока данных
Мониторинг базы данных при помощи Zabbix
Углубление в ODBC
Установка драйверов базы данных
Драйверы ODBC MySQL
Драйверы ODBC PostgreSQL
Драйверы ODBC Oracle
Файлы настройки unixODBC
Компиляция Zabbix с ODBC
Элементы монитора базы данных
Некоторые соображения о запросах SQL ODBC
Zabbix мониторинг JMX
Рассмотрение подходов к безопасности JMX
Установка шлюза Java Zabbix
Настройка JMX Zabbix
Детализация ключей JMX
Проблемы JMX и соображения о них
Zabbix мониторинг SNMP
Запросы SNMP
Улавливание SNMP
Процесс snmptrapd
Обработчик внутренних прерываний perl
Zabbix мониторинг SSH
Настройка ключа аутентификации SSH
Zabbix мониторинг IPMI
Первые шаги в IPMI
Настройка учётных записей IPMI
Настройка элементов IPMI Zabbix
Zabbix мониторинг веб страниц
Аутентификация веб страниц
Выход со страницы
Агрегируемые и вычисляемые элементы
Агрегируемые элементы
Вычисляемые элементы
Выводы
Глава 5. Визуализация данных
Графики
Анализ простых графиков
Анализ графиков, предназначенных для конкретных целей
Хакинг предназначенных для конкретных целей графиков
Анализ настраиваемых пользователем графиков
Обзор всех возможных комбинаций свойств графиков
Визуализация данных при помощи карт
Создание вашей первой карты Zabbix
Важные соображения о макросах и URL
Наконец, внутри карты
Выбор элементов
Пропускание макросов внутри карты
Визуализация при помощи экранов
Создание экрана
Динамические элементы
Визуализация дат при помощи слйд-шоу
Слайды управляющего центра и вызов большого монитора
Обсуждение слайдов на большом мониторе
Автоматизация слайд- шоу
Службы ИТ
Настройка служб ИТ
Выводы
Глава 6. Управление сигналами тревоги
Понимание выражений спусковых устройств
Выбор элементов и функций
Выбор между секундами и числом измерений
Функции даты и времени
Строгость спускового устройства
Выбор между абсолютными значениями и процентами
Восприятие операций в качестве взаимоотношений
Управление зависимостями спусковых механизмов
Восприятие действия
Определение действия
Макросы {EVENT.DATE} и {EVENT.TIME}
{INVENTORY.SERIALNO.A} и дружественные макросы
Определение условий макроса
Выбор операций действия
Шаги и распространение
Сообщения и среды обмена
Удалённые команды
Выводы
Глава 7. Управление шаблонами
Создание шаблонов
Добавление элементов к шаблону
Применение макросов
Определяемые пользователем макросы
Импорт и экспорт шаблонов
Связывание шаблонов с хостами
Встраиваемые шаблоны
Объединение шаблонов
Обнаружение хостов
Автоматическая регистрация активного агента
Настройка автоматической регистрации
Сценарии реального мира
Представление нижнего уровня
Выводы
Глава 8. Обработка внешних сценариев
Внешние проверки
Размещение сценариев
Углубляясь во внешние проверки
Войдём вовнутрь сценария
Общие правила написания сценариев
Обсуждение внешних проверок
Параметр пользователя
Гибкий параметр пользователя
Обсуждение параметров пользователя
Отправка данных посредством zabbix_sender
Новый сценарий
Написание обёртывающего сценария для check_ora_sendtrap
За и против выделенного сервера сценариев
Работа с протоколами Zabbix
Протокол get Zabbix
Протокол sender Zabbix
Занимательная недокументированная функциональность
Применение свойств часов в элементах JSON
Протокол агента Zabbix
Некоторые наиболее вероятные отклики
Протокол обнаружения нижнего уровня
Взаимодействие с Zabbix
Реализация протокола Zabbix_sender в Java
Реализация протокола Zabbix_sender в Python
Некоторые рассуждения о разработке агента
Выводы
Глава 9. Расширение Zabbix
Изучение API Zabbix
Первые шаги в API
Аутентификация в API
Использование библиотеки PyZabbix
Изучение API Zabbix при помощи JQuery
Массовые операции
Перераспределение хостов в прокси
Добавление или обновление пользователей
Экспорт данных
Экспорт табличных данных
Создание графиков из данных
Комплект прогамм Graphviz
Создание графиков зависимости спусковых механизмов
Создание карт Zabbix из файлов dot
Выводы
Глава 10. Интеграция Zabbix
Пошаговое внедрение в WhatsApp
Подготовка к отправке сообщений
Регистрация клиента yowsup
Отправка первого сообщения WhatsApp
Обеспечение безопасности сборки yowsup
Создание вашей первой группы сообщений тревоги Zabbix
Интеграция yowsup с Zabbix
Обзор Request Tracker
Сборка RT для лучшей интеграции Zabbix
Создание специальной очереди для Zabbix
Адаптация квитанций - раздел связей
Адаптация квитанций - приоритет квитанций
Адаптация квитанций - раздел связей
Соединение с API Request Tracker
Сборка Zabbix для интеграции с Request Tracker
Создание квитанций RT из событий Zabbix
Выводы
Указатель

 Предисловие

Даже стартовав со своего первого публичного выпуска в 2001, Zabbix зарекомендовал себя как очнь мощное и эффективное решение мониторинга. Поскольку оно является продуктом с открытым исходным кодом, его очень просто получить и развернуть, а его уникальный подход к метрикам и сигналам тревоги помог выделить его из числа конкурентов, причём как с открытым исходным кодом, так и коммерческих продуктов. Его мощность компактно упакована в очень низкие требования в терминах оборудования и поддержки программного обеспечения для базовой, но всё ещё эффективной установки. Если вы добавите относительную простоту использования, станет ясно, что он может быть очень хорошим претендентом для небольших сред со скромным бюджетом. Однако, именно когда он берётся за управление огромным количеством контролируемых объектов, обладающих к тому же сложными конфигурацией и зависимостями, тогда масштабируемость Zabbix и внутренне присущая распределённая архитектура начинают сиять всеми красками. Zabbix, больше чем кто- то другой, может быть идеальным решением в больших и сложных распределённых средах, где обладая способностью эффективно управлять, а также извлекать из контролируемых объектов и событий полезную информацию столь же важно, если даже не более важно, чем обычные соображения о стоимости, доступности и простоте применения.

Это вторая редакция данной книги, причём первая редакция была написана в соавторстве Андреа Далле Ваккье и Стефано Кеван Ли.

Целью данной книги является помощь вам в выполнении большинства ваших установок Zabbix для усиления всей его мощности в эффективном мониторинге любых больших и сложных окружений.

 Что охватывает эта книга

Глава 1. Развёртывание Zabbix сосредоточена на выборе оптимальных конфигурация аппаратного и программного обеспечения для сервера Zabbix и базы данных в зависимости от текущей ИТ инфраструктуры, целей мониторинга, и возможного развития. Данная глава также содержит раздел, которых рассматривает любопытное отступление определения размера базы данных, который полезен при расчёте окончательного размера базы данных при использовании стандартной среды в качестве основной линии. Здесь также будут обсуждаться правильные размеры среды и краткие соображения о метриках и измерениях, которые также используются для планирования ёмкости. Глава содержит практические примеры и вычисления, сформулированные в теоретическом приближении для предоставления читателю навыков необходимых для приспособления имеющейся у него информации к реализациям в реальных условиях.

Глава 2. Распределённый мониторинг изучает различные компоненты Zabbix как для серверной части, так и для стороны агента. Будут представлены различные распределённые решения для одного и того же примера сетевых сред чтобы высветить преимущества и возможные препятствия каждого из них.

Глава 3. Высокая доступность и отказоустойчивость обсуждает предметные области высокой доступности и отказоустойчивости. Вы ознакомитесь с тем как осуществлять выбор между различными вариантами HA для каждого из трёх основных слоёв Zabbix. Обсуждение будет построено на информации, предоставленной в предыдущих двух главах с целью завершить первую часть данной книги несколькими полными сценариями реализаций, которые включают сервера высокой доступности базы данных, организованные иерархически по уровням, распределённые архитектуры, сцепленные для мониторинга тысяч объектов разбросанных по различным географическим местоположениям. Данная глава будет содержать практические примеры из реальной жизни и определённые возможные сценарии, которые уже были реализованы.

Глава 4. Сбор данных перемещается по простым элемента агентов и запросам SNMP для энергичной работы с несколькими источниками сложных данных. Эта глава изучит мощную встроенную функциональность Zabbix, как её применять, а также как выбирать лучшие метрики для гарантированного детального мониторинга без перегрузок системы. Здесь также будут присутствовать рассуждения об агрегированных значениях и их применении при мониторинге сложных сред в кластерах или ещё более сложных грид- архитектурах.

Глава 5. Визуализация данных сосредотачивается на наибольшем выходе от свойств визуализации данных Zabbix. Это очень полезная глава, в особенности, если вам нужно прояснять или преследовать расширение/ улучшение аппаратных средств для ваших устройств бизнеса. Вы изучите как улучшать мониторинг данных в реальном времени для создания динамичных карт и то, как организовывать сбор графиков для визуализации на больших экранах в центрах управления и реализовывать общие качественные обзоры. Данная глава также полностью рассмотрит просмотры слайд-шоу качества хорошего центра данных, которые действительно приносят пользу при высвечивании проблем и предостережений вашей поддержки первого уровня при упреждающих методах. Данная глава также изучит некоторые лучшие практические варианты, связанные со службами ИТ, а также функциональность отчётов SLA Zabbix.

Глава 6. Управление сигналами тревоги предоставляет примеры сложных условий спусковых механизмов а также рекомендации по выбору верного значения для спусковых устройств и действий по сигнализации тревоги. Цель состоит в том, чтобы помочь вам пройти по тонкой линии между пребывании в слепом невежестве о возможных проблемах и наоборот, почивании преисполненным неверным позитивом. Вы также изучите как применять действия для автоматической фиксации простых проблем, возбуждении действий без необходимости вмешательства персонала для приведения в соответствие различных спусковых устройств и событий, а также увязывание распространений с вашим управлением операций рабочего потока