Otomatiskan Services Zimbra CBPolicyD yang Stopped!

Setiap hari, saya bekerja dan berkecimpung di dunia email server. Memeliharanya dan memastikan layanan berjalan dengan baik. Sebagai Zimbra Administrator, saya tidak bisa berasumsi bahwa layanan berjalan dengan baik dan stabil setiap harinya. Setiap admin pasti pernah memiliki pengalaman di mana ada services yang tidak bekerja/stopped. And … itu yang sangat mengganggu.

Salah satu masalah ketika saya melakukan pemeliharaan zimbra email server yaitu di mana terdapat service policyd yang tidak bekerja atau stopped. Biasanya terjadi dikarenakan traffic yang cukup sibuk. Permasalahannya adalah, ketika service tersebut tidak bekerja, maka email akan menjadi bouncing.

Untuk masalah tersebut tentu saja kita haru menaikkan jumlah CPU atau memori dari server. Untuk meminimalisir frekuensi terhadap service yang berhenti.

Kedua, kita harus mengakses server tersebut melalui SSH dan melakukan start service secara manual dengan cara su - zimbra -c 'zmcbpolicyd start'

Akan tetapi, stopped service dapat datang kapan saja. Ketika Anda bekerja, mandi, bermain bola, ngopi atau yang lainnya mungkin. Dalam situasi tersebut, sangat tidak memungkinkan kita untuk melakukan SSH ke server kemudian menjalankan service secara manual. Kita harus mengotomatiskannya!

Untuk melakukannya, kita bisa menggunakan…

MONIT

Monit adalah perangkat lunak terbuka untuk melakukan manajemen dan merawat proses dari server, file dan layanan secara otomatis. Monit juga dapat melakukan monitoring zimbra services. salah satunya adalah cbpolicyd yang stopped. Dengan monit kita bisa melakukan autostart terhadap service ini.

LANGKAH-LANGKAH

Pertama, Anda harus memasang monit terlebih dahulu, gunakan yum jika CentOS, atau apt untuk Ubuntu:

# For ubuntu:
apt install monit

# For CentOS

yum install monit

Kemudian, buat sebuah file untuk melakukan monitoring layanan policyd pada direktori  /etc/monit/conf-available/:

vi /etc/monit/conf-available/cbpolicyd

# Fill with the following script
check process cbpolicyd with pidfile /opt/zimbra/log/cbpolicyd.pid
   group zimbra
   start program = "/opt/zimbra/bin/zmcbpolicydctl start"
   as uid zimbra and gid zimbra
   stop  program = "/opt/zimbra/bin/zmcbpolicydctl stop"
   as uid zimbra and gid zimbra
   if failed port 10031 then restart

Dan buat symlink ke /etc/monit/conf-enabled/

ln -s /etc/monit/conf-available/cbpolicyd /etc/monit/conf-enabled/

Kemudian, Anda dapat mengecek konfigurasinya dengan menggunakan perintah berikut:

monit -t

Jika hasilnya ok, jalankan monit:

systemctl start monit

Sekaran coba matikan service cbpolicyd. cbpolicyd akan hidup kembali setelah 2 menit.

Terlalu Lama?

Jika Anda merasa terlalu lama, Anda bisa mengubahnya sesuai yang diinginkan. Contoh, misalkan hendak di set selama 5 detik apabila ada service yang mati. Maka akan diotomatiskan hidup kembali.

Edit, /etc/monit/monitrc dan temukan baris set daemon. Secara default, value nya mengarah ke 120 Second atau 2 menit. Jadi kita bisa ubah menjadi 5 untuk 5 detik.

set daemon 5

Restart service monit

systemctl restart monit

Tadaaaaa, selesai. Anda bisa melihat lognya pada /var/log/monit.log:

[WIB Nov  1 13:24:18] error    : 'cbpolicyd' process is not running
[WIB Nov  1 13:24:18] info     : 'cbpolicyd' trying to restart
[WIB Nov  1 13:24:18] info     : 'cbpolicyd' start: /opt/zimbra/bin/zmcbpolicydctl
[WIB Nov  1 13:24:30] info     : 'cbpolicyd' process is running with pid 4633

Sekarang, Jika kamu membutuhkan informasi mengenai layanan Zimbra di Indonesia, silakan kontak kami di sales@excellent.co.id. Thanks!

Leave a Reply

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

This site uses Akismet to reduce spam. Learn how your comment data is processed.