Большая часть сисадминов для мониторинга комм оборудования и серверов используют MRTG. Есть ли какой-то плагин к ней или что-то вроде того, позволяющий удобно менять конфиги, давать нормальные имена страничкам с графиками и т.п.?Хотя бы тупо есть ли нормальный метод вставки понятных для людей Title'ов? Переписывать вручную конфиг описывающий около 70 устройств это ад.
>Большая часть сисадминов для мониторинга комм оборудования и серверов используют MRTG. Есть
>ли какой-то плагин к ней или что-то вроде того, позволяющий удобно
>менять конфиги, давать нормальные имена страничкам с графиками и т.п.?
>
>Хотя бы тупо есть ли нормальный метод вставки понятных для людей Title'ов?
> Переписывать вручную конфиг описывающий около 70 устройств это ад.
#############################################################################
Title[stoyanka.ping]: Страница анализа задержек при проверке доступности
роутера Стоянки
PageTop[stoyanka.ping]: <H1>Анализ задержек ICMP пакетов</H1>
<P>Проверка соединения центрального оффиса КЛО и Стоянкой...............
#############################################################################Title[bio.ping]: Страница анализа задержек при проверке доступности
роутера Бионта
PageTop[bio.ping]: <H1>Анализ задержек ICMP пакетов</H1>
<P>Проверка соединения центрального оффиса КЛО и Бионта.MaxBytes[bio.ping]: 75
AbsMax[bio.ping]: 10000
WithPeak[bio.ping]: ymwd
Улавливаешь? Формируешь нужный участок конфига скриптом потом либо
cat _my_pice_cfg_ >> /usr/local/etc/mrtg/mrtg.cfg
либо каким-то другим способом и у тебя конфиг автоматом обновитсяКак видишь title и top тоже вполне легко задаются.
Смотри примеры конфигов
>Улавливаешь?Нет.
>Формируешь нужный участок конфига скриптом
Какой участок? Вот этот?
>Title[stoyanka.ping]: Страница анализа задержек при проверке доступности
>
>
> роутера Стоянки
>PageTop[stoyanka.ping]: <H1>Анализ задержек ICMP пакетов</H1>
> <P>Проверка соединения центрального оффиса КЛО и Стоянкой.Как я его сформирую скриптом? Это ведь руками писать придется?
>потом либо
>cat _my_pice_cfg_ >> /usr/local/etc/mrtg/mrtg.cfgТаким образом я допишу кусок в конец. Мне же нужно эту часть в файле заменить, ведь так?
Вот смотри кусок конфига на задержки и потери для mrtg#############################################################################
Title[sklad.ping]: Страница анализа задержек при проверке доступности
роутера склада Автопрофита
PageTop[sklad.ping]: <H1>Анализ задержек ICMP пакетов</H1>
<P>Проверка соединения центрального оффиса КЛО и склада Автопрофита.MaxBytes[sklad.ping]: 75
AbsMax[sklad.ping]: 10000
WithPeak[sklad.ping]: ymwdOptions[sklad.ping]: gauge
Target[sklad.ping]: `/usr/local/bin/mrtg-ping-probe 62.244.xxx.xxx`YLegend[sklad.ping]: round trip time
ShortLegend[sklad.ping]: ms
Legend1[sklad.ping]: Maximum Round Trip Time in ms
Legend2[sklad.ping]: Minimum Round Trip Time in ms
Legend3[sklad.ping]: Maximal 5 Minute Maximum Round Trip Time in ms
Legend4[sklad.ping]: Maximal 5 Minute Minimum Round Trip Time in ms
LegendI[sklad.ping]: Max:
LegendO[sklad.ping]: Min:Target[sklad.loss]: `/usr/local/bin/mrtg-ping-probe -t 42 -p loss/loss 62.244.xxx.xxx`
Title[sklad.loss]: Страница анализа потерь при проверке доступности
роутера склада Автопрофита
PageTop[sklad.loss]: <H1>Анализ потерь ICMP пакетов</H1>
<P>Проверка соединения центрального оффиса КЛО и склада Автопрофита.
MaxBytes[sklad.loss]: 100
AbsMax[sklad.loss]: 101
WithPeak[sklad.loss]: ymwd
Options[sklad.loss]: gauge
Unscaled[sklad.loss]: dwmy
YLegend[sklad.loss]: % Packet Loss
ShortLegend[sklad.loss]: %
Legend1[sklad.loss]: % Packet Loss
Legend2[sklad.loss]: % Packet Loss
Legend3[sklad.loss]: Maximal 5 Minute % Packet Loss
Legend4[sklad.loss]: Maximal 5 Minute % Packet Loss
LegendI[sklad.loss]: % loss:
LegendO[sklad.loss]: % loss:
#############################################################################Если теперь вездк в квадратных скобках заменить sklad на какой-нить name и поменять IP-адресс то получишь секцию для проверки еще одного узла:
#############################################################################Title[NAME.ping]: Страница анализа задержек при проверке доступности
роутера склада Автопрофита
PageTop[NAME.ping]: <H1>Анализ задержек ICMP пакетов</H1>
<P>Проверка соединения центрального оффиса КЛО и склада Автопрофита.MaxBytes[NAME.ping]: 75
AbsMax[NAME.ping]: 10000
WithPeak[NAME.ping]: ymwdOptions[NAME.ping]: gauge
Target[NAME.ping]: `/usr/local/bin/mrtg-ping-probe 62.244.yyy.yyy`YLegend[NAME.ping]: round trip time
ShortLegend[NAME.ping]: ms
Legend1[NAME.ping]: Maximum Round Trip Time in ms
Legend2[NAME.ping]: Minimum Round Trip Time in ms
Legend3[NAME.ping]: Maximal 5 Minute Maximum Round Trip Time in ms
Legend4[NAME.ping]: Maximal 5 Minute Minimum Round Trip Time in ms
LegendI[NAME.ping]: Max:
LegendO[NAME.ping]: Min:Target[NAME.loss]: `/usr/local/bin/mrtg-ping-probe -t 42 -p loss/loss 62.244.yyy.yyy`
Title[NAME.loss]: Страница анализа потерь при проверке доступности
роутера NAME
PageTop[NAME.loss]: <H1>Анализ потерь ICMP пакетов</H1>
<P>Проверка соединения центрального оффиса КЛО и NAME.
MaxBytes[NAME.loss]: 100
AbsMax[NAME.loss]: 101
WithPeak[NAME.loss]: ymwd
Options[NAME.loss]: gauge
Unscaled[NAME.loss]: dwmy
YLegend[NAME.loss]: % Packet Loss
ShortLegend[NAME.loss]: %
Legend1[NAME.loss]: % Packet Loss
Legend2[NAME.loss]: % Packet Loss
Legend3[NAME.loss]: Maximal 5 Minute % Packet Loss
Legend4[NAME.loss]: Maximal 5 Minute % Packet Loss
LegendI[NAME.loss]: % loss:
LegendO[NAME.loss]: % loss:#############################################################################
Как видите секции практически не отличаются друг от друга. Параметры все теже, меняется только содержимое в квадратных скобках, которые являются индентификаторами, если хотите - метками, для считывания параметров, да IP и TITLEТеперь достаточно образованную секцию добавить в конфиг любым доступным способом и MRTG сам подхватит настройки, его перезапускать не потребуется.
В конце концов, просто попробуйте, потреть-те пару минут на очевидные вещи.
Конечно, для пингов все это сойдет. Можно просто из списка имен и адресов создать конфиг.Я же не о пингах говорю. Что делать для маршрутизаторов, свичей, везде разное количество портов, разные скорости, соответственно различаются многие настройки?
>Конечно, для пингов все это сойдет. Можно просто из списка имен и
>адресов создать конфиг.
>
>Я же не о пингах говорю. Что делать для маршрутизаторов, свичей, везде
>разное количество портов, разные скорости, соответственно различаются многие настройки?Я дал примел, а не универсальное противоядие. Все же кто из нас админ конкретной системы?
Был задан вопрос: КАК? Я ответил, вот так. Только правишь соответсвующие параметры. По началу вообще шел разговор о Title, теперь нужно разныек параметры ставить....
Батенька, да элементарно все это делается:#!/usr/bin/perl -w
.....
my %conf = read_config($path);
my @arr = split(/,/,$conf{'arr_list'});
foreach my $list (@arr){
if ($list=~ m/_some_pattern_/gi){
$conf{$list}='_you_variable_';
}
...............
# так пока не надоест менять
}open (F,">>$path");
foreach my $conflist(@arr){
print F $conflist;
}
close(F);
.....
sub read_config {my $conf = shift @_ || 'myconf.conf';
my $arr_hash;my %resconf = ();
open (CONF, "<$conf") or die "Cannot open CONF file:\t$conf\nExit\n";
while (<CONF>) {
my $line = $_;
if (($line!~ m/^[\s\t++]#/g) and ($line!~ m/^#/g) and ($line!~ m/^[\s\t++]\n/g) and ($line!~
m/^[\s\t++]#/g) and ($line!~ m/^\n/g)) {
$line =~ s/[\s\t++]//g;
chomp $line;
if (($line !~ '') and ($line !~ '\n')) {
my ($param,$arg) = split (/:/,$line);
$resconf{$param} = $arg;
if (defined $arr_hash) {
$arr_hash="$arr_hash\,$param";
}
else {
$arr_hash="$param";
}
}
}}
close (CONF);
$resconf{'arr_list'} = $arr_hash;
return %resconf;
}
на все про все - 20 минут. Сложно? Если заготовить соответствующие шаблоны - настройка будет занимать даже не минуты - секунды. Можно вообще автоматом все организовать.
Было бы лишь желание.
И так вопрос: А оно есть?
>Большая часть сисадминов для мониторинга комм оборудования и серверов используют MRTG.
По незнанию. Потому-что есть программа cacti, которая служит тем-же целям, но отличается от mrtg как мерседес от запорожца.