Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
OBaby Гость
|
Добавлено: Ср Июл 07 2004 14:30 Заголовок сообщения: mrtg |
|
|
Помогите плиз!
Кто нить настроивал mrtg!? Почему после перезагрузки сервака он ругается, что последння запись времени в базе не соответствует текущему времени и не запускается. Приходится удалять всю базу записей (собственно log и old файлы), вообщем теряется статистика.
Как сделать чтобы при перезарузке он не ругался так... |
|
Вернуться к началу |
|
|
xt
Зарегистрирован: 17.12.2002 Сообщения: 557 Откуда: Донецк, UA
|
Добавлено: Ср Июл 07 2004 14:33 Заголовок сообщения: |
|
|
Кинь сюда скрипт который отдаёт МРТЖ данные! |
|
Вернуться к началу |
|
|
OBaby Гость
|
Добавлено: Чт Июл 08 2004 07:17 Заголовок сообщения: лови от мртж |
|
|
Refresh: 300
Interval: 5
#WriteExpires: No
IconDir: /var/mrtg/eth1
LogDir: /var/mrtg/eth1
HtmlDir: /var/mrtg/eth1
Forks: 10
Language: russian
Background[_]: #CFCFCF
MaxBytes[server.out-eth1-all]: 12500000
AbsMax[server.out-eth1-all]: 12500000
Options[server.out-eth1-all]: growright, bits, nobanner
Target[server.out-eth1-all]: `/etc/mrtg/mrtg-eth.pl -d eth1`
Title[server.out-eth1-all]: eth1 - Статистика загрузки server.out
YLegend[server.out-eth1-all]: Bytes/s
ShortLegend[server.out-eth1-all]: B/s
XSize[server.out-eth1-all]: 600
YSize[server.out-eth1-all]: 200
YTics[server.out-eth1-all]: 10
YTicsFactor[server.out-eth1-all]: 1
Legend1[server.out-eth1-all]: Входящий траффик
Legend2[server.out-eth1-all]: Исходящий трафик
Legend3[server.out-eth1-all]: Максимальный входящий траффик
Legend4server.out-eth1-all]: Максимальный исходящий траффик
LegendI[server.out-eth1-all]: Входящий:
LegendO[server.out-eth1-all]: Исходящий:
WithPeak[server.out-eth1-all]: ymwd
PageTop[server.out-eth1-all]: <H1>eth1- Статистика загрузки сервера</H1>
TimeZone[server.out-eth1-all]: по Московскому времени |
|
Вернуться к началу |
|
|
xt
Зарегистрирован: 17.12.2002 Сообщения: 557 Откуда: Донецк, UA
|
Добавлено: Чт Июл 08 2004 09:09 Заголовок сообщения: |
|
|
скрипт это - /etc/mrtg/mrtg-eth.pl -d eth1 |
|
Вернуться к началу |
|
|
TechNoir
Зарегистрирован: 22.08.2003 Сообщения: 1632 Откуда: Moscou
|
Добавлено: Чт Июл 08 2004 09:50 Заголовок сообщения: |
|
|
Excusez-moi, а что такое mrtg?
P.S. С Yandex'ом я посорился _________________ Vive la Russie! |
|
Вернуться к началу |
|
|
xt
Зарегистрирован: 17.12.2002 Сообщения: 557 Откуда: Донецк, UA
|
|
Вернуться к началу |
|
|
OBaby Гость
|
Добавлено: Чт Июл 08 2004 12:00 Заголовок сообщения: ок' вот скрипт |
|
|
#! /usr/bin/perl -w
# Modules
use strict;
use Getopt::Long;
###########################
# mrtg-eth.pl #
my $version="1.5.5"; #
# Mario Witte #
# mario.witte@chengfu.net #
###########################
################################################################################
# Configuration #
my $ssh="/usr/bin/ssh"; # Path to ssh #
my $ssh_opt="-o 'BatchMode yes' "; # ssh-Options #
$ssh_opt.="-o 'StrictHostKeyChecking no'";# #
my $devinfo="/proc/net/dev"; # Where to read device info from #
my $in_pos=0; # Position of bytes_in in $devinfo #
my $out_pos=8; # Position of bytes_out in $devinfo #
my $reverse=0; # reverse in/out bytes in output #
################################################################################
# Declare some variables
my $help=0;
my $helptext;
my $device;
my $remote_host;
my $identity_file;
my $remote_user;
my $remote_port;
my $ssh_protocol;
my %devinfo;
# Read Commandline parameters
&GetOptions( "device=s" => \$device,
"remotehost:s" => \$remote_host,
"identity:s" => \$identity_file,
"login:s" => \$remote_user,
"port:i" => \$remote_port,
"protocol:i" => \$ssh_protocol,
"pos_in:i" => \$in_pos,
"pos_out:i" => \$out_pos,
"t" => \$reverse,
"help" => \$help);
# If requested or no parameters given display help
if (!$device) { $help=1; $helptext=""; }
# Check if devicename is valid
if (($device) && ($device=~/^-/)) {
$help=1;
$helptext.="'$device' doesn't look like a device name\n";
} # end if $device
# Check if remotehost is valid
if (($remote_host) && ($remote_host=~/^-.{0,3}/)) {
$help=1;
$helptext.="'$remote_host' doesn't seem to be a hostname\n";
} # end if $remote
# Open help if requested/needed
if ($help==1) {
&help("$helptext");
exit;
}
if( $ssh_protocol ) {
if( $ssh_protocol == 1 or $ssh_protocol == 2 ) {
$ssh_opt.=" -$ssh_protocol";
}
}
if( $identity_file ) {
$ssh_opt.=" -i $identity_file";
$ENV{'SSH_AUTH_SOCK'} = '';
}
if( $remote_user ) {
$ssh_opt.=" -l $remote_user";
}
if( $remote_port ) {
$ssh_opt.=" -p $remote_port";
}
# Read statistics
if ($remote_host) { # remote host given, connect via ssh
my $ssh_cmd = "$ssh $ssh_opt $remote_host cat $devinfo";
open (DEV, "$ssh_cmd|");
} else { # read from localhost
open (DEV, "< $devinfo");
}
map { @{$devinfo{$1}} = split /\s+/, $2 if( m/^\s*(.*):\s*(.*)$/); } <DEV>;
close DEV;
if (scalar keys %devinfo == 0) { &help("Could not read device info"); exit; }
if( ! defined $devinfo{$device} ) { &help("device $device not found"); exit; }
my $bytesin = $devinfo{$device}->[$in_pos];
my $bytesout = $devinfo{$device}->[$out_pos];
# Print Bytes per second to stdout
if ($reverse == 0) { print $bytesin . "\n"; }
print $bytesout . "\n";
if ($reverse == 1) { print $bytesin . "\n"; }
# Exit
exit;
# Subs
sub help($) {
if ($_[0]) { print "There were errors:\n $_[0]\n"; }
print "mrtg-eth.pl version $version - mario.witte\@chengfu.net\n";
print "\n";
print "Usage: mrtg-eth.pl -d device [-r host [-l login] [-i identity] [--port port] [--protocol 1|2]] [--pos_in n] [--pos_out n] [-t] [-b]\n";
print "\n";
print "Options:\n";
print "\t-d device - Device to be monitored (e.g. eth0, ippp1)\n";
print "\t-r host - If set, will try to connect to remote\n";
print "\t host via ssh (SSH)\n";
print "\t-l login - user on remote host (SSH)\n";
print "\t-i identity - use this private-key to connect to remote host (SSH)\n";
print "\t--protocol - use Protocol 1 or 2 to connect to remote host (SH)\n";
print "\t--port p - remote-sshd listens on port p (SSH)\n";
print "\t\n";
print "\t--pos_in n - Position of bytes_in in $devinfo\n";
print "\t--pos_out n - Position of bytes_out in $devinfo\n";
print "\t\n";
print "\t-t - reverse in/out bytes in output\n";
print "\n";
print "Options marked with '(SSH)' are only useful when connecting\n";
print "to a remote host using SSH\n";
print "\n";
} # end sub help |
|
Вернуться к началу |
|
|
xt
Зарегистрирован: 17.12.2002 Сообщения: 557 Откуда: Донецк, UA
|
Добавлено: Чт Июл 08 2004 13:05 Заголовок сообщения: |
|
|
1. Я не нашёл где в этом скрипте выводится имя устройства и аптайм,
для mrtg внешние программы должны возвращать 2 числа (первый и второй контролируемый процесс, если надо строить 1 график - то просто второе число будет 0), 3я строчка служит для указания времени uptime, а 4я - для указания имени устройства, только если 3 число 0, то ничего выводиться не будет.
Видимо проблема в этом
2. Если снимаешь статистику с локалхоста, можно было найти более простой скрипт |
|
Вернуться к началу |
|
|
Obaby Гость
|
Добавлено: Чт Июл 08 2004 13:29 Заголовок сообщения: вопрос |
|
|
не скажешь где его взять ... а то лень искать |
|
Вернуться к началу |
|
|
xt
Зарегистрирован: 17.12.2002 Сообщения: 557 Откуда: Донецк, UA
|
Добавлено: Чт Июл 08 2004 13:45 Заголовок сообщения: |
|
|
комманда - uptime |
|
Вернуться к началу |
|
|
vigo Гость
|
Добавлено: Пн Авг 09 2004 15:21 Заголовок сообщения: |
|
|
Научите пожалуйста снимать статистику этим скриптом через ссх
|
|
Вернуться к началу |
|
|
|