Тотальный просчет Докучаев Дмитрий aka Forb Спецвыпуск Xakep, номер #043, стр. 043-068-5 Когда скрипт будет готов, позаботься о том, чтобы он выполнялся кронтабом каждые сутки и отправлял информацию тебе по e-mail’у. После отправки сценарий должен запуститься еще раз с параметром ‘-z’. При этом все значения контейнеров очистятся. Впрочем, кому как нравится – некоторые юзают сборщик статистики раз в неделю или месяц. Сценарий для кронтаба может выглядеть следующим образом: ТАБЛИЦА: Сценарий для crontab’а #!/bin/sh /usr/bin/trafstat.pl | mail –s ‘statistic’ root@localhost /usr/bin/trafstat.pl –z Просчитались? На этом все. Надеюсь, мой обзор методов и софта для сбора статистики помог тебе сориентироваться в этой сложной теме. Знай, что программисты всегда работают на тебя и стараются сделать привлекательную и бесплатную систему подсчета данных. От себя лишь могу добавить, что рад помочь тебе, если ты по какой-то причине не разобрался в этом материале. Поэтому всегда жду позитивных писем. Перевод байт Я писал про возможность перевода байт в кило, мега и гигабайты. Это довольно легко и реализуется всего несколькими строками перлового кода. Вот он: sub straf { $size = shift; if (length($size) < 4) { $size=sprintf("%d b", $size); } elsif(length($size) >= 4 and length($size) <= 6) { $size=sprintf("%0.2f Kb", $size/1024); } elsif(length($size) >= 7 and length($size) <= 9) { $size=sprintf("%0.2f Mb", $size/1024/1024); } elsif(length($size) >= 10) { $size=sprintf("%0.2f Gb", $size/1024/1024/1024); } return($size); } Нетрудно догадаться, что эта процедура принимает «сырой» размер, затем анализирует его длину. Если длина превышает 10 символов – это гигабайты. Если колеблется от 7 до 9 – меги. Когда размер более 4, но менее 7 – килы. А в случае минимального размера – просто байты. Возвращенное значение и будет обработанным размером информации. Консольные считалки Помимо графических программ типа AWstats, существуют отличные консольные альтернативы. Одна из них – httpdstats. Утилита лежит по адресу www.charvolant.org/~doug/httpdstats/httpdstats-0.2.2.tar.gz. Ей необходимо передать первым параметром путь к access.log’у вместе с критерием статистики. Последним может служить ключевая опция ‘-host’. В конфиге имеется директива ignore_domains, позволяющая игнорировать ненужные виртуалхосты, что является весьма полезной фичей. Немного об iptables Несмотря на то, что многие хостеры любят фрю, тебе может попасться сервер под управлением пингвина. В этом случае файрвол изменится на iptables. Но это не значит, что ты будешь лишен возможности получения статистики через этот брандмауэр. Его синтаксис сложноват, но все равно понятен. Вот несколько команд, которые тебе могут пригодиться: /sbin/iptables –A INPUT –p tcp –j ACCEPT – считать весь входящий трафик по протоколу tcp. /sbin/iptables –A OUTPUT –j ACCEPT - считать весь исходящий трафик по всем протоколам. /sbin/iptables –A INPUT –p tcp –-dport 80 –j ACCEPT – считать весь входящий трафик через 80 порт. |