Введение
Ранее я уже делал заметку по поводу Zabbix Agent 2, где перечислил основные отличия от прошлого агента. Их там много, так что рекомендую ознакомиться, прежде чем продолжать. Со временем развитие будет получать именно 2-я версия, а старый агент будет просто поддерживаться в том виде, как он есть сейчас. Новый функционал в него уже не будут завозить.
Если у вас еще нет своего сервера для мониторинга, то рекомендую материалы на эту тему. Для тех, кто предпочитает систему CentOS:
- Установка CentOS 8.
- Настройка CentOS 8.
- Установка и настройка zabbix сервера.
То же самое на Debian 10, если предпочитаете его:
- Установка Debian 10.
- Базовая настройка Debian.
- Установка и настройка zabbix на debian.
Особенности веб-интерфейса
Система мониторинга Zabbix располагает удобным веб-интерфейсом, в котором сгруппированы элементы управления. Консоль предусматривает просмотр собранных данных, их настройку. Для безопасности входа и работы осуществляется автоматическое отсоединение через 30 минут пользовательского бездействия.
На главном экране всегда представлена информация о состоянии узлов сети и триггеров.
Пользователю доступны пять функциональных разделов, включая Monitoring («Мониторинг»), Inventory («Инвентарные данные»), Reports («Отчеты»), Configuration («Конфигурация») и Administration («Администрирование»).
В разделе «Конфигурации» можно найти группы хостов. По каждому элементу списка можно посмотреть более подробную информацию, например, последние события и графики данных.
Управлять шаблонами, доступными администратору, можно в соответствующем подразделе — Templates («Шаблоны»).
Мониторинг локальной службы в linux
С мониторингом удаленного tcp сервиса разобрались, а что делать, если служба работает локально и к ней невозможно подключиться из вне. Тут уже не обойтись без установки zabbix агента. Если он установлен на хосте, то можно воспользоваться итемом с ключом proc.num. Этот ключ возвращает в качестве значения количество запущенных процессов. И если таких процессов больше одного, можно считать, что служба запущена.
Рассмотрим на примере мониторинга службы postgrey, реализующей greylist для борьбы со спамом. Она работает локально на почтовом сервере linux и является критическим сервисом, так как без него почтовый сервер postfix не будет принимать почту, выдавая временную ошибку почтовой системы. Проверим работу ключа proc.num:
# zabbix_agentd -t proc.num proc.num
Все в порядке, zabbix агент возвращает значение 1 при запущенном сервисе. Идем на сервер мониторинга, выбираем хост или шаблон и создаем новый item.
Показываю только основные параметры, остальные устанавливайте на свой вкус. Я лишь рекомендую не делать слишком частые проверки. В большинстве случаев в этом нет необходимости, а нагрузка на сервер постоянно растет при добавлении новых итемов.
Создаем триггер с оповещением о недоступности сервиса. При последних двух значениях равных срабатываем.
Я настраиваю триггер в шаблоне, поэтому сразу для удобства в названии триггера указываю маску для имени, чтобы было понятно в оповещении, на каком хосте сработал триггер. Как обычно, проверить поступаемые значения можно в Latest data.
Вот и все. Мы настроили мониторинг локальных служб linux в заббиксе.
linux — zabbix (используйте JMX для мониторинга tomcat)
y http-equiv=»Content-Type» content=»text/html;charset=UTF-8″>le=»margin-bottom:5px;»>Теги: основа корпоративных приложений linux
На server2
Загрузите tomcat и jdlk, разархивируйте и сделайте программные ссылки для легкого обновления.
Пусть Tomcat поддерживает мониторинг
На server1
Установите zabbix-java-gateway Откройте службу, настройте автоматический запуск службы после загрузки и проверьте порт.
Отредактируйте файл конфигурации zabbix-server, добавьте соответствующую информацию о javagateway и перезапустите службу.
Настройка в веб-интерфейсе наблюдает за котом
Интеллектуальная рекомендация
19.03.21 Я загрузил комплексные обучающие видеоуроки Photoshop CC 2015 и обучающие видеоуроки по новым функциям PS CC 2015. Я просмотрел несколько видео, но мне кажется, что они в основном объясняют н…
…
проверка данных весеннего mvc Два способа проверки данных Spring MVC: 1.JSR303 2.Hibernate Validator Второй метод является дополнением к первому методу Шаги для проверки данных с использованием Hibern…
Существует два способа вызова между сервисами Springcloud: RestTemplate и Feign. Здесь мы представляем сервисы вызова RestTemplate. 1. Что такое RestTemplate RestTemplate — это структура веб-запросов …
1. Понимать предварительный, средний, последующий порядок и иерархическую последовательность бинарных деревьев; Свяжите язык C со структурой данных двоичного дерева; Освойте с…
Вам также может понравиться
Последнее обучение, как использовать Kaldi, чтобы проснуться без использования WSTF, поэтому вам нужно глубоко пойти в Kaldi для обучения. Временное состояние обучения. Три изображения представляют со…
Во время простоя некоторые веб-страницы, которые мы создали, не были завершены, но не хотят, чтобы другие видели, вы можете создать простой эффект шифрования страницы на странице этой веб-страницы, ан…
Расширенные статьи серии Zookeeper 1. NIO, ZAB соглашение, 2PC представления концепции 2. Лидер выборов 3. Рукописный распределенный замок, центр настройки ==================================== 1. NIO,…
Посмотрите на конечный эффект первым DemoPreview.gif SETP1 эффект капли воды Первая реакция на эффект капли воды — нарисовать замкнутую кривую. С помощью события MotionEvent измените радиус во время п…
…
Мониторинг подключений (авторизаций) в Mikrotik
Логи с устройств мы собрали в одном месте. Теперь будем их анализировать и отправлять уведомления при каждом подключении к Mikrotik через Winbox. Я для этого сделал отдельный шаблон, где созданы элементы данных типа Журнал (лог) для анализа лог файла от каждого устройства.
Для каждого элемента данных есть триггер, который с помощью регулярного выражения анализирует лог файл и срабатывает тогда, когда видит строки с подключением к микротику через winbox. Имя триггера формируется таким образом, чтобы в нем была информация об имени пользователя и ip адрес, с которого он подключился.
Я не стал делать в шаблоне автообнаружение. Настраивал это в системах до 10-ти точек и мне банально было лень это делать, хотя и не сложно. Я просто копировал и исправлял итемы и триггеры, меняя ip адреса устройств. Для автообнаружения надо скрипт на сервер класть, который будет передавать список логов в мониторинг. А если руками делать, то можно все на сервере в шаблоне добавлять.
Итак, создаем простой итем.
К итему делаем триггер.
Вот и все. Прикрепляйте шаблон к хосту, на котором находится сам лог файл и проверяйте. В первую очередь смотрите, чтобы в Latest Data появилось содержимое лога.
Если триггеры настроены правильно, то при каждом подключении по Winbox вы будете получать уведомление на почту.
И еще одно после отключения.
Такой несложный механизм мониторинга за подключениями. Я отслеживаю именно подключения по winbox. Вы можете это изменить, добавив и другие типы подключения. Для этого надо изменить регулярное выражение в триггере.
Пример моего шаблона с двумя микротиками — zabbix-mikrotik-logs.xml. Если у вас много устройств, настройте автообнаружение лог файлов, чтобы автоматически создавать итемы и триггеры. Пример настройки автообнаружения в Zabbix можете посмотреть на примере мониторинга openvpn подключений. Там как раз показан очень похожий пример, когда анализируется список файлов в директории и передается в zabbix server.
На этом по мониторингу микротиков в Zabbix у меня все. По идее, рассмотрел все актуальные задачи по этой теме.
Zabbix использует JMX для мониторинга кота
http-equiv=»Content-Type» content=»text/html;charset=UTF-8″>style=»clear:both;»>
Окружающая среда: redhat7.3
server1(172.25.60.1) | zabbix-server ,zabbix-web,zabbix-agent,java-gateway |
---|---|
server2(172.25.60.2) | zabbix-agent,tomcat |
Примечание. Развертывание zabbix server1 / 2 было написано в предыдущем блоге, поэтому оно не является громоздким
принцип
Развертывание:
server2: (1) Установите Tomcat
(2) Добавьте параметры JMA в файл Tomcat, чтобы обеспечить расширенные функции и включить функции удаленного мониторинга.
** Примечание: ** Проверьте журнал после запуска, об ошибке не будет сообщено, если служба не запускается
server1: (3) zabbix-сервер отслеживает tomcat через zabbix-java-gateway: 8888
(4) Отредактируйте файл конфигурации zabbix-сервера, добавьте соответствующую информацию javagateway и перезапустите сервис.
(5) Обновите хост server2 в веб-интерфейсе
Конфигурация, хост, сервер2, добавление JMX, обновление
Конфигурация, хост, сервер2, шаблон, шаблон приложения Универсальный Java JMX, добавить, обновить
Вид: Обновление в браузере, вы можете видеть, что JXM включен (становится зеленым)
Интеллектуальная рекомендация
19.03.21 Я загрузил комплексные обучающие видеоуроки Photoshop CC 2015 и обучающие видеоуроки по новым функциям PS CC 2015. Я просмотрел несколько видео, но мне кажется, что они в основном объясняют н…
…
проверка данных весеннего mvc Два способа проверки данных Spring MVC: 1.JSR303 2.Hibernate Validator Второй метод является дополнением к первому методу Шаги для проверки данных с использованием Hibern…
Существует два способа вызова между сервисами Springcloud: RestTemplate и Feign. Здесь мы представляем сервисы вызова RestTemplate. 1. Что такое RestTemplate RestTemplate — это структура веб-запросов …
1. Понимать предварительный, средний, последующий порядок и иерархическую последовательность бинарных деревьев; Свяжите язык C со структурой данных двоичного дерева; Освойте с…
Вам также может понравиться
Последнее обучение, как использовать Kaldi, чтобы проснуться без использования WSTF, поэтому вам нужно глубоко пойти в Kaldi для обучения. Временное состояние обучения. Три изображения представляют со…
Во время простоя некоторые веб-страницы, которые мы создали, не были завершены, но не хотят, чтобы другие видели, вы можете создать простой эффект шифрования страницы на странице этой веб-страницы, ан…
Расширенные статьи серии Zookeeper 1. NIO, ZAB соглашение, 2PC представления концепции 2. Лидер выборов 3. Рукописный распределенный замок, центр настройки ==================================== 1. NIO,…
Посмотрите на конечный эффект первым DemoPreview.gif SETP1 эффект капли воды Первая реакция на эффект капли воды — нарисовать замкнутую кривую. С помощью события MotionEvent измените радиус во время п…
…
Обзор
Систему создал Алексей Владышев на языке Perl. Впоследствии проект подвергся серьезным изменением, которые затронули и архитектуру. Zabbix переписали на C и PHP. Открытый исходный код появился в 2001 г., а уже через три года выпустили первую стабильную версию.
Веб-интерфейс Zabbix написан на PHP. Для хранения данных используются MySQL, Oracle, PostgreSQL, SQLite или IBM DB2.
На данный момент доступна система Zabbix 4.4. Скачать ее можно на официальном сайте. Там же можно найти официальные курсы и вебинары для начинающих пользователей системы.
Далее рассмотрим, из чего состоит и как работает технология Zabbix в доступном формате «для чайников».
Добавление web сайта к мониторингу
Самый простой способ подключить сайт к мониторингу — добавить его проверку на уже существующем хосте. В этом подходе есть один большой минус — если вы захотите включить этот мониторинг от другого хоста, или просто перенести на другой сервер, то делать это будет неудобно. Гораздо удобнее мониторинг сайтов и все, что с ним связано, настраивать в отдельном шаблоне. Так что идем в раздел Configuration -> Templates и создаем новый шаблон.
Открывается стандартная форма создания шаблона. Вводим название шаблона, где будут настройки мониторинга сайтов, и добавляем его в какую-нибудь группу.
Открываем этот шаблон. Переходим на вкладку Web Scenarios и добавляем новый сценарий для мониторинга сайта.
Заполняем основные параметры сценария. В качестве названия я обычно указываю адрес сайта. В моем примере это будет github.com. Тут же указываю название приложения для мониторинга сайтов для удобной сортировки итемов, относящихся к сайтам, интервал проверки и число попыток соединения.
После этого перехожу на вкладку Steps и добавляю шаг проверки.
Дальше указываю параметры шага.
Поясню каждый параметр:
- Name — имя шага. В данном случае проверяться будет главная страница сайта, поэтому называю шаг index. Это не принципиально, но названия рекомендую давать осмысленные, чтобы потом было удобно оперировать названиями, к примеру, в триггерах.
- URL — адрес проверяемой страницы.
- Required string — строка на странице, которую будет искать zabbix. Я взял строку из футера сайта. Если заббикс ее найдет на странице, будет считать, что с сайтом все в порядке. Если нет — выдаст ошибку.
- Required status codes — требуемый код ответа. Указываю 200. Если заббикс получит какой-то другой код в ответ от web сервера, будет считать, что проверка закончилась неудачей.
После заполнения всех параметров жмем Add, чтобы добавить шаг и далее еще раз Add, чтобы добавить сам сценарий проверки. Должна получиться вот такая картина.
Простейшая проверка доступности сайта сделана. Дальше нам надо прикрепить этот шаблон к какому-нибудь хосту, чтобы начались реальные проверки. Я прикреплю шаблон к самому zabbix серверу. Для этого идем в Configuration -> Hosts, выбираем Zabbix Server и прикрепляем к нему созданный ранее шаблон.
Ждем несколько минут и идем в раздел Monitoring -> Web смотреть результаты мониторинга сайта github.com.
Код ответа 200, искомая строка найдена, что подтверждает Status OK. Тут же графики скорости загрузки сайта и время отклика. Более подробную информацию о мониторинге указанного сайта можно посмотреть в Latest Data.
Значение параметра Failed step of scenario «github.com» равное 0 означает, что все шаги проверки сайта выполнены без ошибок. Если у вас несколько шагов и какой-то из них завешается ошибкой, тут будет номер этого шага. То есть в общем случае, все, что не 0, это какие-то проблемы. Позже мы это будем использовать в триггере. А пока добавим пару графиков к шаблону, которые потом можно будет использовать в дашбордах.
Мониторинг Mikrotik в Zabbix по snmp
Стандартный шаблон собирает все метрики по snmp. Так что нам надо включить его на микротике. Для этого подключаемся к нему по Winbox и идем в раздел IP -> SNMP. Настраиваем работу snmp.
Мы включили snmp, выставили версию 2, разрешили подключаться только с ip адреса zabbix server — 10.1.3.29. Не забудьте указать адрес своего сервера.
Сходим теперь на zabbix-server и убедимся, что мы через него можем забирать информацию с mikrotik по snmp. Для этого подключимся к нему по ssh и воспользуемся утилитой snmpwalk. Если у вас ее нет, то поставить можно командой:
Подключаемся к микротику по snmp.
Получите кучу значений в консоли. Если хотите удобно их просмотреть, направьте вывод команды в файл и почитайте его. Если подключение прошло успешно, то переходим в Web интерфейс Zabbix сервера.
Здесь нам нужно будет добавить несколько шаблонов. Для начала загрузите вот этот пак шаблонов — https://share.zabbix.com/official-templates/template-modules-pack и установите несколько штук из него:
- template_module_generic_snmp_SNMPv2_EN.xml
- template_module_interfaces_SNMPv2_EN.xml
- 00template_module_icmp_ping__EN.xml
Вроде все. Но если вдруг чего-то будет не хватать, то при установке основного шаблона, он вам скажет об этом. Загружаем основной шаблон отсюда — https://share.zabbix.com/network_devices/mikrotik/template-net-mikrotik-snmpv2 и устанавливаем на сервер мониторинга
Обратите внимание на вкладку Макросы в шаблоне. Там указаны дефолтные значения, которые используются в триггерах
Лично я немного поднял пороговые значения по температуре.
Теперь нам нужно добавить в систему само устройство Mikrotik. Делаем это как обычно, не забывая указать snmp интерфейс.
И не забудьте ему подключить шаблон Template Net Mikrotik SNMPv2. После этого можно идти в Lates Data и проверять поступление информации с устройства в систему мониторинга.
Часть данных увидите сразу, а та, что поступает через правила автообнаружения, появится позже. Надо подождать. После того, как отработают все правила автообнаружения, рекомендую сходить на хост и поотключать то, что вам не нужно. К примеру, если у вас настроен capsman, то в мониторинг с мастера попадут интерфейсы cap, которые отключаются, если к точке нет подключенных клиентов по wifi. В итоге будет ненужный спам от мониторинга с точек.
На этом по мониторингу базовых метрик в микротике все. Теперь займемся уведомлениями о подключениях к устройствам через Winbox.
Мониторинг сайта с авторизацией
Немного усложним задачу. Давайте попробует выполнить авторизацию на сайте и провести мониторинг как самой авторизации, так и закрытой страницы за ней. Я для примера возьму форум centos.org/forums/, авторизуюсь на нем и после авторизации проверю страницу с персональной информацией конкретного пользователя.
Для того, чтобы настроить в zabbix мониторинг сайта с авторизацией, надо правильно сформировать post запрос для этой самой авторизации. Я это делаю следующим образом. Иду на страницу с авторизацией. В данном случае это https://www.centos.org/forums/ucp.php?mode=login, открываю DevTools в Сhrome, вкладку Network. Заполняю поля формы авторизации заведомо неправильными данными, чтобы авторизация завершилась ошибкой. После этой ошибки смотрю заголовки самого первого запроса.
Я нажимаю на view source в разделе Form Data и копирую получившуюся строку. В моем случае она была такая:
username=VladimirZp&password=pass123&redirect=.%2Fucp.php%3Fmode%3Dlogin&sid=70389f827540ef7a1fb7acb4e3bbad12&redirect=index.php&login=Login
Отсюда точно можно убрать параметр redirect. В итоге сохраняю вот такую строку:
username=VladimirZp&password=pass123&sid=70389f827540ef7a1fb7acb4e3bbad12&redirect=index.php&login=Login
Теперь иду в шаблон для мониторинга сайтов и добавляю новый сайт — centos.org. Создаю первый шаг с авторизацией, называю его auth. В нем же указываю post запрос для авторизации.
Не забудьте поменять пароль на правильный. После успешной авторизации вы увидите главную страницу форума, где будет ссылка на приватные сообщения форума. Эта ссылка доступна только после авторизации.
Следующим шагом делаем проверку строки Private messages на главной странице форума.
Шаги выполняются последовательно. На первом шаге мы только авторизовываемся, на втором проверяем страницу, доступную уже после авторизации. Идем в Latest Data и смотрим результат.
Оба шага успешно завершены, ошибок нет. Посмотрим раздел Monitoring -> Web.
Здесь тоже все в порядке. Наглядно видно, что процесс авторизации гораздо дольше и медленнее, чем загрузка главной страницы.
Архитектура Zabbix
У Zabbix есть 4 основных инструмента, с помощью которых можно мониторить определенную рабочую среду и собирать о ней полный пакет данных для оптимизации работы.
- Сервер — ядро, хранящее в себе все данные системы, включая статистические, оперативные и конфигурацию. Дистанционно управляет сетевыми сервисами, оповещает администратора о существующих проблемах с оборудованием, находящимся под наблюдением.
- Прокси — сервис, собирающий данные о доступности и производительности устройств, который работает от имени сервера. Все собранные данные сохраняются в буфер и загружаются на сервер. Нужен для распределения нагрузки на сервер. Благодаря этому процессу можно уменьшить нагрузку на процессор и жесткий диск. Для работы прокси Zabbix отдельно нужна база данных.
- Агент — программа (демон), которая активно мониторит и собирает статистику работы локальных ресурсов (накопители, оперативная память, процессор и др.) и приложений.
- Веб-интерфейс — является частью сервера системы и требует для работы веб-сервер. Часто запускается на том же физическом узле, что и Zabbix.
Дополнительные материалы по Zabbix
Онлайн курс по Linux
Если у вас есть желание научиться строить и поддерживать высокодоступные и надежные системы, рекомендую познакомиться с онлайн-курсом «Administrator Linux. Professional» в OTUS. Курс не для новичков, для поступления нужны базовые знания по сетям и установке Linux на виртуалку. Обучение длится 5 месяцев, после чего успешные выпускники курса смогут пройти собеседования у партнеров.
Что даст вам этот курс:
- Знание архитектуры Linux.
- Освоение современных методов и инструментов анализа и обработки данных.
- Умение подбирать конфигурацию под необходимые задачи, управлять процессами и обеспечивать безопасность системы.
- Владение основными рабочими инструментами системного администратора.
- Понимание особенностей развертывания, настройки и обслуживания сетей, построенных на базе Linux.
- Способность быстро решать возникающие проблемы и обеспечивать стабильную и бесперебойную работу системы.
Проверьте себя на вступительном тесте и смотрите подробнее программу по .
Рекомендую полезные материалы по Zabbix: |
Настройки системы |
---|
Видео и подробное описание установки и настройки Zabbix 4.0, а также установка агентов на linux и windows и подключение их к мониторингу. Подробное описание обновления системы мониторинга zabbix версии 3.4 до новой версии 4.0. Пошаговая процедура обновления сервера мониторинга zabbix 2.4 до 3.0. Подробное описание каждого шага с пояснениями и рекомендациями. Подробное описание установки и настройки zabbix proxy для организации распределенной системы мониторинга. Все показано на примерах. Подробное описание установки системы мониторинга Zabbix на веб сервер на базе nginx + php-fpm. |
Мониторинг служб и сервисов |
Мониторинг температуры процессора с помощью zabbix на Windows сервере с использованием пользовательских скриптов. Настройка полноценного мониторинга web сервера nginx и php-fpm в zabbix с помощью скриптов и пользовательских параметров. Мониторинг репликации mysql с помощью Zabbix. Подробный разбор методики и тестирование работы. Описание настройки мониторинга tcp служб с помощью zabbix и его инструмента простых проверок (simple checks) Настройка мониторинга рейда mdadm с помощью zabbix. Подробное пояснение принципа работы и пошаговая инструкция. Подробное описание мониторинга регистраций транков (trunk) в asterisk с помощью сервера мониторинга zabbix. Подробная инструкция со скриншотами по настройке мониторинга по snmp дискового хранилища synology с помощью сервера мониторинга zabbix. |
Мониторинг различных значений |
Настройка мониторинга web сайта в zabbix. Параметры для наблюдения — доступность сайта, время отклика, скорость доступа к сайту. Один из способов мониторинга бэкапов с помощью zabbix через проверку даты последнего изменения файла из архивной копии с помощью vfs.file.time. Подробное описание настройки мониторинга размера бэкапов в Zabbix с помощью внешних скриптов. Пример настройки мониторинга за временем делегирования домена с помощью Zabbix и внешнего скрипта. Все скрипты и готовый шаблон представлены. Пример распознавания и мониторинга за изменением значений в обычных текстовых файлах с помощью zabbix. Описание мониторинга лог файлов в zabbix на примере анализа лога программы apcupsd. Отправка оповещений по событиям из лога. |
Zabbix Documentation 3.0
Обзор
Раздел Мониторинг → Триггеры отображает состояния триггеров.
Колонка
Описание
Важность
Важность отображаемого триггера.Цвет важности используется как фон ячейки проблемных триггеров. Для ОК триггеров, используется зеленый фон.
Состояние
состояние отображаемого триггера — ОК или ПРОБЛЕМА.По умолчанию, состояние будет мигать 30 минут у триггеров, которые недавно изменили свое состояние
Кроме того, триггеры, которые перешли в состояние ОК, будут еще отображаться в течении 30 минут, даже если фильтр задан на отображение только проблем.
Цвет текста и опции мигания можно настроить в Администрирование → Общие → Опции отображения триггеров.
Инфо
Серая иконка со знаком вопроса показывает, что имеется некоторая важная информация. Если вы наведете курсор мыши на неё, отобразится сообщение.
Последнее изменение
Дата и время последнего изменения состояния отображаемого триггера.
Возраст
Возраст последнего изменения состояния отображаемого триггера.
Подтверждено
Состояние подтверждения отображаемого триггера:Подтверждено — зеленый текст показывает, что триггер подтвержден
Триггер считается подтвержденным, если всего его события о проблемах подтверждены (или если были только ОК события).
Подтвердить — красная ссылка показывает, что имеются события о проблемах (и их количество в круглых скобках).
Если вы нажмете на эту ссылку, то перейдете на экран массового подтверждения, где все события этого триггера можно подтвердить за раз.
Обратите внимание: Если вы желаете подтвердить только одно событие, перейдите в Мониторинг → События.
Нет событий — если у триггера нет событий о проблеме. Отображение этой строки поддерживается начиная с Zabbix 2.0.4; до этого подобные триггеры отображались как Подтверждено.
Узел сети
Узел сети отображаемого триггера.Он также являтеся ссылкой на добавленные пользовательские скрипты, последние данные узла сети, обзор инвентарных данных узла сети и комплексные экраны узла сети.
Имя
Имя отображаемого триггера.Оно также являтеся ссылкой на добавленные список событий триггера и на страницу настройки триггера, а также на простой график истории элемента данных
Список ссылок может также содержать пользовательский URL триггера, если он указан в настройке триггера.
Описание
Ссылка на описание триггера.Ссылка на добавление описаний к триггерам созданным при помощи низкоуровневого обнаружения была удалена в Zabbix 3.0.6. Такие описания всё равно позже удалялись низкоуровневым обнаружением, если они отсутствовали в оригинальном прототипа триггеров.
Отрицательная длительность проблемы
Фактически имеется вероятность в некоторых распространенных ситуациях наличие отрицательной длительности проблемы то есть, когда время решения наступает раньше времени создания проблемы, например:
-
Если какой-либо узел сети наблюдается прокси и происходит сетевая ошибка, которая приводит к тому, что данные от прокси не поступают некоторое время, тогда триггер item.nodata() сработает на стороне сервера. Когда соединение восстановится, сервер получит данные по элементу данных от прокси, у этих данных будет время из прошлого. Тогда проблема item.nodata() будет решена и у нее будет отрицательная длительность проблемы;
-
Когда данные элемента данных, которые решают событие проблемы поступили от Zabbix sender и содержат штамп времени более старый чем время создания проблемы, в этом случае также отобразится отрицательная длительность проблемы.
Использование фильтра
Вы можете использовать фильтр для отображения только тех триггеров в которых вы заинтересованы. Фильтр располагается выше таблицы.
По умолчанию отображаются триггеры только в состоянии ‘Недавняя проблема’ — включая как проблемные триггеры, так и триггеры, которые только совсем недавно изменили свое состояние в ОК. Вы можете выбрать на отображение триггеров только в состоянии ‘Проблема’ (только проблемные триггеры) или ‘Любое’.
Обратите внимание, если вы выберите ‘Любое’, тогда количество обрабатываемых данных на больших инсталляциях может быть огромным и загрузка страницы может занять весьма продолжительное время, если вообще загрузится. Вы можете исправить такое поведение, заменив URL параметры на ?filter_rst=1, чтобы сбросить фильтр
Опции массового редактирования
Кнопка ниже списка предлагает опцию массового обновления:
Массовое подтверждение — подтверждение выбранных триггеров
Чтобы использовать эту опцию, отметьте соответветствующие триггеры и нажмите на Массовое подтверждение.
Оповещение о недоступности сайта
Давайте настроим уведомления о проблемах на сайте. Я предлагаю 2 типа оповещения:
- О низкой скорости доступа к сайту.
- О недоступности сайта вообще.
Идем, как обычно в исходный шаблон, на вкладку Triggers и добавляем новый.
Я предлагаю вот такое условие срабатывания для определения недоступности сайта. Если среднее значение 3-х последних проверок больше, либо равно единице, то срабатывает оповещение о недоступности сайта.
Когда идет 0 во всех проверках, все в порядке. Триггер сработает только если все 3 последних проверки не равны нулю. В моем примере Failed step может принимать значение либо 0, либо 1, где 1 это номер сбойного шага. Если у вас шагов несколько, то сбойным может оказаться второй шаг или третий шаг. То есть значение может быть больше 1. Но в любом случае, если последние 3 значения подряд строго не 0, то идет срабатывание триггера. Операция восстановления очень простая. Если последняя проверка без ошибки, то есть код равен 0, то считаем, что сайт уже работает.
Чтобы проверить работу триггера, достаточно на zabbix server в файл /etc/hosts добавить строку:
127.0.0.1 github.com
и подождать 3 минуты, чтобы получились 3 неудачных проверки. После этого вам должно было отправиться уведомление о недоступности сайта. Я получил вот такое:
Дальше делаем проверку времени ответа сервера. Тут каждый волен настраивать так, как ему кажется более правильным и удобным. Я использую такую схему. Беру среднее время отклика сайта и умножаю его на 3. Далее смотрю последние 7 проверок. Если в 5 проверках среди этих семи были значения выше, чем утроенное среднее время отклика, то считаю, что сайт тормозит и надо слать уведомление. Немного замороченно, но на практике такая схема у меня себя хорошо зарекомендовала без ложных срабатываний. При этом, если возникают реальные проблемы, я их вижу. Рисуем триггер.
Условие восстановления — в последних трех запросах два и более были быстрее, чем утроенное среднее время доступа. Текст выражений для копирования:
{Sites Monitoring:web.test.time.count(#7,1.5,"ge")}>4 {Sites Monitoring:web.test.time.count(#3,1.5,"lt")}>1
В выражении 1.5 это время отклика в секундах. Именно в таком виде оно попадает в zabbix сервер. Проверить можно в Latest Data.
В завершении оставляю свой шаблон, который создал для написания статьи. Можете копированием и редактированием приспособить его для своих сайтов. Это быстрее, чем составлять с нуля. Шаблон экспортирован с версии zabbix 4.0 — sites_monitoring.xml
Вот и все, мониторинг веб сайта работает, авторизация проверяется, оповещение о недоступности сайта настроено. Для полноты картины можно создать Screen или Dashboard с выводом всех необходимых параметров на один экран. Его настройки уже будут зависеть от конкретной ситуации и тех данных, которыми вы располагаете. К примеру, если у вас настроен мониторинг веб сервера, то можно разместить рядом графики его загрузки и параметры доступа к сайту. Туда же можно добавить загрузку самого сервера по процессору и памяти и вывести график использования сетевого интерфейса.
В этом плане Zabbix очень гибок и позволяет настроить все на любой вкус и под любые требования.
Более подробно о мониторинге за временем отклика сайта читайте в отдельной статье на этот счет. Там описана теория процесса и практические рекомендации, вместе с готовым триггером.
Заключение
В своем материале я рассмотрел два различных способа, с помощью которых можно мониторить любой удаленный сервис по протоколу tcp, либо локальную службу на сервере linux. Конкретно в моих примерах можно было воспользоваться вторым способом в обоих случаях. Я этого не сделал, потому что первым способом я не просто проверяю, что служба запущена, я еще и обращаюсь к ней по сети и проверяю ее корректную работу для удаленного пользователя.
Разница тут получается вот в чем. Допустим, сервер squid у вас запущен и работает на сервере. Проверка работы локальной службы показывает, что сервис работает и возвращает значение 1. Но к примеру, вы настраивали firewall и где-то ошиблись. Сервис стал недоступен по сети, пользователи не могут им пользоваться. При этом мониторинг будет показывать, что все в порядке, служба запущена, хотя реально она не может обслужить запросы пользователей. В таком случай только удаленная проверка покажет, что с доступностью сервиса проблемы и надо что-то делать.
Из этого можно сделать вывод, что система мониторинга zabbix предоставляет огромные возможности по мониторингу. Какой тип наблюдения и сбора данных подойдет в конкретном случае нужно решать на месте, исходя из сути сервиса, за которым вы наблюдаете.