Bagaimana cara saya menjalankan pemeriksaan nagios secara manual dari baris perintah?

24

Saat mendefinisikan dan menguji layanan baru dalam nagios, saya telah memulai ulang nagios, lalu mengklik layanan, dan menjadwal ulang pemeriksaan sesegera mungkin, kemudian menunggu hingga pemeriksaan terjadi.

Apakah ada cara yang lebih efisien untuk melakukan ini? Saya ingin menggunakan baris perintah untuk menjalankan pemeriksaan khusus itu dan mendapatkan hasilnya.

cwd
sumber

Jawaban:

31

Kadang-kadang saya merasa sulit mencari tahu apa yang dilakukan plugin. Untuk mengetahuinya, saya mengatur nagios ke mode debug dengan konfigurasi seperti ini. debug_level=2048 Dengan nagios dalam mode debug, saya cukup mengeklik debug_logfile debug_file=/var/log/nagios3/nagios.debug. Memaksa cek dan Anda akan melihat persis bagaimana perintah sedang dijalankan. Saya tidak akan membiarkan pengaturan ini pada normal, sangat verbose dan mengisi file log Anda dengan kecepatan tinggi.

Sakit kepala
sumber
luar biasa. ini lebih sejalan dengan apa yang saya maksudkan. hanya karena saya sudah melihat file Command.cfg untuk mencari tahu perintah mana yang sedang berjalan, tetapi saya ingin tahu flag apa yang sedang diatur. Terima kasih! :)
cwd
2
Saya juga akan mencatat untuk pengguna baru yang menggunakan tail -fakan memungkinkan Anda untuk terus melihat pembaruan ke file secara real time, dan control+cakan membatalkan ini.
cwd
2
Tingkat debug_level adalah biner - 2048 hanya menyalakan pesan dari makro. Untuk mengaktifkan semua yang Anda ingin atur debug_level = 4095. (1 + 2 + ... + 2048)
jwg
18

Sederhana saja. Hanya cd (atau tidak) ke direktori plugins (lokasi direktori ini bervariasi, tergantung pada bagaimana Anda menginstalnya, tetapi periksa / usr / local / nagios, atau / usr / lib / nagios).

Temukan plugin yang ingin Anda jalankan (jika Anda tidak yakin, bandingkan apa yang Anda lihat di direktori plugins di kotak Linux Anda dengan plugins yang ada di sini: http://exchange.nagios.org/directory/Plugins , atau coba jalankan "./plugin-name -h" untuk mendapatkan info bantuan tentang plugin).

Metode untuk menggunakan "plugin" apa saja dari baris perintah ini sama dengan skrip Linux lainnya: Jalankan saja "./plugin-name" dengan flag yang sesuai yang ingin Anda periksa, dan voila!

David W
sumber
1
+1 ... dan jika itu sepertinya terlalu banyak masalah, Anda selalu dapat melihat file konfigurasi Nagios untuk melihat perintah dan parameter apa yang perlu dijalankan. Bahkan lokasi direktori plugin ada di sana.
John Gardeniers
5
Dan perlu diingat bahwa selalu melakukannya dengan nagiospengguna su - nagios -s /bin/bash.
kuanta
bagus. dan -memuat variabel lingkungan untuk pengguna itu?
cwd
Yup, sama seperti flag linux lainnya, "-" dengan flag apa pun yang Anda gunakan akan memuat flag tersebut. (Jika saya menjalankan df -h pada linux CLI, saya menggunakan flag "h" - dalam kasus perintah df, h adalah singkatan "human readable".) Jadi jika Anda ingin menjalankan check_http check dari CLI, Anda akan menjalankan ./check_http -I, di mana flag I adalah singkatan dari IP Address ( nagiosplugins.org/man/check_http ). nagiosplugins.org/man mungkin membantu, juga direktori Plugins yang saya tautkan sebelumnya.
David W
Opsi bantuan harus --help. nagios-plugins.org/doc/guidelines.html
dmourati
5

Saya mengambil arah yang sedikit lebih kasar daripada @Zoredache, saya masuk ke server nagios dan melakukan "selagi benar; lakukan ps awwlx | grep NAGIOS_CHECK_NAME; selesai", sementara saya memaksa memeriksa ulang layanan, di mana NAGIOS_CHECK_NAME juga bagian dari nama cek atau IP server yang saya cari. Biasanya dalam beberapa detik perintah cek penuh muncul dan saya kemudian mematikan loop while dan menjalankan perintah check.

Ya, itu benar-benar brute force, tapi <shrug> itu bekerja untukku.

Sean Reifschneider
sumber
Coba "tonton" di tempat loop sementara. linux.about.com/library/cmd/blcmdl1_watch.htm
dmourati
3

Anda mungkin juga ingin mencoba plugin 'capture'. Ini pada dasarnya melakukan hal yang sama dengan level debug tahun 2048, tetapi dapat digunakan berdasarkan per-plugin. Ini menghasilkan lebih sedikit keluaran untuk digali.

http://www.waggy.at/nagios/capture_plugin.htm

Keith
sumber
1
Saya berusaha keras untuk menjalankannya, tidak yakin apa yang saya lakukan salah (noob) tetapi trik debug_level berhasil untuk saya :)
sbditto85
2

Buka direktori plugin Anda - dalam contoh saya ini

/usr/lib64/nagios/plugins/

Ketikkan nama plugin Anda - dalam contoh saya ini

check_tcp

sekarang jalankan perintah lengkap - (nama plugin) -H (hostname) -p (nomor port)

/usr/lib64/nagios/plugins/check_tcp -H myservername -p 8080

keluaran

TCP OK - 0.004 second response time on port 8080|time=0.004146s;;;0.000000;10.000000

Namun dalam contoh ini nomor port adalah opsional

contoh lain -

di file config Anda yang terlihat seperti di bawah ini (myserver.cfg) dan Anda ingin menjalankan check_cpu dari baris perintah

define service{
  use                             generic-service
  host_name                       myserver
  servicegroups                   windows
  service_description             CPU
  contact_groups                  sysadmin_email_only
  notification_options            w,c,r
  check_command                   check_nrpe!check_cpu
}

untuk memeriksa secara instan (tanpa GUI hijau atau merah)

Coba ini - (plugin path lengkap) - H (servername) -c (checkname)

/usr/lib64/nagios/plugins/check_nrpe -H spc7atc01 -c check_cpu

keluaran -

OK CPU Load ok.|'5'=4;80;90; '10'=3;80;90; '15'=3;80;90;

Itu dia

Syariah Chowdhury
sumber