Script Sederhana Pengecekan Status Zimbra dan Kirim Hasilnya via Email

Posted by

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 🙂

Leave a Reply

Your email address will not be published. Required fields are marked *