RRD: сбор статистики по использованию памяти: различия между версиями
Материал из Linux Wiki
Перейти к навигацииПерейти к поиску
Rain (обсуждение | вклад) |
Rain (обсуждение | вклад) |
||
Строка 1: | Строка 1: | ||
==Создание базы== | |||
База создается с именем '''/home/stats/memload.$HOSTNAME.rrd''', интервал добавления данных - '''10 секунд''', 5 полей для информации о состоянии памяти - общий размер (вдруг пригодится :)), буферы, кэш диска, данные приложений, свободная память. Замеры с 4-мя ступенями разрешения: | |||
* С разрешением в 10 секунд интервал в 100 минут (больше часа) | |||
* С разрешением в 1,5 минуты интервал в 33 часа (больше суток) | |||
* C разрешением в 10 минут интервал в 37 дней (больше месяца) | |||
* С разрешением в 3 часа интервал в 1,3 года (год и 3 месяца) | |||
---- | |||
<source lang=bash> | |||
rrdtool create /home/stat/memload.$HOSTNAME.rrd --step 10 \ | |||
DS:memtotal:GAUGE:20:U:U \ | |||
DS:membuf:GAUGE:20:U:U \ | |||
DS:memcache:GAUGE:20:U:U \ | |||
DS:memused:GAUGE:20:U:U \ | |||
DS:memfree:GAUGE:20:U:U \ | |||
RRA:AVERAGE:0.5:1:600 \ | |||
RRA:AVERAGE:0.5:8:1500 \ | |||
RRA:AVERAGE:0.5:64:5000 \ | |||
RRA:AVERAGE:0.5:512:8000 | |||
</source> | |||
==Добавление данных== | |||
<source lang=bash> | <source lang=bash> | ||
#!/bin/bash | #!/bin/bash |
Версия 18:26, 4 декабря 2008
Создание базы
База создается с именем /home/stats/memload.$HOSTNAME.rrd, интервал добавления данных - 10 секунд, 5 полей для информации о состоянии памяти - общий размер (вдруг пригодится :)), буферы, кэш диска, данные приложений, свободная память. Замеры с 4-мя ступенями разрешения:
- С разрешением в 10 секунд интервал в 100 минут (больше часа)
- С разрешением в 1,5 минуты интервал в 33 часа (больше суток)
- C разрешением в 10 минут интервал в 37 дней (больше месяца)
- С разрешением в 3 часа интервал в 1,3 года (год и 3 месяца)
rrdtool create /home/stat/memload.$HOSTNAME.rrd --step 10 \
DS:memtotal:GAUGE:20:U:U \
DS:membuf:GAUGE:20:U:U \
DS:memcache:GAUGE:20:U:U \
DS:memused:GAUGE:20:U:U \
DS:memfree:GAUGE:20:U:U \
RRA:AVERAGE:0.5:1:600 \
RRA:AVERAGE:0.5:8:1500 \
RRA:AVERAGE:0.5:64:5000 \
RRA:AVERAGE:0.5:512:8000
Добавление данных
#!/bin/bash
dbfile="$1"
if [ -z "${1}" ]; then
echo -e "
\e[32mUsage: \e[31m$0 \e[33mRRDBFILE
\e[32mExample: \e[31m$0 \e[33m/home/$USER/mymemory.rrd
\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 [ ! -r /proc/meminfo ]; then
echo -e "\e[31mError: \e[35m/proc/meminfo:\e[31mcan't get info\e[0m"
exit 3
fi
rrdtool update "${dbfile}" $(awk '
/^MemTotal:/{all=$2}
/^MemFree:/{free=$2}
/^Buffers:/{buf=$2}
/^Cached:/{cache=$2}
END {print systime()":"all":"buf":"cache":"all-free-buf-cache":"free}
' /proc/meminfo)