Zabbix — элементы данных агента

В этой статье я опишу некоторые элементы данных Zabbix агента. Кратко опишу эти элементы, расскажу где можно применить предобработку.

Введение

Я уже рассказывал про то как установить Zabbix агента на Linux или Windows и как начать мониторинг за хостом — здесь.

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

Доступность агента

  • Ключ — agent.ping.
  • Возвращает 1 если агент запущен и ничего не возвращает, если агент не запущен.
  • Тип информации — Числовой (целое положительное).
  • Можно использовать и на Linux, и на Windows.
  • В качестве триггера можно указать отсутствие данных, например за минуту.
Zabbix - Доступность агента

Количество открытых файлов

  • Ключ — kernel.openfiles.
  • Как известно, в Linux есть лимит по максимальному числу открытых файлов. Об этом я писал здесь. В Windows такого лимита нет, вы сможете открыть столько файлов, сколько вам позволит объём памяти. Этот элемент данных возвращает текущее количество открытых файлов.
  • Тип информации — Числовой (целое положительное).
  • Можно использовать только на Linux.
  • В качестве триггера можно указать приближение к указанному лимиту. Посмотреть текущее значение открытых файлов и лимит можно с помощью команды: cat /proc/sys/fs/file-nr. Например лимит 150000, тогда триггером будет превышение 140000.
Zabbix - Количество открытых файлов

Ошибки при входящем и исходящем трафике

  • Ключ для входящего трафика — net.if.in[<интерфейс>, errors] + предобработка «Простое изменение».
  • Ключ для исходящего трафика — net.if.out[<интерфейс>, errors] + предобработка «Простое изменение».
  • Эти элементы данных с предобработкой возвращают количество ошибок со времени предыдущей проверки.
  • Тип информации — Числовой (целое положительное).
  • Можно использовать и на Linux, и на Windows. На Windows я вместо имени интерфейса указываю назначенный ему ip адрес.
  • В качестве триггера можно указать что возвращаемое число не равно нулю. Это будет означать что на интерфейсе появились ошибки.
Zabbix - Ошибки при входящем трафике
Zabbix - Ошибки при входящем трафике - Предобработка

Загрузка CPU

Здесь я для LInux и Windows использую разные стратегии и разные элементы данных.

  • Ключ для Linux — proc.cpu.util[] + предобработка «Пользовательский множитель».
    • Покажет загрузку CPU всеми процессами в процентах. Если у вас 8 ядер, то полная загрузка будет равняться 800%. Поэтому стоит добавить предобработку «Пользовательский множитель» чтобы поделить полученное значение на количество ядер. Чтобы получить множитель, нужно 1/n, где n — это количество ядер. Например: множитель 0.5 для 2 ядер, множитель 0.125 для 8 ядер.
    • Тип информации — Числовой (с плавающей точкой).
    • Можно использовать только на Linux.
  • Ключ для Windows — system.cpu.util[].
    • В системе Windows покажет загрузку CPU, как показывает диспетчер задач. Но в Linux показывает загрузку только по определённому типу (idle, user (по умолчанию), system) а в сумме нельзя.
    • Тип информации — Числовой (с плавающей точкой).
    • Можно использовать и на Linux, и на Windows. Но в данном примере следует использовать только на Windows.
  • В обоих случаях, в качестве триггера, можно указать превышение 70% в течении 5 минут.
Zabbix - Загрузка CPU
Zabbix - Загрузка CPU - Предобработка

Load Average

  • Ключ — system.cpu.load[].
  • Про него (для Linux) я писал здесь, это как бы средняя нагрузка на систему. Если нагрузка меньше чем число ядер, значит всё хорошо, если больше — то плохо. Этот элемент возвращает среднюю нагрузку на систему (Load Average) усреднённую за 1 минуту.
  • Тип информации — Числовой (с плавающей точкой).
  • Можно использовать и на Linux, и Windows.
  • В качестве триггера можно указать превышение количества ядер в системе в течении 5 минут.
Zabbix - Load Average

Занято памяти

  • Ключ — vm.memory.size[pused].
  • С параметром pused покажет использованную память в системе, в процентах.
  • Тип информации: Числовой (с плавающей точкой).
  • Можно использовать и на Linux, и Windows.
  • В качестве триггера можно указать превышение 75% в течении 5 минут.
Zabbix - Занято памяти

Использование SWAP

  • Ключ — system.swap.size[,pused]. Для Linux. Тип информации: Числовой (с плавающей точкой).
  • Ключ — system.swap.size[,used]. Для Windows. Тип информации: Числовой (целое положительное).
  • Покажет использование файла или раздела подкачки. На Linux, в качестве второго параметра я указываю pused (просмотр занятой памяти в процентах). А на Windows, второй параметр — used (просмотр занятой памяти в байтах), так как pused не поддерживается.
  • Можно использовать и на Linux, и Windows.
  • В обоих случаях, в качестве триггера можно указать превышение 75%, только для Windows нужно будет произвести расчет самостоятельно и вместо процентов указать количество байтов.
Zabbix - Использование SWAP

Занято на диске

  • Ключ — vfs.fs.size[/,pused] — ключ для Linux.
  • Ключ — vfs.fs.size[C:\,pused] — ключ для Windows.
  • Покажет на сколько процентов занят раздел жёсткого диска. Для Linux нужно указать точку монтирования, а для Windows — букву диска.
  • Можно использовать и на Linux, и Windows.
  • Тип информации: Числовой (с плавающей точкой).
  • В качестве триггера можно указать превышение 75%.
Zabbix - Занято на диске

Занято inode

  • Ключ — vfs.fs.inode[/,pused].
  • Создавая файлы, мы занимаем индексные дескрипторы (inode) на файловой системе. Об этом я писал здесь. На Windows (NTFS) inode не могут закончится. А на Linux (Ext4) — могут закончится. Элемент с параметром pused возвращает процент занятых файловых дескрипторов на файловой системе.
  • Тип информации: Числовой (с плавающей точкой).
  • Можно использовать только на Linux.
  • В качестве триггера можно указать превышение 75%.
Zabbix - Занято inode

Проверка изменения файла

  • Ключ — vfs.file.cksum[/etc/passwd].
  • Покажет хэш указанного файла. Это бывает полезно, чтобы знать, что файл не изменялся.
  • Тип информации — Числовой (целое положительное).
  • Можно использовать и на Linux, и Windows. Для Windows нужно указать путь в виде C:\… .
  • В качестве триггера можно указать изменение получаемого значения в сравнении с предыдущим значением. То есть, если полученное значение не такое, как при предыдущей проверке, значит файл изменился.
Zabbix - Проверка изменения файла

Проверка открытого TCP порта

  • Ключ проверяющий работает ли web сервер — net.tcp.listen[443].
  • Ключ проверяющий работает ли rdp сервер net.tcp.listen[3389].
  • Если нам нужно следить за определённым сервисом, то мы можем следить, прослушивается ли указанный порт на сервере. Возвращает 1 если порт находится в состоянии LISTEN, 0 — если не находится.
  • Тип информации — Числовой (целое положительное).
  • Можно использовать и на Linux, и Windows.
  • В качестве триггера можем указать 0, то есть наблюдаемый порт не прослушивается на сервере.
Zabbix - Проверка открытого TCP порта

Производительность TCP сервиса

  • Ключ для проверки web-сервера (https) — net.tcp.service.perf[https, 127.0.0.1, 443].
  • Ключ для проверки сервера удалённых рабочих столов — net.tcp.service.perf[tcp, 127.0.0.1, 3389].
  • Этот элемент может проверить работу TCP сервиса, есть подобный и для udp. Проверять можно следующие сервисы: ssh, ldap, smtp, ftp, http, pop, nntp, imap, tcp, https, telnet — подробнее об этом здесь. Возвращает 0 если сервис недоступен или количество секунд за которые сервис ответил.
  • Тип информации: Числовой (с плавающей точкой).
  • Можно использовать и на Linux, и Windows.
  • В качестве триггера можем указать 0 — значит сервер не доступен. Или превышение какого-то количества секунд, например 3, значит сервер отвечает очень медленно.
Zabbix - Производительность TCP сервиса

Количество определённых процессов

  • Ключ — proc.num[<процесс>].
  • Этот элемент данных покажет количество определённых процессов. В качестве процесса вы должны указать его имя, например zabbix_agentd (для Linux), zabbix_agentd.exe (для Windows).
  • Тип информации — Числовой (целое положительное).
  • Можно использовать и на Linux, и Windows.
  • В качестве триггера можно указать 0, что будет означать отсутствие наблюдаемых процессов на сервере.
Zabbix - Количество определённых процессов

Если понравилась статья, подпишитесь на мой канал в VK.

Оставьте комментарий