Untuk melakukan pengecekan apakah suatu service berjalan atau tidak pada Zimbra mail server, hal yang dilakukan adalah dengan mengecek via Zimbra Admin atau via CLI. Jika ada salah satu service yang tidak jalan, maka proses restart service dijalankan secara manual.
Proses pengecekan service Zimbra ini sebenarnya bisa diotomatiskan dengan membuat script sederhana. Adapun pembuatannya kurang lebih seperti berikut
vi /srv/cek-zimbra-status.sh
Isi dengan isian berikut :
#!/bin/bash # Script monitoring status zimbra clear SRV="mail.imanudin.com"; yes | rm /tmp/status-$SRV.txt su - zimbra -c 'zmcontrol status' > /tmp/status-$SRV.txt NOTRUNNING=`grep -woi "not running" /tmp/status-$SRV.txt | uniq`; STOPPED=`grep -woi "stopped" /tmp/status-$SRV.txt | uniq`; if [ "$NOTRUNNING" == "not running" -o "$STOPPED" == "Stopped" ] ; then DARI="from:report@imanudin.com"; TUJUAN="to:admin.monitoring@imanudin.com"; SALINAN="cc:admin@imanudin.com"; SERVER="$SRV"; STATUS=`cat /tmp/status-$SRV.txt`; SUBJECT="Subject: [PEMBERITAHUAN] : Status $SERVER not Running atau Stopped" SENDMAIL=$(ionice -c3 find /opt/zimbra/ -type f -iname sendmail) BODY=" Hi Team, Ada beberapa/semua service Zimbra $SERVER Tidak berjalan. Silakan dicek dan diperbaiki $SERVER ***************** $STATUS Terima Kasih " echo "$DARI" > /tmp/statusservicezimbra.txt echo "$TUJUAN" >> /tmp/statusservicezimbra.txt echo "$SALINAN" >> /tmp/statusservicezimbra.txt echo "$SUBJECT" >> /tmp/statusservicezimbra.txt echo "$BODY" >> /tmp/statusservicezimbra.txt cat /tmp/statusservicezimbra.txt | $SENDMAIL -t fi echo "Status service Zimbra $SRV aman"
Script tersebut juga dapat dilihat pada link berikut : https://raw.githubusercontent.com/imanudin11/script/master/cek-zimbra-status.sh
Catatan : Silakan sesuaikan semua nama yang berkaitan dengan nama imanudin.com.
Berikan hak akses eksekusi
chmod +x /srv/cek-zimbra-status.sh
Masukkan pada crontab agar otomatis melakukan pengecekan setiap interval waktu tertentu. Misalnya setiap 30 menit sekali
*/30 * * * * bash /srv/cek-zimbra-status.sh > /dev/null
Berikut adalah contoh hasil pengecekan status Zimbra via script. Setelah informasi status didapatkan, sysadmin email server dapat melakukan pengecekan terhadap server 🙂
Silakan dicoba dan semoga bermanfaat 🙂