MonitoriX ile Başarım Durumunu Web’den İzlemek

Monitorix sistem yük ve kullanım ortalaması rapor ekranı

MonitorX, RPI-Monitor’den farklı olarak çok daha kapsamlı ve Raspberry Pi OS dışında birçok işletim sistemini de izlemeye olanak veren ücretsiz, açık kaynak ve hafif bir sistem izleme aracıdır. Araç birçok servisi ve sistem kaynağını izleyerek zengin grafik raporları oluşturabilir, tanımlanan değerlere göre alarmlar oluşturabilir. Sahip olduğu basit ve ufak yapısı ile gömülü sistemlerde de çalışmaya uygun olan MonitorX’in izleyebileceği seçeneklerden bazıları şunlardır:  Sistem yükü, çekirdek kesme ve G/Ç değerleri, 20’den fazla o/b sensör, detaylı ağ trafik istatistikleri, SSH’tan FTP sunucularına kadar ağ servisi ve kullanıcı istatistikleri ve proses bazında sistem kaynağı kullanım istatistikleri. Listenin tamamına MonitorX’in internet sitesi olan monitorx.org adresindeki Features bağlantısından ulaşabilirsiniz.

MonitoriX’in deb (debian/raspbian) paketini internet sitesi MonitoriX’in sitesindeki Downloads sayfasında yer alan Debian bağlantısını edinerek aşağıdaki gibi indirebilirsiniz:

Kendi web sunucusu ile beraber gelen MonitoriX pearl dilinde yazılmıştır ve çalışabilmesi için aşağıdaki paketlerin sistemde yüklü olması gerekir. İhtiyaç olan paketleri aşağıdaki gibi yükleyebilirsiniz. Yüklenmesi gereken paketlerin güncel listesini MonitoriX’in sitesinde yer alan Installation sayfasındaki, elle yükleme talimatlarından (Manually installation) görebilirsiniz.

Paketlerin yüklenmesi biraz vakit alabilir. Yüklemenin ardından daha önce indirdiğiniz monitorix deb paketini aşağıdaki gibi yükleyin ve kurulumu tamamlayın:

Yükleme başarıyla tamamlandığında, arka planda monitorix adında bir servis çalışmaya başlar. Servisin çalışıp çalışmadığını systemctl aracı ile görebilirsiniz:

Yukarıdaki status çıktısından görülebileceği gibi monitorix aracı /usr/bin dizini içinde bulunmakta ve konfigürasyon (-c) olarak /etc/monitorix/monitorix.conf dosyasını kullanmaktadır. Ayrıca monitorix web sunucusu 8080 numralı port’u dinlemektedir. Monitorix’in web arabirimine ulaşmak için bir web tarayıcısına Raspberry Pi’ın IP adresini aşağıdaki gibi yazarak ulaşılabilirsiniz:

http://192.168.2.161:8080/monitorix/


Monitorix web arabiriminin giriş sayfası

Monitorix’in web arabiriminde izlemek istediğiniz grafik raporları ile bu raporların zaman aralığı günlük, haftalık, aylık ve yıllık olarak seçilebilir. Monitorix’in izleme ve raporlama seçeneklerini özelleştirmek için monitorix.conf yapılandırma dosyasını aşağıdaki gibi düzenleyip servisi yeniden başlatmanız yeterlidir.

monitorix.conf dosyasının bazı yapılandırma seçenekleri ve görevleri aşağıdaki gibidir:

  • title: Monitorix web sunucusun açıklayıcı başlık bilgisidir.
  • theme_color: Sunulan grafiklerin stilinin belirlenebileceği seçenektir. Varsayılan olarak black seçeneği ile gelir. Dilerseniz White olarak da değiştirebilirsiniz.
  • refresh_rate: Rapor grafiklerinin otomatik yenilenme süresini saniye cinsinden tanımlar.
  • iface_mode: Arabirim kipinin grafik (graph) ile metin (text) seçenekleri arasından ayarlanması sağlar. Text değeri verildiğinde grafikler yerine metinsel raporlama kullanılır. Metin tabanlı raporlama, verileri harici programlar ve betikler tarafından işlenmesi ve ekran okuma (seslendirme) yazılımları için kullanışlıdır.
  • enable_zoom: Grafiklerin üzerine tıklatarak yakınlaştırabilmeyi ayarlar. Varsayılan değeri y (yes)’dir. Yakınlaştırma özellğini kapatmak için n (no) kullanılır.
  • global_zoom: Tüm rapor grafikler oluşturulurken kullanılacak yazı fontunun büyüklüğünü ve buna bağlı olarak grafiklerin boyutunu ayarlar. Büyük ekrana sahip kullanıcıların grafikleri daha iyi görebilmesi için kullanışlıdır.
  • show_gaps: Monitorix’in sistemden istatistik toplayamadığı zamanları grafik raporlarda göstermesini sağlar. Bu özellik monitorix’in devre dışı kaldığı ya da sistemden veri alınamadığı zamanları görmek için faydalıdır. Varsayılan değeri n (no)’dir.
  • max_historic_years: Raporlama verilerinin kaç yıllık geçmişi ihtiva edeceğini belirler. Varsayılan değeri 1 yıldır. Örneğin geçmişe dönük 10 yıllık raporların saklanmasını istiyorsanız 10 değerini verin.
  • image_format: Raporların PNG ve SVG dosya biçimlerinden birisi ile üretilmesini sağlar. Varsayılan değeri PNG’dir.
  • include_dir: Monitorix’in ana yapılandırma dosyalarının bulunduğu dizini gösterir.
  • base_dir: Monitorix’in raporları sunduğu web yayın dizinidir.
  • base_url: Monitorix’in web arayüzünün URI (Universal Resource Identifier) adresidir. Varsayılan değeri monitorix’dir. Dilerseniz bu seçeneği / (taksim) olarak ayarlayarak monitorix web arabirimine doğrudan IP:port/ adresi (dizin adı yazmadan) ile erişebilirsiniz.
  • httpd_builtin/enabled: Dâhili web sunucunun etkinleştirilmesini veya devre dışı bırakılmasını ayarlar. Varsayılan değeri y (yes)’dir. Dâhili web sunucuyu kapatmak için n (no) kullanılır.
  • httpd_builtin /port: Monitorix web sunucusunun dinleyeceği port numarasını belirler. Varsayılan değeri 8080’dir.
  • httpd_builtin/log_file: Monitorix web sunucusunun erişim günlüklerinin tutulacağı günlük dosyasının yolunu tanımlar. Varsayılan değeri /var/log/monitorix-httpd’dir.
  • httpd_builtin/auth/enabled: Monitorix’in web arabirimine erişimin bir parola (htpasswd) ile kısıtlanıp kısıtlanmayacağını ayarlar. Varsayılan değeri n (no)’dir. Erişimi kısıtlamak için izin verilen kullanıcıların parolası /var/lib/monitorix/htpasswd içinde tanımlanır.
  • graph_enable: Bu anahtarın altında monitorix tarafından destekelen ve raporlamanın gerçekleştirilebileceği birçok istatistik türü vardır. Hangi istatistiğin raporlanacağını belirlemek için ilgili değer y (yes) olarak ayarlanır. Örneğin Raspberry Pi hakkında grafik oluşturmak için raspberrypi seçeneğinin değeri y olarak ayarlanabilir. Bu seçenek etkinleştirildiğinde monitorix, Raspberry Pi’ın CPU frekansı, CPU çalışma voltajı ve sıcaklıkları hakkında istatistikler tutmaya başlayacaktır. Graph_enable ile ayarlanan seçenekerin yapılandırma dosyasının sonunda grup ayarları da vardır. İlgili grup altından seçenekler daha detaylı yapılandırılabilir.

Diğer seçeneklerin görevleri için monitorix’in web sayfasında yer alan Documentation bağlantısına tıklatabilirsiniz[1]. Ayarları değiştirdikten sonra geçerli olabilmesi için aşağıdaki gibi monitorix servisini yeniden başlatmalısınız.

GRAFİKLERİ KULLANIN

Monitorix sistemden topladığı veriler ile düzenli olarak grafik raporlar oluşturur ve bunları web yayın dizinine otomatik olarak kaydeder. Dilerseniz PNG uzantılı bu grafik dosyalarının URL adreslerini farklı web sayfalarına dâhil edebilir kendi tasarladığınız web sayfalarında kullanabilir veya başkaları ile paylaşabilirsiniz. Bunun için grafiğin üzerine sağ tıklatarak URL adresini kopyala seçeneğini kullanarak ilgili rapor grafğinin adresini elde edebilirsiniz.

Grafikleri özelleştirmek

/etc/monitorix/monitorix.conf dosyasında yer alan graph_size ayar grubu ile oluşturulacak grafiklerin en/boy ölçülerini pixel cinsinden ayarlayabilir istediğiniz boyutta grafikler oluşturulmasını sağlayabilirsiniz. grap_title grubu ile oluşturulan grafiklerin açıklama bilgilerini düzenleyebilir <theme> grubu ile grafiklerin renklerini, RGB renk kodlarını (Kırmızı/Yeşil/Mavi) kullanarak değiştirebilirsiniz. logo_top, logo_bottom ve logo_top_url seçenekleri ile monitorix logolarını ve URL adresini düzenleyerek kullanımınıza özel bir arabirim oluşturabilirsiniz.

monitorix.conf dosyasında her bir grafik raporun içerdiği değişken türleri, değişken etiketleri ve limit değerleri kendi ayar grubu altından ayarlanabilir. Örneğin port grafiğinde yer alan ve raporlanacak port numaraları ile protokol isimleri <port> ayar gurubundan düzenlenebilir, yenileri eklenebilir.

Alarm üretmek

Monitorix sürekli olarak sistem seçeneklerini izleyerek bir veri tabanına kaydeder ve daha sonra bu verilerden grafikler oluşturur. Önceden tanımlayabileceğiniz eşik değerler aşıldığında bir betiğin çalıştırılmasını sağlayarak alarm tanımlayabilirsiniz. Monitorix’e alarm olarak tanımlayabileceğiniz bazı istatistikler şunlardır[2]: LM serisi sensörler, NVIDIA sensörleri, dosya sistemi G/Ç istatistikleri, CPU yükü ve istatistikleri Apache web sunucu istatistikleri. Alarmlar monitorix.conf dosyası içinde ait olduğu istatistik grubunun altında <alerts> ve </alerts> etiketleri arasında tanımlanır. Her bir alarm virgül ile ayrılmış üç alandan oluşur: süre, eşik değeri ve çalıştırılacak betiğin patikası. Süre, alarmın tetiklenebilmesi için eşik değerin kaç saniye boyunca aşılması gerektiğini tanımlar. Eşik değeri, alarmın hangi değeri ulaşınca veya aşılınca tetikleneceğini tanımlar. Betik ise alarm şartları gerçekleştiğinde çalıştırılacak olan betiğin ya da programın patikasıdır. Aşağıdaki örnek tanımlamayı inceleyebilirsiniz:

Yukarıdaki örnek tanımlama ile 2 numaralı sensörden okunan değer 1 saat boyunca 40 ve üstünde olursa /dizin/alt_dizin/betik.sh betiğinin çalıştırılacağını belirtir. Bu betik alarm tarafından çalıştırılırken kendisine 3 adet argüman gönderilir. Alarm için tanımlanan süre, eşik değeri ve sensörün mevcut değeri. Aşağıda sistem yükünün bir saat boyunca %100 ve üzerinde olması durumunda tetiklenecek bir alarm tanımlanmıştır.

Çoklu host izleme

Multihost özelliği ile monitorix yüklü uzaktaki sunucuların istatistiklerini tek bir noktadan toplu olarak izleyebilirsiniz. Monitorix kurulu bilgisayarlardan birisini merkezi izleme için tahsis ettikten sonra yapılandırma dosyasındaki multihost grup anahtarının düzenlenmesi gerekir. Anahtar altında ayarlanabilecek seçenekler aşağıdaki gibidir:

  • enabled: Öncelikle enabled anahtarına y değeri verilerek multihost özelliğinin etkinleştirilmesi gerekir.
  • footer_url: anahtarının değeri y yapıldığında her bir grafiğin altında ait olduğu monitorix sunucusunun URL adresi görünür.
  • graps_per_row: özellikle geniş ekran monitörler için her bir satırda kaç grafik görüneceği ayarlanır.
  • remotehost_list: İzlenecek monitorix kurulu bilgisayarlar için virgülle ayrılmış açıklayıcı isimleri tanımlar.
  • remotehost_desc: izlenecek monitorix sunucularının rapor yayın sayfalarının adresleri remote_host_list’de girilen sıraya göre tanımlanır. Dolayısıyla izlemesi yapılacak monitorix bilgisayarlarında httpd_builtin/enabled seçeneğinin etkinleştirilmiş olması gerekir.
  • groups: Gruplama özelliğini aktif etmek için bu anahtarın değerini y olarak ayarlayabilirsiniz. Gruplama özelliği çok sayıda monitorix bilgisayarının izlenmesi gerektiği durumlarda belli bilgisayarları bir arada görüntülemek üzere gruplamaya yarar.
  • remotegroups_list: remotehost_list seçeneğinde olduğu gibi gruplara virgülle ayrılmış isimler verilmesini sağlar.
  • remotegroup_desc: remotehost_desc seçeneğindeki benzer olarak gruplara sırasıyla açıklama bilgisi tanımlamak için kullanılır.

Grafiklerin doğru görüntülenebilmesi için bilgisayarlarda yüklü monitorix sürümlerinin aynı olmasına dikkat etmelisiniz. Aşağıda örnek bir yapılandırma yer almaktadır. Yapılandırmanın geçerli olabilmesi için monitorix sunucusunu yeniden başlatmayı unutmayınız.

E-posta raporları

Seçilen grafiklerin bir veya daha fazla e-posta adresine otomatik gönderilmesini sağlayabilirsiniz. Bu özellik tüm grafikleri incelemek yerine sadece belli monitorix bilgisayarlarının sürekli olarak takip edilmesinin gerektiği durumlarda oldukça faydalıdır. Böylece belirlenen rapor düzenli aralıklarla e-posta kutunuza gelir. emailreports seçenek grubu içerisinde tanımlanan ayarların açıklaması ve örnek yapılandırma aşağıda yer almaktadır:

  • enabled: E-posta ile raporlamayı etkinleştirmek için y değeri verilir
  • url_prefix: Rapor grafiklerini alacağınız monitorix kurulu bilgisayarın monitorix adresi. Bu URL kullanıcı adı ve parola kullanımını destekler. Örn: http://kullanici:parola@localhost:8080 yazımını kullanabilirsiniz.
  • smtp_hostname: E-posta göndermek için SMTP aracısı olarak kullanılacak sunucunun adresi. Örn: localhost yazıldığında localhost’da bir SMTP sunucunun kurulu ve çalışır olması gerekir.
  • from_address: Gönderen e-posta adresinin tanımlandığı anahtardır.
  • hour: E-posta raporlarının gönderileceği saat (24 saatlik biçim kullanılır).
  • minute: E-posta raporlarının gönderileceği dakika.
  • daily,weekly, monthly,yearly: Bu anahtar grubu altında tanımlanan rapoların gönderilme zamanı şunlardır. Daily: Her gün saat 00:00’da. Weekly: Her haftanın pazartesi günü. Monthly: Her ayın ilk günü. Yearly: Her yılın ilk günü. İlgili anahtar grubunun çalışması için enabled anahtarına y değeri verilmelidir.
  • graphs: E-posta raporu olarak gönderilmesini istediğiniz raporların adlarının virgül ile ayrılarak belirtildiği seçenektir.
  • to: Raporu göndermek istediğiniz e-posta adresini tanımlar. Birden fazla adrese göndermek için adresleri virgül ile ayırabilirsiniz.

[1] Monitorix kullanım kılavuzu: http://www.monitorix.org/documentation.html

[2] Monitorix’in desteklediği istatistikler – http://www.monitorix.org/features.html

Yazar: Özgür Koca

Yazar - Tankado.com

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Bu site, istenmeyenleri azaltmak için Akismet kullanıyor. Yorum verilerinizin nasıl işlendiği hakkında daha fazla bilgi edinin.