|
ru.unix.bsd- RU.UNIX.BSD ------------------------------------------------------------------ From : Timofey Andreewski 2:5020/400 25 Aug 2005 03:08:59 To : All Subject : получить время от ng_ipacct -------------------------------------------------------------------------------- Привет! Решили мы приобщиться к ng_ipacct. Основная задача: посмотреть когда (это важно) кто откудова куда по какому протоколу сколько передал (как-то даже банально выглядит). Собрали порт /usr/ports/net-mgmt/ng_ipacct, версия 20050731. Cистема FreeBSD 5.4-STABLE Конфигурили на основе статьи Антона Южанинова (эта та что на http://citrin.ru/my/ng_ipacct.html), т.к. /usr/local/etc/rc.d/ng_ipacct.sh при старте говорил "A mysqld process already exists" и все, абзац... Полное молчание. Hу да, уже запущен у нас mysqld и что? При чем он тут? Hе понятно как-то... Вот и полезли искать. Hашли. Сконфигурили "влоб", прям по-написанному, спасибо Антону, благо просто все так написал, мы даже поняли. Есессно, все работает, и показывает с какого узла/порта на какой узел/порт по какому протоколу сколько пакетов и байтов прошло. Только вот поля времени-то нету... и процесса тоже, хотя, конечно, нигде и никто времени и ID процесса прям сразу и не обещал... Ман от ipacctctl я почитал, исходный скрипт посмотрел, "savetime on" и т.д. там видел, ну и прицепил - а толку нет, а "man ng_ipacct(4)" у меня почему-то вообще в системе нету, в каком месте искать "каталог scripts" тоже не очень понятно. В мане русским по черному написано, мол ищите в scripts и все тут, а для начала поищите сам scripts... Поскрипев мозгами и сделав make без clean нашел в ./work/ng_ipacct каталог scripts. Там таки они есть. Это точно они? Если это они, то мне мозгов не хватило обнаружить в них намек на возможность получения какого-либо времени. Hо ведь как-то это же делается умными людьми-то... Ведь болтается же где-то там, наверное, это время и процесс, ведь есть же способ выдрать их у нее? Резюме: 1) Hе совсем понятно, почему не стартует "родной" (который из rc.d) скрипт Романа Палагина? 2) Это тот scripts? 3) А можно ли вообще в лог подцепить время и процесс иль я че не понял? 4) А как? Может тут решение Антона не подходит (терзают меня смутные сомнения)? 5) man ng_ipacct(4) существует иль я че снова недопонял? 6) может мы вообще не в ту сторону глядим и есть способ решить основную задачу проще (лучше)... 7) а что бы на эту тему такого почитать... точнее так: чую, что не тяну, а что - не чую... Мож где FAQ какой есть для малограмотных... 8) и еще, в догонку по незнанию: а то что блокировано в ipf до ipacct доходит или там только то, что прошло через фильтр? Извините за пространность изложения, просто неожиданно как-то сразу много всего понавалилось... Спасибо, ежели кто ответит. Тимофей Андреевский. ЗЫ: Ежели нужно вот скрипт 030.ng_ipacct_init.sh Антона. Я почти не переделывал, кроме попытки добавить про время: THRESHOLD=10000 VERBOSE=3 IPACCTCTL="/usr/local/sbin/ipacctctl" INTERFACES="xl0" case "$1" in start) # XXX should check via kldstat is module already loaded /sbin/kldload netgraph > /dev/null 2>&1 /sbin/kldload ng_ether > /dev/null 2>&1 /sbin/kldload ng_socket > /dev/null 2>&1 /sbin/kldload ng_tee > /dev/null 2>&1 /sbin/kldload ng_ipacct > /dev/null 2>&1 for IFACE in $INTERFACES; do /usr/sbin/ngctl mkpeer ${IFACE}: tee lower right /usr/sbin/ngctl connect ${IFACE}: lower upper left /usr/sbin/ngctl name ${IFACE}:lower ${IFACE}_acct_tee /usr/sbin/ngctl mkpeer ${IFACE}_acct_tee: ipacct right2left ${IFACE}_in /usr/sbin/ngctl name ${IFACE}_acct_tee:right2left ${IFACE}_ip_acct /usr/sbin/ngctl connect ${IFACE}_acct_tee: ${IFACE}_ip_acct: left2right ${IFACE}_out $IPACCTCTL ${IFACE}_ip_acct:$IFACE verbose $VERBOSE $IPACCTCTL ${IFACE}_ip_acct:$IFACE threshold $THRESHOLD # вот добавил сюда $IPACCTCTL ${IFACE}_ip_acct:$IFACE savetime on done ;; а вот, на всякий случай, /usr/local/etc/ng_ipacct.conf: ng_ipacct_enable="YES" ng_ipacct_modules_load="YES" ng_ipacct_modules_list="netgraph ng_ether ng_ipacct" ng_ipacct_interfaces="xl0" ng_ipacct_default_ether_start=' mkpeer %%iface%%: tee lower right name %%iface%%:lower %%iface%%_tee connect %%iface%%: lower upper left mkpeer %%iface%%_tee: ipacct right2left %%iface%%_in name %%iface%%_tee:right2left %%iface%%_ip_acct connect %%iface%%_tee: %%iface%%_ip_acct: left2right %%iface%%_out ' ng_ipacct_default_ether_stop=' shutdown %%iface%%_ip_acct: shutdown %%iface%%_tee: shutdown %%iface%%: ' ng_ipacct_xl0_dlt="EN10MB" # required line; see ipacctctl(8) ng_ipacct_xl0_threshold="10000" # '5000' by default ng_ipacct_xl0_verbose="yes" # 'yes' by default ng_ipacct_xl0_saveuid="yes" # 'no' by default ng_ipacct_xl0_savetime="yes" # 'no' by default ng_ipacct_xl0_start=${ng_ipacct_default_ether_start} ng_ipacct_xl0_stop=${ng_ipacct_default_ether_stop} ng_ipacct_xl0_checkpoint_script="/usr/local/etc/ipacct.sh xl0" где ipacct.sh копия такого-же скрпита Антона: IPACCTCTL="/usr/local/sbin/ipacctctl" IFACE=$1 DIR=/var/log/ipacct SDIR=`date -v-9M "+%Y-%m-%d"` if [ ! -e "$DIR/$SDIR" ]; then mkdir $DIR/$SDIR fi NAME=`date -v-9M "+%Y-%m-%d-%H-$IFACE"` $IPACCTCTL ${IFACE}_ip_acct:$IFACE checkpoint $IPACCTCTL ${IFACE}_ip_acct:$IFACE show >> $DIR/$SDIR/$NAME $IPACCTCTL ${IFACE}_ip_acct:$IFACE clear /usr/bin/tail -1 $DIR/$SDIR/$NAME | /usr/bin/fgrep exceed --- ifmail v.2.15dev5.3 * Origin: Demos online service (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.unix.bsd/6577c73a8668.html, оценка из 5, голосов 10
|