Zabbix: настройка мониторинга – элементы данных (items), графики (graphs), шаблоны (teamplates)

Автор: | 05/10/2013
 

zab_logoВ предыдущей статье CentOS: установка, настройка Zabbix-agent и добавление нового хоста в мониторинг мы добавили новый хост в систему мониторинга, которую установили по статье CentOS: установка сервера мониторинга Zabbix.

Теперь пора заняться настройкой того, что именно мы хотим мониторить.

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

В статье будет показано как:

  • создавать группы хостов;
  • создавать шаблоны целей мониторинга;
  • создавать элементы данных;
  • создавать группы элементов данных;
  • создавать графики.

Когда я первый раз столкнулся с Zabbix-ом – то первое время путался в определениях, принятых в этой системе. Поэтому – отдельно несколько слов о принятых в ней именах объектов.

Шаблон (teamplate) – это объект, содержащий в себе несколько элементов данных (items), каждый из которых включает в себя определённые ключи (keys), по которым выполняется проверка хоста.

Кроме того, в шаблон можно включить:

  • группы элементов данных (applications) – по сути – тот же шаблон, но хранящий в себе только элементы данных (items);
  • триггеры (triggers) – объект, обрабатывающий полученную информацию от элементов данных и на основе этой информации оценивающий состояние элемента хоста (например – состояние виртуальной памяти, или нагрузку на процессор) и, в зависимости от настройки, определяющий “важность” события;
  • графики (graphs) – визуализированное представление полученной от элементов данных информации;
  • комплексные экраны (screens) – несколько объектов, сгруппированных для отображения на одной странице – графики, карты сети, состояние триггеров, простая текстовая информация.

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

Приступим к созданию шаблона.

В первую очередь нам необходимо определить – что именно мы хотим мониторить? Для первоначальной настройки сервера Zabbix возьмём стандартные данные, которые будут интересны при мониторинге любого сервера:

CPU – общая нагрузка на сервер (load avarage); количество процессов;
Memory – доступная и занятая физическая/виртуальная память;
Filesystem – доступное и занятое место на жестком диске сервера, скорость чтения с/на диски;
Network – количество полученной/переданной информации в байтах, количество пакетов, количество ошибок, счётчики “сброшенных” пакетов.

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

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

Переходим в раздел Configuration > Host groups, справа вверху нажимаем кнопку Create host group:

Zabbix: настройка шаблонов мониторинга, добавление элемент

Задаём имя новой группе и определяем какие сервера будут  к ней относится (это можно сделать позже, оставив группу пустой):

Zabbix: настройка шаблонов мониторинга, добавление элемент

После нажатия кнопки Save мы возвращаемся к списку имеющихся групп, и видим созданную нами:

Zabbix: настройка шаблонов мониторинга, добавление элемент

В колонке Members указаны хосты, состоящие в этой группе. Но поле Teampletes содержит (0) подключенных к этой группе шаблонов. Перейдём к созданию шаблона – Configuration > Teamplates, справа вверху нажимаем Create teamplate:

Zabbix: настройка шаблонов мониторинга, добавление элемент

Заполняем поля Name (Имя шаблона), Visible name (Отображаемое имя), какая группа хостов и сервера будут связаны с этим шаблонов:

Zabbix: настройка шаблонов мониторинга, добавление элемент

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

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

Zabbix: настройка шаблонов мониторинга, добавление элемент

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

Кликаем по Applications:

Zabbix: настройка шаблонов мониторинга, добавление элемент

На следующей странице видим что No applications defined и нажимаем Create application:

Zabbix: настройка шаблонов мониторинга, добавление элемент

Начнём с набора для мониторинга CPU. Так как уже существует стандартная группа CPU, во избежание путаницы зададим имя, связанное с именем шаблона:

Zabbix: настройка шаблонов мониторинга, добавление элемент

Жмём Save, возвращаемся в окно со списком имеющихся групп элементов данных:

Zabbix: настройка шаблонов мониторинга, добавление элемент

Таким же образом создадим группы Memory_LMS, Network_LMS, Filesystem_LMS:

Zabbix: настройка шаблонов мониторинга

Теперь время приступить к самой интересной части – созданию непосредственно самих элементов данных. Кликаем на Items:

Zabbix: настройка шаблонов мониторинга

В следующем окне видим, что список элементов пустой и нажимаем Create item:

Zabbix: настройка шаблонов мониторинга

Остановимcя подробнее на этом моменте.

Host – имя хоста, группы хостов, шаблона или группы шаблонов, к которым будет принадлежать этот элемент;
Name – собственно, имя элемента;
Type – тип элемента, к которому будет он будет принадлежать, в данном случае – Zabbix agent (именно он будет собирать необходимые данные для этого элемента);
Keyключ элемента, по которому будет определяться получаемая элементом данных информация. Очень удобно использовать стандартные ключи, нажав кнопку Select;
Type of information – тип получаемых данных. Если сомневаетесь какой именно использовать – можно посмотреть на этой странице>>>, или в уже имеющихся элементах – например в шаблоне Template OS Linux имеется элемент Processor load (1 min average per core). Кликнув на нём – получите исходные данные, такие как ключ и тип информации:

Zabbix: настройка шаблонов мониторинга

Так же очень полезная опция – импорт существующего элемента. Для этого – в списке элементов отметьте необходимый, и слева внизу выберите Copy selected to:

Zabbix: настройка шаблонов мониторинга

В следующем окне выбираем группу, в которую мы хотим копировать элемент:

Zabbix: настройка шаблонов мониторинга

Теперь, если вернутся к списку связанных с нашим шаблонов элементов, мы увидим новый:

Zabbix: настройка шаблонов мониторинга

Units – специальное значение для обработки полученных данных перед их отображением, подробнее тут>>>;
Applications – к какой группе элементов данных будет относиться новый элемент;
Description – опционально, просто описание элемента;
Status – статус элемента после добавления.

Заполняем необходимые данные для нашего элемента. К примеру – создадим элемент, отслеживающий общее количество процессов:

Zabbix: настройка шаблонов мониторинга

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

Zabbix: настройка шаблонов мониторинга

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

Zabbix: настройка шаблонов мониторинга

Zabbix: настройка шаблонов мониторинга

Посмотрим, что у нас получилось. Переходим в Monitoring > Graphs, выбираем Group, Host и созданный нами график:

Zabbix: настройка шаблонов мониторинга

На скриншоте видно, что  присутствует уже готовый триггер, который скопировался вместе с элементом данных Processor load.

Но настройка триггеров – тема для отдельной статьи.

Что бы продемонстрировать график лучше – установим утилиту cpuburn:

# yum -y  install cpuburn

И запустим её что бы увеличить нагрузку:

# for i in {1..2}; do burnK7 & done
[3] 9501
[4] 9502

Ждём некоторое время и смотрим на график ещё раз:

Zabbix: настройка шаблонов мониторинга

Теперь картина видна лучше.

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

В следующий раз приступим к настройке JMX-мониторинга и созданию/редактированию триггеров.

CentOS: установка сервера мониторинга Zabbix