Tüm Ürünler
Search
Belge Merkezi

Application Real-Time Monitoring Service:Nagios'u ARMS ile Entegre Etme

Son Güncelleme:Oct 05, 2026

Bu konu, Nagios'un Uyarı Yönetimi ile nasıl entegre edileceğini açıklar.

1. Adım: Nagios entegrasyonu oluşturma

  1. ARMS konsolu oturum açın. Sol gezinme bölmesinde Alert Management > Integrations seçeneklerini seçin.

  2. Alert Integration sekmesinde Nagios öğesine tıklayın.

  3. New Nagios Integration sihirbazında entegrasyon için bir ad ve açıklama girin, uyarı olayları için otomatik kurtarma süresini ayarlayın ve ardından Save seçeneğine tıklayın.

    Not

    Zaman aşımı sonrası otomatik kurtarma süresi: Belirtilen süre içinde bir uyarı olayı tekrar tetiklenmezse uyarı olayı otomatik olarak temizlenir.

  4. Alert Integration sekmesinde Nagios entegrasyonunuzu aratın ve entegrasyon adresini kopyalayın.

2. Adım: Nagios uyarı şablonunu yapılandırma

  1. Bir uyarı bildirim betiği oluşturun.

    1. Nagios'un bulunduğu sunucuda oturum açın ve aşağıdaki yola gidin:

      cd /usr/local/nagios/libexec/
    2. nagios-alert.py adlı bir betik dosyası oluşturun. Aşağıdaki içeriği dosyaya ekleyin:

      Not

      Betikteki integration_url ifadesini 1. Adım bölümündeki entegrasyon adresiyle değiştirin.

      #!/usr/bin/python
      # -*- coding: utf-8 -*-
      import requests
      import json
      import sys
      import os
      headers = {'Content-Type': 'application/json;charset=utf-8'}
      api_url = "integration_url"      # Replace integration_url with the integration address from Step 1.
      def parse(sys):
          object_type = str(sys.argv[1])
          notification_type = str(sys.argv[2])
          host_name = str(sys.argv[3])
          host_ip = str(sys.argv[4])
          state = str(sys.argv[5])
          time = str(sys.argv[6])
          info = str(sys.argv[7])
          if object_type == 'host':
              description = "[{}] {} alert: {} is {}".format(notification_type, object_type, host_name, state)
              service = ""
          else:
              service = str(sys.argv[8])
              description = "[{}] {} alert: {}/{} is {}".format(notification_type, object_type, host_name, service, state)
          content_dict = {'service':""}
          content_dict['object_type'] = object_type
          content_dict['notification_type'] = notification_type
          content_dict['host_name'] = host_name
          content_dict['host_ip'] = host_ip
          content_dict['state'] = state
          content_dict['time'] = time
          content_dict['info'] = info
          content_dict['service'] = service
          content_dict['description'] = description
          print(content_dict)
          return content_dict
      def msg(text):
          result = requests.post(url=api_url, data=json.dumps(text), headers=headers)
          print(result)
      if __name__ == '__main__':
          text = parse(sys)
          msg(text)
    3. Requests kitaplığını yüklemek için aşağıdaki komutu çalıştırın:

      pip install requests
  2. Commands dosyasını yapılandırın.

    1. commands.cf dosyasını değiştirmek için aşağıdaki komutu çalıştırın:

      vim /usr/local/nagios/etc/objects/commands.cf
    2. Aşağıdaki içeriği commands.cf dosyasına ekleyin:

      define command{
          command_name notify-host-by-alert
          command_line python /usr/local/nagios/libexec/nagios-alert.py "host" "$NOTIFICATIONTYPE$" "$HOSTALIAS$" "$HOSTADDRESS$" "$HOSTSTATE$" "$LONGDATETIME$" "$HOSTOUTPUT$"
          }
      define command{
          command_name notify-service-by-alert
          command_line python /usr/local/nagios/libexec/nagios-alert.py "service" "$NOTIFICATIONTYPE$" "$HOSTALIAS$" "$HOSTADDRESS$" "$SERVICESTATE$" "$LONGDATETIME$" "$SERVICEOUTPUT$" "$SERVICEDESC$"
          }
    3. Değişiklikleri commands.cf dosyasına kaydetmek için :wq komutunu girin.

  3. İletişim bilgilerini belirtin.

    1. contacts.cfg dosyasını değiştirmek için aşağıdaki komutu çalıştırın:

      vim /usr/local/nagios/etc/objects/contacts.cfg
    2. Aşağıdaki içeriği contacts.cfg dosyasına ekleyin:

      service_notification_commands   notify-service-by-alert
      host_notification_commands      notify-host-by-alert
      define contact{
              contact_name                    nagiosadmin             ; Short name
              use                             generic-contact         ; Inherit de
              alias                           Nagios Admin            ; Full name
              email                           nagios@localhost         ; <<***** Ch
              service_notification_commands   notify-service-by-alert
              host_notification_commands      notify-host-by-alert
      }
      ################################################################
    3. Değişiklikleri contacts.cfg dosyasına kaydetmek için :wq komutunu girin.

  4. Nagios'u yeniden başlatmak için aşağıdaki komutu çalıştırın:

    systemctl restart nagios

(İsteğe Bağlı) 3. Adım: Entegrasyonu değiştirme

Uyarı Yönetimi, Nagios uyarı kaynağı ve ARMS uyarıları arasında varsayılan alan eşlemeleri sağlar. Edit Integration sayfasında alan eşlemelerini ekleyebilir veya değiştirebilirsiniz.

Örnek uyarı kaynağı:

{
    "info":"SWAP CRITICAL - 0% free (0 MB out of 0 MB) - Swap is either disabled, not present, or of zero size.",
    "description":"[PROBLEM] service alert: localhost/Swap Usage is CRITICAL",
    "service":"Swap Usage",
    "host_ip":"127.0.0.1",
    "state":"CRITICAL",
    "object_type":"service",
    "time":"Tue Sep 14 10:46:49 CST 2021",
    "notification_type":"PROBLEM",
    "host_name":"localhost"
}
  1. Alert Integration sekmesinde yönetmek istediğiniz entegrasyonu bulun ve Actions sütununda Edit seçeneğine tıklayın.

  2. Event Mapping bölümünde Send Test Data seçeneğine tıklayın.

  3. Send Test Data iletişim kutusunda üçüncü taraf bir uyarı kaynağının uyarı içeriğini JSON biçiminde girin ve Send seçeneğine tıklayın.

    Not
    • Uploaded. No events are generated. Configure mappings based on the original data. mesajı görünürse uyarı kaynağının alanları ARMS uyarı olaylarının alanlarıyla eşlenmemiştir. Gönderilen veriler sol taraftaki kutuda görüntülenir. Bu sayede eşlemeleri yapılandırırken kaynak alanlarını seçebilirsiniz.

    • Uploaded. mesajı görünürse uyarı içeriği Alert Event History sayfasına bildirilir. Daha fazla bilgi için bkz. Uyarı olayı geçmişini görüntüleme.

  4. Send Test Data iletişim kutusunda Disable seçeneğine tıklayın.

  5. Event Mapping bölümünün sol kısmında eşleme yapılandırmak istediğiniz veri kayıtlarına tıklayarak ayrıntıları görüntüleyin.

  6. Event Mapping bölümünün sağ bölmesinde uyarı kaynağı alanları ile ARMS uyarı alanları arasındaki eşlemeyi yapılandırın.

    1. İsteğe bağlı:Select Root Node bölümünde toplu işlemenin etkinleştirilip etkinleştirilmeyeceğini belirtin.

      Uyarı verilerinde bir dizi düğümü varsa dizi düğümünü kök düğüm olarak belirtebilirsiniz. Kök düğüme ait veriler toplu olarak işlenir.

      Use Batch Processing seçeneğini belirledikten sonra toplu işlenecek dizi düğümünü kök düğüm olarak seçin.

      Not

      Uyarı verilerinde birden çok dizi düğümü varsa toplu işlem için yalnızca bu dizi düğümlerinden birini seçebilirsiniz.

    2. Map Source Fields to Target Fields bölümünde uyarı kaynağının alanlarını ARMS uyarı alanlarıyla eşleyin.

      Alan eşleme yöntemini değiştirmek için eşleme simgesine tıklayın.

      • Doğrudan: Uyarı kaynağının belirtilen alanı doğrudan ARMS'in belirtilen uyarı alanıyla eşlenir.

      • Seri: Birden çok uyarı kaynağı alanını ayırıcılar kullanarak tek bir alanda birleştirebilir ve bu alanı ARMS'in belirtilen uyarı alanıyla eşleyebilirsiniz. Ayırıcı olarak yalnızca özel karakterler kullanılabilir.

      • Koşullu: Alan değerleri belirtilen koşulları karşıladığında belirtilen uyarı kaynağı alanları ARMS uyarı alanlarıyla eşlenir.

      • Eşleme tablosu: Uyarı kaynağı önem derecesi ARMS uyarı önem derecesiyle eşlenir. Eşleme tablosu yalnızca önem derecesi alanını içerir.

      Aşağıdaki tabloda ARMS uyarı alanları açıklanmaktadır.


      Uyarı alanı


      Açıklama


      alertname


      Özel uyarının adı.


      severity


      Uyarının önem derecesi. Bu alan için eşlemeler yapılandırmanız gerekir. Eşleme yöntemi Doğrudan olarak ayarlanmalıdır.


      message


      Uyarının açıklaması. Açıklama uyarı mesajının içeriği olarak kullanılır. Açıklama 15.000 karakteri aşamaz.


      value


      Bir ölçümün örnek değeri.


      imageUrl


      Grafana ölçümlerini içeren çizgi grafiğin URL'si. URL çizgi grafiğini eşlemek için kullanılır.


      check


      Uyarının kontrol öğesi. Örnekler: CPU, JVM, Application Crash ve Deployment.


      source


      Uyarının kaynağı.


      class


      Uyarı olayını tetikleyen nesnenin türü, örneğin ana bilgisayar.


      service


      Uyarının kaynak hizmeti. Örnek: Login Service.


      startat


      Olayın başlangıç zamanını temsil eden zaman damgası.


      endat


      Olayın bitiş zamanını temsil eden zaman damgası.


      generatorUrl


      Olay ayrıntılarının URL'si.

  7. Uyarı olayları için alan yinelenmesini yapılandırın.

    Sistem yinelenen verileri azaltmak için ilgili alanları yinelenme temeli olarak kullanır. ARMS Uyarı Yönetimi, Event Mapping bölümünde görüntülenen geçmiş olay verilerinin yinelenme gruplama sonuçlarını önizlemenize olanak tanır. Yinelenmesi gereken alanları değiştirebilirsiniz.

    Not

    Yinelenmeyi yalnızca temizlenmemiş olaylar için yapılandırabilirsiniz.

    1. Integration Details sayfasındaki Event Deduplication bölümünde yinelenme için kullanılan alanları seçin.

      Birden çok olay belirtilen bir alan için aynı değere sahipse olaylar tek bir uyarı bildiriminde birleştirilir.

    2. Deduplication Test seçeneğine tıklayın.

      Not

      Yinelenme testi yalnızca Event Mapping bölümünün sol kısmına yüklenen son 10 veri kaydı üzerinde etkili olur.

  8. Ayarları yapılandırdıktan sonra Save seçeneğine tıklayın.

Bir uyarı olayının ayrıntılarını görüntüleme

  1. ARMS konsolunun sol gezinme bölmesinde Alert Management > Alert Event History seçeneklerini seçin.

  2. Alert Event History sayfasında olay ayrıntılarını görüntülemek için uyarı olayının adına tıklayın. Daha fazla bilgi için bkz. Uyarı olayı geçmişini görüntüleme.

Entegrasyonu yönetme

Sol gezinme bölmesinde Alert Management > Integrations seçeneklerini seçin. Alert Integration sekmesinde oluşturduğunuz entegrasyonlarda aşağıdaki işlemleri gerçekleştirebilirsiniz:

  • Bir entegrasyonun ayrıntılarını görüntüleme: Entegrasyonu bulun ve ardından satıra tıklayın. Integration Details sayfasında entegrasyon ayrıntılarını görüntüleyin.

  • Bir anahtarı güncelleme: Bir entegrasyon için anahtarı değiştirmek üzere hedef entegrasyonun Actions sütununda More > Update Key seçeneklerini seçin ve Confirm seçeneğine tıklayın.

    Önemli

    Anahtarı güncelledikten sonra betik dosyasındaki entegrasyon adresini değiştirmeniz gerekir. Daha fazla bilgi için bkz. 2. Adım: Nagios uyarılarını yapılandırma.

  • Bir entegrasyonu değiştirme: Entegrasyonu bulun ve ardından Actions sütununda Edit seçeneğine tıklayın. Integration Details sayfasında entegrasyon bilgilerini değiştirin ve ardından Save seçeneğine tıklayın.

  • Bir entegrasyonu etkinleştirme veya devre dışı bırakma: Entegrasyonu bulun ve ardından Actions sütununda Disable veya Enable seçeneğine tıklayın.

  • Bir entegrasyonu silme: Entegrasyonu bulun ve ardından Actions sütununda Delete seçeneğine tıklayın. Görüntülenen mesajda OK seçeneğine tıklayın.

  • Bir entegrasyona olay işleme akışı ekleme: Entegrasyonu bulun ve Actions sütununda Add Event Processing Flow seçeneğine tıklayın. Daha fazla bilgi için bkz. Olay işleme akışı.

  • Bir bildirim ilkesi oluşturma: Bildirim ilkesi oluşturmak istediğiniz entegrasyonu bulun ve Actions sütununda More seçeneğine tıklayın. Görüntülenen listede Create Notification Policy seçeneğine tıklayın. Daha fazla bilgi için bkz. Bildirim ilkeleri.

Sonraki adımlar

Bir bildirim ilkesi oluşturduktan sonra sistem bildirilen uyarı olayları için uyarılar oluşturur ve oluşturduğunuz bildirim ilkesine göre uyarı bildirimleri gönderir. Daha fazla bilgi için bkz. Bildirim ilkeleri. Alert Sending History sayfasında yapılandırılan bildirim ilkesine göre oluşturulan uyarıları görüntüleyebilirsiniz. Daha fazla bilgi için bkz. Uyarı gönderme geçmişini görüntüleme.