The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"IPtables > MRTG"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [ Отслеживать ]

"IPtables > MRTG"  +/
Сообщение от User (??) on 10-Ноя-09, 01:15 
Добрый вечер!

Подскажите как корректно реализовать вывод трафика, проходящего через iptables, в MRTG. Дабы видеть в MRTG красивые графики потребляемого канала юзерами локальной сети. То что их (графиков) будет много, не имеет значение.

Т.е. будет, например, график для юзера 192.168.10.6, и для 192.168.10.5 тоже будет график. Вообще такое возможно реализовать средствами iptables & mrtg или есть более красивое решение?

P.S.

Или хотя бы пните в нужном направлении, заранее спасибо)

Высказать мнение | Ответить | Правка | Cообщить модератору

Оглавление

  • IPtables > MRTG, shadow_alone, 07:03 , 10-Ноя-09, (1)  
    • IPtables > MRTG, sonkilla, 09:33 , 10-Ноя-09, (2)  
      • IPtables > MRTG, shadow_alone, 09:41 , 10-Ноя-09, (3)  
        • IPtables > MRTG, sonkilla, 10:52 , 10-Ноя-09, (4)  
          • IPtables > MRTG, shadow_alone, 11:17 , 10-Ноя-09, (5)  
            • IPtables > MRTG, sonkilla, 11:29 , 10-Ноя-09, (6)  
  • IPtables > MRTG, ALex_hha, 12:02 , 10-Ноя-09, (7)  
    • IPtables > MRTG, sonkilla, 12:19 , 10-Ноя-09, (8)  
      • IPtables > MRTG, Sergey, 19:07 , 12-Ноя-09, (9)  

Сообщения по теме [Сортировка по времени | RSS]


1. "IPtables > MRTG"  +/
Сообщение от shadow_alone (ok) on 10-Ноя-09, 07:03 
чтоб это сделать через iptables:
1. отдельное правило FORWARD для каджого юзера
2. при получении iptables -n -v -L FORWARD  получаем количество трафика прошедшего через цепочку, отсюда 2 варианта, либо сбрасывать счетчики каждый раз при обновлении mrtg, либо считать програмно не сбрасывая. так же обрабатывать конечные буквы в счетчиках - K,M,G,T
3. пишите bash-скрипт для каждого юзера (либо один с параметром $1, где параметр - ip юзера), который выдает на выходе:
количество скачанного в байтах
0

при этом работает только один график, показывающий сколько прошло через цепочку.

4. пишите конфиг для каждого юзера (либо несколько юзеров в одном конфиге), примерно такого содержания:


WorkDir: /var/www/html

Title[localhost.host1]: Traffic for host1
PageTop[localhost.host1]: <H1>Traffic for host1</H1>
Target[localhost.host1]: `/etc/mrtg/myscript.sh 192.168.0.10`  # скрипт из пункта 3
MaxBytes[localhost.host1]: 40000000
Options[localhost.host1]: growright,bits
LegendI[localhost.host1]: Traffic
LegendO[localhost.host1]: --
Legend1[localhost.host1]: Traffic in bytes
Legend2[localhost.host1]: --
YLegend[localhost.host1]: bytes

5. запускаем indexmaker и ставим mrtg в cron

Вот и всё. писал по памяти, так что если где ошибся - не взыщите.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "IPtables > MRTG"  +/
Сообщение от sonkilla (ok) on 10-Ноя-09, 09:33 
Во фряхи этот вариант чотко работает а на линухе сколько пробывал графики сильно врут если брать данные с iptables.нашол вариант как брать с pmacctd вроде пашет.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "IPtables > MRTG"  +/
Сообщение от shadow_alone (ok) on 10-Ноя-09, 09:41 
>Во фряхи этот вариант чотко работает а на линухе сколько пробывал графики
>сильно врут если брать данные с iptables.нашол вариант как брать с
>pmacctd вроде пашет.

можно подробнее?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "IPtables > MRTG"  +/
Сообщение от sonkilla (ok) on 10-Ноя-09, 10:52 
>>Во фряхи этот вариант чотко работает а на линухе сколько пробывал графики
>>сильно врут если брать данные с iptables.нашол вариант как брать с
>>pmacctd вроде пашет.
>
>можно подробнее?

уже писал об этом тут на форуме вот копипаст сообщения

для начала ставим pmacctd (в нете много ссылок на сырцы его) далее в директории с mrtg(или еще куда) создаем файлик и даем ему права на исполнение пусть он будет называться forward в него пишем

!/bin/sh
host=$1
unset IN
unset OUT

OUT=`/usr/local/bin/pmacct -c src_host -p /tmp/pmacct_out.pipe -N $host`
IN=`/usr/local/bin/pmacct -c dst_host -p /tmp/pmacct_in.pipe -N $host`

echo $IN
echo $OUT
echo 0

далее настраиваем сам pmacctd

вот конфиг его тоже в директории mrtg

cat pma.conf
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!pmacct configuration example!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
daemonize: true
interface: eth0
plugins: memory[in], memory[out]

aggregate[out]: src_host
aggregate[in]: dst_host
aggregate_filter[out]: src net 192.168.0.0/24
aggregate_filter[in]: dst net 192.168.0.0/24
imt_path[out]: /tmp/pmacct_out.pipe
imt_path[in]: /tmp/pmacct_in.pipe
!
! plugin_pipe_size: 1024000
! plugin_buffer_size: 1024
networks_file: /etc/mrtg/networks.txt

далее создадим конфиг сетей
cat networks.txt (хатя он в принцыпе ненужен так как в конфиге pmacctd указана подсеть)
192.168.0.0/24


теперь настраиваем mrtg в его конфиге пишем для каждого айпи примерно следующие
Target[x]: `/etc/mrtg/forward 192.168.0.1`
Title[x]: x 192.168.0.1
PageTop[x]: <h1>x 192.168.0.1</h1>
и так далее для каждого юзера вместе x впишите данные пользователя
Теперь запустим в консоли  /usr/local/sbin/pmacctd -f /etc/mrtg/pma.conf а также запишем эту строчку в rc.local для втаматического запуска при загрузке
вроде все теперь перезупускаем mrtg лучше всего в мртг конфиге указать чтоб он запускался демоном также через cban либо через баш скрипты прорисовать графики по каждому интерфейсу типа Интеренет и локалка я делаю так
cat mrtgstat.eth0
#!/bin/bash
OUTPUT=`ifconfig eth0| grep bytes | awk {'print $2'}`
INPUT=`ifconfig eth0| grep bytes | awk {'print $6'}`
DATE=`date +%s`
NAME='eth0'
echo $INPUT
echo $OUTPUT
echo $DATE
echo $NAME
И так для каждого интерфейса
также замените подсети на свои в маем примере подсеть 0 .для тестирования попробуйте запустить скрипт ./forward ip (где ip один из адресов той подсети что слушает pmacctd) в ответ должно быть что то вроде этого
./forward 192.168.0.1
1006621911
4275531062
0
0

P.S Вроде все если что интересует спрашивайте помогу чем смогу данная связка работает отлично на 14 серверах и глюков замечено небыло

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

5. "IPtables > MRTG"  +/
Сообщение от shadow_alone (ok) on 10-Ноя-09, 11:17 
Спасибо.
хотелось бы услышать еще каким образом было замечено расхождение с данными самого iptables.
А то ведь как бывает, в какой-то версии действительно наблюдается этот баг, потом исправляют, а инфа гуляет по старой версии, вот и люди в заблуждении.
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

6. "IPtables > MRTG"  +/
Сообщение от sonkilla (ok) on 10-Ноя-09, 11:29 
>Спасибо.
>хотелось бы услышать еще каким образом было замечено расхождение с данными самого
>iptables.
>А то ведь как бывает, в какой-то версии действительно наблюдается этот баг,
>потом исправляют, а инфа гуляет по старой версии, вот и люди
>в заблуждении.

Действительно возможно в других версиях линухи все и работает.
я тестил на разных дистрибутивах Fedor ы начиная с 4рки до 10,также на cent os.расхождения были замечены опытным путем.Ставлю качку с нескольких компов и сматрю чо паказывает их система с какой скоростью качает также смотрю чо говарит iftop и плюс качал со своего сервака где апачем обрезал скорость.также пробывал обрезать этим машинам скорость через cbq.В во всех случаях графики сильно врали(ps машины были и маздайные и 2 линуксовой (тащил вгетом)).При использвании той связке о которой я написал выше отклонения есть но совсем незначительные так как это лиш визуализация и она идет не в онлайн режиме то в данном случае это нетак критично учитывая то что я обнавляю данные каждые 5ть минут.
Ну и еще никсы тем и хороши что каждую задачу можно решить несколькими способами но не всегда эти способы легче удобней и невезде работают.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

7. "IPtables > MRTG"  +/
Сообщение от ALex_hha (ok) on 10-Ноя-09, 12:02 
ipt_flow + любой анализатор netflow
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

8. "IPtables > MRTG"  +/
Сообщение от sonkilla (ok) on 10-Ноя-09, 12:19 
>ipt_flow + любой анализатор netflow

во если делать через netflow это уже намного круче получиться.
ALex_hha неподскажеш как реализовать а лучше уже готовый пример =)
Задача такая есть IX сетка бгп нету)))есть только перечень сетей относящихся к этомоу ix.
Вопрос как прорисовать графики по куче ip чтоб на них были отображены: трафик в мир входящий и исходяший + тамже другими цветами трафик по этому ix тоже входящий и исходящий ну и рисовать через rrd.Желательно с рабочем примером.Буду очень признателен.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

9. "IPtables > MRTG"  +/
Сообщение от Sergey email(??) on 12-Ноя-09, 19:07 
>>ipt_flow + любой анализатор netflow
>
>во если делать через netflow это уже намного круче получиться.
>ALex_hha неподскажеш как реализовать а лучше уже готовый пример =)
>Задача такая есть IX сетка бгп нету)))есть только перечень сетей относящихся к
>этомоу ix.
>Вопрос как прорисовать графики по куче ip чтоб на них были отображены:
>трафик в мир входящий и исходяший + тамже другими цветами трафик
>по этому ix тоже входящий и исходящий ну и рисовать через
>rrd.Желательно с рабочем примером.Буду очень признателен.

Есть такой вариант https://www.opennet.ru/base/cisco/netflow_visio.txt.html
Делал по нему в свое время- довольно удобно, хотя и не хватает функционала.
Попробуйте, не совсем понял, что окончательно требуется. А вообще вариантов много.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру