Nagios - Panduan Cepat

Siklus hidup DevOps adalah pengulangan berkelanjutan dari beberapa tahapan, pemantauan berkelanjutan adalah tahapan terakhir dari pengulangan ini. Pemantauan berkelanjutan adalah salah satu tahapan dalam siklus hidup ini. Dalam bab ini, mari kita pelajari secara detail tentang apa itu pemantauan berkelanjutan dan bagaimana Nagios berguna untuk tujuan ini.

Apa itu Pemantauan Berkelanjutan

Pemantauan berkelanjutan dimulai saat penerapan dilakukan di server produksi. Sejak saat itu, tahap ini bertanggung jawab untuk memantau segala sesuatu yang terjadi. Tahap ini sangat penting untuk produktivitas bisnis.

Ada beberapa manfaat menggunakan pemantauan berkelanjutan -

  • Ini mendeteksi semua masalah server dan jaringan.
  • Ia menemukan akar penyebab kegagalan.
  • Ini membantu dalam mengurangi biaya perawatan.
  • Ini membantu dalam memecahkan masalah kinerja.
  • Ini membantu dalam memperbarui infrastruktur sebelum menjadi usang.
  • Itu dapat memperbaiki masalah secara otomatis saat terdeteksi.
  • Itu memastikan server, layanan, aplikasi, jaringan selalu aktif dan berjalan.
  • Ini memonitor infrastruktur lengkap setiap detik.

Apa itu Nagios

Nagios adalah alat pemantauan kontinu open source yang memantau jaringan, aplikasi, dan server. Itu dapat menemukan dan memperbaiki masalah yang terdeteksi di infrastruktur, dan menghentikan masalah di masa depan sebelum mempengaruhi pengguna akhir. Ini memberikan status lengkap infrastruktur TI Anda dan kinerjanya.

Mengapa Nagios

Nagios menawarkan fitur berikut sehingga dapat digunakan oleh sekelompok besar komunitas pengguna -

  • Itu dapat memonitor server Database seperti SQL Server, Oracle, Mysql, Postgres
  • Ini memberikan informasi tingkat aplikasi (Apache, Postfix, LDAP, Citrix dll.).
  • Menyediakan pengembangan aktif.
  • Memiliki dukungan yang sangat baik dari komunitas aktif yang besar.
  • Nagios berjalan di sistem operasi apa pun.
  • Itu dapat melakukan ping untuk melihat apakah host dapat dijangkau.

Manfaat Nagios

Nagios menawarkan manfaat berikut bagi pengguna -

  • Ini membantu dalam menyingkirkan pengujian berkala.
  • Ini mendeteksi kegagalan sepersekian detik saat tali pergelangan tangan masih dalam tahap "intermiten".
  • Ini mengurangi biaya perawatan tanpa mengorbankan kinerja.
  • Ini memberikan pemberitahuan tepat waktu kepada manajemen kontrol dan kerusakan.

Bab ini membahas secara detail tentang arsitektur Nagios.

Arsitektur Nagios

Poin-poin berikut penting tentang arsitektur Nagios -

  • Nagios memiliki arsitektur agen-server.

  • Server Nagios diinstal pada host dan plugin diinstal pada host / server jarak jauh yang akan dipantau.

  • Nagios mengirimkan sinyal melalui penjadwal proses untuk menjalankan plugin di host / server lokal / jarak jauh.

  • Plugin mengumpulkan data (penggunaan CPU, penggunaan memori, dll.) Dan mengirimkannya kembali ke penjadwal.

  • Kemudian jadwal proses mengirim notifikasi ke admin / s dan update Nagios GUI.

Gambar berikut menunjukkan Arsitektur Agen Server Nagios secara detail -

Nagios berisi berbagai produk seperti yang dibahas secara rinci di bawah ini -

Nagios XI

Ini menyediakan pemantauan untuk komponen infrastruktur TI lengkap seperti aplikasi, layanan, jaringan, sistem operasi, dll. Ini memberikan gambaran lengkap tentang infrastruktur dan proses bisnis Anda. GUI mudah disesuaikan memberikan fleksibilitas yang digunakan. Edisi standar alat ini berharga $ 1995 dan edisi perusahaan seharga $ 3495.

Inti Nagios

Ini adalah inti dari pemantauan infrastruktur TI. Produk Nagios XI juga pada dasarnya didasarkan pada inti Nagios. Setiap kali ada masalah kegagalan dalam infrastruktur, itu mengirimkan peringatan / pemberitahuan ke admin yang dapat mengambil tindakan dengan cepat untuk menyelesaikan masalah. Alat ini benar-benar gratis.

Server Log Nagios

Itu membuat pencarian data log sangat sederhana dan mudah. Itu menyimpan semua data log di satu lokasi dengan pengaturan ketersediaan tinggi. Itu dapat dengan mudah mengirim peringatan jika ada masalah yang ditemukan dalam data log. Ini dapat menskalakan hingga 1000-an server memberikan lebih banyak kekuatan, kecepatan, penyimpanan, dan keandalan untuk platform analisis log Anda. Harga alat ini bergantung pada jumlah instans - 1 Mesin Virtual $ 3995, 2 Mesin Virtual $ 4995, 3 Mesin Virtual $ 5995, 4 Mesin Virtual $ 6995, 10 Mesin Virtual $ 14995.

Fusion Nagios

Produk ini memberikan tampilan terpusat dari sistem pemantauan lengkap. Dengan Nagios Fusion, Anda memindai pengaturan server pemantauan terpisah untuk geografi terpisah. Itu dapat dengan mudah diintegrasikan dengan inti Nagios XI dan Nagios untuk memberikan visibilitas infrastruktur yang lengkap. Alat ini berharga $ 2495.

Nagios Network Analyzer

Ini memberikan informasi lengkap tentang infrastruktur jaringan kepada admin dengan potensi ancaman pada jaringan sehingga admin dapat mengambil tindakan cepat. Ini membagikan data yang sangat rinci tentang jaringan setelah analisis jaringan yang mendalam. Alat ini berharga $ 1995.

Pada bab ini, langkah-langkah untuk mengatur Nagios di Ubuntu dibahas secara rinci.

Sebelum Anda menginstal Nagios, beberapa paket seperti Apache, PHP, paket pembangunan, dll., Harus ada di sistem Ubuntu Anda. Karenanya, mari kita instal terlebih dahulu.

Step 1 - Jalankan perintah berikut untuk menginstal paket yang diperlukan sebelumnya -

sudo apt-get install wget build-essential apache2 php apache2-mod-php7.0 php-gd
libgd-dev sendmail unzip

Step 2 - Selanjutnya, buat pengguna dan grup untuk Nagios dan tambahkan ke Apache www-data user.

sudo useradd nagios
sudo groupadd nagcmd
sudo usermod -a -G nagcmd nagios
sudo usermod -a -G nagios,nagcmd www-data

Step 3 - Unduh paket Nagios terbaru.

wget https://assets.nagios.com/downloads/nagioscore/releases/nagios-
4.4.3.tar.gz

Step 4 - Ekstrak file tarball.

tar -xzf nagios-4.4.3.tar.gz
cd nagios-4.4.3/

Step 5 - Jalankan perintah berikut untuk mengkompilasi Nagios dari sumber.

./configure --with-nagios-group=nagios --with-command-group=nagcmd

Step 6 - Jalankan perintah berikut untuk membangun file Nagios.

make all

Step 7 - Jalankan perintah yang ditunjukkan di bawah ini untuk menginstal semua file Nagios.

sudo make install

Step 8 - Jalankan perintah berikut untuk menginstal file konfigurasi perintah init dan eksternal.

sudo make install-commandmode
sudo make install-init
sudo make install-config
sudo /usr/bin/install -c -m 644 sample-config/httpd.conf /etc/apache2/sitesavailable/
nagios.conf

Step 9 - Sekarang salin direktori event handler ke direktori Nagios.

sudo cp -R contrib/eventhandlers/ /usr/local/nagios/libexec/
sudo chown -R nagios:nagios /usr/local/nagios/libexec/eventhandlers

Step 10 - Unduh dan ekstrak plugin Nagios.

cd
wget https://nagios-plugins.org/download/nagiosplugins-
2.2.1.tar.gz
tar -xzf nagios-plugins*.tar.gz
cd nagios-plugins-2.2.1/

Step 11 - Instal plugin Nagios menggunakan perintah di bawah ini.

./configure --with-nagios-user=nagios --with-nagios-group=nagios --with-openssl
make
sudo make install

Step 12 - Sekarang edit file konfigurasi Nagios dan hapus komentar nomor baris 51 → cfg_dir = / usr / local / nagios / etc / servers

sudo gedit /usr/local/nagios/etc/nagios.cfg

Step 13 - Sekarang, buat direktori server.

sudo mkdir -p /usr/local/nagios/etc/servers

Step 14 - Edit file konfigurasi kontak.

sudo gedit /usr/local/nagios/etc/objects/contacts.cfg

Step 15 - Sekarang aktifkan modul Apache dan konfigurasikan nagiosadmin pengguna.

sudo a2enmod rewrite
sudo a2enmod cgi
sudo htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
sudo ln -s /etc/apache2/sites-available/nagios.conf /etc/apache2/sites-enabled/

Step 16 - Sekarang, restart Apache dan Nagios.

service apache2 restart
service nagios start
cd /etc/init.d/
sudo cp /etc/init.d/skeleton /etc/init.d/Nagios

Step 17 - Edit file Nagios.

sudo gedit /etc/init.d/Nagios
DESC = "Nagios"
NAME = nagios
DAEMON = /usr/local/nagios/bin/$NAME
DAEMON_ARGS = "-d /usr/local/nagios/etc/nagios.cfg"
PIDFILE = /usr/local/nagios/var/$NAME.lock

Step 18 - Jadikan file Nagios dapat dieksekusi dan mulai Nagios.

sudo chmod +x /etc/init.d/nagios
service apache2 restart
service nagios start

Step 19 - Sekarang buka browser Anda dan buka url → http://localhost/nagios. Sekarang login ke Nagios dengan nama pengguna nagiosadmin dan gunakan kata sandi yang telah Anda atur sebelumnya. Layar login Nagios seperti yang ditunjukkan pada gambar di bawah ini -

Jika Anda telah mengikuti semua langkah dengan benar, antarmuka web Nagios Anda akan muncul. Anda dapat menemukan dasbor Nagios seperti yang ditunjukkan di bawah ini -

Di bab sebelumnya, kita telah melihat instalasi Nagios. Dalam bab ini, mari kita pahami konfigurasinya secara detail.

File konfigurasi Nagios terletak di / usr / local / nagios / etc. File-file ini ditunjukkan pada gambar yang diberikan di bawah ini -

Mari kita pahami pentingnya setiap file sekarang -

nagios.cfg

Ini adalah file konfigurasi utama inti Nagios. File ini berisi lokasi file log Nagios, interval pembaruan status host dan layanan, file kunci, dan file status.dat. Pengguna dan grup Nagios tempat menjalankan instance ditentukan dalam file ini. Ini memiliki jalur semua file konfigurasi objek individual seperti perintah, kontak, templat, dll.

cgi.cfg

Secara default, file konfigurasi CGI Nagios dinamai cgi.cfg. Ia memberitahu CGI di mana menemukan file konfigurasi utama. CGI akan membaca file konfigurasi utama dan host untuk data lain yang mungkin mereka butuhkan. Ini berisi semua informasi pengguna dan grup serta hak dan izin mereka. Ini juga memiliki jalur untuk semua file frontend Nagios.

resource.cfg

Anda dapat menentukan $ USERx $ makro dalam file ini, yang selanjutnya dapat digunakan dalam definisi perintah di file konfigurasi host Anda. $ USERx $ macro berguna untuk menyimpan informasi sensitif seperti nama pengguna, kata sandi, dll.

Mereka juga berguna untuk menentukan jalur ke plugin dan event handler - jika Anda memutuskan untuk memindahkan plugin atau event handler ke direktori yang berbeda di masa mendatang, Anda dapat memperbarui satu atau dua $ USERx $ makro, daripada memodifikasi banyak definisi perintah. File sumber daya juga dapat digunakan untuk menyimpan arahan konfigurasi untuk sumber data eksternal seperti MySQL.

File konfigurasi di dalam direktori objek digunakan untuk mendefinisikan perintah, kontak, host, layanan, dll.

commands.cfg

File konfigurasi ini memberi Anda beberapa contoh definisi perintah yang dapat Anda rujuk dalam definisi host, layanan, dan kontak. Perintah ini digunakan untuk memeriksa dan memantau host dan layanan. Anda dapat menjalankan perintah ini secara lokal di konsol Linux di mana Anda juga akan mendapatkan output dari perintah yang Anda jalankan.

Contoh

define command {
   command_name check_local_disk
   command_line $USER1$/check_disk -w $ARG1$ -c $ARG2$ -p $ARG3$
}

define command {
   command_name check_local_load
   command_line $USER1$/check_load -w $ARG1$ -c $ARG2$
}

define command {
   command_name check_local_procs
   command_line $USER1$/check_procs -w $ARG1$ -c $ARG2$ -s $ARG3$
}

contacts.cfg

File ini berisi informasi kontak dan grup Nagios. Secara default, satu kontak sudah ada admin Nagios.

Contoh

define contact {
   contact_name nagiosadmin
   use generic-contact
   alias Nagios Admin
   email [email protected]
}

define contactgroup {
   contactgroup_name admins
   alias Nagios Administrators
   members nagiosadmin
}

templates.cfg

File konfigurasi ini memberi Anda beberapa contoh template definisi objek yang dirujuk oleh definisi host, layanan, kontak, dll. Di file konfigurasi lainnya.

timeperiods.cfg

File konfigurasi ini memberi Anda beberapa contoh definisi jangka waktu yang dapat Anda rujuk dalam definisi host, layanan, kontak, dan dependensi.

Nagios adalah alat pemantauan dengan banyak fitur seperti yang diberikan di bawah ini -

  • Nagios Core adalah open source, karenanya gratis untuk digunakan.

  • Mesin pemantauan yang kuat yang dapat menskalakan dan mengelola 1000-an host dan server.

  • Dasbor web yang komprehensif memberikan visibilitas komponen jaringan lengkap dan data pemantauan.

  • Ini memiliki kemampuan multi-penyewa di mana banyak pengguna memiliki akses ke dasbor Nagios.

  • Ini memiliki arsitektur yang dapat diperpanjang yang dapat dengan mudah diintegrasikan dengan aplikasi pihak ketiga dengan beberapa API.

  • Nagios memiliki komunitas yang sangat aktif dan besar dengan lebih dari 1 juta + pengguna di seluruh dunia.

  • Sistem peringatan cepat, mengirimkan peringatan ke admin segera setelah masalah teridentifikasi.

  • Beberapa plugin tersedia untuk mendukung Nagios, plugin berkode khusus juga dapat digunakan dengan Nagios.

  • Ini memiliki sistem log dan basis data yang baik yang menyimpan semua yang terjadi di jaringan dengan mudah.

  • Fitur Perencanaan Proaktif membantu untuk mengetahui kapan saatnya untuk meningkatkan infrastruktur.

Nagios dapat diterapkan ke berbagai aplikasi. Mereka diberikan di sini -

  • Pantau sumber daya host seperti ruang disk, log sistem, dll.

  • Pantau sumber daya jaringan - http, ftp, smtp, ssh dll.

  • Pantau file log terus menerus untuk mengidentifikasi infra-masalah.

  • Pantau aplikasi windows / linux / unix / web dan statusnya.

  • Nagios Remote Plugin Executer (NRPE) dapat memantau layanan dari jarak jauh.

  • Jalankan pemeriksaan layanan secara paralel.

  • Terowongan SSH atau SSL juga dapat digunakan untuk pemantauan jarak jauh.

  • Kirim peringatan / notifikasi

  • melalui email, sms, pager tentang masalah apa pun pada infrastruktur

  • Merekomendasikan kapan harus meningkatkan infrastruktur TI.

Nagios adalah alat paling populer yang digunakan untuk memantau host dan layanan yang berjalan di infrastruktur TI Anda. Konfigurasi host dan layanan adalah blok bangunan Nagios Core.

  • Host seperti komputer; itu bisa berupa perangkat fisik atau virtual.

  • Layanan adalah layanan yang digunakan oleh Nagios untuk memeriksa sesuatu tentang host.

Anda dapat membuat file host di dalam direktori server Nagios dan menyebutkan definisi host dan layanan. Misalnya -

sudo gedit /usr/local/nagios/etc/servers/ubuntu_host.cfg

# File konfigurasi Host Ubuntu

define host {
   use linux-server
   host_name ubuntu_host
   alias Ubuntu Host
   address 192.168.1.10
   register 1
}
define service {
   host_name ubuntu_host
   service_description PING
   check_command check_ping!100.0,20%!500.0,60%
   max_check_attempts 2
   check_interval 2
   retry_interval 2
   check_period 24x7
   check_freshness 1
   contact_groups admins
   notification_interval 2
   notification_period 24x7
   notifications_enabled 1
   register 1
}

Definisi di atas menambahkan host yang disebut ubuntu_host dan mendefinisikan layanan yang akan dijalankan di host ini. Saat Anda memulai ulang Nagios, host ini akan mulai dipantau oleh Nagios dan layanan yang ditentukan akan berjalan.

Ada lebih banyak layanan di Nagios yang dapat digunakan untuk memantau hampir semua hal di host yang sedang berjalan.

Definisi perintah mendefinisikan perintah. Perintah termasuk pemeriksaan layanan, pemberitahuan layanan, penangan kejadian layanan, pemeriksaan tuan rumah, pemberitahuan tuan rumah, dan penangan kejadian tuan rumah. Definisi perintah untuk Nagios didefinisikan dalam file commands.cfg.

Berikut ini adalah format untuk mendefinisikan sebuah Command -

define command {
   command_name command_name
   command_line command_line
}

Command name- Direktif ini digunakan untuk mengidentifikasi perintah. Definisi kontak, host, dan layanan direferensikan dengan nama perintah.

Command line - Direktif ini digunakan untuk menentukan apa yang dijalankan oleh Nagios ketika perintah digunakan untuk layanan atau pemeriksaan host, pemberitahuan, atau penangan acara.

Contoh

define command{
   command_name check_ssh
   command_line /usr/lib/nagios/plugins/check_ssh ‘$HOSTADDRESS$’
}

Perintah ini akan menjalankan plugin - / usr / libl / nagios / plugins / check_ssh dengan 1 parameter: '$ HOSTADDRESS $'

Definisi host yang sangat singkat yang akan menggunakan perintah pemeriksaan ini bisa serupa dengan yang ditunjukkan di sini -

define host{
   host_name host_tutorial
   address 10.0.0.1
   check_command check_ssh
}

Definisi perintah memberi tahu cara melakukan pemeriksaan host / layanan. Juga menentukan cara menghasilkan pemberitahuan jika ada masalah yang teridentifikasi dan untuk menangani peristiwa apa pun. Ada beberapa perintah untuk melakukan pemeriksaan, seperti perintah untuk memeriksa apakah SSH berfungsi dengan baik atau tidak, perintah untuk memeriksa apakah database sudah aktif dan berjalan, perintah untuk memeriksa apakah suatu host masih hidup atau tidak, dan banyak lagi.

Ada perintah yang memberi tahu pengguna masalah apa yang ada di infrastruktur. Anda dapat membuat perintah khusus Anda sendiri atau menggunakan perintah pihak ketiga apa pun di Nagios, dan mereka diperlakukan mirip dengan proyek plugin Nagios, tidak ada perbedaan di antara keduanya.

Anda juga dapat meneruskan argumen dalam perintah, ini memberikan lebih banyak fleksibilitas dalam melakukan pemeriksaan. Ini adalah bagaimana Anda perlu mendefinisikan perintah dengan parameter -

define command {
   command_name check-host-alive-limits
   command_line $USER5$/check_ping -H $HOSTADDRESS$ -w $ARG1$ -c $ARG2$ -p 5
}

Definisi host untuk perintah di atas -

define host {
   host_name system2
   address 10.0.15.1
   check_command check-host-alive-limits!1000.0,70%!5000.0,100%
}

Anda dapat menjalankan perintah eksternal di Nagios dengan menambahkannya ke file perintah yang diproses oleh daemon Nagios secara berkala.

Dengan perintah Eksternal Anda dapat mencapai banyak pemeriksaan saat Nagios berjalan. Anda dapat menonaktifkan sementara beberapa pemeriksaan, atau memaksa beberapa pemeriksaan untuk segera dijalankan, menonaktifkan pemberitahuan sementara dll. Berikut ini adalah sintaks perintah eksternal di Nagios yang harus ditulis dalam file perintah -

[time] command_id;command_arguments

Anda juga dapat melihat daftar semua perintah eksternal yang dapat digunakan di Nagios di sini -https://assets.nagios.com/downloads/nagioscore/docs/externalcmds/

Setelah host dan layanan dikonfigurasi di Nagios, pemeriksaan digunakan untuk melihat apakah host dan layanan berfungsi sebagaimana mestinya atau tidak. Mari kita lihat contoh untuk melakukan pemeriksaan pada host -

Pertimbangkan bahwa Anda telah meletakkan definisi host Anda di dalam file host1.cfg di direktori / usr / local / nagios / etc / objects.

cd /usr/local/nagios/etc/objects
gedit host1.cfg

Beginilah tampilan definisi host Anda saat ini -

define host {
   host_name host1
   address 10.0.0.1
}

Sekarang mari kita tambahkan direktif check_interval. Petunjuk ini digunakan untuk melakukan pemeriksaan terjadwal dari host untuk nomor yang Anda setel; secara default dalam beberapa menit. Menggunakan definisi di bawah ini, pemeriksaan host akan dilakukan setiap 3 menit.

define host {
   host_name host1
   address 10.0.0.1
   check_interval 3
}

Di Nagios, 2 jenis pemeriksaan dilakukan pada host dan layanan -

  • Cek Aktif
  • Pemeriksaan Pasif

Cek Aktif

Pemeriksaan aktif dimulai oleh proses Nagios dan kemudian dijalankan secara terjadwal. Logika cek di dalam proses Nagios memulai pemeriksaan Aktif. Untuk memantau host dan layanan yang berjalan pada mesin jarak jauh, Nagios menjalankan plugin dan memberi tahu informasi apa yang harus dikumpulkan. Plugin kemudian dijalankan pada mesin jarak jauh di mana mengumpulkan informasi yang diperlukan dan mengirimkannya kembali ke daemon Nagios. Bergantung pada status yang diterima pada host dan layanan, tindakan yang tepat diambil.

Gambar yang ditunjukkan di bawah ini menunjukkan cek aktif -

Ini dijalankan secara berkala, seperti yang didefinisikan oleh check_interval dan retry_interval.

Pemeriksaan pasif dilakukan oleh proses eksternal dan hasilnya diberikan kembali ke Nagios untuk diproses.

Pemeriksaan pasif berfungsi seperti yang dijelaskan di sini -

Aplikasi eksternal memeriksa status pada host / layanan dan menulis hasilnya ke File Perintah Eksternal. Ketika daemon Nagios membaca file perintah eksternal, ia membaca dan mengirim semua pemeriksaan pasif dalam antrian untuk diproses nanti. Secara berkala ketika cek ini diproses, pemberitahuan atau peringatan dikirim tergantung pada informasi dalam hasil pemeriksaan.

Gambar yang ditunjukkan di bawah ini menunjukkan cek pasif -

Jadi, perbedaan antara pemeriksaan aktif dan pasif adalah pemeriksaan aktif dijalankan oleh Nagios dan pemeriksaan pasif dijalankan oleh aplikasi eksternal.

Pemeriksaan ini berguna ketika Anda tidak dapat memantau host / layanan secara teratur.

Nagios menyimpan status host dan layanan yang dipantau untuk menentukan apakah mereka berfungsi dengan baik atau tidak. Akan ada banyak kasus ketika kegagalan terjadi secara acak dan bersifat sementara; karenanya Nagios menggunakan status untuk memeriksa status terkini dari suatu host atau layanan.

Ada dua jenis negara bagian -

  • Keadaan lunak
  • Kondisi sulit

Keadaan lunak

Ketika sebuah host atau layanan sedang down untuk durasi waktu yang sangat singkat dan statusnya tidak diketahui atau berbeda dari yang sebelumnya, maka status lunak digunakan. Tuan rumah atau layanan akan diuji lagi dan lagi sampai statusnya permanen.

Kondisi Sulit

Ketika max_check_attempts dijalankan dan status host atau layanan masih belum OK, maka hard state digunakan. Nagios menjalankan penangan kejadian untuk menangani keadaan sulit.

Gambar berikut menunjukkan status lunak dan status keras.

Bab ini memberikan gambaran tentang port dan protokol yang terdiri dari Nagios.

Protokol

Protokol default yang digunakan oleh Nagios seperti yang diberikan di bawah -

  • http (s), port 80 dan 443 - Antarmuka produk berbasis web di Nagios. Agen Nagios dapat menggunakan http untuk memindahkan data.

  • snmp, port 161 dan 162 - snmp adalah bagian penting dari pemantauan jaringan. Port 161 digunakan untuk mengirim permintaan ke node dan posting 162 digunakan untuk menerima hasil.

  • ssh, port 22 - Nagios dibuat untuk berjalan secara native di CentOS atau RHEL Linux. Administrator dapat masuk ke Nagios melalui SSH kapan pun mereka mau dan melakukan pemeriksaan.

Pelabuhan

Port default yang digunakan oleh Plugin Nagios umum adalah seperti yang diberikan di bawah -

  • Butcheck_nt (nsclient ++) 12489
  • NRPE 5666
  • NSCA 5667
  • NCPA 5693
  • MSSQL 1433
  • MySQL 3306
  • PostgreSQL 5432
  • MongoDB 27017, 27018
  • OracleDB 1521
  • Email (SMTP) 25, 465, 587
  • WMI 135, 445 / port tambahan yang ditetapkan secara dinamis dalam kisaran 1024-1034

Plugin membantu untuk memantau database, sistem operasi, aplikasi, peralatan jaringan, protokol dengan Nagios. Plugin adalah file executable atau skrip yang dikompilasi (Perl atau non-Perl) yang memperluas fungsionalitas Nagios untuk memantau server dan host. Nagios akan menjalankan Plugin untuk memeriksa status layanan atau host. Nagios dapat dikompilasi dengan dukungan interpreter Perl tertanam untuk menjalankan plugin Perl. Tanpa itu, Nagios mengeksekusi plugin Perl dan non-Perl dengan forking dan mengeksekusi plugin sebagai perintah eksternal.

Jenis Plugin Nagios

Nagios memiliki plugin berikut yang tersedia di dalamnya -

Official Nagios Plugins- Ada 50 Plugin Nagios resmi. Plugin Nagios resmi dikembangkan dan dikelola oleh Tim Plugin Nagios resmi.

Community Plugins - Ada lebih dari 3.000 plugin Nagios pihak ketiga yang telah dikembangkan oleh ratusan anggota komunitas Nagios.

Custom Plugins- Anda juga dapat menulis Plugin Kustom Anda sendiri. Ada pedoman tertentu yang harus diikuti untuk menulis Plugin Kustom.

Panduan Penulisan Plugin Nagios Kustom

Saat menulis plugin khusus di Nagios, Anda harus mengikuti panduan yang diberikan di bawah ini -

  • Plugin harus menyediakan opsi baris perintah "-V" (verifikasi perubahan konfigurasi)
  • Cetak hanya satu baris teks
  • Cetak diagnostik dan hanya sebagian dari pesan bantuan
  • Plugin jaringan menggunakan DEFAULT_SOCKET_TIMEOUT untuk waktu tunggu
  • "-v", atau "--verbose“ terkait dengan tingkat verbositas
  • "-t" atau "--timeout" (batas waktu plugin);
  • "-w" atau "--warning" (ambang peringatan);
  • "-c" atau "--critical" (ambang kritis);
  • "-H" atau "--hostname" (nama host yang akan diperiksa)

Beberapa plugin Nagios berjalan dan melakukan pemeriksaan pada saat yang bersamaan, agar semuanya berjalan dengan lancar bersama-sama, plugin Nagios mengikuti kode status. Tabel yang diberikan di bawah ini memberi tahu status kode keluar dan deskripsinya -

Kode Keluar Status Deskripsi
0 baik Bekerja dengan baik
1 PERINGATAN Bekerja dengan baik, tetapi membutuhkan perhatian
2 KRITIS Tidak bekerja dengan benar
3 TIDAK DIKETAHUI Ketika plugin tidak dapat menentukan status host / layanan

Plugin Nagios menggunakan opsi untuk konfigurasinya. Berikut ini adalah beberapa parameter penting yang diterima oleh plugin Nagios -

Sr Tidak Opsi & Deskripsi
1

-h, --help

Ini memberikan bantuan

2

-V, --version

Ini mencetak versi plugin yang tepat

3

-v, --verbose

Ini membuat plugin memberikan informasi yang lebih detail tentang apa yang dilakukannya

4

-t, --timeout

Ini memberikan batas waktu (dalam detik); setelah itu, plugin akan melaporkan status KRITIS

5

-w, --warning

Ini memberikan batasan khusus plugin untuk status PERINGATAN

6

-c, --critical

Ini memberikan batas khusus plugin untuk status KRITIS

7

-H, --hostname

Ini memberikan nama host, alamat IP, atau soket Unix untuk berkomunikasi

8

-4, --use-ipv4

Ini memungkinkan Anda menggunakan IPv4 untuk konektivitas jaringan

9

-6, --use-ipv6

Ini memungkinkan Anda menggunakan IPv6 untuk konektivitas jaringan

10

-p, --port

Ini digunakan untuk menyambung ke port TCP atau UDP

11

-s, -- send

Ini memberikan string yang akan dikirim ke server

12

-e, --expect

Ini memberikan string yang harus dikirim kembali dari server

13

-q, --quit

Ini memberikan string untuk dikirim ke server untuk menutup koneksi

Paket plugin Nagios memiliki banyak pemeriksaan yang tersedia untuk host dan layanan untuk memantau infrastruktur. Mari kita coba plugin Nagios untuk melakukan beberapa pemeriksaan.

SMTP adalah protokol yang digunakan untuk mengirim email. Plugin standar Nagios memiliki perintah untuk melakukan pemeriksaan SMTP. Definisi perintah untuk SMTP -

define command {
   command_name check_smtp
   command_line $USER2$/check_smtp -H $HOSTADDRESS$
}

Mari kita gunakan plugin Nagios untuk memantau MySQL. Nagios menawarkan 2 plugin untuk memantau MySQL. Plugin pertama memeriksa apakah koneksi mysql berfungsi atau tidak, dan plugin kedua digunakan untuk menghitung waktu yang dibutuhkan untuk menjalankan kueri SQL.

Definisi perintah untuk keduanya adalah sebagai berikut -

define command {
   command_name check_mysql
   command_line $USER1$/check_mysql –H $HOSTADDRESS$ -u $ARG1$ -p $ARG2$ -d
   $ARG3$ -S –w 10 –c 30
}

define command {
   command_name check_mysql_query
   command_line $USER1$/check_mysql_query –H $HOSTADDRESS$ -u $ARG1$ -p $ARG2$ -d
   $ARG3$ -q $ARG4$ –w $ARG5$ -c $ARG6$
}

Note - Nama pengguna, kata sandi, dan nama database diperlukan sebagai argumen di kedua perintah.

Nagios menawarkan plugin untuk memeriksa ruang disk yang terpasang di semua partisi. Definisi perintahnya adalah sebagai berikut

define command {
   command_name check_partition
   command_line $USER1$/check_disk –p $ARG1$ –w $ARG2$ -c $ARG3$
}

Mayoritas pemeriksaan dapat dilakukan melalui plugin Nagios standar. Tetapi ada aplikasi yang memerlukan pemeriksaan khusus untuk memantaunya, dalam hal ini Anda dapat menggunakan plugin Nagios pihak ketiga yang akan memberikan pemeriksaan yang lebih canggih pada aplikasi tersebut. Penting untuk mengetahui tentang masalah keamanan dan perizinan saat Anda menggunakan plugin pihak ketiga dari pertukaran Nagios atau mengunduh plugin dari situs web lain.

Daemon Nagios yang menjalankan pemeriksaan pada mesin jarak jauh di NRPE (Nagios Remote Plugin Executor). Ini memungkinkan Anda untuk menjalankan plugin Nagios di komputer lain dari jarak jauh. Anda dapat memantau metrik mesin jarak jauh seperti penggunaan disk, beban CPU, dll. Ia juga dapat memeriksa metrik mesin jendela jarak jauh melalui beberapa add-on agen jendela.

Mari kita lihat cara menginstal dan mengkonfigurasi NRPE selangkah demi selangkah di mesin klien yang perlu dipantau.

Step 1 - Jalankan perintah di bawah ini untuk menginstal NRPE pada mesin linux jarak jauh yang akan dimonitor.

sudo apt-get install nagios-nrpe-server nagios-plugins

Step 2 - Sekarang, buat file host di dalam direktori server, dan letakkan semua definisi yang diperlukan untuk host.

sudo gedit /usr/local/nagios/etc/servers/ubuntu_host.cfg
# Ubuntu Host configuration file

define host {
   use linux-server
   host_name ubuntu_host
   alias Ubuntu Host
   address 192.168.1.10
   register 1
}

define service {
   host_name ubuntu_host
   service_description PING
   check_command check_ping!100.0,20%!500.0,60%
   max_check_attempts 2
   check_interval 2
   retry_interval 2
   check_period 24x7
   check_freshness 1
   contact_groups admins
   notification_interval 2
   notification_period 24x7
   notifications_enabled 1
   register 1
}

define service {
   host_name ubuntu_host
   service_description Check Users
   check_command check_local_users!20!50
   max_check_attempts 2
   check_interval 2
   retry_interval 2
   check_period 24x7
   check_freshness 1
   contact_groups admins
   notification_interval 2
   notification_period 24x7
   notifications_enabled 1
   register 1
}

define service {
   host_name ubuntu_host
   service_description Local Disk
   check_command check_local_disk!20%!10%!/
   max_check_attempts 2
   check_interval 2
   retry_interval 2
   check_period 24x7
   check_freshness 1
   groups admins
   notification_interval 2
   notification_period 24x7
   notifications_enabled 1
   register 1
}

define service {
   host_name ubuntu_host
   service_description Check SSH
   check_command check_ssh
   max_check_attempts 2
   check_interval 2
   retry_interval 2
   check_period 24x7
   check_freshness 1
   contact_groups admins
   notification_interval 2
   notification_period 24x7
   notifications_enabled 1
   register 1
}

define service {
   host_name ubuntu_host
   service_description Total Process
   check_command check_local_procs!250!400!RSZDT
   max_check_attempts 2
   check_interval 2
   retry_interval 2
   check_period 24x7
   check_freshness 1
   contact_groups admins
   notification_interval 2
   notification_period 24x7
   notifications_enabled 1
   register 1
}

Step 3 - Jalankan perintah yang ditunjukkan di bawah ini untuk verifikasi file konfigurasi.

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

Step 4 - Mulai ulang NRPE, Apache, dan Nagios jika tidak ada kesalahan.

service nagios-nrpe-server restart
service apache2 restart
service nagios restart

Step 5- Buka browser Anda dan buka antarmuka web Nagios. Anda dapat melihat host yang perlu dipantau telah ditambahkan ke layanan inti Nagios. Demikian pula, Anda dapat menambahkan lebih banyak host untuk dipantau oleh Nagios.

V-Shell adalah antarmuka web ringan untuk Nagios Core yang ditulis dalam PHP. Mudah dipasang dan digunakan dan merupakan alternatif dari keluaran Nagios. Bagian depan VShell ada di AngularJs, karenanya desainnya responsif dan modern. Ini menyediakan fungsionalitas Quicksearch dan RESTful API yang didukung oleh CodeIgniter.

Nagios VShell kompatibel dengan Nagios XI dan Nagios Core 3.x. Ini membutuhkan php 5.3 atau lebih tinggi, php-cli dan apache yang diinstal di sistem. Mari kita lihat cara menginstal Nagios VShell.

Step 1 - Buka direktori tmp dan unduh file tar vshell.

cd /tmp
wget http://assets.nagios.com/downloads/exchange/nagiosvshell/vshell.tar.gz

Step 2 - Ekstrak file tar.

tar zxf vshell.tar.gz

Step 3- Buka direktori vshell dan berikan izin yang dapat dieksekusi untuk menginstal file.php. Terakhir, jalankan skrip instal.

cd vshell
chmod +x install.php
./install.php

Step 4 - Sekarang pergilahhttps://192.168.56.101/vshell di browser Anda, login dengan nagiosadmin dan Vshell Anda akan muncul.

Dalam bab ini, mari kita lihat studi kasus dari dua organisasi yang telah berhasil menerapkan Nagios.

Bitnetix dengan Nagios

Bitnetix dalam organisasi konsultasi IT yang bergerak di bidang jaringan, pusat data, pemantauan, dan Voice over IP. Melalui penawaran mereka, mereka membuat bisnis kecil terlihat besar. Solusi mereka membantu Anda dalam mengelola hubungan pelanggan dengan cara yang lebih baik dengan meningkatkan lebih banyak keterlibatan dan meningkatkan kepuasan mereka. Mereka mengatakan bahwa mereka berada dalam bisnis komunikasi, maka mengkomunikasikan pesan yang tepat kepada pelanggan mereka pada waktu yang tepat sangat penting bagi mereka.

Bitnetix bekerja dengan pelanggan yang menyukai Pemasaran Email. Mereka biasa memantau server AWS yang dialokasikan secara dinamis dan bertanggung jawab untuk mengirimkan ribuan email ke pelanggan. Mereka sebelumnya menggunakan inti Nagios tetapi ingin pindah ke Nagios XI baru dan berintegrasi dengan koki tanpa waktu henti. Ada tantangan dalam memindahkan konfigurasi status langsung pada inti Nagios ke pemeriksaan yang sesuai di Nagios XI. Tetapi dengan Nagios, mereka dapat mengatur file konfigurasi Nagios XI dengan chef terintegrasi. Mereka dapat memindahkan semua pelanggan dari inti Nagios ke Nagios XI tanpa waktu henti. Nagios XI juga dapat berintegrasi dengan PagerDuty untuk mengirim pemberitahuan instan.

EverWatch.gobal dengan Nagios

EverWatch.global adalah organisasi manajemen dan konsultasi TI yang membantu organisasi nirlaba dan kecil / menengah. Berkantor pusat di Rochester, New York. Mereka telah memenangkan banyak penghargaan untuk pekerjaan mereka dengan Nagios.

EverWatch.global bekerja dengan klien ritel e-niaga dengan pendapatan tahunan miliaran dolar. Mereka bertanggung jawab untuk menjaga situs web tetap aktif dan berjalan setiap saat, memantau fungsi keranjang dan checkout, mengirim pemberitahuan kepada staf yang diperlukan jika terjadi pencemaran nama baik. Tantangannya adalah server klien mereka terletak 500 mil dari kantor pusatnya di New York. Untuk memantau produksi, pementasan, jaminan kualitas, dan pengembangan pada platform yang sama, konfigurasi seharusnya unik dan serupa untuk kedua area.

Dengan bantuan Nagios, mereka dapat membuat aturan firewall ssh untuk peralatan dan Pusat Operasi Jaringan. Mereka juga dapat melakukan pemeriksaan untuk kejadian pencemaran nama baik dan mengurangi kesalahan positif. Dengan mengonfigurasi penangan peristiwa di Nagios, jumlah pemberitahuan berkurang drastis. Nagios membantu mereka dengan menjaga waktu aktif situs web klien mereka hingga 98% per tahun dari 85% per tahun, ini merupakan kesuksesan besar.

"Dalam dolar riil, sebagai hasilnya perusahaan dapat mencapai hampir $ 125.000.000 dalam penjualan tambahan." Eric Loyd, CEOEverWatch Global.