Membuat sendiri sumber data untuk MRTG

Biasanya data yang digunakan oleh MRTG berasal dari SNMP server. Namun ternyata kita juga bisa menyiapkan sendiri data yang kemudian akan digunakan oleh MRTG.

Grafik MRTG di atas adalah jumlah rata-rata koneksi HTTP yang terbangun ke Kambing. MRTG mengambil data ini setiap lima menit dari skrip yang saya siapkan sendiri. Bagaimana cara menghubungkannya?

Pertama2, siapkan skrip yang akan menghasilkan dua buah data. Dua data ini akan menjadi data input dan output bagi MRTG. Keluaran harus ditulis dalam format berikut.

input
output

komentar

Baris pertama dan kedua masing-masing berisi sebuah angka yang menggambarkan besar masukan dan keluaran data yang ingin dipantau. Baris ketiga adalah sebuah baris kosong dan baris terakhir berisi komentar.

Tuk mendapatkan jumlah koneksi HTTP dimana Kambing menggunakan nginx sebagai HTTP servernya, saya hanya menggunakan informasi yang diberikan oleh aplikasi netstat. Saya ambil seluruh baris yang menyatakan koneksi terhubung ke port 80 dan hitung jumlah baris tersebut. Kira2 skripnya adalah sebagai berikut.

#!/bin/sh

NUM=`netstat -ant | grep :80 | grep ESTABLISHED | wc -l`

echo $NUM
echo $NUM
echo
echo Established HTTP Connections

Sebenarnya saya hanya butuh sebuah angka yang menggambarkan jumlah koneksi. Berhubung MRTG meminta dua angka, ya sudah saya tuliskan angka yang sama saja.

Lalu untuk konfigurasi MRTGnya sendiri, tuliskan path skrip tadi dalam isian Target. Path ditulis di dalam sepasang backtick. Contoh:

Target[kambing.http]: `/path/ke/mrtg-num-http.sh`

Simpan konfigurasi MRTG dan tunggu beberapa waktu sampai MRTG mendapatkan data yang cukup untuk mulai membuat grafik. Oh iya, jangan lupa mengatur agar skrip tadi bisa dieksekusi.

Catatan tambahan: Saya tidak membedakan jumlah koneksi masuk dan keluar dalam skrip di atas. Agar data yang ditampilkan lebih menggambarkan kondisi asli, tentu saja perlu dibuat skrip yang lebih canggih, yang bisa mengeluarkan dua angka berbeda, yaitu jumlah koneksi masuk dan keluar. Ada yang mau membuat? =D

Referensi: http://lena.franken.de/mrtg/