Ubuntu 16.04'te Alerta ile Nagios Uyarılarını Nasıl İzlerim?

Giriş

Alerta, birden fazla izleme sistemindeki uyarıları konsolide etmek ve çoğaltmak ve bunları tek bir ekranda görselleştirmek için kullanılan bir web uygulamasıdır. Alerta, Nagios, Zabbix, Sensu, InfluxData Kapacitor ve diğer pek çok tanınmış izleme aracı ile entegre olabilir.

Bu yazıda Alerta'yı kuracaksınız ve popüler açık kaynak izleme sistemi olan Nagios'un bildirimlerini gösterecek şekilde yapılandıracaksınız.

Ön şartlar

Bu öğreticiyi izlemek için ihtiyacınız olan şeyler:

  • İki Ubuntu 16.04 sunucusu, bir sudo root olmayan kullanıcı ve bir güvenlik duvarı da dahil olmak üzere Ubuntu 16.04 başlangıç ​​sunucusu kurulum kılavuzunu takip ederek kurulmuştur.
  • Nagios'u çalıştıracağınız ilk Ubuntu sunucusunda aşağıdaki bileşenleri yükleyin:
    • Apache, MySQL ve PHP'yi (LAMP) nasıl yükleyeceğinizi öğrenmek için Ubuntu 16.04'te Apache, MySQL ve PHP'yi kullanın.
    • Nagios 4, Nagios 4 Nasıl Kurulur ve Sunucularınızı Ubuntu'da İzleyin ve yapılandırmak için önkoşulları dersini takip ederek yüklenir.
  • Alerta'yı bu öğreticiye kuracağımız ikinci Ubuntu sunucusunda aşağıdaki bileşenleri yükleyin:
    • Nginx, Nginx'i Ubuntu 16.04'te Nasıl Kurulur dersini izleyerek yüklenir.
    • MongoDB, MongoDB'yi Ubuntu 16.04'te Nasıl Kurulur dersini izleyerek yüklenir.
    • Alerta, aşağıdaki adımlar 1'den 6'ya kadar olan sürede Ubuntu 16.04'te Alerta ile Zabbix Uyarılarını İzleme Öğreticisi'nde yüklenir.
  • ssh sammy @ sizin_nagios_server_ip

Nagios-Alerta Gateway'in önceden yapılandırılmış sistem paketleri yok, bu nedenle kaynağından inşa etmeniz gerekecek. Bunu yapmak için, bazı geliştirme araçları ve dosyaları yüklemeniz gerekir. Ayrıca, GitHub'dan kaynak kodu getirebilmeniz için Git'in kurulu olması gerekir.

  • sudo apt-get install -y git curl gcc make libcurl4-openssl-dev

Önkoşullar yüklendiyse, kaynak kodu projenin GitHub deposundan kopyalamak için Git kullanın.

  • git clone https://github.com/alerta/nagios-alerta.git

Ardından yeni nagios-alerta dizinini değiştirin:

  • cd nagios-alerta

Daha sonra make kullanarak nagios-alerta modülünü derleyin:

  • nagios4'u hazırla

Aşağıdaki çıktıyı görürsünüz:

Outputcd ./src && make nagios4
make[1]: Entering directory '/home/sammy/nagios-alerta/src'
gcc -fPIC -g -O2 -DHAVE_CONFIG_H -I../include -I../include/nagios4 -lcurl -o alerta-neb.o alerta-neb.c -shared -lcurl
make[1]: Leaving directory '/home/sammy/nagios-alerta/src'

Farklı bir şey görürseniz, tüm önkoşulların yüklü olduğundan emin olun.

Şimdi kurulum görevini çalıştırın:

  • sudo make install

Modülün /usr/lib/nagios içine kurulduğunu belirten bu çıktıyı görürsünüz:

Outputcd ./src && make install
make[1]: Entering directory '/home/sammy/nagios-alerta/src'
[ -d /usr/lib/nagios ] || mkdir /usr/lib/nagios
install -m 0644 alerta-neb.o /usr/lib/nagios
make[1]: Leaving directory '/home/sammy/nagios-alerta/src'

Modül kurulduktan sonra, Nagios'u bu yeni modülü kullanacak şekilde yapılandırabiliriz.

2. Adım – Nagios-to-Alerta Ağ Geçidi'ni Yapılandırma

Nagios'u Alerta'ya bildirim mesajları gönderecek şekilde yapılandıralım.

Önce, yeni kurulan Alerta broker modülünü Nagios ana yapılandırma dosyasında etkinleştirin. Editörünüzde Nagios yapılandırma dosyasını açın:

  • sudo vi /usr/local/nagios/etc/nagios.cfg

broker_module yönergelerini içeren bölümü bulun:

/usr/local/nagios/etc/nagios.cfg...
# EVENT BROKER MODULE(S)
# This directive is used to specify an event broker module that should
# by loaded by Nagios at startup. Use multiple directives if you want
# to load more than one module. Arguments that should be passed to
# the module at startup are separated from the module path by a space.
#
[...]
#broker_module=/somewhere/module1.o
#broker_module=/somewhere/module2.o arg1 arg2=3 debug=0
...

Alerta modülünü yapılandırmak için iki zorunlu argüman sağlamanız gerekir:

  • URL : Alerta API'si ile iletişim kurmak için kullanılan adres. Bunu, Ubuntu 16.04'te Alerta ile Zabbix Uyarılarını Nasıl İzleyeceğinizin Öğretici Adım 3'ünde yapılandırdınız.
  • key : Öğretmenin 4. adımında oluşturduğunuz API anahtarı Ubuntu 16.04'te Alerta ile Zabbix Uyarılarını Nasıl İzleyeceksiniz. Alerta ile kimliğinizi doğrulamak ve olayları yayınlamak için buna ihtiyacınız var.

Alerta entegrasyonunu yapılandırmak için dosyaya şu satırı ekleyin:

/usr/local/nagios/etc/nagios.cfg...
broker_module=/usr/lib/nagios/alerta-neb.o http://your_alerta_server_ip/api key=ALERTA_API_KEY
...

Belirtebileceğiniz ek isteğe bağlı bağımsız değişkenler de vardır:

  • env : Bu ortamın adını belirtir. Varsayılan ortam adı Production .
  • hard_only : Sonuçları yalnızca Sabit durumdayken iletir . Nagios Devlet Tipleri hakkında daha fazla bilgiyi Nagios belgelerinde bulabilirsiniz. Bu modu etkinleştirmek için bunu 1 olarak ayarlayın.
  • debug : – modül için hata ayıklama modunu etkinleştirin. Bu modu etkinleştirmek için bunu 1 olarak ayarlayın.

Bu seçeneklerin tümünü belirtmek için bunun yerine şu satırı kullanın:

/usr/local/nagios/etc/nagios.cfg...
broker_module=/usr/lib/nagios/alerta-neb.o http://your_alerta_server_ip/api key=ALERTA_API_KEY env=Production hard_only=1 debug=1
...

Dosyayı kaydedin ve editörden çıkın.

Uyarıları çevre ve hizmet adına göre tanımlamak için, Nagios Özel Nesne Değişkenlerini kullanarak ortam ve hizmet adlarını ayarlamanız gerekir. Bunu yapmak için yapılandırmanızda _Environment ve _Service değişkenlerini kullanın. Şimdi bunları yapılandıralım.

/usr/local/nagios/etc/objects/ dizininde bulacağınız varsayılan Nagios ana makine nesne yapılandırma dosyasını açın:

  • sudo vi /usr/local/nagios/etc/objects/localhost.cfg

Bu uyarıları tüm uyarıları Üretim uyarıları olarak işaretleyeceğiz ve varsayılan hizmet olan Nagios'ı arayacağız. Aşağıdaki ana makine tanımını bulun:

/usr/local/nagios/etc/objects/localhost.cfg...
define host{
use linux-server ; Name of host template to use
; This host definition will inherit all variables that are defined
; in (or inherited by) the linux-server host template definition.
host_name localhost
alias localhost
address 127.0.0.1
}

...

_Environment ve _Service değerlerini yapılandırmaya ekleyin:

/usr/local/nagios/etc/objects/localhost.cfg...
host_name localhost
alias localhost
address 127.0.0.1
_Environment Production
_Service Nagios
}
...

Şimdi Sistem uyarıları gibi sistem partitio üzerindeki alanı yetersizliği ile ilişkili tüm olayları işaretleyin. Boş alanı kontrol etmeyi tanımlayan dosyanın bu bölümünü bulun:

/usr/local/nagios/etc/objects/localhost.cfg...
define service{
use local-service ; Name of service template to use
host_name localhost
service_description Root Partition
check_command check_local_disk!20%!10%!/
}
...

System hizmetiyle ilişkilendirmek için onu değiştirin:

/usr/local/nagios/etc/objects/localhost.cfg...
define service{
use local-service ; Name of service template to use
host_name localhost
service_description Root Partition
check_command check_local_disk!20%!10%!/
_Service System
}
...

Dosyayı kaydedin ve editörden çıkın. Bu yeni ayarları uygulamak için Nagios'u yeniden başlatın:

  • sudo systemctl restart nagios.service

Hizmetin düzgün çalıştığından emin olmak için Nagios günlük dosyasını kontrol edin:

  • kuyruk /usr/local/nagios/var/nagios.log

Aşağıdaki çıktıyı görürsünüz:

Output...
[1505804481] [alerta] Initialising Nagios-Alerta Gateway module, v3.5.0
[1505804481] [alerta] debug is on
[1505804481] [alerta] states=Hard (only)
[1505804481] [alerta] Forward service checks, host checks and downtime to http://your_alerta_server_ip/api
[1505804481] Event broker module '/usr/lib/nagios/alerta-neb.o' initialized successfully.
[1505804481] Successfully launched command file worker with pid 25416

Nagios, herhangi bir sistem veya hizmet kesildiğinde hemen bir bildirim gönderecektir. Bir test olayı oluşturalım.

Adım 3 – Nagios-Alerta Entegrasyonunu Doğrulamak için Bir Test Uyarısı Oluşturma

Her şeyin bağlı olduğundan emin olmak için bir test uyarısı oluşturalım. Varsayılan olarak, Nagios sunucunuzdaki boş disk alanı miktarını tutar. Nagios'un dosya sistemi kullanımı uyarısını tetikleyecek kadar büyük geçici bir dosya oluşturacağız.

Önce, Nagios sunucusunda ne kadar boş alan bulunduğunuzu belirleyin. Bulmak için df komutunu kullanabilirsiniz:

  • df -h

Aşağıdaki gibi çıktı göreceksiniz:

Output Filesystem Size Used Avail Use% Mounted on
/dev/vda1 20G 3.1G 16G 17% /

Kullanılabilir boş alan miktarına bakın. Bu durumda, boş alan 16GB . Boş alanınız farklı olabilir.

Uyarıyı tetiklemek için yeterli olan mevcut disk alanının% 80'inden fazlasını alan bir dosya oluşturmak için fallocate komutunu kullanın:

  • fallocate-l 14G /tmp/temp.img

Birkaç dakika içinde, Nagios boş disk alanı miktarı hakkında bir uyarı başlatacak ve uyarı mesajını Alerta'ya gönderilecektir. Bu yeni bildirimi Alerta gösterge tablosunda göreceksiniz:

Uyarıların çalıştığını bildiğinize göre, oluşturduğunuz geçici dosyayı silin, böylece disk alanınızı geri yükleyebilirsiniz:

  • rm -f /tmp/temp.img

Bir dakika sonra Nagios kurtarma mesajını gönderir. Uyarı daha sonra ana Alerta pano kaybolur, ancak Kapalı seçerek tüm kapalı etkinlikleri görebilirsiniz.

Daha fazla ayrıntı görmek için etkinlik satırını tıklayabilirsiniz.

Sonuç

Bu yazıda Alerios çalıştıran başka bir sunucuya bildirim göndermek için Nagios'u yapılandırdınız.

Alerta, birçok sistemdeki uyarıları izlemek için uygun bir yer sağlar. Örneğin, altyapınızın bazı kısımları Nagios'u kullanıyorsa ve diğerleri Zabbix kullanıyorsa, her iki sistemdeki bildirimleri bir panele birleştirebilirsiniz.

Bir önceki yazımız olan Apache Essentials: Kurulum ve Yapılandırma Sorun Giderme başlıklı makalemizi de okumanızı öneririz.

About This Author

Uzun yıllardır yazılım ile uğraşıyorum. PHP ile başladığım yazılım hayatıma şu an PHP'nin yanında Swift ve Python ile devam ediyorum. Bu güne kadar bir çok proje geliştirdim ve yeni projeler geliştirmeye de devam ediyorum. Bu sitede yazılımseverlere faydalı bilgiler vermeye, yazılım geliştirmeye, öğrendiklerimi paylaşmaya, yeni başlayanlara yol göstermeye ve onlara yardımcı olmaya çalışıyorum.

Comments are closed

%d blogcu bunu beğendi: