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. Управление сигналами тревоги предоставляет примеры сложных условий спусковых механизмов а также рекомендации по выбору верного значения для спусковых устройств и действий по сигнализации тревоги. Цель состоит в том, чтобы помочь вам пройти по тонкой линии между пребывании в слепом невежестве о возможных проблемах и наоборот, почивании преисполненным неверным позитивом. Вы также изучите как применять действия для автоматической фиксации простых проблем, возбуждении действий без необходимости вмешательства персонала для приведения в соответствие различных спусковых устройств и событий, а также увязывание распространений с вашим управлением операций рабочего потока. Этот раздел осведомит вас о том, что может быть автоматизировано, уменьшая вашу административную загруженность и оптимизируя ваш процесс администрирования упреждающим образом.

Глава 7. Управление шаблонами предлагает руководство по эффективному управлению шаблонами: построение сложных схем шаблонов из простых компонентов, понимание и управление эффектами изменения шаблонов, сопровождение существующих объектов мониторинга, а также назначение шаблонов на обнаруженные хосты. Это завершает вторую часть нашей книги, которая посвящена различным вариантам мониторинга и управления данных Zabbiz. Наша третья и заключительная часть будет обсуждать взаимодействие Zabbix со сторонними продуктами и все её мощные свойства расширяемости.

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

Глава 9. Расширение Zabbix углубляется в API Zabbix и в то, как применять его для специализированных пользовательских интерфейсов и сложных расширений. Она также охватывает то, как собирать плоды мониторинга данных для дальнейших разработок и отчётов. Она будет содержать простые реализации примеров, написанных на Python, кторые будут иллюстрировать как экспортировать и далее обрабатывать данные, как выполнять массивные и сложные операции по мониторингу объектов и, наконец, автоматизировать различные стороны, такие как создание и настройка пользователей, активацию спусковых устройств и аналогичные.

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

 Для кого эта книга

Так как эта книга озаглавлена Mastering Zabbix, Second Edition, вы можете не найти в ней некоторых подробностей, пошаговых руководств (хорошо, за исключением установок, которые будут эскизно приведены, но с некоторыми полезными советами) по основам использования Zabbix. Хотя вы и можете найти массу подробной информации об установке вашего сервера или настройке элементов, спусковых устройств, а также экранов, мы ожидаем от вас наличие, по крайней мере, базовых рабочих знаний о том как это всё работает с тем, чтобы вы могли сосредоточиться на более подвинутых методах для тех же самых предметов. Даже при этом будет возможно получить пользу от содержимого данной книги, несмотря на то, что вы ранее пока не сталкивались с Zabbix, однако в этом случае вам настоятельно рекомендуется пользоваться официальной документацией Zabbix, которую вы можете найти по ссылке https://www.zabbix.com/documentation/2.4/manual, чтобы восполнить все возможные пробелы в ваших знаниях. {Прим. пер.: на момент перевода доступна документация по версии 3.2: Zabbix Documentation 3.2.}

 Что вам нужно для этой книги

Перед тем как углубиться в сборку Zabbix важно знать, что предлагаемая к рассмотрению сборка была протестирована в больших промышленных средах (осуществлялся мониторинг более 1800 хостов, более чем 89500 отслеживаемых элементов и более чем 30000 спусковых механизмов - триггеров) и что они могут рассматриваться как эффективные для большинства больших и очень больших сред. Предлагаемые в данной книге решения высокой доступности были всемерно протестированы, причём не во время упражнения по аварийному восстановлению, а во время реально произошедшей катастрофы (сетевые кабели случайно были перерублены экскаватором).

В этой книге важно понимать что большинство наших выборов было осуществлено на практической основе, а не движимые душевным порывом. Один из основных сделанных выборов заключается в применении PostgreSQL в качестве официальной СУБД Zabbix. Мы натолкнулись на PostgreSQL в качестве СУБД в основном по причине её зрелости и предлагаемых ею готовых к промышленному применению функций:

  • В архитектуре заложена возможность горячего резервного копирования

  • Атомичность, согласованность, изолированность и долговечность - короче говоря, она полностью совместима с требованиями ACID

  • Большое количество различных собственных конфигураций резервирования (горячее резервирование, синхронные репликации и тому подобное)

  • Эффективное разбиение

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

В данной книге мы приняли ряд допущений: используемая в наших примерах пакетная система это yum, а следовательно вашим дистрибутивом очевидно является Red Hat Enterprise Linux. {Прим. пер.: CentOS, Scientific и т.п.} В любом случае, за исключением подробностей, таких как имена пакетов и менеджеры пакетов, вся данная книга верна для всех дистрибутивов Linux. Более того, предлагаемые архитектуры и их реализации не привязаны к определённому дистрибутиву. Мы не применяем никакую специфичную для Red Hat кластерную систему и не делаем никакого выбора, который вы не сможете повторить в своём любимом дистрибутиве Linux.

При чтении данной книги вы найдёте различные части программного обеспечения с открытым исходным кодом, однако было бы лучше, если бы из всех них были бы знакомы со следующими:

Эта книга также сосредотачивается на системных администраторах, которые имеют некоторые навыки программирования. Мы предлагаем различные разработки для реализации фрагментов кода. При помощи всех предлагаемых примерах, причём все они хорошо документированы, вы должны будете иметь возможность реализовать ваши собственные встраиваемые модули или внешнее программное обеспечение которое будет полностью интегрировано с Zabbix. Предлагаемые фрагменты кода представлены на двух различных и широко распространённых языках: Java и Python. Это покрывает большинство предпочтений современных программистов и отображает, раз уж вы знаете как реализовать такой протокол Zabbix, как просто он переключается между ними.

Zabbix является чем-то большим чем просто часть программного обеспечения мониторинга; он является решением мониторинга с открытым исходным кодом, которое можно трактовать так, как вы пожелаете, а данная книга осведомит вас обо всех за и против всех возможных решений.

Итак, теперь время погрузиться в пучину Zabbix!

 Соглашения

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

Кодовые слова в тексте, имена таблиц базы данных, имена папок, имена файлов, расширения файлов, имена путей, модели URL-адресов, ввод пользователя, и регулировки Twitter представлены следующим образом: "Большинство этих параметров содержатся внутри файла php.ini".

Блок кода устанавливается следующим образом:


zabbixsrv=zabbixsvr
[ -e /etc/sysconfig/$syscf ] && . /etc/sysconfig/$syscf

start()
{
    echo -n $"Starting Zabbix server: "
 	   

Когда вы хотите обратить внимание на определённую часть в блоке кода, относящиеся к этому строки или элементы устанавливаются в жирный шрифт:


; Maximum size of POST data that PHP will accept.
; http://www.php.net/manual/en/ini.core.php#ini.post-max-size
post_max_size = 16M
 	   

Любой ввод командной строки или её вывод записываются следующим образом:


# yum list postgres*
 	   

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

[Замечание]Замечание

Предостережения или важные замечания появляются в блоках подобных этому.

[Совет]Совет

Советы и ловкие приёмы возникают таким образом.

 Обратная связь с читателями

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

Для отправки обычного отклика просто пошлите электронное письмо на адрес feedback@packtpub.com с упоминанием заголовка книги в теме вашего сообщения.

Если у вас существует тема, в которой у вас имеется опыт и вы заинтересованы либо в написании, либо во вкладе в книгу, обратитесь к руководству по адресу www.packtpub.com/authors.

 Поддержка пользователей

Теперь, когда вы являетесь гордым владельцем книги Packt, у нас есть целый ряд моментов для помощи вам в получении максимальной выгоды от вашей покупки.

 Загрузка кодов примеров

Вы можете загрузить файлы примеров кода для всех книг Packt, которые вы приобрели в своей учётной записи на сайте http://www.packtpub.com. Если вы приобрели эту книгу где-то ещё, вы можете посетить http://www.packtpub.com/support и зарегистрироваться для получения указанных файлов по электронной почте непосредственно для вас.

 Опечатки

Хотя мы и предприняли все меры чтобы обеспечить точность нашего содержимого, ошибки всё- таки возможны. Если вы обнаружили ошибку в нашей книге - возможно, ошибку в тексте или в коде - мы будем признательны если вы сообщите об этом нам. Сделав это, вы можете предостеречь остальных читателей от разочарования и помочь нам улучшить последующие версии данной книги. Если вы обнаружили ошибку, пожалуйста, сообщите о ней посетив www.packtpub.com/submit-errata, выбрав вашу книгу, кликнув на ссылку Errata Submission Form, и заполнив подробности найденной вами ошибки. Когда ваша ошибка будет проверена, вы получите уведомление и ошибка будет выложена на наш веб- сайт или добавлена в какой- нибудь перечень существующих ошибок с заголовком раздела Errata.

Для просмотра ранее выявленных ошибок посетите www.packtpub.com/books/content/support и введите название нужной книги в поле поиска. Необходимая информация появится в разделе Errata.

 Незаконное тиражирование

Пиратство, защищённых авторским правом материалов в Интернете является постоянной проблемой во всех средствах массовой информации. В Packt мы подходим к защите наших авторских прав и лицензий очень серьёзно. Если вы столкнётесь с какой-либо незаконной копией наших работ в любой форме в Интернете, пожалуйста, предоставьте нам сразу адрес местонахождения или имя веб-сайта, чтобы мы могли принять меры. {Прим. пер.: Согласно закону об авторском праве РФ, авторские права на перевод принадлежат авторам этого перевода. Данным переводом, по нашему мнению, мы служим популяризации основных стратегических направлений развития тем Packt. В случае наличия конструктивных предложений, готовы к тесному сотрудничеству.}

Пожалуйста, обратитесь по адресу copyright@packtpub.com со ссылкой на материалы содержащие признаки нарушения авторских прав.

Мы выражаем вам признательность в защите наших авторов и нашей возможности доносить до вас имеющего ценность содержимого.

 Вопросы

Если у вас есть проблемы по любым сторонам данной книги, вы можете контактировать с нами по адресу questions@packtpub.com и мы предпримем все меры в отношении ваших проблем.