Traffic erfassen Munin


doklages

Registered User
Hallo,

ich habe eine Frage zu grep in beziehung mit Munin. Ich möchte gerne den Traffic von einzelnen IP's in der FORWARD Chain von Iptables messen und mit Munin aufzeichnen. Dazu habe ich folgende Regeln in IPtables eingerichtet:

PHP:
iptables -A FORWARD -o eth0 -s 217.19.183.XXX
 iptables -A FORWARD -i eth0 -d 217.19.183.XX

was dann zu der folgenden Ausgabe führt:

PHP:
iptables -L FORWARD -v -n -x

Chain FORWARD (policy ACCEPT 570218 packets, 77421440 bytes)
    pkts      bytes target     prot opt in     out     source               destination
  210758 35251336            all  --  *      eth0    217.19.183.XX        0.0.0.0/0
  189897 18041224            all  --  eth0   *       0.0.0.0/0            217.19.183.XXX

Bis dahin habe ich auch keine Probleme. Nun möchte ich diese Ausgabe in einem munin-Script weiter verarbeiten und habe schon mittels grep folgendes Geschafft:
PHP:
iptables -L FORWARD -v -n -x | grep -m1 217.19.183.XXX | awk "{ print \"out.value \" \$2 }"


out.value 35251416

Mit diesem Befehl gibt er mir die "bytes" der 1. Zeile welche er mit der IP Findet als "out.value" aus. Nun möchte ich noch, dass er mir die 2. Zeile, welche er mit dieser IP findet als in.value ausgibt. Welchen Befehl muss ich dazu verwenden, dass er mir die 2. Zeile ausgibt?

Ich bedanke mich schon mal im Vorhaus

Dominik Klages
 
Hi,

die Quick and Dirty Lösung wäre mit tail :)

Code:
iptables -L FORWARD -v -n -x | grep -m2 217. | tail -n1 | awk "{ print \"in.value \" \$2 }"
 

Back
Top