Monitoring Aplikasi Web PHP Menggunakan Server Amon

Akhirnya bisa menulis lagi! Ok langsung saja :) , pagi ini penulis mencoba server Amon di Linux Fedora 16 . Apa itu server Amon?. Menurut website Amon,

Amon is a self-hosted, lightweight web application and server monitoring toolkit. It provides you with straightfrorward visualisation of essential server data. It helps you manage the errors that occur in your web applications and makes logging complex datastructures and searching in your log data easy.

Gampangannya, server Amon merupakan aplikasi web yang berfungsi untuk monitoring server, log dan error dari aplikasi web client dan mendukung bahasa pemrograman PHP, Python dan Ruby. Cara kerjanya secara garis besar seperti gambar dibawah ini

diagram server amon dan aplikasi web client

Server Amon menggunakan database nosql yaitu mongodb dan metode transfer data yang dimonitor dari aplikasi web client ke server Amon menggunakan JSON.

Instalasi Server Amon di Fedora 16

Untuk instalasi server Amon ketik perintah berikut di command shell

$ sudo curl install.amon.cx | bash

Instalasi diatas akan berjalan secara otomatis, kalo ingin instalasi secara manual lihat link berikut.

MongoDB

Server Amon membutuhkan database MongoDB maka install juga database ini

$ sudo yum install mongodb mongodb-server

kemudian download startup script untuk mongodb

$ cd /etc/init.d
$ sudo wget http://config.amon.cx/rpm/mongodb

karena script mongodb dari website Amon hanya mendeteksi mongodb daemon di path /usr/local sedangkan mongodb yang diinstall melalui yum berada di path /usr maka edit startup script yang telah didownload diatas

$ sudo vim /etc/init.d/mongodb

edit variabel DAEMON dan mongod

..
DAEMON=/usr/local/mongodb/bin/mongod
DAEMON_OPTS="--fork --quiet --config /etc/mongodb.conf"
prog="mongo"
mongod="/usr/local/mongodb/bin/mongod"
..

menjadi

..
DAEMON=/usr/bin/mongod
DAEMON_OPTS="--fork --quiet --config /etc/mongodb.conf"
prog="mongo"
mongod="/usr/bin/mongod"
..

Start database mongodb dengan mengetikkan perintah berikut (buat executable dulu untuk pertama kalinya)

$ sudo chmod +x /etc/init.d/mongodb
$ sudo /etc/init.d/mongodb start

kemudian start server Amon

$ sudo /etc/init.d/amond start

dan cek interface Amon di browser dengan url

http://127.0.0.1:2464/

Amon Dashboard

Test Monitoring Aplikasi Web PHP

Untuk mengetes monitoring log dan error dari aplikasi web, penulis memilih PHP. Website Amon menyediakan library untuk client PHP yang kode sumbernya bisa di download atau di clone di https://github.com/martinrusev/amon-php. Jika sistem anda terinstall git, clone kode sumber dengan perintah berikut

$ git clone https://github.com/martinrusev/amon-php

edit file sample.php di folder amon-php/example sesuka anda

<?php
echo "Testing Amon Server\n";
// Set the exception handler
require dirname(__FILE__)."/../amon.php";
Amon::setup_exception_handler();
 
error_reporting(E_ALL);
 
// Trigger exception
$math = 1 / 0;
 
// Logging
Amon::log("http://www.junwatu.com");
// Tagged logging
Amon::log("Amon Server Testing",array('debug', 'benchmark'));
?>

letakkan directory amon-php ke webserver dan jalankan file sample.php melalui browser

http://127.0.0.1/amon-php/example/simple.php

dan refresh dashboard Amon dan klik menu Logs maka akan muncul pesan logging pada dashboard!

logging aplikasi php di amon

Selamat Mencoba!

EMAIL NEWSLETTER

You don't have to check this blog regularly...just sign-up and any post will be send directly to your email ;)