GNU/Linux >> Belajar Linux >  >> Linux

Notifikasi SMS dari Nagios menggunakan Kannel

Nah, pada artikel kali ini kita akan menambahkan notifikasi SMS di Nagios.

Nagios adalah alat Pemantau Jaringan dan Server open source yang paling banyak digunakan. Jadi, kami menggunakan Nagios untuk memantau berbagai jenis host yang mendukung SNMP seperti Switch, Router, Server untuk layanan penting. Selain itu, Nagios juga dapat mengambil data kinerja server menggunakan agen NRPE. Selanjutnya visual web portal dan sound alarm, kita dapat mengirimkan email notifikasi menggunakan Nagios. Jadi, sekarang kami akan mengirimkan notifikasi SMS dari Nagios menggunakan Kannel SMS Gateway.

Kami sudah menginstal dan menjalankan server Nagios. Jadi, untuk menginstal dan mengkonfigurasi server Pemantauan Nagios, silakan periksa topik kami yang lain tentang Instalasi dan konfigurasi Nagios.

Jadi, ini akan menjadi Lingkungan Lab kami:

Nagios dan Kannel Server IP:192.168.10.38
Kannel Kirim SMS Pengguna:kannel
Kannel Kirim SMS Kata Sandi Pengguna:kannelpasswd

Mengonfigurasi Nagios:

Jadi, di Lingkungan Lab ini kami telah menginstal Nagios dari tarball sumber di direktori default /usr/local/nagios/

Pertama kita perlu mendefinisikan perintah di /usr/local/nagios/etc/objects/commands.cfg file konfigurasi objek. Jadi, untuk mendefinisikan perintah tambahkan baris di bawah ini di commands.cfg berkas

# 'notify-host-by-sms' command definition
define command{
       command_name    notify-host-by-sms
       command_line    /usr/bin/printf "%b" "Nagios: *$NOTIFICATIONTYPE$* \n$HOSTALIAS$ is $HOSTSTATE$ Info is: $HOSTOUTPUT$ Time: $SHORTDATETIME$" | /usr/bin/curl "http://192.168.10.38:13013/cgi-bin/sendsms?username=kannel&password=kannelpasswd&to=$CONTACTPAGER$" -G --data-urlencode text@-
       }

# 'notify-service-by-sms' command definition
define command{
       command_name     notify-service-by-sms
       command_line    /usr/bin/printf "%b" "Nagios: *$NOTIFICATIONTYPE$*\nService: $SERVICEDESC$\nHost: $HOSTALIAS$\nStat: $SERVICESTATE$\nInfo: $SERVICEOUTPUT$\nTime: $SHORTDATETIME$" | /usr/bin/curl "http://192.168.10.38:13013/cgi-bin/sendsms?username=kannel&password=kannelpasswd&to=$CONTACTPAGER$" -G --data-urlencode text@-
       }

Kemudian, sekarang kita akan menambahkan nomor Ponsel pengguna target notifikasi di file konfigurasi objek kontak Nagios:/usr/local/nagios/etc/objects/contacts.cfg

Contoh kontak definisi:

define contact{
       contact_name                    omar
       use                             generic-contact
       alias                           Omar Ali
       service_notification_commands   notify-service-by-sms
       host_notification_commands      notify-host-by-sms
       email                           [email protected]
       pager                           +88017XXXXXXXX
       }

Selain itu, kami dapat mengirim notifikasi SMS serta email ke kontak yang sama dengan menggunakan definisi di bawah ini

define contact{
       contact_name                    shamim
       use                             generic-contact
       alias                           Shamim Ahmed
       service_notification_commands   notify-service-by-email,notify-service-by-sms
       host_notification_commands      notify-host-by-email,notify-host-by-sms
       email                           [email protected]
       pager                           +88017YYYYYYYY
       }

Setelah itu, buat grup kontak bagi mereka yang akan mendapatkan notifikasi untuk suatu layanan. Jadi, mari kita definisikan grup kontak di bawah kontrak definisi untuk Admin Jaringan yang akan diberi tahu jika ada layanan jaringan yang gagal

define contactgroup {
   contactgroup_name       netadmins
  alias                   Network Administrators
   members                 omar,shamim
}

Jadi, kita memiliki router MikroTik yang memiliki 3 port upstream:sfp1, sfp2 dan sfp3, yang akan kita tambahkan di sistem pemantauan.

Kemudian, buat file konfigurasi objek /usr/local/nagios/etc/objects/nethosts.cfg untuk memantau Perangkat Jaringan dengan konten di bawah ini

#### Host Defination ####
define host {
   use                     generic-switch
   host_name               router-1
   alias                   Router-1
   address                 192.168.10.1
   hostgroups              net-hosts
   notifications_enabled   1
   contact_groups          netadmins
}


#### Host Group Defination ####
define hostgroup {
   hostgroup_name          net-hosts
   alias                   Network Hosts
}


#### Service Defination for Network hosts ####
define service {
   use                     generic-service
   host_name               router-1
   service_description     SFP-1
   check_command           check_snmp!-C snmpCommunity -o ifOperStatus.1 -r 1 -m RFC1213-MIB
   check_interval          3
   retry_interval          1
   notifications_enabled   1
   contact_groups          netadmins
}

define service {
   use                     generic-service
   host_name               router-1
   service_description     SFP-2
   check_command           check_snmp!-C snmpCommunity -o ifOperStatus.2 -r 1 -m RFC1213-MIB
   check_interval          3
   retry_interval          1
   notifications_enabled   1
   contact_groups          netadmins
}

define service {
   use                     generic-service
   host_name               router-1
   service_description     SFP-3
   check_command           check_snmp!-C snmpCommunity -o ifOperStatus.3 -r 1 -m RFC1213-MIB
   check_interval          3
   retry_interval          1
   notifications_enabled   1
   contact_groups          netadmins
}

Di atas check_snmp perintah membutuhkan MIB:RFC1213-MIB, yang harus diinstal sebelumnya di sistem Anda. Jadi, jika tidak ada di sistem Anda, Anda dapat mengunduh dan menginstalnya dengan menggunakan paket-paket di bawah ini

Untuk Debian/Ubuntu: Instal snmp-mibs-downloader dari tidak gratis repo, lalu jalankan download-mibs perintah dari shell

# apt-get install -y snmp-mibs-downloader
# download-mibs

Jadi, jika Anda menggunakan CentOS 7/8

# yum install net-snmp-libs

Juga, sertakan file konfigurasi objek nethosts.cfg di /usr/local/nagios/etc/nagios.cfg

Jadi, jalankan /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg untuk memverifikasi konfigurasi Anda

# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

Jadi, jika tidak ada kesalahan, restart Layanan Nagios

# systemctl restart nagios.service

Pemberitahuan Nagios:

Kemudian, periksa portal Nagios untuk Status port Router-1

Jadi, Kami menemukan semua 3 port SFP dalam berjalan/berjalan negara. Sekarang kita akan memutuskan sambungan port SFP-1 secara manual yang akan memicu notifikasi turun dan mengirim SMS ke Grup Admin Jaringan

Log Pemberitahuan Nagios:

Log Kannel:

Menyambungkan kembali kabel:

Periksa juga Notifikasi Log:

Log Kannel:

Akhirnya, Ponsel penerima:


Linux
  1. Bagaimana Mengkompilasi Ulang Apache Menggunakan EasyApache dari WHM?

  2. Hubungkan ke Linux dari Mac OS X dengan menggunakan Terminal

  3. Terhubung ke Linux dari Windows dengan menggunakan Putty

  1. Menggunakan putty untuk scp dari windows ke Linux

  2. Cara menghentikan nginx dari menggunakan port 80

  3. SSH dari A sampai B ke C, menggunakan kunci privat di B

  1. Fedora 22 meningkatkan dari Fedora 21 menggunakan Fedup

  2. Cara Membangun Paket Dari Sumber Menggunakan CheckInstall

  3. Menggunakan Reddit dari konsol pada tahun 2020