| Секция |
|---|
| Столбец |
|---|
| Информация |
|---|
| title | Данная статья применима к: |
|---|
| - Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.8);
- Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.7).
|
|
|
Введение
В статье описана настройка Zabbix-сервера и Zabbix-агента для контролирования работы дисковых накопителей.
Zabbix-агент получает данные о работе накопителей с помощью команды "iostat -dxk" и передаёт их Zabbix-серверу.
Предварительная настройка
Настроить Zabbix-сервер и Zabbix-агента в соответствии со статьёй "Установка системы мониторинга Zabbix на Astra Linux Special Edition".
| Якорь |
|---|
| Configure_Zabbix_agent |
|---|
| Configure_Zabbix_agent |
|---|
|
Настройка Zabbix-агента
| Информация |
|---|
Вместо ручной настройки Zabbix-агента можно использовать сценарий автоматической настройки, описанный в разделе "Приложение. Сценарий автоматической настройки Zabbix-агента". |
На узле, на котором работает Zabbix-агент:
- Установить программу iostat:
| Command |
|---|
sudo apt install sysstat |
- Создать каталог
/etc/zabbix/scripts/:
| Command |
|---|
sudo mkdir -p /etc/zabbix/scripts/ |
- В каталоге
/etc/zabbix/scripts/ создать скрипт сценарий iostat.sh, используемый который будет использоваться Zabbix-агентом для сбора статистикиданных о работе накопителей.
| Раскрыть |
|---|
| title | Содержимое файла /etc/zabbix/scripts/ iostat.sh... |
|---|
|
| Блок кода |
|---|
| #!/bin/bash
export LC_ALL=""
export LANG="C"
# Проверка на передачу параметров
if [[ -z "$1" || -z "$2" || -z "$3" ]]; then
##### DISCOVERY #####
DEVICES=`iostat -d | awk '{print $1}' | sed -e '/^\([hsv]d[a-z]\)$/!d'`
if [[ -n ${DEVICES} ]]; then
JSON="{ \"data\":["
SEP=""
for DEV in ${DEVICES}; do
JSON=${JSON}"$SEP{\"{#HDNAME}\":\"${DEV}\"}"
SEP=", "
done
JSON=${JSON}"]}"
echo ${JSON}
fi
exit 0
fi
##### PARAMETERS #####
RESERVED="$1"
METRIC="$2"
DISK="$3"
EXEC_TIMEOUT="2"
NOW_TIME=`date '+%s'`
##### RUN #####
# Чтение статистики по метрике для конкретного диска
declare -A METRICS=(
["r/s"]=2 ["rkB/s"]=3 ["rrqm/s"]=4 ["%rrqm"]=5
["r_await"]=6 ["rareq-sz"]=7 ["w/s"]=8 ["wkB/s"]=9
["wrqm/s"]=10 ["%wrqm"]=11 ["w_await"]=12 ["wareq-sz"]=13
["d/s"]=14 ["dkB/s"]=15 ["drqm/s"]=16 ["%drqm"]=17
["d_await"]=18 ["dareq-sz"]=19 ["f/s"]=20 ["f_await"]=21
["aqu-sz"]=22 ["%util"]=23
)
COLUMN=${METRICS[$METRIC]}
if [[ -z "$COLUMN" ]]; then
echo "Неизвестная метрика, проверьте в 'iostat -dxk': $METRIC"
exit 1
fi
iostat -dxk | awk -v disk="$DISK" -v col="$COLUMN" '$1 == disk {print $col}'
|
|
- Задать права для скриптасценария:
| Command |
|---|
chmod 750 /etc/zabbix/scripts/iostat.sh chown root:zabbix /etc/zabbix/scripts/iostat.sh |
- Настроить Zabbix-агента на использование скриптасценария.
Для этого в файле /etc/zabbix/zabbix_agentd.conf задать параметры UnsafeUserParameters и параметр UserParameter:
| Блок кода |
|---|
UnsafeUserParameters=1
UserParameter=iostat[*],/etc/zabbix/scripts/iostat.sh "none" "$1" "$2" |
- Перезапустить Zabbix-агента для вступления настроек в силу:
| Command |
|---|
sudo systemctl restart zabbix-agent |
Настройка Zabbix-сервера
На локальном компьютере создать файл iostat_template.xml.
...
| title | Содержимое файла iostat_template.xml... |
|---|
...
### Option: UserParameter
# User-defined parameter to monitor. There can be several user-defined parameters.
# |
...
Format: UserParameter=<key>,<shell command>
# See 'zabbix_agentd' directory for examples.
#
# Mandatory: no
# Default:
# UserParameter=
UserParameter=iostat[*],/etc/zabbix/scripts/iostat.sh "none" "$1" "$2" |
Значение параметра UserParameter состоит из частей:
- /etc/zabbix/scripts/iostat.sh "none" "$1" "$2" – команда с аргументами. Запускается Zabbix-агентом для получения данных;
- [*] – означает, что Zabbix-сервер передаёт аргументы для запускаемой программы;
- iostat – название ключа. Используется Zabbix-сервером как ссылка на команду /etc/zabbix/scripts/iostat.sh.
- Перезапустить Zabbix-агента для вступления настроек в силу:
| Command |
|---|
sudo systemctl restart zabbix-agent |
Настройка Zabbix-сервера
На локальном компьютере создать файл iostat_template.xml.
| Раскрыть |
|---|
| title | Содержимое файла iostat_template.xml... |
|---|
|
| Блок кода |
|---|
<?xml version="1.0" encoding="UTF-8"?>
<zabbix_export>
<version>6.0</version>
<date>2025-03-18T13:22:13Z</date>
<groups> <uuid>23b4cb78db6e4cd194f3600a0006af6c</uuid>
<name>MyTemplates</name>
</group>
</groups>
<templates>
<template>
<uuid>753644a41edb4dcaa1d110cd93e90242</uuid>
<template>Performance Metrics</template>
<name>Performance Metrics</name>
<groups>
<group>
<name>MyTemplates</name>
</group>
</groups>
<discovery_rules>
<discovery_rule>
<group>
<uuid>daaeac93f1244836b063034061377c00<<uuid>23b4cb78db6e4cd194f3600a0006af6c</uuid>
<name>MyTemplates</name>
<name>IOSTAT: Hard disk drive discovery</name></group>
</groups>
<templates>
<template>
<key>iostat[]</key>
<uuid>753644a41edb4dcaa1d110cd93e90242</uuid>
<template>Performance <delay>60s</delay>Metrics</template>
<name>Performance Metrics</name>
<lifetime>1d</lifetime>
<groups>
<item_prototypes><group>
<item_prototype><name>MyTemplates</name>
</group>
<uuid>0bb6bf63770a4630a0389c3122739325<</uuid>groups>
<discovery_rules>
<name>Доля<discovery_rule>
объединенных запросов на чтение (от всех запросов на чтение)</name>
<uuid>daaeac93f1244836b063034061377c00</uuid>
<key>iostat[%rrqm,{#HDNAME}]</key>
<name>IOSTAT: Hard disk drive discovery</name>
<delay>30s</delay><key>iostat[]</key>
<delay>60s</delay>
<value_type>FLOAT</value_type>
<units>Процент</units><lifetime>1d</lifetime>
</item_prototype><item_prototypes>
<item_prototype>
<uuid>c9ad769abab54a08b95d2ce74c1fec8e<<uuid>0bb6bf63770a4630a0389c3122739325</uuid>
<name>Процент<name>Доля времени,объединенных взапросов течениена которогочтение диск(от былвсех занятзапросов выполнениемна запросов<чтение)</name>
<key>iostat[%util%rrqm,{#HDNAME}]</key>
<delay>30s</delay>
<value_type>FLOAT</value_type>
<units>Процент</units>
</item_prototype>
<item_prototype>
<uuid>348df69b695b4a3cb1ff02311c9d050e<<uuid>c9ad769abab54a08b95d2ce74c1fec8e</uuid>
<name>Доля<name>Процент объединенныхвремени, запросовв натечение записькоторого (отдиск всехбыл запросовзанят на запись).<выполнением запросов</name>
<key>iostat[%wrqm%util,{#HDNAME}]</key>
<delay>30s</delay>
<value_type>FLOAT</value_type>
<units>Процент</units>
</item_prototype>
<item_prototype>
<uuid>9d546f3a7a5b4ea7b31153690bd71b3f<<uuid>348df69b695b4a3cb1ff02311c9d050e</uuid>
<name>Среднее количество активных (ожидающих выполнения) операций<name>Доля объединенных запросов на запись (от всех запросов на запись).</name>
<key>iostat[aqu-sz%wrqm,{#HDNAME}]</key>
<delay>30s</delay>
<value_type>FLOAT</value_type>
<units>number<<units>Процент</units>
</item_prototype>
<item_prototype>
<uuid>17edea89307740ce83f8f0366db87cb1<<uuid>9d546f3a7a5b4ea7b31153690bd71b3f</uuid>
<name>Количество<name>Среднее операцийколичество удаленияактивных (discardожидающих выполнения) в секунду (актуально для SSD)операций.</name>
<key>iostat[d/saqu-sz,{#HDNAME}]</key>
<delay>30s</delay>
<value_type>FLOAT</value_type>
<units>ops<units>number</s</units>
</item_prototype>
<item_prototype>
<uuid>b7bbda24b9e74a2597070790214e4388<<uuid>17edea89307740ce83f8f0366db87cb1</uuid>
<name>Количество операций удаления (discard) <name>Среднийв размерсекунду запроса(актуально надля удалениеSSD).</name>
<key>iostat[dareq-szd/s,{#HDNAME}]</key>
<delay>30s</delay>
<value_type>FLOAT</value_type>
<units>kBytes<<units>ops/s</units>
</item_prototype>
<item_prototype>
<uuid>792ea57a779e4298befa1f205191d12f<<uuid>b7bbda24b9e74a2597070790214e4388</uuid>
<name>Количество<name>Средний данных,размер удаляемыхзапроса вна секунду<удаление.</name>
<key>iostat[dkB/sdareq-sz,{#HDNAME}]</key>
<delay>30s</delay>
<value_type>FLOAT</value_type>
<units>kBytes</units>
</item_prototype>
<item_prototype>
<uuid>1f79c62da23c4ac6b766242e379aae42<<uuid>792ea57a779e4298befa1f205191d12f</uuid>
<name>Количество объединенных (merged) запросов на удаление данных, удаляемых в секунду</name>
<key>iostat[drqmdkB/s,{#HDNAME}]</key>
<delay>30s</delay>
<value_type>FLOAT</value_type>
<units>ops/s<<units>kBytes</units>
</item_prototype>
<item_prototype>
<uuid>b9ae57862ad341df9066fae0455bc457<<uuid>1f79c62da23c4ac6b766242e379aae42</uuid>
<name>Среднее время ожидания операции удаления<<name>Количество объединенных (merged) запросов на удаление в секунду</name>
<key>iostat[d_awaitdrqm/s,{#HDNAME}]</key>
<delay>30s</delay>
<value_type>FLOAT</value_type>
<units>ms<<units>ops/s</units>
</item_prototype>
<item_prototype>
<uuid>31d99d98afec4f808071708d9ad309c4<<uuid>b9ae57862ad341df9066fae0455bc457</uuid>
<name>Количество<name>Среднее операцийвремя принудительногоожидания сброса кеша (flush) в секунду<операции удаления</name>
<key>iostat[f/sd_await,{#HDNAME}]</key>
<delay>30s</delay>
<value_type>FLOAT</value_type>
<units>ops/s<<units>ms</units>
</item_prototype>
<item_prototype>
<uuid>f39804e082d34f67b1bc1d8a41ec1cad<<uuid>31d99d98afec4f808071708d9ad309c4</uuid>
<name>Среднее<name>Количество операций времяпринудительного ожиданиясброса операциикеша flush.<(flush) в секунду</name>
<key>iostat[f_await/s,{#HDNAME}]</key>
<delay>30s</delay>
<value_type>FLOAT</value_type>
<units>ms<<units>ops/s</units>
</item_prototype>
<item_prototype>
<uuid>b1e754be49d4453185d3bfae0b2c20e0<<uuid>f39804e082d34f67b1bc1d8a41ec1cad</uuid>
<name>Количество<name>Среднее операцийвремя чтенияожидания воперации секунду<flush.</name>
<key>iostat[r/sf_await,{#HDNAME}]</key>
<delay>30s</delay>
<value_type>FLOAT</value_type>
<units>ops<units>ms</s</units>
<description>Скорость чтения килобайт в секунду</description>
</item_prototype>
<item_prototype>
<uuid>88db077435e441c6936fcfac82da91b0<<uuid>b1e754be49d4453185d3bfae0b2c20e0</uuid>
<name>Средний<name>Количество размеропераций запросачтения нав чтение.<секунду</name>
<key>iostat[rareq-szr/s,{#HDNAME}]</key>
<delay>30s</delay>
<value_type>FLOAT</value_type>
<units>kBytes<<units>ops/s</units>
</item_prototype>
<description>Скорость чтения килобайт в секунду</description>
<item_prototype>
</item_prototype>
<uuid>089779fb67e34c63bdbd8b256983c24d</uuid>
<item_prototype>
<name>Объем данных, читаемых с диска<<uuid>88db077435e441c6936fcfac82da91b0</name>uuid>
<name>Средний размер <key>iostat[rkB/sзапроса на чтение.</name>
<key>iostat[rareq-sz,{#HDNAME}]</key>
<delay>30s</delay>
<value_type>FLOAT</value_type>
<units>kBytes<units>kBytes</s</units>
</item_prototype>
<item_prototype>
<uuid>0f1149f20cc14d4bb6d39e7d8749b8be<<uuid>089779fb67e34c63bdbd8b256983c24d</uuid>
<name>Количество объединенных (merged) запросов<<name>Объем данных, читаемых с диска</name>
<key>iostat[rrqmrkB/s,{#HDNAME}]</key>
<delay>30s</delay>
<value_type>FLOAT</value_type>
<units>ops<units>kBytes/s</units>
</item_prototype>
<item_prototype>
<uuid>6a62aa51da90454aa78d2f783a8e231f<<uuid>0f1149f20cc14d4bb6d39e7d8749b8be</uuid>
<name>Среднее<name>Количество времяобъединенных ожидания операции чтения<(merged) запросов</name>
<key>iostat[r_awaitrrqm/s,{#HDNAME}]</key>
<delay>30s</delay>
<value_type>FLOAT</value_type>
<units>ms<<units>ops/s</units>
<description>Время задержки на чтение</description></item_prototype>
</item<item_prototype>
<item_prototype>
<uuid>6a62aa51da90454aa78d2f783a8e231f</uuid>
<uuid>dec7a67b116448d298b88d9618e929cb</uuid>
<name>Среднее время ожидания операции чтения</name>
<name>Количество операций записи в секунду</name> <key>iostat[r_await,{#HDNAME}]</key>
<key>iostat[w/s,{#HDNAME}]</key><delay>30s</delay>
<delay>30s</delay><value_type>FLOAT</value_type>
<value_type>FLOAT</value_type>
<units>ms</units>
<description>Время <units>ops/s</units>задержки на чтение</description>
</item_prototype>
<item_prototype>
<uuid>b4ca236fad94413e947c2fe8f58f4305<<uuid>dec7a67b116448d298b88d9618e929cb</uuid>
<name>Средний<name>Количество размеропераций запросазаписи нав запись<секунду</name>
<key>iostat[wareq-szw/s,{#HDNAME}]</key>
<delay>30s</delay>
<value_type>FLOAT</value_type>
<units>kBytes<<units>ops/s</units>
</item_prototype>
<item_prototype>
<uuid>5016437f0c804a80bf261681dc5135cc<<uuid>b4ca236fad94413e947c2fe8f58f4305</uuid>
<name>Объем<name>Средний данных,размер записываемыхзапроса на диск.<запись</name>
<key>iostat[wkB/swareq-sz,{#HDNAME}]</key>
<delay>30s</delay>
<value_type>FLOAT</value_type>
<units>kBytes</units>
</item_prototype>
<item_prototype>
<uuid>fd59e2645c36415ca3a435f180a07e89<<uuid>5016437f0c804a80bf261681dc5135cc</uuid>
<name>Количество<name>Объем объединенных (merged) запросов на запись<данных, записываемых на диск.</name>
<key>iostat[wrqmwkB/s,{#HDNAME}]</key>
<delay>30s</delay>
<value_type>FLOAT</value_type>
<units>ops</units>
</item_prototype>
<item_prototype>
<uuid>b790d46d0c564a57b1b666d75285865e<<uuid>fd59e2645c36415ca3a435f180a07e89</uuid>
<name>Количество <name>Среднееобъединенных время(merged) ожиданиязапросов операциина записи<запись</name>
<key>iostat[w_awaitwrqm/s,{#HDNAME}]</key>
<delay>30s</delay>
<value_type>FLOAT</value_type>
<units>ms<<units>ops</units>
</item_prototype>
<description>Время ожидания на запись</description>
</item<item_prototype>
</item_prototypes>
<uuid>b790d46d0c564a57b1b666d75285865e</uuid>
<graph_prototypes>
<name>Среднее время ожидания <graph_prototype>операции записи</name>
<uuid>0391be4240e04a8f97e7bc50a25300b7</uuid><key>iostat[w_await,{#HDNAME}]</key>
<name>Average Ask Size</name><delay>30s</delay>
<graph_items><value_type>FLOAT</value_type>
<units>ms</units>
<graph_item>
<description>Время ожидания на запись</description>
<color>1A7C11</color>
</item_prototype>
<calc_fnc>ALL</calc_fnc></item_prototypes>
<graph_prototypes>
<item>
<graph_prototype>
<host>Performance Metrics</host><uuid>0391be4240e04a8f97e7bc50a25300b7</uuid>
<name>Average <key>iostat[wareq-sz,{#HDNAME}]</key>Ask Size</name>
<graph_items>
</item>
<graph_item>
</graph_item>
<graph_item><color>1A7C11</color>
<sortorder>1</sortorder><calc_fnc>ALL</calc_fnc>
<color>274482</color><item>
<calc_fnc>ALL</calc_fnc>
<host>Performance Metrics</host>
<item>
<key>iostat[wareq-sz,{#HDNAME}]</key>
<host>Performance Metrics</host>
</item>
<key>iostat[dareq-sz,{#HDNAME}]</key>
</item>
</graph_item>
<graph_item>
<sortorder>2<<sortorder>1</sortorder>
<color>F63100<<color>274482</color>
<calc_fnc>ALL</calc_fnc>
<item>
<host>Performance Metrics</host>
<key>iostat[rareqdareq-sz,{#HDNAME}]</key>
</item>
</graph_item>
</graph_items> <graph_item>
</graph_prototype>
<sortorder>2</sortorder>
<graph_prototype>
<color>F63100</color>
<uuid>47d0189c82d24e69995b4e30e53e1f48</uuid>
<name>Data volume Read/Write</name>
<calc_fnc>ALL</calc_fnc>
<graph_items>
<item>
<graph_item>
<host>Performance Metrics</host>
<color>1A7C11</color>
<key>iostat[rareq-sz,{#HDNAME}]</key>
<calc_fnc>ALL</calc_fnc>
</item>
<item>
</graph_item>
<host>Performance Metrics<</host>graph_items>
</graph_prototype>
<key>iostat[wkB/s,{#HDNAME}]</key>
<graph_prototype>
<<uuid>47d0189c82d24e69995b4e30e53e1f48</item>uuid>
<name>Data </graph_item>volume Read/Write</name>
<graph_item>items>
<sortorder>1</sortorder><graph_item>
<color>274482<<color>1A7C11</color>
<calc_fnc>ALL</calc_fnc>
<item>
<host>Performance Metrics</host>
<key>iostat[rkBwkB/s,{#HDNAME}]</key>
</item>
</graph_item>
</graph_items>
<graph_item>
</graph_prototype>
<sortorder>1</sortorder>
<graph_prototype>
<uuid>6d0413c48295437fb494b7d7a2916237<<color>274482</uuid>color>
<name>Disk Latency</name>
<calc_fnc>ALL</calc_fnc>
<graph_items>
<item>
<graph_item>
<host>Performance Metrics</host>
<color>1A7C11</color>
<key>iostat[rkB/s,{#HDNAME}]</key>
<calc_fnc>ALL</calc_fnc>
</item>
<item>
</graph_item>
<host>Performance Metrics</host>
</graph_items>
</graph_prototype>
<key>iostat[w_await,{#HDNAME}]</key>
<graph_prototype>
</item>
<uuid>6d0413c48295437fb494b7d7a2916237</uuid>
</graph_item>
<name>Disk Latency</name>
<graph_item>
<graph_items>
<sortorder>1</sortorder><graph_item>
<color>274482<<color>1A7C11</color>
<calc_fnc>ALL</calc_fnc>
<item>
<host>Performance Metrics</host>
<key>iostat[dw_await,{#HDNAME}]</key>
</item>
</graph_item>
<graph_item>
<sortorder>2<<sortorder>1</sortorder>
<color>F63100<<color>274482</color>
<calc_fnc>ALL</calc_fnc>
<item>
<host>Performance Metrics</host>
<key>iostat[rd_await,{#HDNAME}]</key>
</item>
</graph_item>
</graph_items>
<graph_item>
</graph_prototype>
<sortorder>2</sortorder>
<graph_prototype>
<uuid>2dee0215de194ae7ba017b68d044dd64<<color>F63100</uuid>color>
<name>Read/Write speed</name>
<calc_fnc>ALL</calc_fnc>
<graph_items>
<item>
<graph_item>
<host>Performance Metrics</host>
<color>1A7C11</color>
<calc_fnc>ALL</calc_fnc><key>iostat[r_await,{#HDNAME}]</key>
<item></item>
</graph_item>
<host>Performance Metrics</host>
</graph_items>
<key>iostat[dkB/s,{#HDNAME}]</key>graph_prototype>
<graph_prototype>
</item>
<uuid>2dee0215de194ae7ba017b68d044dd64</uuid>
</graph_item>
<name>Read/Write speed</name>
<graph_item>
<graph_items>
<sortorder>1</sortorder><graph_item>
<color>274482<<color>1A7C11</color>
<calc_fnc>ALL</calc_fnc>
<item>
<host>Performance Metrics</host>
<key>iostat[wdkB/s,{#HDNAME}]</key>
</item>
</graph_item>
<graph_item>
<sortorder>2<<sortorder>1</sortorder>
<color>F63100<<color>274482</color>
<calc_fnc>ALL</calc_fnc>
<item>
<host>Performance Metrics</host>
<key>iostat[rw/s,{#HDNAME}]</key>
</item>
</graph_item>
<graph_item>
<sortorder>2</sortorder>
</graph_items>
</graph_prototype>
</graph_prototypes>
</discovery_rule>
</discovery_rules>
</template>
</templates>
</zabbix_export>
|
|
Файл содержит шаблон с описанием параметров дисковых накопителей. Zabbix-сервер использует шаблон при получении данных от Zabbix-агента.
| Информация |
|---|
На Zabbix-сервере шаблон будет называться "Performance Metrics" и состоять в группе шаблонов "MyTemplates". |
В веб-интерфейсе Zabbix-сервера настроить получение статистики от Zabbix-агента:
...
<color>F63100</color>
<calc_fnc>ALL</calc_fnc>
<item>
<host>Performance Metrics</host>
<key>iostat[r/s,{#HDNAME}]</key>
</item>
</graph_item>
</graph_items>
</graph_prototype>
</graph_prototypes>
</discovery_rule>
</discovery_rules>
</template>
</templates>
</zabbix_export>
|
|
Файл содержит шаблон с описанием параметров дисковых накопителей. Zabbix-сервер использует шаблон для получения данных от Zabbix-агента.
| Информация |
|---|
На Zabbix-сервере шаблон будет называться "Performance Metrics" и состоять в группе шаблонов "MyTemplates". |
В веб-интерфейсе Zabbix-сервера настроить получение данных от Zabbix-агента:
- Загрузить шаблон отчёта.
Для этого в главном меню выбрать пункт "Сбор данных → Шаблоны".
Откроется страница:
Image Added
На странице справа вверху нажать на кнопку "Импорт".
Откроется окно:
Image Added
В окне нажать на кнопку "Выберите файл" и выбрать на локальном компьютере файл с шаблоном iostat_template.xml.
Нажать на кнопку "Импорт".
Откроется окно с шаблоном:
Image Added
Нажать на кнопку "Импорт".
Окно закроется.
Вверху страницы отобразится сообщение "Импортировано успешно".
- Добавить узел, на котором установлен Zabbix-агент для сбора данных о работе дисковых накопителей.
Для этого в главном меню выбрать пункт "Мониторинг → Узлы сети".
Откроется страница:
Image Added
На странице справа вверху нажать на кнопку "Создать узел сети".
Откроется окно:
Image Added
В окне заполнить поля:
- "Имя узла сети" – ввести имя узла, на котором установлен Zabbix-агент;
- "Шаблоны" – выбрать шаблон "Performance Metrics" из группы шаблонов "MyTemplates";
- "Группы узлов сети" – выбрать "Linux servers";
- "Интерфейсы" – справа внизу от поля нажать на "Добавить"; выбрать из раскрывшегося меню пункт "Агент";
в появившейся строке "Агент" в поле "IP адрес" ввести адрес узла, на котором установлен Zabbix-агент.
В правом нижнем углу окна нажать на кнопку "Добавить".
Окно закроется.
Вверху страницы отобразится сообщение "Узел сети добавлен".
Просмотр данных о работе дисковых накопителей в веб-интерфейсе Zabbix-сервера
В веб-интерфейсе Zabbix-сервера в главном меню выбрать пункт "Мониторинг → Узлы сети".
Откроется страница:
Image Added
В таблице в строке с узлом, на котором настроен сбор данных Zabbix-агентом, нажать на "Последние данные".
Откроется страница с данными о работе дисковых накопителей узла:
Image Added
Возможная проблема и способ её решения
В Веб-интерфейсе в выводимых данных о работе накопителей может появиться проблема с отображением символов. Возможно, эту проблему устранит настройка Zabbix-агента, разрешающая использование небезопасных символов в аргументах команды.
Для этого в файле настроек Zabbix-агента /etc/zabbix/zabbix_agentd.conf необходимо параметру UnsafeUserParameters присвоить значение 1:
| Блок кода |
|---|
### Option: UnsafeUserParameters
# Allow all characters to be passed in arguments to user-defined parameters.
# The following characters are not allowed:
# \ ' " ` * ? [ ] { } ~ $ ! & ; ( ) < > | # @
# Additionally, newline characters are not allowed.
# 0 - do not allow
# 1 - allow
#
# Mandatory: no
# Range: 0-1
# Default:
# UnsafeUserParameters=0
UnsafeUserParameters=1 |
| Якорь |
|---|
| Appendix_Auto_configure_Zabbix_agent |
|---|
| Appendix_Auto_configure_Zabbix_agent |
|---|
|
Приложение. Сценарий автоматической настройки Zabbix-агента
Вместо ручной настройки Zabbix-агента, описанной в разделе "Настройка Zabbix-агента", можно использовать сценарий автоматической настройки.
Для этого на узле, на котором работает Zabbix-агент:
- Разместить в одном и том же каталоге сценарий сбора данных
iostat.sh и сценарий автоматической настройки агента iostat-agent-plugin-install.sh .
Содержимое файла iostat.sh приведено в разделе "Настройка Zabbix-агента".
| Раскрыть |
|---|
| title | Содержимое файла iostat-agent-plugin-install.sh... |
|---|
|
| Блок кода |
|---|
| #!/bin/bash
ZABBIX_CONF="/etc/zabbix/zabbix_agentd.conf"
#Проверка, выполняется ли скрипт с правами sudo
if [ "$(id -u)" -ne 0 ]; then
echo -e "Этот скрипт должен быть запущен с правами sudo.\nЗапустите меня так: sudo ./iostat-agent-plugin-install.sh\nВыхожу."
exit 1
fi
# Обновление репозиториев
apt update >/dev/null 2>&1 || echo "Кажется что то с репозиториями, проверьте их!" && exit 1
# Установка пакетов
apt install sysstat zabbix-agent -y >/dev/null 2>&1 || echo "Похоже что-то не так с установкой, поставьте вручную: sudo apt install zabbix-agent sysstat -y" && exit 1
# Копирование скрипта
echo "Кладу скрипт агента в /etc/zabbix/scripts/iostat.sh"
mkdir /etc/zabbix/scripts/
mv ./iostat.sh /etc/zabbix/scripts/iostat.sh
# Установка прав на скрипт
echo "Поправлю права на скрипт, должно быть '-rwxr-x---(750) root zabbix'"
chmod 750 /etc/zabbix/scripts/iostat.sh
chown root:zabbix /etc/zabbix/scripts/iostat.sh
chmod +x /etc/zabbix/scripts/iostat.sh
# Проверка прав
ls -ld /etc/zabbix/scripts/iostat.sh
echo "UserParameter=iostat[*],/etc/zabbix/scripts/iostat.sh "none" "$1" "$2"" | tee /etc/zabbix/zabbix_agentd.conf
# Проверяем наличие строки UnsafeUserParameters и её значение
if grep -Eq '^#?\s*UnsafeUserParameters\s*=\s*(0|[^1])' "$ZABBIX_CONF"; then
# Если строка закомментирована или значение не 1, то приводим её к UnsafeUserParameters=1
echo "Настрою параметр UnsafeUserParameters на 1 в $ZABBIX_CONF"
# Используем sed для замены или добавления строки
sed -i 's/^#*\s*UnsafeUserParameters\s*=.*/UnsafeUserParameters=1/' "$ZABBIX_CONF"
# Перезапуск Zabbix агент
systemctl restart zabbix-agent
echo "Zabbix агент перезапущен с изменениями."
else
echo "Параметр UnsafeUserParameters не найден, добавляю в конец файла."
echo "UnsafeUserParameters=1" | tee -a "$ZABBIX_CONF"
systemctl restart zabbix-agent
fi |
|
- Запустить сценарий автоматической настройки агента:
| Command |
|---|
chmod +x iostat-agent-plugin-install.sh sudo ./iostat-agent-plugin-install.sh |
Просмотр данных о работе дисковых накопителей
В веб-интерфейсе Zabbix-сервера в главном меню выбрать пункт "Мониторинг → Узлы сети".
Откроется страница:
Image Removed
В таблице в строке с узлом, на котором настроен сбор статистики Zabbix-агентом, нажать на "Последние данные".
...