- Настройка мониторинга использования CPU в Zabbix: пошаговая инструкция
- Создание нового шаблона Zabbix
- Добавление макроса
- Добавление элементов данных
- Шаг 1: Установка агента Zabbix
- Шаг 2: Добавление элементов данных
- Шаг 3: Обнаружение элементов данных
- Шаг 4: Настройка превышений значений
- Триггеры с гистерезисом
- Конфигурация хоста
- Мониторим ядра CPU в Zabbix и создаем произвольные счетчики в Low-level discovery
- Шаг 1: Создание шаблона для мониторинга ядер CPU
- Шаг 2: Настройка Low-level discovery
- Шаг 3: Создание произвольных счетчиков
- Zabbix Мониторинг выборочного процесса CPU MEM с защитой от ложных срабатываний
- Прикручиваем мониторинг параметров smart или какой-либо температуры CPU motherboard к Zabbix
- Установка необходимых пакетов
- Настройка мониторинга SMART параметров
- Настройка мониторинга температуры CPU и материнской платы
- Создание шаблона и триггеров в Zabbix
- Видео:
- Настройка Zabbix 3 4, добавление устройств, мониторинг.
Настройка мониторинга использования CPU в Zabbix: пошаговая инструкция
В данной статье мы рассмотрим процесс настройки мониторинга использования CPU на debian-серверах с помощью Zabbix. Вам потребуется иметь этот мощный инструмент для мониторинга систем и сетей на вашем сервере.
Первым шагом будет создание нового раздела для мониторинга состояния CPU. Для этого вам необходимо добавить элементы в шаблон, который будет использоваться для мониторинга. В данном случае мы будем использовать шаблон «Template OS Linux», однако вы можете создать свой собственный шаблон.
Далее необходимо настроить discovery правильно. Мы будем мониторить параметр «cpu.discovery» на вашем хосте, чтобы узнать, какие элементы мониторинга доступны для вашего сервера. Создайте новый элемент «Create item» и задайте ему описание, например, «Discovery CPU». В поле «Key» введите «cpu.discovery».
После создания элемента discovery у вас будет возможность увидеть все элементы мониторинга CPU, которые доступны на вашем сервере. Вы можете использовать повышенный уровень загруженности процессора в качестве параметра мониторинга, чтобы обнаружить, какие процессы потребляют больше всего ресурсов.
Создадим новый элемент «Create item» для мониторинга использования CPU. В поле «Key» введите «system.cpu.util[,idle]». Таким образом, мы сможем получить информацию о нагрузке на CPU в процентах. Вы также можете создавать произвольные элементы для мониторинга различных параметров CPU.
В итоге, после добавления всех необходимых элементов и настройки Zabbix-agent, вы сможете увидеть данные о загруженности CPU в интерфейсе Zabbix. Вы сможете мониторить состояние CPU, использование дисков и другие параметры вашего linux-сервера.
Создание нового шаблона Zabbix
Для создания нового шаблона в Zabbix мы должны следовать официальной документации и использовать некоторые техники. Давайте создадим новый шаблон для мониторинга использования CPU.
1. В веб-интерфейсе Zabbix переходим в раздел «Configuration» (Конфигурация), а затем выбираем «Templates» (Шаблоны).
2. Нажимаем на кнопку «Create template» (Создать шаблон).
3. Задаем имя и номер для нового шаблона. Например, «Template CPU Monitoring» (Шаблон мониторинга CPU) с номером 4.
4. В разделе «Low-level discovery» (Низкоуровневое обнаружение) добавляем новое правило обнаружения для мониторинга процессора. Оно будет называться «CPU Discovery» (Обнаружение CPU).
5. Добавляем новый item для мониторинга использования процессора. Для этого в поле «Key» (Ключ) указываем параметры json и expression из документации Zabbix.
6. В разделе «Triggers» (Срабатывания) добавляем новое правило срабатывания при превышении нормального состояния использования CPU.
7. После завершения создания шаблона, нажимаем на кнопку «Create» (Создать).
Таким образом, мы создали новый шаблон Zabbix для мониторинга использования CPU на linux-сервере. Теперь мы должны добавить этот шаблон к нужным хостам и настроить его параметры.
В результате, Zabbix будет мониторить использование CPU на указанном сервере, и мы сможем просматривать и анализировать соответствующую информацию.
Добавление макроса
Теперь, когда мы создали и настроили элементы для мониторинга использования CPU, давайте добавим макрос, который позволит нам мониторить загруженность CPU на разных серверах.
Макросы в Zabbix — это способ передачи динамических значений в объекты системы мониторинга. Итак, для создания макроса для мониторинга использования CPU, следуйте приведенным ниже шагам:
1. В основном окне Zabbix нажимаем на кнопку «Configuration» в верхнем меню.
2. В раскрывающемся меню выбираем «Templates».
3. В списке шаблонов выбираем нужный шаблон или создаем новый.
4. В меню слева выбираем вкладку «Macros».
5. Нажимаем кнопку «Create macro».
6. В открывшейся форме заполняем поля следующим образом:
- Macro: Номер CPU или другой произвольный идентификатор (например, {#CPU_NUMBER}).
- Value: json процесса, созданного скриптом
- Description (optional): Краткое описание макроса.
7. Нажимаем кнопку «Add» для добавления макроса.
Теперь, у нас есть макрос, который можно использовать для мониторинга загруженности CPU на разных серверах. Таким образом, мы можем создать триггеры для обнаружения нагрузки CPU на основе значений этого макроса и созданных ранее элементов. Более подробную информацию о создании триггеров можно прочитать в официальной документации по Zabbix.
Добавление элементов данных
Для настройки мониторинга использования CPU в Zabbix необходимо добавить элементы данных. Это может быть достаточно сложной задачей, но мы постараемся объяснить ее пошагово.
Шаг 1: Установка агента Zabbix
Перед тем как приступить к добавлению элементов данных, убедитесь, что агент Zabbix установлен на мониторимом сервере. Если он еще не установлен, вы можете найти официальную документацию по установке на веб-морде Zabbix.
Шаг 2: Добавление элементов данных
Теперь, когда агент установлен, переходим в конфигурацию хоста и добавляем элементы данных:
Название элемента данных | Ключ элемента данных | Тип элемента данных |
---|---|---|
CPU загрузка | system.cpu.load[percpu,avg1] | Число (вещественное) |
Использование дисков | vfs.fs.size[/,pused] | Число (вещественное) |
Это лишь примеры элементов данных, которые можно добавить. Вы можете добавить любые другие элементы данных, соответствующие вашим потребностям, используя произвольные ключи и типы данных.
Шаг 3: Обнаружение элементов данных
После создания элементов данных мы должны обеспечить их обнаружение. Для этого переходим к разделу «Обнаружение» в конфигурации хоста.
В поле «Запускать агент Zabbix» выбираем «Zabbix агент (активный)». Теперь нажимаем кнопку «Поехали» для начала обнаружения.
Тип | Ключ | Значение |
---|---|---|
Техника | zabbix[proc.num,httpd] | более-менее, процессоров |
Техника | zabbix[proc.num,mysql] | меньше, процессоров |
Это примеры обнаружения элементов данных для веб-сервера и сервера базы данных MySQL. Вы можете добавить обнаружение для других процессов в вашей конфигурации.
Шаг 4: Настройка превышений значений
Наконец, настраиваем превышения значений для элементов данных. Для этого переходим в раздел «Последние значения» в конфигурации хоста.
Нажимаем «Добавить» и выбираем элемент данных, для которого мы хотим настроить превышение значений. Устанавливаем соответствующие настройки, включая тип превышения, пороговые значения и действия, которые должны произойти при превышении.
Теперь, когда все элементы данных добавлены, обнаружены и настроены, вы сможете увидеть данные о использовании CPU в веб-интерфейсе Zabbix.
Триггеры с гистерезисом
Итак, мы уже настроили мониторинг использования процессора нашего Linux-сервера в Zabbix. Теперь переходим к созданию триггеров, которые будут оповещать нас о превышении заданных пороговых значений.
Гистерезис — это важный аспект при создании триггеров, который позволяет избежать ложных срабатываний. Одним из недостатков конфигурации триггера без гистерезиса является то, что при малейшем превышении порогового значения состояние триггера сразу меняется на «PROBLEM» (проблема), а если значение опять становится меньше порогового, то состояние триггера сразу меняется на «OK» (все в порядке). В итоге у нас может возникнуть большое количество ложных срабатываний, что усложнит анализ реальных проблем.
Давайте создадим новый шаблон (template), который будет содержать все необходимые элементы для мониторинга процессоров и использования CPU. Для примера назовем наш шаблон «CPU Load».
Перейдите в официальной документации по Zabbix и найдите подробную информацию о создании триггеров с гистерезисом в разделе «Триггеры с гистерезисом». Давайте прочитаем этот раздел, чтобы получить более глубокое понимание этой возможности и оптимального использования ее в нашем случае.
Возвращаемся к нашей конфигурации Zabbix. Далее создаем триггеры для мониторинга процессоров. Создаем новый элемент данных (item) с именем «CPU Utilization», который будет мониторить параметр «system.cpu.util[,user]» для каждого процессора. Затем создаем правило (rule), которое будет определять условие срабатывания триггера на основе значений этого параметра.
Пример триггера с гистерезисом:
Expression: {Template CPU Load:system.cpu.util[,user].last(0)}>20 and {Template CPU Load:system.cpu.util[,user].min(5m)}>15 and {Template CPU Load:system.cpu.util[,user].last(0)}>{Template CPU Load:system.cpu.util[,user].min(5m)+5}
В этом примере мы проверяем, что значение «system.cpu.util[,user]» последней (last) минуты больше 20, минимальное (min) значение за последние 5 минут больше 15 и последнее значение больше минимального значения на 5. Если все условия выполняются, то триггер будет переведен в состояние «PROBLEM».
Теперь создаем аналогичные триггеры для мониторинга использования памяти (mem) и дисков (для каждого диска создаем отдельный триггер).
Все наши триггеры теперь используют гистерезис, что позволяет избежать ложных срабатываний и более точно мониторить состояние наших серверов.
Конфигурация хоста
После создания хоста в Zabbix и добавления на него агента, необходимо настроить мониторинг использования CPU. Для этого вам понадобится создать несколько items, триггеры и дисков.
Итак, начинаем с создания items. Вам потребуется создать такой item для каждого процесса, который вы хотите мониторить. Вместо того, чтобы создавать items вручную для каждого процесса, мы воспользуемся встроенной техникой-добавляем детектор процессов через discovery. Создадим новый item типа «Zabbix agent (active)» с ключом «proc.num[process name]», где «process name» — это имя процесса, который мы хотим мониторить.
Далее создадим триггеры, которые будут срабатывать, когда количество процессов станет выше определенного порога. Для каждого процесса создадим триггер типа «Expression» с формулой «{host:proc.num[process name].last()}>trigger_value», где «process name» — это имя процесса, а «trigger_value» — это число процессов, при достижении которого триггер сработает.
Также создадим триггер для общего количества запущенных процессов на хосте. Для этого создадим item типа «Zabbix agent (active)» с ключом «proc.num[]», где пустые скобки означают, что мы не указываем конкретный процесс. Затем создадим триггер типа «Expression» с формулой «{host:proc.num[].last()}>trigger_value», где «trigger_value» — это число процессов, при достижении которого триггер сработает.
Теперь добавим items и триггеры для мониторинга загруженности процессоров. Создадим item типа «CPU utilization» с формулой «system.cpu.util[,idle]». Затем создадим триггер типа «Expression» с формулой «{host:system.cpu.util[,idle].last()}<trigger_value», где «trigger_value» — это процент загруженности процессора, при достижении которого триггер сработает.
Также добавим items и триггеры для мониторинга SMART-параметров жестких дисков. Создадим item типа «Zabbix agent (active)» с ключом «vfs.dev.smart[]». Затем создадим триггер типа «Expression» с формулой «{host:vfs.dev.smart[].last()}<trigger_value», где «trigger_value» — это значение SMART-параметра, при достижении которого триггер сработает.
Добавление всех этих items и триггеров может показаться сложным процессом, но в данной статье будет описана конфигурация хоста, которую вы можете использовать.
Мониторим ядра CPU в Zabbix и создаем произвольные счетчики в Low-level discovery
Когда мы настраиваем мониторинг использования CPU в Zabbix, мы обычно следим за общей нагрузкой процессора на сервере. Однако иногда нам может понадобиться более детальная информация о загруженности каждого ядра или даже создание произвольных счетчиков для отслеживания конкретных процессов.
Шаг 1: Создание шаблона для мониторинга ядер CPU
После входа в веб-морду Zabbix и перехода в раздел «Configuration», мы выбираем «Templates» и создаем новый шаблон. Мы называем его «CPU Monitoring» (или другое подходящее название) и добавляем описание по своему усмотрению.
В конфигурации шаблона мы добавляем элементы данных для каждого ядра процессора. Для этого мы используем Low-level discovery и создаем произвольные счетчики для отслеживания количества ядер на сервере.
Шаг 2: Настройка Low-level discovery
Чтобы настроить Low-level discovery, мы добавляем новый элемент данных и выбираем «Zabbix agent» в качестве типа проверки. После этого мы вводим команду, которая будет запрашивать информацию о количестве ядер CPU у системы. Например, на Debian сервере мы можем использовать следующую команду:
cat /proc/cpuinfo | grep processor | wc -l
Затем мы настраиваем триггер, чтобы проверять, превышает ли количество ядер заданное значение. Например, если у нас есть 4 ядра, мы можем задать пороговое значение равное 5, чтобы получать уведомления, если количество ядер превышает это значение.
Шаг 3: Создание произвольных счетчиков
После настройки Low-level discovery мы создаем произвольные счетчики для каждого ядра CPU. Для этого мы добавляем новый элемент данных и выбираем «Zabbix agent» в качестве типа проверки. В качестве ключа мы используем макрос {#CORE}, который будет заменяться на номер ядра при выполнении проверки.
Также мы добавляем триггеры для каждого произвольного счетчика, чтобы проверять, превышает ли использование процессора заданное значение, например, 90%. При превышении этого значения мы получим уведомление.
В итоге, после настройки шаблона и создания произвольных счетчиков, мы сможем отслеживать использование каждого ядра CPU на сервере и получать уведомления при превышении заданных значений.
Zabbix Мониторинг выборочного процесса CPU MEM с защитой от ложных срабатываний
Перед тем, как приступить к настройке мониторинга, нам понадобится некоторая предварительная конфигурация. Если у вас уже есть данные вопросы «как настроить Zabbix» и «как настроить мониторинг CPU», то давайте добавим к ним еще один: «как настроить мониторинг выборочного процесса с защитой от ложных срабатываний?».
Для примера рассмотрим мониторинг использования CPU и памяти для процесса «smart». Давайте добавим элементы данных для обнаружения и мониторинга этого процесса на каждом хосте.
Создаем новый шаблон, например, «Linux CPU MEM Process Monitoring». В каждом шаблоне должно быть свое уникальное имя и описание. В нашем примере, мы будем использовать «Linux CPU MEM Process Monitoring Template». В поле «Прикрепленные элементы данных» добавляем два элемента: «process.smart.cpu» и «process.smart.mem». Для наглядности, можно создать отдельные элементы «usermacro.smart.cpu» и «usermacro.smart.mem».
Чтобы создать новый элемент данных, нажимаем на кнопку «Создать» и далее на «Элемент данных». Видите табличку нажимаем «Создать». Теперь мы находимся в разделе «Управление элементами данных» среды разработки Zabbix.
Если рассмотреть пример по умолчанию, то новый объект элемента данных похож на шаблон: «process.smart.cpu» и «process.smart.mem». В настоящее время эти элементы данных имеют значение по умолчанию — «-«. Нам нужно связать эти элементы данных с определенными хостами, чтобы установить их конкретные устройства и параметры.
Продолжим добавлять наши объекты элемента данных. Добавление элементов данных на этом этапе является серьезным и сложным прочилином, требующим некоторых технические навыки. Убедитесь, что вы полностью прочитали официальную документацию по добавлению объектов элементов данных.
Для добавления элемента данных, нам нужно прочесть «пример» в поле «Инфо на примере». В разделе «Элемент данных» добавляем несколько объектов элемента данных. В нашем примере, это «smart.cpu» и «smart.mem». В ‘`примерах объекта Элемента данных’ добавляем следующую информацию: «`mem.proc.loaded[usermacro.smart.cpu]` and `mem.proc.loaded[usermacro.smart.mem]`». Это означает, что каждый хост с устройством «`smart.cpu`» и «`smart.mem`» будет настроен на использование правил «`mem.proc.loaded`» при обнаружении элемента данных. Когда этих два условия (`»smart.cpu»` или `»smart.mem»`) будет выполнено, наш объект элемента данных будет автоматически обнаружен.
Элемент данных | Тип | Ключ | Значение по умолчанию |
---|---|---|---|
smart.cpu | Цифра (float) | mem.proc.loaded[usermacro.smart.cpu] | — |
smart.mem | Цифра (float) | mem.proc.loaded[usermacro.smart.mem] | — |
Таким образом, мы создали элементы данных для мониторинга использования CPU и памяти для процесса «`smart`». Теперь давайте настроим обнаружение. В разделе «Добавить объект элемента данных» выбираем «mem.proc.loaded». Здесь мы должны обозначить, на каких хостах и какие устройства рассматривать в качестве параметров.
Нажимаем кнопку «Добавить», и в разделе «Добавить объект элемента данных» указываем, что мы хотим использовать «`smart.cpu`» и «`smart.mem`» в качестве переменных. Теперь у нас есть элементы данных для каждого хоста, у которых установлены «`smart.cpu`» и «`smart.mem`. В нашем примере, мы будем использовать «usermacro.smart.cpu» и «usermacro.smart.mem». Для наглядности, мы добавляем эти макросы в нашу конфигурацию шаблона. Теперь наши элементы данных готовы к использованию!
Однако, у нас есть еще один недостаток — ложные срабатывания. Чтобы уменьшить возможность ложных срабатываний, используем механизм гистерезиса. Мы уже находимся в панели элементов данных, переходим в «Дисковое пространство» и настраиваем `CPU` и `MEM`.
Таким образом, мы настроили мониторинг выборочного процесса «`smart`» с защитой от ложных срабатываний. Мы создали элементы данных «smart.cpu» и «smart.mem» для каждого хоста, установили макросы «usermacro.smart.cpu» и «usermacro.smart.mem», и настроили гистерезис для уменьшения ложных срабатываний.
Прикручиваем мониторинг параметров smart или какой-либо температуры CPU motherboard к Zabbix
Установка необходимых пакетов
Для начала установим пакеты, необходимые для получения информации SMART и температуры CPU и материнской платы. Для Debian и его производных пакеты можно установить следующей командой:
sudo apt-get install smartmontools lm-sensors
После успешной установки пакетов необходимо выполнить команду:
sudo sensors-detect
Она позволит настроить датчики температуры на материнской плате.
Настройка мониторинга SMART параметров
Создаем файл /etc/zabbix/zabbix_agentd.conf.d/smart.conf
со следующим содержимым:
UserParameter=smart[*],/usr/sbin/smartctl -A $1 | grep "$2" | awk '{print $10}'
Далее, перезапускаем службу Zabbix Agent, чтобы изменения в конфигурационных файлах вступили в силу:
sudo systemctl restart zabbix-agent
Настройка мониторинга температуры CPU и материнской платы
Для мониторинга температуры CPU и материнской платы создаем файл /etc/zabbix/zabbix_agentd.conf.d/temperature.conf
со следующим содержимым:
UserParameter=temperature.cpu,/usr/bin/sensors -u | grep 'temp1_input' | awk '{print $2}' | sed 's/+//' UserParameter=temperature.motherboard,/usr/bin/sensors -u | grep 'temp2_input' | awk '{print $2}' | sed 's/+//'
Здесь temperature.cpu
и temperature.motherboard
— это пользовательские параметры, отвечающие за мониторинг температуры процессора и материнской платы соответственно.
После внесения изменений в конфигурационные файлы службы Zabbix Agent, перезапускаем ее:
sudo systemctl restart zabbix-agent
Создание шаблона и триггеров в Zabbix
Теперь, когда мониторинг SMART параметров и температуры CPU и материнской платы настроен, мы можем создать соответствующий шаблон в Zabbix и настроить триггеры для оповещения об аномалиях.
Переходим в веб-интерфейс Zabbix и создаем новый шаблон. Добавляем нужные элементы данных (ITEM) для мониторинга SMART параметров, температуры CPU и материнской платы.
Затем создаем триггеры (TRIGGER) для уведомления при превышении определенных значений. Например, можно настроить триггер для мониторинга параметра «температура процессора» и установить условия срабатывания при превышении определенного порогового значения.
После создания шаблона и триггеров, привяжем его к нужным хостам или группам хостов для мониторинга.
Теперь мы можем следить за параметрами SMART, температурой CPU и материнской платы в реальном времени, а также получать уведомления при превышении заданных пороговых значений.
Если у вас есть вопросы или возникают сложности в процессе настройки мониторинга в Zabbix, обращайтесь к документации или обратитесь к сообществу пользователей Zabbix для поддержки.
Видео:
Настройка Zabbix 3 4, добавление устройств, мониторинг.
Настройка Zabbix 3 4, добавление устройств, мониторинг. by Помощник Админа 29,667 views 5 years ago 46 minutes