Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

...

  1. Установить программу для получения статистики работы дисковых накопителей:
    Command

    apt update
    sudo  apt install sysstat

  2. Создать каталог для хранения скрипта, собирающего статистику:
    Command

    sudo mkdir -p /etc/zabbix/scripts/

  3. Создать скрипт /etc/zabbix/scripts/iostat.sh, содержащий для сбора статистики:
    Раскрыть
    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}'
    

...