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: