Добавить в корзинуПозвонить
Найти в Дзене

Zabbix get – получаем информацию от Zabbix через CLI

Многие администраторы воспринимают Zabbix как некоторую цельную и закрытую систему, все данные в которой собираются сервером Zabbix и концентрируются в одном месте. Однако это не так, Zabbix достаточно открытая и универсальная система, которая может предоставлять различные сценарии использования. Так для получения данных от агентов вам не обязательно нужен сервер или прокси, вы можете использовать для этого отдельную утилиту командной строки - Zabbix get. Вы можете установить ее как на хост с Zabbix, так и на любую иную систему, для которой есть соответствующие пакеты. Для этого нужно подключить репозитории Zabbix и выполнить команду (для DEB-систем): apt install zabbix-get Если данный узел не является сервером Zabbix, то нужно добавить его адрес в опцию Server агента, в противном случае вы получите ошибку: Check access restrictions in Zabbix agent configuration После чего можете начать общаться со своим агентом при помощи командной строки, общий синтаксис такой: zabbix_get -s h

Zabbix get – получаем информацию от Zabbix через CLI

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

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

Вы можете установить ее как на хост с Zabbix, так и на любую иную систему, для которой есть соответствующие пакеты. Для этого нужно подключить репозитории Zabbix и выполнить команду (для DEB-систем):

apt install zabbix-get

Если данный узел не является сервером Zabbix, то нужно добавить его адрес в опцию Server агента, в противном случае вы получите ошибку:

Check access restrictions in Zabbix agent configuration

После чего можете начать общаться со своим агентом при помощи командной строки, общий синтаксис такой:

zabbix_get -s host-name-or-IP [-p port-number] -k item-key

Вам нужно указать адрес агента после ключа -s и ключ элемента данных (item) после ключа -k, ключ -p – порт не является обязательным, если он не указан, то будет использоваться стандартный 10050.

Где взять ключи? Их можно посмотреть в самом Zabbix, например, открыв нужный шаблон.

Проверим доступность агента:

zabbix_get -s 192.168.101.198 -p 10050 -k agent.ping

Если агент доступен получим значение 1, иначе 0.

Проверим утилизацию процессора:

zabbix_get -s 192.168.101.198 -p 10050 -k system.cpu.util

Или аптайм:

zabbix_get -s 192.168.101.198 -p 10050 -k system.uptime

А вот при попытке получить утилизацию памяти в % получим ошибку:

zabbix_get -s 192.168.101.198 -k vm.memory.util

ZBX_NOTSUPPORTED: Unknown metric vm.memory.util

Неизвестная метрика… Но почему, ведь в шаблоне такой ключ есть?

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

Данную утилиту удобно использовать в первую очередь для диагностики и отладки агентов, но никто не мешает получать с ее помощью нужные данные для сторонних систем, отчетов или средств автоматизации.

-2
-3