All Products
Search
Document Center

Application Real-Time Monitoring Service:Integrasikan Nagios dengan ARMS

Last Updated:Jun 21, 2026

Topik ini menjelaskan cara mengintegrasikan Nagios dengan Alert Management.

Langkah 1: Buat integrasi Nagios

  1. Masuk ke ARMS console. Di panel navigasi sebelah kiri, pilih Alert Management > Integrations.

  2. Di tab Alert Integration, klik Nagios.

  3. Di wizard New Nagios Integration, masukkan nama dan deskripsi untuk integrasi, atur waktu pemulihan otomatis untuk event alert, lalu klik Save.

    Catatan

    Waktu pemulihan otomatis setelah timeout: Jika event alert tidak dipicu lagi dalam periode waktu yang ditentukan, event alert tersebut akan dihapus secara otomatis.

  4. Di tab Alert Integration, cari integrasi Nagios Anda dan salin alamat integrasinya.

Langkah 2: Konfigurasikan templat alert Nagios

  1. Buat skrip notifikasi alert.

    1. Masuk ke server tempat Nagios berada dan masukkan path berikut:

      cd /usr/local/nagios/libexec/
    2. Buat file skrip bernama nagios-alert.py. Tambahkan konten berikut ke file tersebut:

      Catatan

      Ganti integration_url dalam skrip dengan alamat integrasi dari Langkah 1.

      #!/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"      # Ganti integration_url dengan alamat integrasi dari Langkah 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. Jalankan perintah berikut untuk menginstal library Requests:

      pip install requests
  2. Konfigurasikan file Commands.

    1. Jalankan perintah berikut untuk mengubah file commands.cf:

      vim /usr/local/nagios/etc/objects/commands.cf
    2. Tambahkan konten berikut ke file commands.cf:

      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. Masukkan perintah :wq untuk menyimpan perubahan pada file commands.cf.

  3. Tentukan informasi kontak.

    1. Jalankan perintah berikut untuk mengubah file contacts.cfg:

      vim /usr/local/nagios/etc/objects/contacts.cfg
    2. Tambahkan konten berikut ke file contacts.cfg:

      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. Masukkan perintah :wq untuk menyimpan perubahan pada file contacts.cfg.

  4. Jalankan perintah berikut untuk restart Nagios:

    systemctl restart nagios

(Opsional) Langkah 3: Modifikasi integrasi

Alert Management menyediakan pemetaan field default antara sumber alert Nagios dan alert ARMS. Anda juga dapat menambahkan atau memodifikasi pemetaan field di halaman Edit Integration.

Contoh sumber alert:

{
    "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. Di tab Alert Integration, temukan integrasi yang ingin Anda kelola dan klik Edit di kolom Actions.

  2. Di bagian Event Mapping, klik Send Test Data.

  3. Di kotak dialog Send Test Data, masukkan konten alert dari sumber alert pihak ketiga dalam format JSON dan klik Send.

    Catatan
    • Jika muncul pesan Uploaded. No events are generated. Configure mappings based on the original data., artinya field dari sumber alert belum dipetakan ke field event alert ARMS. Data yang dikirim akan ditampilkan di kotak sebelah kiri sehingga Anda dapat memilih field sumber saat mengonfigurasi pemetaan.

    • Jika muncul pesan Uploaded., konten alert telah dilaporkan ke halaman Alert Event History. Untuk informasi selengkapnya, lihat View alert event history.

  4. Di kotak dialog Send Test Data, klik Disable.

  5. Di bagian kiri bagian Event Mapping, klik catatan data yang ingin Anda konfigurasi pemetaannya untuk melihat detailnya.

  6. Di panel kanan bagian Event Mapping, konfigurasikan pemetaan antara field sumber alert dan field alert ARMS.

    1. Opsi:Di bagian Select Root Node, tentukan apakah akan mengaktifkan pemrosesan batch.

      Jika terdapat node array dalam data alert, Anda dapat menetapkan node array tersebut sebagai root node. Data yang termasuk dalam root node akan diproses secara batch.

      Setelah memilih Use Batch Processing, pilih node array yang akan diproses secara batch sebagai root node.

      Catatan

      Jika terdapat beberapa node array dalam data alert, Anda hanya dapat memilih salah satu node array untuk pemrosesan batch.

    2. Di bagian Map Source Fields to Target Fields, petakan field sumber alert ke field alert ARMS.

      Klik ikon pemetaan untuk mengubah metode pemetaan field.

      • Direct: Field tertentu dari sumber alert dipetakan langsung ke field alert ARMS yang ditentukan.

      • Series: Anda dapat menggunakan pembatas untuk menggabungkan beberapa field sumber alert menjadi satu field, lalu memetakan field tersebut ke field alert ARMS yang ditentukan. Hanya karakter khusus yang dapat digunakan sebagai pembatas.

      • Conditional: Field sumber alert tertentu dipetakan ke field alert ARMS hanya jika nilai field tersebut memenuhi kondisi yang ditentukan.

      • Mapping table: Tingkat severity sumber alert dipetakan ke tingkat severity alert ARMS. Tabel pemetaan hanya berisi field severity.

      Tabel berikut menjelaskan field alert ARMS.

      Field alert

      Deskripsi

      alertname

      Nama alert kustom.

      severity

      Tingkat severity alert. Anda harus mengonfigurasi pemetaan untuk field ini. Metode pemetaan harus diatur ke Direct.

      message

      Deskripsi alert. Deskripsi ini digunakan sebagai isi pesan alert. Panjang deskripsi tidak boleh melebihi 15.000 karakter.

      value

      Nilai contoh metrik.

      imageUrl

      URL grafik garis yang berisi metrik Grafana. URL ini digunakan untuk memetakan grafik garis.

      check

      Item pemeriksaan alert. Contoh: CPU, JVM, Application Crash, dan Deployment.

      source

      Sumber alert.

      class

      Jenis objek yang memicu event alert, misalnya host.

      service

      Layanan sumber alert. Contoh: Login Service.

      startat

      Timestamp yang menunjukkan waktu mulai event.

      endat

      Timestamp yang menunjukkan waktu akhir event.

      generatorUrl

      URL detail event.

  7. Konfigurasikan deduplikasi field untuk event alert.

    Untuk mengurangi data duplikat, sistem menggunakan field terkait sebagai dasar deduplikasi. ARMS Alert Management memungkinkan Anda melihat pratinjau hasil pengelompokan deduplikasi data event historis yang ditampilkan di bagian Event Mapping. Anda dapat mengubah field yang akan dideduplikasi.

    Catatan

    Anda hanya dapat mengonfigurasi deduplikasi untuk event yang belum dihapus.

    1. Di bagian Event Deduplication pada halaman Integration Details, pilih field yang digunakan untuk deduplikasi.

      Jika beberapa event memiliki nilai yang sama untuk field tertentu, event tersebut akan digabung menjadi satu notifikasi alert.

    2. Klik Deduplication Test untuk melihat pratinjau grup alert setelah deduplikasi.

      Catatan

      Pengujian deduplikasi hanya berlaku untuk 10 catatan data terbaru yang diunggah di bagian kiri bagian Event Mapping.

  8. Setelah mengonfigurasi pengaturan, klik Save.

Lihat detail event alert

  1. Di panel navigasi sebelah kiri ARMS console, pilih Alert Management > Alert Event History.

  2. Di halaman Alert Event History, klik nama event alert untuk melihat detail event tersebut. Untuk informasi selengkapnya, lihat View alert event history.

Kelola integrasi

Di panel navigasi sebelah kiri, pilih Alert Management > Integrations. Di tab Alert Integration, Anda dapat melakukan operasi berikut pada integrasi yang telah Anda buat:

  • Lihat detail integrasi: Temukan integrasi lalu klik baris tersebut. Di halaman Integration Details, lihat detail integrasi.

  • Perbarui kunci: Untuk memodifikasi kunci integrasi, pilih More > Update Key di kolom Actions untuk integrasi target dan klik Confirm.

    Penting

    Setelah memperbarui kunci, Anda harus memodifikasi alamat integrasi dalam file skrip. Untuk informasi selengkapnya, lihat Langkah 2: Konfigurasikan alert Nagios.

  • Modifikasi integrasi: Temukan integrasi lalu klik Edit di kolom Actions. Di halaman Integration Details, modifikasi informasi integrasi lalu klik Save.

  • Aktifkan atau nonaktifkan integrasi: Temukan integrasi lalu klik Disable atau Enable di kolom Actions.

  • Hapus integrasi: Temukan integrasi lalu klik Delete di kolom Actions. Di pesan yang muncul, klik OK.

  • Tambahkan alur pemrosesan event ke integrasi: Temukan integrasi dan klik Add Event Processing Flow di kolom Actions. Untuk informasi selengkapnya, lihat Event processing flow.

  • Buat kebijakan notifikasi: Temukan integrasi yang ingin Anda buat kebijakan notifikasinya, lalu klik More di kolom Actions. Di daftar yang muncul, klik Create Notification Policy. Untuk informasi selengkapnya, lihat Notification policies.

Langkah selanjutnya

Setelah membuat kebijakan notifikasi, sistem akan menghasilkan alert dan mengirimkan notifikasi alert untuk event alert yang dilaporkan berdasarkan kebijakan notifikasi yang Anda buat. Untuk informasi selengkapnya, lihat Notification policies. Di halaman Alert Sending History, Anda dapat melihat alert yang dihasilkan berdasarkan kebijakan notifikasi yang dikonfigurasi. Untuk informasi selengkapnya, lihat View alert sending history.