Setelah saya berhasil memantau aplikasi Java menggunakan Monit, saya ingin mencoba mengintegrasikan alert dari monit dengan Slack. Apa itu Slack ?
Slack
Menurut saya Slack merupakan wadah chatting yang kekinian, sedang digandrungi di kalangan IT, karena memiliki fitur integrasi dengan banyak platform. Salah satu contohnya yang ada di blog kali ini. :)Integrasi Monit dan Slack
Sekilas tentang Monit dan yang sudah saya terapkan bisa dibaca disini.Langsung saja, berikut langkah-langkah untuk mengintegrasikan Monit dengan Slack :
- Pastikan sudah memiliki akun di slack.com, bila belum ada buat terlebih dahulu.
- Login ke xxx.slack.com, xxx -> nama tim anda
- Buka menu Apps & Integrations
- Cari Incoming Webhooks, dan tekan Add Configuration
- Pilih atau buat tujuan channel yang akan menerima pemberitahuan dari Monit, dan tekan Save Settings
- Kemudian, buat file slack_notifications.sh yang isinya :
- Kemudian ganti event alert dari blog ini dengan exec "/etc/monit/slack_notifications.sh", jangan lupa men-set executable untuk script tersebut.
- Restart Monit untuk mengaktifkan konfigurasi tersebut
#!/bin/sh
/usr/bin/curl \
-X POST \
-s \
--data-urlencode "payload={ \
\"channel\": \"#channel\", \
\"username\": \"nama user\", \
\"pretext\": \"nama app | $MONIT_DATE\", \
\"color\": \"danger\", \
\"icon_emoji\": \":ghost:\", \
\"text\": \"$MONIT_SERVICE - $MONIT_DESCRIPTION\" \
}" \
https://hooks.slack.com/services/XXXYYYZZZ/AAAABBBBCCCCDDDDEEEEFFFFGGGGHHHHII
isi https://hooks.slack.com/services/XXXYYYZZZ/AAAABBBBCCCCDDDDEEEEFFFFGGGGHHHHII dengan isian dari Webhook URL.
if cpu > 50% for 5 cycles then exec "/etc/monit/slack_notifications.sh"
if totalmem > 256 MB for 5 cycles then exec "/etc/monit/slack_notifications.sh"
if children > 2 then exec "/etc/monit/slack_notifications.sh"
Berikut contoh notifikasi yang diterima pada Slack channel :
No comments:
Post a Comment