Bluepill - Process Monitoring Tool
• Kunto Aji - Last modified atBluepill adalah process monitoring tool yang dibuat dengan bahasa Ruby yang dibuat oleh Arya Asemanfar dan kedua rekan kerjanya. Latar belakang dibuatnnya Bluepill adalah dikarenakan process monitoring tool yang digunakan yang bernama God mengalami memory leak. Oleh sebab itulah tujuan utama dari Bluepill ini adalah membuat process monitoring tool yang tidak terjadi memory leak.
gem install bluepill
Contoh Penggunaan
Untuk contoh penggunaan, kode ini terinspirasi dari rails.co.za bagaimana mengimplementasikan bluepill untuk monitoring delayed_job
.
# RAILS_ROOT/config/bluepill.pill
Bluepill.application("my_complex_app") do |app|
app.process("delayed_job") do |process|
process.start_command = "/path/to/rails_root/script/delayed_job -e production start"
process.stop_command = "/path/to/rails_root/script/delayed_job -e production stop"
process.pid_file = "/path/to/rails_root/tmp/pids/delayed_job.pid"
process.checks :cpu_usage, :every => 10.seconds, :below => 5, :times => 3
process.checks :mem_usage, :every => 10.seconds, :below => 100.megabytes, :times => [3,5]
end
end
Untuk memulai monitoring, jalankan sebagai root.
sudo bluepill load /path/to/rails_root/config/bluepill.pill
sudo bluepill status
delayed_job(pid:29710): up
Berikut ini adalah contoh kode saya untuk memonitor MySQL.
# /home/aji/lab/bluepill.pill
Bluepill.application("mysql") do |app|
app.process("mysql_daemon") do |process|
process.start_command = "/opt/pkg/mysql/bin/mysqld_safe --user=mysql &"
process.checks :mem_usage, :every => 15.seconds, :times => [3,5]
process.checks :mem_usage, :every => 15.seconds, :below => 100.megabytes, :times => [3,5]
end
end
Kemudian jalankan perintah-perintah berikut.
root@slacky:/home/aji/lab# bluepill load bluepill.pill
root@slacky:/home/aji/lab# bluepill mysql start
Sent start to:
:mysql_daemon
root@slacky:/home/aji/lab# bluepill mysql status
mysql_daemon(pid:): starting