Nginx: Monitoring Statistics

From OnnoWiki
Jump to navigation Jump to search

Script untuk monitoring statistics Nginx relatif mudah di instalasi dan di konfigurasi. Kita perlu melakukan langkah berikut untuk memperoleh gambar statistik dari server nginx.

Ubah konfigurasi file ngix dan tambahkan kalimat berikut

vi /etc/nginx/sites-enabled/default 
http {
  …
    server {
      listen SOME.IP.ADD.RESS;
      …
      location /nginx_status {
        stub_status on;
        access_log   off;
        allow SOME.IP.ADD.RESS;
        deny all;
        }
    …
    }
  …
}

Test file konfigurasi

/etc/init.d/nginx stop
/usr/sbin/nginx -t
the configuration file /etc/nginx/nginx.conf syntax is ok
configuration file /etc/nginx/nginx.conf test is successful


Jika ada error tentang stub_status, check nginx. Nginx harusnya di konfigurasi dengan —-with-http_stub_status_module. Jika semua OK menggunakan shell lakukan test

# GET http://hostname.anda/nginx_status
Active connections: 1 
server accepts handled requests
 1 1 1 
Reading: 0 Writing: 1 Waiting: 0 

Download perl script: rrd_nginx.pl dan jadikan executable

cd /usr/local/src/
wget http://kovyrin.net/files/mrtg/rrd_nginx.pl.txt
mv rrd_nginx.pl.txt rrd_nginx.pl
chmod +x rrd_nginx.pl

Install rrd tools

apt-get install rrdcollect rrdtool rrdtool-tcl librrds-perl libgd-gd2-perl wget
mkdir /var/lib/nginx/rrd
mkdir /var/lib/nginx/rrd/html

Ubah setting di rrd_nginx.pl agar script tahu dimana menyimpan rrd-base dan image

vi /usr/local/src/rrd_nginx.pl
#!/usr/bin/perl
use RRDs;
use LWP::UserAgent;

# define location of rrdtool databases
my $rrd = ‘/var/lib/nginx/rrd’;
# define location of images
my $img = ‘/var/lib/nginx/rrd/html’;
# define your nginx stats URL
my $URL = “http://hostname.anda/nginx_status”;

Selanjutnya setup cron

crontab -e
0 * * * * /usr/local/src/rrd_nginx.pl

Jika semua persiapan telah dilakukan dengan baik maka kita akan melihat image di folder

/var/lib/nginx/rrd/html

Referensi

Pranala Menarik