АнглийскийФранцузскийИспанский

Значок OnWorks

rrd-beginners - Интернет в облаке

Запускайте rrd-beginners в бесплатном хостинг-провайдере OnWorks через Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS

Это команда rrd-beginners, которую можно запустить в бесплатном хостинг-провайдере OnWorks, используя одну из наших многочисленных бесплатных онлайн-рабочих станций, таких как Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS.

ПРОГРАММА:

ИМЯ


rrd-beginners - Руководство для начинающих RRDtool

СИНТАКСИС


Помогаем новым пользователям RRDtool понять основы RRDtool

ОПИСАНИЕ


Это руководство представляет собой попытку помочь новичкам понять концепции RRDtool. Это
проливает свет на различия между RRDtool и другими базами данных. На примере
он объясняет структуру базы данных RRDtool. Далее следует обзор
«графическая» особенность RRDtool. В конце есть примеры сценариев, которые иллюстрируют
использование / упаковка RRDtool в сценарии Shell или Perl.

Что создает RRDtool so особый?
RRDtool - это программное обеспечение под лицензией GNU, разработанное Тобиасом Оетикером, системным менеджером в
Швейцарский федеральный технологический институт. Хотя это база данных, есть отдельные
различия между базами данных RRDtool и другими базами данных, как указано ниже:

· RRDtool хранит данные; это делает его вспомогательным инструментом. Набор команд RRDtool позволяет
создавать графики; что также делает его интерфейсным инструментом. Другие базы данных просто хранят
данные и не может создавать графики.

· В случае линейных баз данных новые данные добавляются в конец базы данных.
стол. Таким образом, его размер продолжает увеличиваться, в то время как размер базы данных RRDtool составляет
определяется во время создания. Представьте себе базу данных RRDtool как периметр круга.
Данные добавляются по периметру. Когда новые данные достигают начальной точки, они
перезаписывает существующие данные. Таким образом, размер базы данных RRDtool всегда остается
постоянный. Название «Round Robin» происходит от такого поведения.

· В других базах данных значения хранятся в том виде, в каком они были предоставлены. RRDtool можно настроить для расчета
скорость изменения от предыдущего к текущему значению и сохранить эту информацию
.

· Другие базы данных обновляются при вводе значений. База данных RRDtool
структурирован таким образом, что ему нужны данные через заранее определенные промежутки времени. Если это так
не получить новое значение в течение интервала, он сохраняет НЕИЗВЕСТНОЕ значение для этого интервала.
Итак, при использовании базы данных RRDtool обязательно использовать скрипты, которые запускаются на
через регулярные интервалы, чтобы обеспечить постоянный поток данных для обновления базы данных RRDtool.

RRDtool предназначен для хранения временных рядов данных. С каждым обновлением данных связанный
метка времени сохраняется. Время всегда выражается в секундах, прошедших с эпохи (01-01-1970).
RRDtool можно установить как в Unix, так и в Windows. Поставляется с набором команд для переноски
различные операции с базами данных RRD. Доступ к этому набору команд можно получить из команды
line, а также из сценариев Shell или Perl. Скрипты действуют как оболочки для доступа к
данные, хранящиеся в базах данных RRDtool.

Понимание by an пример
Структура базы данных RRD отличается от других линейных баз данных. Другой
базы данных определяют таблицы со столбцами и многими другими параметрами. Эти определения
иногда бывают очень сложными, особенно в больших базах данных. Базы данных RRDtool
в основном используются для целей мониторинга и, следовательно, очень просты по структуре. В
параметры, которые необходимо определить, - это переменные, которые содержат значения и архивы этих
ценности. Поскольку время зависит от времени, также определяется пара параметров, связанных со временем.
Из-за своей структуры определение базы данных RRDtool также включает положение
чтобы указать конкретные действия, которые следует выполнять при отсутствии значений обновления. Источник данных (DS),
сердцебиение, тип источника даты (DST), циклический архив (RRA) и функция консолидации
(CF) - это некоторые термины, относящиеся к базам данных RRDtool.

Структуру базы данных и связанную с ней терминологию можно лучше всего объяснить
с примером.

rrdtool создать target.rrd \
--начало 1023654125 \
--шаг 300 \
DS: mem: GAUGE: 600: 0: 671744 \
RRA: СРЕДНИЙ: 0.5: 12: 24 \
RRA: СРЕДНИЙ: 0.5: 288: 31

В этом примере создается база данных с именем цель.rrd. Время начала (1'023'654'125) указано
общее количество секунд с эпохи (время в секундах с 01). При обновлении
базы данных также указывается время обновления. Это время обновления ДОЛЖНО быть больше (позже)
чем время начала и ДОЛЖНО быть в секундах, начиная с эпохи.

Шаг в 300 секунд означает, что база данных ожидает новые значения каждые 300 секунд.
Сценарий оболочки должен запускаться каждые шаг секунд, чтобы обновить
база данных каждые шаг секунд.

DS (источник данных) - это фактическая переменная, которая относится к параметру на устройстве, которое
контролируется. Его синтаксис

DS: имя_переменной: DST: сердцебиение: мин: макс

DS ключевое слово. "имя_переменной" - это имя, под которым параметр сохраняется в
база данных. В базе данных может быть столько DS, сколько необходимо. После каждого шагового интервала
новое значение DS предоставляется для обновления базы данных. Это значение также называется Первичным.
Точка данных (PDP). В нашем примере, упомянутом выше, новый PDP создается каждые 300
секунд.

Обратите внимание: если вы НЕ вводите новые точки данных ровно каждые 300 секунд, это не
проблема, RRDtool будет соответствующим образом интерполировать данные.

DST (Тип источника данных) определяет тип DS. Это может быть СЧЕТЧИК, ПРОИЗВОДНАЯ, АБСОЛЮТНАЯ,
ИЗМЕРЯТЬ. DS, объявленный как COUNTER, сохранит скорость изменения значения за шаг.
период. Это предполагает, что значение всегда увеличивается (разница между
текущее и предыдущее значение больше 0). Счетчики трафика на роутере - это
идеальный кандидат для использования СЧЕТЧИКА в качестве летнего времени. DERIVE - то же самое, что и COUNTER, но позволяет
также отрицательные значения. Если вы хотите увидеть скорость изменение в свободном дисковом пространстве на вашем
server, то вы можете захотеть использовать тип данных DERIVE. АБСОЛЮТ также экономит скорость
изменения, но предполагается, что предыдущее значение установлено на 0. Разница между
текущее и предыдущее значение всегда равно текущему значению. Таким образом, он просто хранит
текущее значение, деленное на интервал шага (300 секунд в нашем примере). GAUGE делает
не сохранить скорость изменения. Он сохраняет само фактическое значение. Нет разделов или
расчеты. Потребление памяти на сервере - типичный пример измерения. Различия
Между различными типами DST можно лучше объяснить следующий пример:

Значения = 300, 600, 900, 1200.
Шаг = 300 секунд
СЧЕТЧИК DS = 1, 1, 1, 1
ПРОИЗВОДНАЯ DS = 1, 1, 1, 1
АБСОЛЮТНЫЙ DS = 1, 2, 3, 4
ДАТЧИК DS = 300, 600, 900, 1200

Следующий параметр - сердцебиение. В нашем примере сердцебиение составляет 600 секунд. Если база данных
не получит новый PDP в течение 300 секунд, он будет ждать еще 300 секунд (всего 600
секунд). Если он не получит PDP в течение 600 секунд, он сохранит НЕИЗВЕСТНОЕ значение.
в базу данных. Это НЕИЗВЕСТНОЕ значение - особенность RRDtool - оно намного лучше
чем предполагать, что отсутствующее значение было 0 (ноль) или любое другое число, которое также может быть
допустимое значение данных. Например, счетчик потока трафика на маршрутизаторе постоянно увеличивается.
Допустим, значение для интервала пропущено, и вместо НЕИЗВЕСТНО сохраняется 0. Теперь, когда
становится доступным следующее значение, оно рассчитает разницу между текущим
значение и предыдущее значение (0), которое неверно. Итак, вставив значение НЕИЗВЕСТНО
имеет здесь гораздо больше смысла.

Следующие два параметра - это минимальное и максимальное значение соответственно. Если переменная
для сохранения имеет предсказуемые максимальные и минимальные значения, это следует указать здесь.
Любое значение обновления, выходящее за пределы этого диапазона, будет сохранено как НЕИЗВЕСТНО.

В следующей строке объявляется циклический архив (RRA). Синтаксис объявления RRA:

RRA: CF: xff: step: rows

RRA - это ключевое слово для объявления RRA. Функция консолидации (CF) может быть СРЕДНЕЙ,
МИНИМУМ, МАКСИМУМ и ПОСЛЕДНИЙ. Понятие консолидированной точки данных (CDP) входит в
картина здесь. CDP CFed (усредненное, максимальное / минимальное значение или последнее значение) от шаг
количество PDP. Настоящее АРСП будет содержать строки CDP.

Давайте посмотрим на приведенный выше пример. Для первого RRA, 12 (шагов) PDP (переменные DS)
СРЕДНИЕ (CF) для формирования одной CDP. 24 (строки) этих CDP находятся в архиве. Каждый PDP происходит
через 300 секунд. 12 PDP представляют собой 12 умноженных на 300 секунд, что составляет 1 час. Это означает 1 CDP
(что равно 12 PDP) представляет данные за 1 час. 24 таких CDP представляют 1 день (1
час раз 24 CDP). Это означает, что АРСП представляет собой архив на один день. После 24 CDP, CDP
номер 25 заменит 1-й ХДП. Второй RRA экономит 31 CDP; каждый CPD представляет собой
СРЕДНЕЕ значение за день (288 PDP, каждая по 300 секунд = 24 часа). Поэтому это
RRA - это архив на один месяц. В одной базе данных может быть много RRA. Если есть
несколько DS, каждый отдельный RRA будет сохранять данные для всех DS в базе данных. Для
Например, если в базе данных 3 DS и объявляются ежедневные, еженедельные, ежемесячные и ежегодные RRA,
тогда каждый RRA будет содержать данные из всех 3 источников данных.

Графический магия
Еще одна важная особенность RRDtool - это возможность создавать графики. Команда "график"
использует внутреннюю команду "выборки" для извлечения значений из базы данных. С
извлеченные значения он рисует графики в соответствии с параметрами, указанными в команде
линия. На одном графике могут отображаться разные DS (источники данных) из базы данных. Это также
можно отображать значения из более чем одной базы данных на одном графике. Часто это
необходимо выполнить некоторую математику над значениями, полученными из базы данных, перед построением графика
их. Например, в ответах SNMP значения потребления памяти обычно указываются в
Кбайты и поток трафика на интерфейсах указывается в байтах. Графики для этих значений будут
будет более значимым, если значения представлены в мегабайтах и ​​мегабитах в секунду. Команда RRDtool graph
позволяет определять такие преобразования. Помимо математических расчетов, это еще и
можно выполнять логические операции, такие как больше, меньше и if / then / else.
Если база данных содержит более одного архива RRA, то может возникнуть вопрос - как
RRDtool решает, какой архив RRA использовать для получения значений? RRDtool смотрит на
несколько вещей при выборе. Во-первых, он гарантирует, что АРСП покрывает как можно больше
график времени, насколько это возможно. Во-вторых, он смотрит на разрешение RRA по сравнению
к разрешению графика. Он пытается найти тот, у которого такой же или выше, лучше
разрешающая способность. С помощью опции "-r" вы можете заставить RRDtool принять другое разрешение
чем рассчитанный по ширине графика в пикселях.

Значения различных переменных могут быть представлены в 5 различных формах на графике - ОБЛАСТЬ,
LINE1, LINE2, LINE3 и СТЕК. ОБЛАСТЬ представлена ​​сплошной областью со значениями как
граница этой области. LINE1 / 2/3 (увеличивающаяся ширина) - это просто простые линии, представляющие
ценности. СТЕК - это тоже область, но она «наложена» на верхнюю ОБЛАСТЬ или СТРОКУ 1/2/3. Другой
важно отметить, что переменные отображаются в том порядке, в котором они определены в
команда графа. Поэтому следует позаботиться о том, чтобы определить СТЕК только после определения ОБЛАСТИ / СТРОКА.
Также можно помещать на график отформатированные комментарии. Подробные инструкции могут
можно найти в руководстве по графику.

Обертывание RRDtool одной Оболочка / Perl скрипт
После понимания RRDtool настало время фактически использовать RRDtool в скриптах. Задания
В управление сетью вовлечены сбор данных, хранение и извлечение данных. В
В следующем примере используется ранее созданная база данных target.rrd. Сбор данных
а хранение данных осуществляется с помощью сценариев оболочки. Получение данных и формирование отчета завершены.
с использованием сценариев Perl. Эти сценарии показаны ниже:

Оболочка скрипт (улавливается данные обновления база данных)

#!/ Бен / ш
а = 0
в то время как ["$ a" == 0]; делать
snmpwalk -c общедоступный 192.168.1.250 hrSWRunPerfMem> snmp_reply
total_mem = `awk 'НАЧАТЬ {tot_mem = 0}
{if ($ NF == "КБайт")
{tot_mem = tot_mem + $ (NF-1)}
}
КОНЕЦ {print tot_mem} 'snmp_reply`
# Я могу использовать N как замену текущему времени
rrdtool update target.rrd N: $ total_mem
# спать до тех пор, пока не будут заполнены следующие 300 секунд
perl -e 'сон 300 - время% 300'
done # конец цикла while

Perl скрипт (извлекает данным к база данных и генерирует Графики и статистика)

#!/ usr / bin / perl -w
# Этот скрипт извлекает данные из target.rrd, создает график памяти
# потребление на целевом объекте (Dual P3 Processor 1 GHz, 656 MB RAM)

# вызываем Perl-модуль RRD
используйте lib qw (/usr/local/rrdtool-1.0.41/lib/perl ../lib/perl);
использовать RRD;
мой $ cur_time = время (); # установить текущее время
мой $ end_time = $ cur_time - 86400; # установить время окончания 24 часа назад
мое $ start_time = $ end_time - 2592000; # установить начало 30 дней назад

# получить средние значения из базы данных RRD между временем начала и окончания
my ($ start, $ step, $ ds_names, $ data) =
RRDs :: fetch ("target.rrd", "СРЕДНИЙ",
«-r», «600», «-s», «$ start_time», «-e», «$ end_time»);
# сохраняем полученные значения в двумерном массиве
мои строки $ = 0;
мои столбцы $ = 0;
моя $ time_variable = $ start;
foreach $ line (@ $ data) {
$ vals [$ rows] [$ columns] = $ time_variable;
$ time_variable = $ time_variable + $ step;
foreach $ val (@ $ line) {
$ vals [$ rows] [++ $ columns] = $ val;}
$ rows ++;
$ columns = 0;
}
мой $ tot_time = 0;
мой счетчик $ = 0;
# сохраняем значения из 2-х мерного в 1-мерный массив
for $ i (0 .. $ # vals) {
$ tot_mem [$ count] = $ vals [$ i] [1];
$ count ++;
}
мой $ tot_mem_sum = 0;
# вычисляем сумму всех значений
for $ i (0 .. ($ count-1)) {
$ tot_mem_sum = $ tot_mem_sum + $ tot_mem [$ i];
}
# вычисляем среднее значение массива
мой $ tot_mem_ave = $ tot_mem_sum / ($ count);
# создать график
RRDs :: graph ("/images/mem_$count.png",
"--title = Использование памяти",
"--vertical-label = Потребление памяти (МБ)",
"--start = $ start_time",
"--end = $ end_time",
"--color = BACK # XNUMX",
"--color = CANVAS # CCFFFF",
"--color = SHADEB # 9999CC",
"--height = 125",
"--upper-limit = 656",
"--lower-limit = 0",
"--жесткий",
"--base = 1024",
"DEF: tot_mem = target.rrd: mem: AVERAGE",
"CDEF: tot_mem_cor = tot_mem, 0,671744, LIMIT, UN, 0, tot_mem, IF, 1024, /",
"CDEF: machine_mem = tot_mem, 656, +, tot_mem, -",
"КОММЕНТАРИЙ: потребление памяти между $ start_time",
"КОММЕНТАРИЙ: и $ end_time",
"HRULE: 656 # 000000: Максимально доступная память - 656 МБ",
"AREA: machine_mem # CCFFFF: память не используется",
«AREA: tot_mem_cor # 6699CC: общий объем потребляемой памяти в МБ»);
мой $ err = RRDs :: error;
if ($ err) {print "проблема построения графика: $ err \ n";}
# распечатать вывод
print «Среднее потребление памяти»;
printf "% 5.2f", $ tot_mem_ave / 1024;
print "MB. Графическое представление можно найти по адресу /images/mem_$count.png.";

Используйте rrd-beginners онлайн с помощью сервисов onworks.net


Бесплатные серверы и рабочие станции

Скачать приложения для Windows и Linux

  • 1
    QR-код PHP
    QR-код PHP
    PHP QR-код с открытым исходным кодом (LGPL)
    библиотека для генерации QR-кода,
    2-х мерный штрих-код. На основе
    Библиотека libqrencode C, предоставляет API для
    создание штрих-кода QR-кода ...
    Загрузите QR-код PHP
  • 2
    Фрицив
    Фрицив
    Freeciv - это бесплатная пошаговая
    многопользовательская стратегическая игра, в которой каждый
    игрок становится лидером
    цивилизация, борющаяся за получение
    конечная цель: стать ...
    Скачать Freeciv
  • 3
    Песочница с кукушкой
    Песочница с кукушкой
    Cuckoo Sandbox использует компоненты для
    контролировать поведение вредоносного ПО в
    Среда песочницы; изолированы от
    остальная часть системы. Он предлагает автоматизированный
    анализ о...
    Скачать Песочницу с кукушкой
  • 4
    LMS-YouTube
    LMS-YouTube
    Воспроизведение видео с YouTube в LMS (портирование
    Triode's to YouTbe API v3) Это
    приложение, которое также можно получить
    к
    https://sourceforge.net/projects/lms-y...
    Скачать LMS-YouTube
  • 5
    Windows Presentation Foundation
    Windows Presentation Foundation
    Фонд презентаций Windows (WPF)
    это UI-фреймворк для создания Windows
    настольные приложения. WPF поддерживает
    широкий набор приложений для разработки
    функции...
    Скачать Windows Presentation Foundation
  • 6
    СпортМузыка
    СпортМузыка
    Mit dem Programm cann man schnell und
    einfach Pausen bei Sportveranstaltungen
    mit Musik überbrücken. Hierf?r haben sie
    die Müglichkeit, folgende Wiedergabvaria...
    Скачать SportMusik
  • Больше »

Команды Linux

Ad