Sistem atau aplikasi yang baik adalah yang memiliki tingkat error yang minim, bahkan jika memungkinkan tidak terdapat error sekecil apapun. Namun seperti yang dikatakan banyak orang, tidak ada sistem yang sempurna, yang ada hanya bagaimana meminimalisir error tersebut.
Log membantu developer untuk melakukan identifikasi jika ada hal yang tidak sesuai antara design dengan output, sehingga proses perbaikan dapat dilakukan dengan cepat.
Sistem log sangat penting, baik pada development stage maupun di production. Saat masih berada pada development stage kita umumnya mengembangkan dan memantau log pada saat yang bersamaan. Hal yang berbeda terjadi pada production stage, dimana kita tidak memantau lagi log yang dihasilkan. Salah satu opsi yang bisa dimanfaatkan untuk monitoring log di server adalah dengan menggunakan Telegram.
Kita biasanya lebih peka terhadap notifikasi yang masuk pada aplikasi chat seperti telegram.
Untuk mewujudkan alur diatas setidaknya ada beberapa tools dan script yang perlu dikonfigurasi.
Simple Event Correlator
Jika menggunakan basis sistem operasi Ubuntu, kita bisa langsung install Simple Event Correlator (SEC) dari repository Ubuntu.
sudo apt install sec
Konfigurasi Script
Berikutnya kita perlu membuat konfigurasi untuk sec
dan simpan dalam direktori yang diinginkan
type=Single | |
ptype=RegExp | |
pattern=\[php7\: | |
desc=$0 | |
action=shellcmd /path/to/dir/tg-send.sh "$0" |
Selanjutnya kita perlu membuat script untuk mengirim pesan ke Telegram menggunakan Telegram API, tapi sebelumnya kita perlu melakukan integrasi melalui BotFather yang telah disediakan telegram untuk mendapatkan Chat ID
dan Token
#!/bin/bash | |
CHAT_ID={{channel-id}} | |
TOKEN={{telegram-token}} | |
curl -s "https://api.telegram.org/bot$TOKEN/sendMessage?chat_id=$CHAT_ID" --data-urlencode "text=[domain.com] $1" |
Agar script dapat dieksekusi kita perlu merubah permission -nya
chmod +x tg-send.sh
Untuk memastikan semua sudah terkonfigurasi dengan baik, kita bisa coba kirim notif ke Telegram dengan perintah berikut
./tg-send.sh "tes pesan notif"
Jika notif pesan berhasil masuk ke Telegram, selanjutnya kita bisa menjalankan sec
dengan menentukan config dan path ke apache log di web server. Untuk memudahkan eksekusi kita bisa membuat script agar mudah untuk dijalankan.
#!/bin/bash | |
sec -conf=/path/to/dir/php7err.conf -input=/path/to/apache2/error.log -detach |
Kita perlu merubah permission -nya lagi agar dapat dijalankan
chmod +x run.sh
Terakhir tinggal menjalankan script -nya
./run.sh