Home > LiNuX (based on debian), monitoring, Shorewall > Network Monitoring dengan MRTG dan Shorewall (IP Accounting)

Network Monitoring dengan MRTG dan Shorewall (IP Accounting)

MRTG (Multi Router Traffic Grapher) adalah tools yang cukup mudah untuk melakukan monitoring. MRTG bisa menggunakan snmp sebagai inputnya, bisa juga menggunakan script manual yang anda buat sendiri. Pada dasarnya input data yang diperlukan oleh MRTG adalah berupa 4 baris, yaitu :

baris 1 : input
baris 2 : output
baris 3 : uptime
baris 4 : hostname


Pada tulisan kali ini saya akan mencoba memonitoring jaringan pada router linux saya. Sebelum melanjutkan membaca ada baiknya anda membaca dahulu tulisan saya yang ini sebagai awalan untuk memahami shorewall. Disini kita menggunakan shorewall untuk melakukan perhitungan paket IP (IP accounting) yang dibutuhkan sebagai input dan output pada MRTG.

  1. Install mrtg dan shorewall dari repository terdekat
  2. root@devel:~# apt-get install mrtg shorewall

  3. Konfigurasi file /etc/shorewall/accounting

  4. gw2net-in:COUNT   -       eth0 all all - all
    gw2net-out:COUNT  -       all eth0 all all all

  5. Pastikan IP accounting sdh berjalan
  6. root@devel:~# shorewall check

    apabila tidak ada error yang muncul, lanjutkan dengan restart.

    root@devel:~# shorewall restart

    test ip accounting

    root@devel:~# shorewall show accounting
    Chain accounting (3 references)
    pkts bytes target prot opt in out source destination
    2885K 3401M gw2net-in all -- eth0 * 0.0.0.0/0 0.0.0.0/0
    2189K 204M gw2net-out all -- * eth0 0.0.0.0/0 0.0.0.0/0

  7. Membuat script ambil-data.sh untuk mempermudah proses pengambilan data
  8. root@devel:~# vim /home/lqman/script/ambil-data.sh

    #!/bin/bash

    TYPE=$1
    PARAM=$2
    UPTIME=`uptime  | cut -d "," -f1,2 | awk '{print $3,$4,$5}'`
    NAME=`hostname`

    if [ "$TYPE" = "ifstat" ]; then
    paketIN=`/sbin/iptables -nvxL accounting | grep "$PARAM-in" | awk '{print $2}'`
    IN=$paketIN
    paketOUT=`/sbin/iptables -nvxL accounting | grep "$PARAM-out" | awk '{print $2}'`
    OUT=$paketOUT
    fi

    if [ "$TYPE" = "cpu" ]; then
    USER=`cat /proc/stat | grep "cpu " | awk '{print $2+$3}'`
    IN=$USER
    USER_SYSTEM=`cat /proc/stat | grep "cpu " | awk '{print $2+$3+$4}'`
    OUT=$USER_SYSTEM
    fi

    if [ "$TYPE" = "mem" ]; then
    RAM=`free -b | grep "Mem: " | awk '{print $3}'`
    OUT=$RAM
    SWAP=`free -b | grep "Swap: " | awk '{print $3}'`
    IN=$SWAP
    fi

    echo $IN
    echo $OUT
    echo $UPTIME
    echo $NAME

    Jadikan script tsb executable

    root@devel:~# chmod +x /home/lqman/script/ambil-data.sh

  9. Mencoba script ambil-data.sh
  10. root@devel:~# /home/lqman/script/ambil-data.sh ifstat gw2net
    20484024
    20484024
    4 days, 1:27
    devel

  11. Membuat konfig mrtg
  12. root@devel:~# vim /etc/mrtg.cfg

    WorkDir: /var/www/mrtg
    Options[_]: growright, bits, nopercent, nobanner, integer
    EnableIPv6: no

    Target[gw2net]: `/home/lqman/script/ambil-data.sh ifstat gw2net`
    SetEnv[gw2net]: MRTG_INT_IP=”” MRTG_INT_DESCR=”eth0″
    MaxBytes[gw2net]: 256000
    Unscaled[gw2net]: dwmy
    Title[gw2net]: GW2NET
    PageTop[gw2net]: GW2NET

  13. Membuat index mrtg
  14. root@devel:~# indexmaker --title="Traffic [at] Devel" /etc/mrtg.cfg > /var/www/mrtg/index.html

  15. Jalankan mrtg beberapa kali, minimal 5 kali (perhatikan error yg terjadi pada 3 kali running awal)
  16. root@devel:~# env LANG=C mrtg /etc/mrtg.cfg

  17. Nikmati hasilnya
  18. Grafik Warna Hijau : download
    Grafik Warna Biru : upload

    ilustrasi hasil MRTG

reference :
MRTG official web page
Tulisan ini yg sdh kusimpan pada DRAFT sejak bertahun2 yang lalu 😀

Advertisements
  1. No comments yet.
  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: