Недавно захотелось попробовать поюзать Cacti. Например, построить график для произвольного значения, взятого из командной строки (custom graphs). На Ubuntu Cacti встал сам и без лишних вопросов, даже описывать нечего. Сам сразу же начал строить графики основных параметров самого сервера, что меня вполне устроило. Попутно нашелся очень хороший шаблон для мониторинга параметров MySQL сервера.
А вот с визуализацией значения из командной строки пришлось повозиться.
Описанное далее не претендует на хорошую хаутушку по Cacti, но может пригодиться для тех, кому надо быстро решить похожую задачу и не хочется вникать во всю архитектуру Cacti. Словом, quick and dirty. В примере строится график суммарной загрузки процессора всеми процессами mongrel_rails, которую выдает ps.
Создаем скрипт, который выдает нам численное значение нужного параметра:
vim /usr/share/cacti/site/scripts/mongrel_cpu.pl
#!/usr/bin/perl
open(PROCESS, “ps aux | grep ‘/usr/bin/ruby1.8 /usr/bin/mongrel_rails’ | awk ‘{print \$3}’ | awk ‘BEGIN {sum=0} {sum=sum + \$1} END {print sum}’ |”);
$output = <PROCESS>;
close(PROCESS);
chomp($output);
print $output;
Проверяем, что скрипт работает:
perl /usr/share/cacti/site/scripts/mongrel_cpu.pl
1.6
Перевода строки не будет и он не нужен, это нормально.
Переходим в консоль Cacti.
Data Input Methods
add
name = Mongrel CPU Usage
input type = script/command
input string = perl <path_cacti>/scripts/mongrel_cpu.pl
create
В разделе output fields:
add
field = percents
friendly name = Total percents used by mongrels
update = checked
create
Переходим в Data templates.
add
data templates name = Mongrel CPU Usage
data source name = |host_description| – Mongrel CPU Usage
data input method = выбираем из списка Mongrel CPU Usage
internal data source name = percents
ds type = GAUGE
create
save
Переходим в Graph Templates.
add
name = Mongrel CPU Usage
title = |host_description| – Mongrel CPU Usage
vertical label = percents
На странице появились Graph Template items.
Нам надо добавить туда сам график и LAST, AVERAGE, MAX подписи к нему.
нажимаем в этом разделе add
data source = Mongrel CPU Usage – (percents) из списка
выбираем цвет
graph item type = AREA
consolidation function = AVERAGE
value = percents
text format = Percents
create
add
graph item type = GPRINT
consolidation function = LAST
text format = Current
add
graph item type = GPRINT
consolidation function = AVERAGE
text format = Average
add
graph item type = GPRINT
consolidation function = MAX
text format = Maximum
Нажимаем save в самом внизу страницы.
Переходим в Host Templates.
add
name = Rails Application Server
create
associated graph templates = выбираем из списка Mongrel CPU Usage
add
save
Переходим в New Graphs.
create new host
description = Web Server Rails
hostname = 127.0.0.1
host template = Rails Application Server
create
На этой же странице надо нажать Create Graphs for this Host.
выделяем все графики
create
Переходим в Devices.
ставим галочку на новом хосте и выбираем действие Place on a Tree (Default Tree)
go
выбираем корень
yes
Ждем 10 минут (по умолчанию сбор данных идет раз в 5 минут), переходим в просмотр графиков и наслаждаемся результатом.
Спасибо за статью, оч помогла!