How to Use Zabbix to Monitor Linux Disk Space
This article omits the installation of zabbix server and client. For the zabbix server and client installation, you can check my previous article. Here, the centos system is used as an example to monitor the disk usage. The zabbix version is 3.2. For other versions, please test it yourself.
Currently, the zabbix server and client can communicate normally. To monitor the disk usage, you only need to configure it on the zabbix server.
Configuration – Template – Create Template – Set Template Name
The vfs.fs.size[fs,] key value is required to monitor disk usage.
Fs: file system
Mode: mode
Total default all, free idle, used, pfree free percentage, used percentage
3, create a monitoring item
Just set a name and key value, and the rest are default.
The name I set here is disk-space-total
Key value vfs.fs.size[/data,total], my disk is mounted under /data, modify it according to the situation
PS: My data update interval is 30 seconds. In the actual production environment, the data update time can be set longer, depending on individual circumstances.
Next continue to create free, used, create methods and total the same as total
1 2 | 名称disk – space – free 键值vfs . fs . size [ / data , free ] 名称disk – space – used 键值vfs . fs . size [ / data , used ] |
Add pfree, pused, note that these two information types need to choose floating point number, unit %
1 2 | 名称disk – space – pfree 键值vfs . fs . size [ / data , pfree ] 名称disk – space – pused 键值vfs . fs . size [ / data , pused ] |
The template has been added, and finally it will be linked to the host.
19 Элементы данных
Элемент данных — это одиночная проверка (метрика) производительности или доступности.
1 Ключ элемента данных
1.1 Гибкие и не гибкие параметры
Параметр является гибким, если он может принимать аргументы. Например, параметр vfs.fs.size[*] является гибким. * означает любую строку, которая будет передана в как аргумент параметру. Примеры правильных определений:
1.2 Формат ключа
Следуйте правилам синтаксиса в формате ключа элемента данных, включая параметры ключа. На рисунках изображен поддерживаемый синтаксис. Допустимые элементы и символы в каждой позиции можно определить следуя линиям — если в каком то блоке может быть достигнута линия, в таком случае разрешено, если линия не может быть достигнута — тогда не разрешено.
Ключ элемента данных
Для построения правильного ключа элемента данных, вы должны начать с указания имени ключа, то есть выбрать имеет ли ключ параметры или нет — о чем свидетельствуют две линии, которые вы можете достичь.
Имя ключа имеет ограниченный диапазон разрешенных символов, которые просто следуют друг за другом. Разрешенные символы:
- все цифры;
- все буквы в нижнем регистре;
- все буквы в верхнем регистре;
- подчеркивание;
- тире;
- точка.
Параметры ключа
Ключ элемента данных может принимать множество параметров, которые должны быть разделены запятой.
Индивидуальный параметр ключа
Каждый параметр ключа может быть одним из: строка заключенная в кавычки, строка без кавычек, массив.
Параметр можно оставить пустым и тогда будет использоваться значение по умолчанию. В этом случае Вы должны добавить соответствующее количество запятых, если какой-то из дальнейших параметров все же нужно задать. Например, ключ элемента данных icmpping[,,200,,500] будет указывать на то, что период проверки ping 200 миллисекунд, таймаут — 500 миллисекунд, а все остальные параметры будут заполнены значениями по умолчанию.
Параметр — строка заключенная в кавычки
Если параметр ключа это строка, заключенная в кавычки, тогда разрешен любой символ в Юникоде, и если требуется включение двойных кавычек, то они должны быть экранированы обратной наклонной чертой.
Параметр — строка не заключенная в кавычки
Если параметр ключа это строка без кавычек, тогда разрешен любой символ в Юникоде, за исключением запятой и правой квадратной скобки (]).
Параметр — массив
Если параметр ключа это массив, тогда он должен быть заключен в квадратные скобки, в которых каждый индивидуальный параметр следует один за другим, согласно правилам и синтаксису.
1.3 Доступные кодировки
Параметр «кодировка» используется для задания специфичной кодировки для обработки элементов данных, так что полученные данные не будут повреждены. Для получения списка поддерживаемых кодировок (идентификаторы кодовых страниц), пожалуйста, обратитесь к соответствующей документации, таких документаций как libiconv (GNU Project) или Microsoft Windows SDK «Идентификаторы кодовых страниц». Если параметр «кодировка» не задан, тогда используется ANSI по умолчанию с определенным расширением в системе (Windows) или UTF-8 (локаль по умолчанию для новых дистрибутивов Unix/Linux, смотрите настройки вашей системы).
2 Не поддерживаемые элементы данных
Элемент данных может перейти в состояние «не поддерживается», если по какой либо причине его значение получить не удалось. Такие элементы данных проверяются повторно через интервал времени, который настраивается в разделе Администрирования.
3 Поддержка по платформам
В следующих списках параметры, заключенные в угловые скобки, есть опциональными.
Если элемент данных обозначен символом «X» тогда он поддерживается, если другим символом «-» тогда не поддерживается.
Если элемент обозначен символом «?», значит неизвестно поддерживается он или нет.
Если элемент обозначен символом «r», значит он требует root привилегий.
Если элемент обозначен символом «i», значит он игнорируется.
NetBSD | ||||||||||||
OpenBSD | ▼▼ | |||||||||||
Mac OS X | ▼▼ | |||||||||||
Tru64 | ▼▼ | |||||||||||
AIX | ▼▼ | |||||||||||
HP-UX | ▼▼ | |||||||||||
Solaris | ▼▼ | |||||||||||
FreeBSD | ▼▼ | |||||||||||
Linux 2.6 | ▼▼ | |||||||||||
Linux 2.4 | ▼▼ | |||||||||||
Windows | ▼▼ | |||||||||||
Параметр / система | ▼▼ | |||||||||||
▼▼ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | |
agent.hostname | X | X | X | X | X | X | X | X | X | X | X | |
agent.ping | X | X | X | X | X | X | X | X | X | X | X | |
agent.version | X | X | X | X | X | X | X | X | X | X | X | |
kernel.maxfiles | — | X | X | X | — | — | — | ? | X | X | X | |
kernel.maxproc | — | — | X | X | X | — | — | ? | X | X | X | |
log[файл,,,] | X | X | X | X | X | X | X | X | X | X | X | |
logrt[формат_файла,,,] | X | X | X | X | X | X | X | X | X | X | X | |
eventlog[имя,,,,, ] | X | — | — | — | — | — | — | — | — | — | — | |
net.if.collisions[if] | — | X | X | X | X | — | X | — | — | X | r | |
net.if.in[if,] | X | X | X | X | X | — | X | — | — | X | r | |
режим ▲ | bytes (по умолч.) | X | X | X | X | X | — | X | — | — | X | r |
packets | X | X | X | X | X | — | X | — | — | X | r | |
errors | X | X | X | X | X | — | X | — | — | X | r | |
dropped | X | X | X | X | — | — | — | — | — | X | r | |
net.if.list | X | — | — | — | — | — | — | — | — | — | — | |
net.if.out[if,] | X | X | X | X | X | — | X | — | — | X | r | |
режим ▲ | bytes (по умолч.) | X | X | X | X | X | — | X | — | — | X | r |
packets | X | X | X | X | X | — | X | — | — | X | r | |
errors | X | X | X | X | X | — | X | — | — | X | r | |
dropped | X | X | X | — | — | — | — | — | — | — | — | |
net.if.total[if,] | X | X | X | X | X | — | X | — | — | X | r | |
режим ▲ | bytes (по умолч.) | X | X | X | X | X | — | X | — | — | X | r |
packets | X | X | X | X | X | — | X | — | — | X | r | |
errors | X | X | X | X | X | — | X | — | — | X | r | |
dropped | X | X | X | — | — | — | — | — | — | — | — | |
net.tcp.dns[,зона] | — | X | X | X | X | X | X | X | X | X | X | |
net.tcp.dns.query[,зона,] | — | X | X | X | X | X | X | X | X | X | X | |
net.tcp.listen[порт] | X | X | X | X | X | — | — | — | — | — | — | |
net.tcp.port[,порт] | X | X | X | X | X | X | X | X | X | X | X | |
net.tcp.service.perf[сервис,,] | X | X | X | X | X | X | X | X | — | X | X | |
net.tcp.service[сервис,,] | X | X | X | X | X | X | X | X | — | X | X | |
net.udp.listen[порт] | — | X | X | — | — | — | — | — | — | — | — | |
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | ||
proc.mem[,,,] | — | X | X | X | X | — | X | X | ? | X | X | |
режим ▲ | sum (по умолч.) | — | X | X | X | X | — | X | X | ? | X | X |
avg | — | X | X | X | X | — | X | X | ? | X | X | |
max | — | X | X | X | X | — | X | X | ? | X | X | |
min | — | X | X | X | X | — | X | X | ? | X | X | |
proc.num[,,,] | X | X | X | X | X | — | X | X | ? | X | X | |
состояние ▲ | all (по умолч.) | — | X | X | X | X | — | X | X | ? | X | X |
sleep | — | X | X | X | X | — | X | X | ? | X | X | |
zomb | — | X | X | X | X | — | X | X | ? | X | X | |
run | — | X | X | X | X | — | X | X | ? | X | X | |
sensor[устройство,датчик,] | — | X | — | — | — | — | — | — | — | X | — | |
services[,,] | X | — | — | — | — | — | — | — | — | — | — | |
system.boottime | — | X | X | X | X | — | — | — | — | X | X | |
system.cpu.intr | — | X | X | X | X | — | X | — | — | X | X | |
system.cpu.load[,] | X | X | X | X | X | X | — | X | ? | X | X | |
режим ▲ | avg1 (по умолч.) | X | X | X | X | X | X | — | X | ? | X | X |
avg5 | X | X | X | X | X | X | — | X | ? | X | X | |
avg15 | X | X | X | X | X | X | — | X | ? | X | X | |
system.cpu.num[] | X | X | X | X | X | X | X | — | — | X | X | |
тип ▲ | online (по умолч.) | X | X | X | X | X | X | X | — | — | X | X |
max | — | X | X | X | X | — | — | — | — | — | — | |
system.cpu.switches | — | X | X | X | X | — | X | — | — | X | X | |
system.cpu.util[,,] | X | X | X | X | X | X | X | X | ? | X | X | |
тип ▲ | user (по умолч.) | — | X | X | X | X | X | X | X | ? | X | X |
nice | — | X | X | X | — | X | — | X | ? | X | X | |
idle | — | X | X | X | X | X | X | X | ? | X | X | |
system | X | X | X | X | — | X | X | X | ? | X | X | |
kernel | — | — | — | — | X | — | — | — | — | — | — | |
iowait | — | — | X | — | — | — | X | — | — | — | — | |
wait | — | — | — | — | X | — | — | — | — | — | — | |
interrupt | — | — | X | X | — | — | — | — | — | X | — | |
softirq | — | — | X | — | — | — | — | — | — | — | — | |
steal | — | — | X | — | — | — | — | — | — | — | — | |
режим ▲ | avg1 (по умолч.) | X | X | X | X | — | X | X | X | ? | X | — |
avg5 | X | X | X | X | — | X | X | — | ? | X | — | |
avg15 | X | X | X | X | — | X | X | — | ? | X | — | |
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | ||
system.hostname[] | X | X | X | X | X | X | X | X | X | X | X | |
system.localtime | X | X | X | X | X | X | X | X | X | X | X | |
тип ▲ | utc (по умолч.) | X | X | X | X | X | X | X | X | X | X | X |
local | X | X | X | X | X | X | X | X | X | X | X | |
system.run[команда,] | X | X | X | X | X | X | X | X | X | X | X | |
режим ▲ | wait (по умолч.) | X | X | X | X | X | X | X | X | X | X | X |
nowait | X | X | X | X | X | X | X | X | X | X | X | |
system.stat[ресурс,] | — | — | — | — | — | — | X | — | — | — | — | |
system.swap.in[,] (возможность указать устройство доступна только в Linux) | — | X | X | — | X | — | — | — | — | X | — | |
тип ▲ (pages будут работать, только если устройство не указано) | count (по умолчанию для всех кроме Linux) | — | X | X | — | X | — | — | — | — | X | — |
sectors | — | X | X | — | — | — | — | — | — | — | — | |
pages (по умолчанию для Linux) | — | X | X | — | X | — | — | — | — | X | — | |
system.swap.out[,] (возможность указать устройство доступна только в Linux) | — | X | X | — | X | — | — | — | — | X | — | |
тип ▲ (pages будут работать, только если устройство не указано) | count (по умолчанию для всех кроме Linux) | — | X | X | — | X | — | — | — | — | X | — |
sectors | — | X | X | — | — | — | — | — | — | — | — | |
pages (по умолчанию для Linux) | — | X | X | — | X | — | — | — | — | X | — | |
system.swap.size[,] | X | X | X | X | X | — | — | X | ? | X | — | |
тип ▲ | free (по умолч.) | X | X | X | X | X | — | — | X | ? | X | — |
total | X | X | X | X | X | — | — | X | ? | X | — | |
used | — | X | X | X | — | — | — | — | — | X | — | |
pfree | — | X | X | X | X | — | — | — | ? | X | — | |
pused | — | X | X | X | X | — | — | — | ? | X | — | |
system.uname | X | X | X | X | X | X | X | X | — | X | X | |
system.uptime | X | X | X | X | X | — | X | ? | ? | X | X | |
system.users.num | — | X | X | X | X | X | X | X | — | X | X | |
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | ||
vfs.dev.read[,,] | — | X | X | X | X | — | — | — | — | X | — | |
тип ▲ |
4 Zabbix агент
Список поддерживаемых параметров
Ключ | ||||
---|---|---|---|---|
▲ | Описание | Возвращаемое значение | Параметры | Комментарии |
agent.hostname | ||||
Возвращает имя хоста агента. | Строка | — | Возвращает действительное значение hostname агента из файла конфигурации. Этот элемент данных поддерживается начиная с версии 1.8.13. | |
agent.ping | ||||
Проверка доступности агента. | Возвращает ‘1’, если доступен и ничего не возвращает, если недоступен. | — | Может быть использовано как TCP ping. Используйте функцию nodata() для проверки недоступности хоста. | |
agent.version | ||||
Версия Zabbix агента. | Строка | — | Пример возвращаемого значения: 1.8.2 | |
kernel.maxfiles | ||||
Максимальное количество открытых файлов поддерживаемое ОС. | Количество файлов. Целочисленное. | |||
kernel.maxproc | ||||
Максимальное количество процессов поддерживаемое ОС. | Количество процессов. Целочисленное. | |||
log[файл,,,] | ||||
Мониторинг файлов журналов (логов). | Журнал | файл – полное имя файла regexp – регулярное выражение для шаблона кодировка — Идентификатор кодовой страницы максимальное количество строк — Максимальное количество новых строк в секунду, которое может отправить агент Zabbix серверу или Прокси. Этот параметр заменяет опцию ‘MaxLinesPerSecond’ в zabbix_agentd.conf | Должен быть настроен как Активная проверка. Например: log[/home/zabbix/logs/logfile. 100] Более подробную информацию смотрите здесь | |
logrt[имя файла в формате,,,] | ||||
Мониторинг файлов журналов (логов) с поддержкой ротации логов. | Журнал | имя файла в формате – имя файла в формате [абсолютный путь][имя файла в формате регулярного выражения] regexp – регулярное выражения для шаблона кодировка — Идентификатор кодовой страницы максимальное количество строк — Максимальное количество новых строк в секунду, которое может отправить агент Zabbix серверу или Прокси. Этот параметр заменяет опцию ‘MaxLinesPerSecond’ в zabbix_agentd.conf | Должен быть настроен как Активная проверка. Например: logrt[«\home\zabbix\logs\^logfile8$». 100] Ротация логов базируется на времени последнего изменения файлов. Более подробную информацию смотрите здесь | |
eventlog[имя,,,,,] | ||||
Мониторинг журналов событий. | Log. | имя – имя журнала событий regexp – регулярное выражение важность – важность события Параметр может принимать следующие значения: «Information», «Warning», «Error», «Failure Audit», «Success Audit» источник — Имя источника eventid — регулярное выражение максимальное количество строк — Максимальное количество новых строк в секунду, которое агент может отправить Zabbix Серверу или Прокси. Этот параметр заменяет опцию ‘MaxLinesPerSecond’ в zabbix_agentd.conf | Должен быть настроен как Активная проверка. Например: eventlog[Application] |
Тип записи SRV поддерживается Zabbix агентом начиная с версии 1.8.6.