Вы просматриваете старую версию данной страницы. Смотрите текущую версию.

Сравнить с текущим просмотр истории страницы

« Предыдущий Версия 6 Следующий »

Данная статья применима к:

  • Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.8).

Введение

В статье описана установка расширения Zabbix для получения статистики работы дисковых накопителей на клиентском компьютере через команду iostat -dxk.

Предварительная настройка

Настроить Zabbix-сервер и Zabbix-агента в соответствии со статьёй "Установка системы мониторинга Zabbix на Astra Linux Special Edition".

Настройка Zabbix-агента

На компьютере, на котором работает Zabbix-агент:

  1. Установить программу для получения статистики работы дисковых накопителей:
    apt update
    sudo  apt install sysstat
  2. Создать каталог для хранения скрипта, собирающего статистику:
    sudo mkdir -p /etc/zabbix/scripts/
  3. Создать скрипт /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}'
    


  1. chmod 750 /etc/zabbix/scripts/iostat.sh
    chown root:zabbix /etc/zabbix/scripts/iostat.sh
    chmod +x /etc/zabbix/scripts/iostat.sh


В файле /etc/zabbix/zabbix_agentd.conf сделать:

UserParameter=iostat[*],/etc/zabbix/scripts/iostat.sh "none" "$1" "$2"

UnsafeUserParameters=1




  1. перезапустить:
    sudo systemctl restart zabbix-agent


Настройка Zabbix-сервера

загрузить шаблон


  • Нет меток