MONIT SERVICE MONITORING TOOL KURULUMU

Monit, bir UNIX/Linux’ta süreçleri, dosyaları, dizinleri,  izinleri, dosya sistemlerini ve Apache, Nginx, MySQL, FTP, SSH, SMTP ve benzeri hizmetleri otomatik olarak izleyen ve yöneten ücretsiz, açık kaynaklı ve çok kullanışlı bir araçtır. UNIX/Linux tabanlı sistemlerde, sistem yöneticilerine mükemmel ve yararlı bir izleme işlevi sağlar.

Servisleri yeniden başlatma, durdurma, çalıştırma ve yüksek kaynak tüketimde çalışan işlemi durdurma yeteneğine sahiptir. Ek olarak, files, directories, filesystems for changes, checksum changes, file size changes veya timestamp changes izlemek için Monit’i de tercih edebilirsiniz.

Monit ile uzak ana bilgisayarların TCP/IP bağlantı noktasını, sunucu protokollerini ve ping’i izleyebilirsiniz. Günlük log dosyasını tutar ve kritik hata durumları ve kurtarma durumu hakkında uyarı verir.

KURULUM

Uygulamamızı UBUNTU 20.04 LTS üzerine kurulumu yapacağım.

Ubuntu/Debian repomuzu güncelleme yapılır ve monit kurulumu yapılır.

# sudo apt-get update

# sudo apt-get -y install monit

Monit servisi start ve enable edilir. Durumu kontrol edilir.

# sudo systemctl start monit

# sudo systemctl enable monit

# sudo systemctl status monit

YAPILANDIRMA

Monit’ in yapılandırma dosyası /etc/monit/monitrc ‘ de yapılmaktadır.

Servis ayağa kaldırdıktan sonra web arayüzüne bağlanmak için /etc/monit/monitrc yapılandırma dosyasına girilerek;

set httpd port 2812 and

allow admin:monit # require user ‘admin’ with password ‘monit’ aktif edilir.

İZLEME

Web broswserda  http://[IP-ADDRESS]:2812  giriş yapılır.

Kullanıcı adı: admin, Şifre ise monit

Sunucu üzerinde monit opensource uygulamamızı basit bir şekilde kurulumunu tamamladık ve sunucu/istemcimizi görmüş oluyoruz. Sıra geldi izlemek istediğimiz servisler, dosya dizinleri, vs… aktif etmek.

Monit’ in uygulanabilecek varsayılan template /etc/monit/conf-available dizinde bulunmaktadır.

Monit’ de izlenen servis (aktif edilen) vs.  /etc/monit/conf-enabled dizinde bulunmaktadır.

Sunucudaki izleyeceğimiz servisleri, prosesleri aktif etmemiz gerekmektedir. Monit uygulamasında varsayılan template neler var aşağıdaki komutla görmekteyiz.

# ls /etc/monit/conf-available/

acpid  apache2  at  cron  mdadm  memcached  mysql  nginx  openntpd  openssh-server  pdns-recursor  postfix  proftpd  rsyslog  smartmontools  snmpd

Örnek olarak nginx servisin izlenmesi için aşağıdaki komutla aktif edilmektedir.

# ln -s /etc/monit/conf-available/nginx /etc/monit/conf-enabled/

Monit servisi yeniden başlatılır.

# sudo systemctl restart monit

Varsayılan template arasında izleyeceğimiz servis, database, dosya dizini bulunmuyorsa https://mmonit.com/wiki/Monit/ConfigurationExamples dizininde örnek alınarak yapabiliriz.

Örnek olarak PostgreSQL veritabanımızı izlemek istiyoruz ve templatelerde bulunmuyor.

/etc/monit/conf-available dizinine postgres oluşturulur ve alttaki yazıyı ekliyoruz.

# vi /etc/monit/conf-available/postgres

check process postgres with pidfile /var/run/postgresql/13-main.pid   
group database    start program = “/etc/init.d/postgresql start”   
stop  program = “/etc/init.d/postgresql stop”   
if failed unixsocket /var/run/postgresql/.s.PGSQL.5432 protocol pgsql      
then restart   
if failed host localhost port 5432 protocol pgsql then restart

Oluşturduktan sonra PostgreSQL izlenmesi için aşağıdaki komutu aktif ediyoruz.

# ln -s /etc/monit/conf-available/postgres /etc/monit/conf-enabled/

# sudo systemctl restart monit

Uygulamanın çalışabilirliğini kontol için aşağıdaki komut kullanılır.

# monit –t

İzlenen servislerin, durdurulması, başlatılması, yeniden başlatılması ve izlenmesinin aktif, pasif edilmesi aşağıdaki gibi görülmektedir.

SONUÇ

Monit, sunucu/istemcinin yerelinde kurulduğunda yukarıda bahsettiğim şekilde servisler, dosya dizinleri, CPU, Memory, Read, Write verileri anlık olarak gelmektedir. Konfigürasyon dosyasında alerti mail atması içinde düzenleme yapabiliyorsunuz. Sunucu sayısı fazla olmayan sistemlerde hızlı ve kolay bir çözüm üretmektedir.

Yapıyı büyütüldüğünde ise; monit agent yada proxy olarak görevinde kullanılarak master sunucuya verileri toplayarak daha kapsamlı bir çalışma yapılmaktadır.

Vakit ayırıp yazımı okuduğunuz için teşekkür ederim.

Başka yazımda görüşmek dileğiyle…

You may also like...

2 Responses

  1. Salih SARI dedi ki:

    Emeğine Sağlık, Teşekkürler Onur Hocam.

Bir yanıt yazın