место в рейтинге
  • 67064
  • 75
  • 8
Нравится блог?
Подписывайтесь!

Cacti для мониторинга ProFTPd сервера -простой график

Установил сервер FTP, все достаточно стандартно. Но вот захотелось смотреть статистику - детальную и общую. С детальной проблем не возникло - awstats мой выбор ) А вот с простым графиком - пользователи в онлайн в разерезе "авторизованные - анонимные" поначалу поставил в тупик, но все решилось за один вечер.

 

Для всего этого будем использовать cacti и туда же вставим ссылку на awstats чтобы все было в одном месте.

 

 

Установку Cacti не рассматриваю. Идем на cacti.net и на форуме качаем скрипт для определения пользователей online. После этого создаем

  1. Data input
  2. Data template
  3. Graph template

Data input - то как получаем данные для графика

В данном случае мы используем скрипт - unix_proftpd_who.pl  вот он

#!/usr/bin/perl
#===============================================================================
#
#         FILE:  unix_proftpd_who.pl
#
#        USAGE:  ./unix_proftpd_who.pl [--user|--host|--server] parameter
#
#  DESCRIPTION: Print out user|client|server count and total users count for cacti use
#
#      OPTIONS:  ---
# REQUIREMENTS:  Installed and configured ProFTPD
#         BUGS:  ---
#        NOTES:  ---
#       AUTHOR:  Dennis Yusupoff (dyr), denissia@mail.ru
#      COMPANY:  Smart-Telecom ISP
#      VERSION:  1.0
#      CREATED:  04.06.2009 18:46:55
#     REVISION:  ---
#===============================================================================

use strict;
use warnings;
use Getopt::Long;

my $cmd =  "/usr/local/bin/ftpwho";
my $args = " -v -o oneline";

my (%hash,$user,$client,$server,$help);
my $total = 0;

GetOptions('user=s' => \$user,
'client=s' => \$client,
'server=s' => \$server,
'help|?' => \$help);
&usage if $help;
&usage if ( $user ? ($client || $server) : ($client && $server) );  #Allow only one parameter
open(FH, "$cmd $args |") or die "Cannon execute command: $!\n";
while() {
if ($client) {
if (/client:\s(.+)\s\[(\d+\.\d+\.\d+\.\d+)\]/){
#$1 - client host name (ReverseDns)
#$2 - client host ip
$hash{$1}++;
#Or by ip
$hash{$2}++ unless ($1 eq $2);  #Prevent to duplicate ip if UseReverseDNS is Off in proftpd.conf
$total++;
}
}elsif ($server) {
if (/server:\s(\d+\.\d+\.\d+\.\d+):(\d+)\s\((.+)\)/){
#$1 - server ip
#$2 - server port
#$3 - server name
$hash{$1}++;
$hash{$3}++ unless ($3 eq $1);  #Prevent to duplicate servername if it equal ip
$total++;
}
}else  {
if (/^\s*(\d+)\s(\w+)\s+.+client:\s(.+)\s\[(\d+\.\d+\.\d+\.\d+)\]/){
#$1 - ID
#$2 - username
$hash{$2}++;
$total++;
}
}
}
close(FH);

if ($server) {
print "selected:".($hash{$server} || 0);
}elsif ($client) {
print "selected:".($hash{$client} || 0);
}elsif ($user) {
print "selected:".($hash{$user} || 0);
}else {
print "selected:U";
}

print " total:$total\n";

sub usage {
print "Usage: @_ [--user|--host|--server] parameter\n";
exit 0;
}
в системе должен быть установлен perl

Добавляем этот скрипт в папку установки cacti - обычно /usr/local/share/cacti/scripts/

после этого создаем Data Input Methods

скрипт имеет вводные параматры и выводные данные, поэтому создаем соответсвующие поля

вводные данные - их надо будет определить далее

выводные данные - cacti требует чтобы все выводные данные отделялись знаком ":"

Data template - как мы представляем то, что получаем

создаем новый data template- обращаю внимание на то, что у нас 2 поля вывода

и второе поле

Graph template - как мы показываем то, что представляем. Ну тут уже все просто :)

вверху grath template items - как все будет видется -

На графике я сделал так - total это area (залито все цветом), а anonymous это line1 (линия). Ведь total всегда либо больше, либо равно anonymous %) и получаем в принципе читаемый график.

Вот примерно такой график. Вообще правильнее назвать его надо - соединения с ftp сервером :)

Ну вот и все...но тут есть один минус - точную статистику вы все равно не получите. Поясню, например я качаю download master с ftp файл - так вот он создает 5 секций и (в каждой! ) идет авторизация и получаем мы 5 анонимных пользователей с одного ip. Парсить же уникальные ip тоже не выход...а если сеть за шлюзом и nat - опять получаем вроде 1 ip но коннектов куча. Как вариант ограничить с одного ip по одному коннекту, но тогда попадают пользователи за nat. В итоге забил на это и оставил как есть, все равно более менее точная статистика есть в awstats, а данный график скорее быстрая пристрелка на нагрузку.

 

empty_man
8 февраля 2010, 10:04
3513

Загрузка...
Loading...

Комментарии

Rex
0
0
ftp не мониторили а вот к сетке у нас mrtg подвязан :-) Неплохая вещь :)
согласен mrtg вещь очень хорошая, на ней тоже можно сделать нечто подобное :)
но кактус мне нравится именно за свою гибкость и простоту настройки.

Оставьте свой комментарий

Спасибо за открытие блога в Yvision.kz! Чтобы убедиться в отсутствии спама, все комментарии новых пользователей проходят премодерацию. Соблюдение правил нашей блог-платформы ускорит ваш переход в категорию надежных пользователей, не нуждающихся в премодерации. Обязательно прочтите наши правила по указанной ссылке: Правила

Также можно нажать Ctrl+Enter

Популярные посты

Инструкция для аллергиков. Как бороться с аллергией в период обострения

Инструкция для аллергиков. Как бороться с аллергией в период обострения

Я аллергик с детства. Имею аллергию на пыльцу березы, липы, полыни (выяснил это благодаря кожным пробам), а также пищевую аллергию на горчицу. Свои проблемы знаю, однако это меня не спасло.
Romeo_17
15 авг. 2017 / 17:21
  • 38972
  • 63
СМИ – ассистент провокаторов? Как гости из соседних стран сеют раздор в Казахстане

СМИ – ассистент провокаторов? Как гости из соседних стран сеют раздор в Казахстане

Инцидент с пьяным киргизским гостем на борту Air Astana, наверное, остался бы только во внутренних сводках авиакомпании, если бы г-н Доган, не поднял громкий крик о государственном языке.
openqazaqstan
17 авг. 2017 / 14:43
  • 11582
  • 177
Казахский национализм раньше выглядел несовременно. Теперь он другой

Казахский национализм раньше выглядел несовременно. Теперь он другой

Националисты стали совсем другими. По-английски хорошо говорят, русскую классику цитируют. Очень современные, образованные, адекватные. А после Крыма в националисты уже чуть ли не любой казах готов был записаться.
Aidan_Karibzhanov
16 авг. 2017 / 16:52
Имеющий уши да услышит. Латиница касается только казахского языка

Имеющий уши да услышит. Латиница касается только казахского языка

Президент Назарбаев наконец-то разъяснил для всех, кто ещё не понял, очевидный вопрос, который всем в Казахстане очевиден. Елбасы повторил: на латиницу мы переводим казахский язык, и это не означает отказ от русского языка.
openqazaqstan
18 авг. 2017 / 16:23
  • 3346
  • 52
«Доехать до Алтын Орды» – как мошенники обманывают алматинцев

«Доехать до Алтын Орды» – как мошенники обманывают алматинцев

Из множества грустных откровений постепенно сложился перечень самых распространённых уловок охотников за нашими деньгами. В нём ожидаемо лидировали профессиональные попрошайки.
caravan_kz
16 авг. 2017 / 15:05
  • 2267
  • 4
Надо научиться видеть скрытые экономические процессы за вспышкой национального гнева

Надо научиться видеть скрытые экономические процессы за вспышкой национального гнева

При полном отсутствии бюджетного жилищного строительства, целые аулы оседают в ветхих домишках, сквозь заборы которых насмешливо возвышаются башни "коктемов", "риц карлтонов" и "есентаев".
niyazov
19 авг. 2017 / 11:16
  • 2342
  • 63
В Кокшетау строят два парка для молодёжи. Будут учтены интересы и любителей спорта

В Кокшетау строят два парка для молодёжи. Будут учтены интересы и любителей спорта

Общая площадь парка составляет 25 гектаров. На территории предусмотрено устройство прогулочных дорожек, площадок для установки аттракционов и павильонов различного назначения, цветников.
zhasakmola
17 авг. 2017 / 17:13
  • 2087
  • 1
Дайте Байбеку сломать и переделать город. Он хочет шагнуть вверх, а не бабло украсть

Дайте Байбеку сломать и переделать город. Он хочет шагнуть вверх, а не бабло украсть

Я в тогдашней Алма-Ате родился, вырос. В школу начал ходить пешком. Весь центр опползал. Все эти знаковые места помню как ещё не знаковые места. Никаких этих ностальгических страданий у меня нет.
Aidan_Karibzhanov
вчера / 16:25
  • 1918
  • 19
«Нас и здесь неплохо кормят», или почему я не собираюсь уезжать из Казахстана

«Нас и здесь неплохо кормят», или почему я не собираюсь уезжать из Казахстана

Я всегда теряюсь, когда слышу этот вопрос, потому что я так и не сумел выразить причину одной фразой. Давайте рассмотрим популярные варианты, и я объясню, что именно мне в них не нравится.
convoluted
вчера / 12:29