How to monitor single ip with MRTG
По принцип MRTG има възможност да рисува графика на интерфейса, но в моя случай искам да правя графики на отделни айпи адреси на които моя интерфейс е гейт. В моя случай MRTG сървъра и трафик сървъра / кръстен е fw / са различни машини.
За целта съм направил следното :
1. Направих ssh ключ чрез които достъпвам fw без парола
2. На fw добавих 2 реда в таблица mangle :
iptables -t mangle -I FORWARD -s 10.0.20.2 -j MARK --set-mark 0xa101 iptables -t mangle -I FORWARD -d 10.0.20.2 -j MARK --set-mark 0xd101
3. Написах си малък скрипт кръстен “traffic-counter.sh” и го сложих в /root/ :
#!/bin/bash iptables -t mangle -vxnL | grep "$1"| awk '{ print $2 }'
4. Написах скрипт на MRTG сървъра които да взима инфото от fw и го кръстих /web-bg/check-traffic-fw.sh:
#!/bin/bash /usr/bin/ssh root@fw 'sh /root/traffic-counter.sh 10.0.20.2' > /web-bg/traffic-stats/10.0.20.2.txt
Тук можем да добавим колкото си искаме айпи адреси като предварително сме ги добавили в mangle на fw
5. Направих и крон през 1 минута които да прави проверките :
*/1 * * * * root /web-bg/check-traffic-fw.sh >/dev/null >/dev/null
6. Накрая следва и конфига в mrtg.cfg за цялата тая работа :
Title[fw-traffic-10.0.20.2]: detailed fw traffic for 10.0.20.2 Target[fw-traffic-10.0.20.2]: `cat /web-bg/traffic-stats/10.0.20.2.txt` MaxBytes[fw-traffic-10.0.20.2]: 1250000 AbsMax[fw-traffic-10.0.20.2]: 3750000 Directory[fw-traffic-10.0.20.2]: fw-traffic Options[fw-traffic-10.0.20.2]: growright, bits, unknaszero, noinfo, pngdate PageTop[fw-traffic-10.0.20.2]:
fw traffic for 10.0.20.2
И в обобщение ето и резултата 🙂