RRD: статистика загруженности сетевого интерфейса

Материал из Linux Wiki
Перейти к навигацииПерейти к поиску

Создание базы

rrdtool create net.eth0.traf.rrd --step 5\
DS:rx:COUNTER:10:U:U \
DS:tx:COUNTER:10:U:U \
RRA:AVERAGE:0.5:1:1200 \
RRA:AVERAGE:0.5:8:3000 \
RRA:AVERAGE:0.5:64:10000 \
RRA:AVERAGE:0.5:512:16000 \
RRA:MAX:0.5:1:1200 \
RRA:MAX:0.5:8:3000 \
RRA:MAX:0.5:64:10000 \
RRA:MAX:0.5:512:16000

Добавление данных

#!/bin/bash

dbfile="$1"
if [ -z "${1}" ]; then
        echo -e "
        \e[32mUsage: \e[31m$0 \e[33mRRDBFILE \e[36mIFACENAME

        \e[32mExample: \e[31m$0 \e[33m/home/$USER/mynet.rrd \e[36eth0
        \e[0m"
        exit 2
fi
if [ ! -e "${dbfile}" ]; then
        echo -e "\e[31mError: Database \e[33m\"${dbfile}\" \e[31mnot exist\e[0m"
        exit 1
fi

# Переделать под проверку существования интерфейса
#if [ ! -e /bin/upsc ]; then
#       echo -e "\e[31mError: \e[35m/bin/upsc:\e[31m no such file\e[0m"
#       exit 3
#fi

shift

rrdtool update "${dbfile}" $(/sbin/ifconfig "${1}" |
sed -n -r -e "/RX bytes/s/.*RX bytes:([0-9]+).*TX bytes:([0-9]+).*/$(date +%s):\1:\2/pg")

Создание графика

ToDo: Описание