Grup host dan template.
Template memungkinkan Anda menentukan kelas untuk host dan layanan Anda, mis. "Layanan normal", "layanan kritis", "host prioritas rendah". Mereka juga berfungsi sebagai cara yang berguna untuk membagi tanggung jawab jika Anda memiliki banyak tim dengan tanggung jawab yang berbeda, sehingga Anda dapat memiliki templat "host linux" dan templat "host windows", dengan masing-masing menentukan info kontak yang sesuai.
Anda dapat menggunakan beberapa templat pada satu sumber daya tunggal, sehingga Anda dapat menyusun templat ortogonal yang sesuai. Misalnya, Anda bisa memilikinya
host foo {
use windows-host,normal-priority-host
...
}
yang akan menarik info kontak (dan eskalasi) untuk tim Windows dan tingkat pemungutan suara dan ambang batas untuk host "normal".
Hostgroup memungkinkan Anda mengelompokkan semua cek untuk subset host Anda. Memiliki hal-hal seperti "baseline-linux-hosts" yang memeriksa beban, ruang disk, ssh
kemampuan, dan apa pun hal lain yang harus ada di setiap host yang Anda monitor. Tambahkan grup seperti "https-server" dengan cek untuk konektivitas HTTP, konektivitas HTTPS, dan tanggal kedaluwarsa sertifikat SSL; "fileservers" dengan pemeriksaan untuk aksesibilitas NFS dan SMB dan mungkin pemeriksaan disk yang lebih agresif; atau "mesin virtual" dengan pemeriksaan apakah alat aksesibilitas VM berjalan dengan benar.
Tempatkan setiap host dan hostgroup dalam file sendiri. File itu harus mengandung definisi host atau hostgroup terlebih dahulu, diikuti oleh definisi layanan yang berlaku untuknya.
Jika Anda menggunakan cfg_dir
arahan dalam nagios.cfg
file Anda , Nagios akan mencari secara rekursif melalui direktori itu. Manfaatkan itu. Untuk pengaturan cfg_dir=/etc/nagios/conf.d
, Anda dapat memiliki pohon direktori seperti berikut:
- /etc/nagios/conf.d/
- perintah.d /
- http.cfg
- nrpe.cfg
- smtp.cfg
- ssh.cfg
- hosts.d /
- host1.cfg
- host2.cfg
- host3.cfg
- hostgroups.d /
- hostgroup1.cfg
- hostgroup2.cfg
Saya cenderung membuat direktori untuk setiap jenis sumber daya (perintah, grup kontak, kontak, peningkatan, grup host, host, grup layanan, timeperiod) kecuali untuk layanan, yang dikelompokkan dengan host atau grup host yang menggunakannya.
Struktur yang tepat dapat bervariasi sesuai dengan kebutuhan organisasi Anda. Di pekerjaan sebelumnya, saya menggunakan subdirektori di bawah hosts.d
untuk setiap situs yang berbeda. Pada pekerjaan saya saat ini, sebagian besar definisi nagios host dikelola oleh Puppet, jadi ada satu direktori untuk host yang dikelola Puppet dan yang terpisah untuk host yang dikelola dengan tangan.
Perhatikan bahwa di atas juga membagi perintah menjadi beberapa file, umumnya dengan protokol. Dengan demikian, nrpe.cfg
berkas akan memiliki perintah check_nrpe
dan check_nrpe_1arg
, sementara http.cfg
bisa memiliki check_http
, check_http_port
, check_https
, check_https_port
, dan check_https_cert
. 1
Saya biasanya tidak memiliki banyak template, jadi saya biasanya hanya punya hosts.d/templates.cfg
file dan services.d/templates.cfg
file. Jika Anda menggunakannya lebih banyak, mereka dapat masuk ke file yang dinamai secara tepat dalam templates.d
direktori.
1 Saya juga ingin memiliki check_http_blindly
perintah, yang pada dasarnya check_http -H $HOSTADDRESS$ -I $HOSTADDRESS$ -e HTTP/1.
; mengembalikan OK bahkan jika mendapat kode respons 403.
Saya sudah terbiasa mengkonfigurasi server nagios saya (sebelum saya beralih ke Icinga) dengan cara ini, dan tidak ada kekurangan kinerja sampai Anda mencapai lebih dari 500 layanan setidaknya dengan server Memory / 1 CPU 512Mb. hostgroups dan servicegroups dapat diperlakukan sepenuhnya secara terpisah, dan saya akan merekomendasikan pendekatan ini karena memungkinkan memiliki satu file per server (layanan untuk server ini didefinisikan dalam file ini) dan kemudian, pada file per hostgroup / servicegroups. Ini hanya lebih dimengerti / jelas.
Jika Anda mengalami masalah skalabilitas, Anda mungkin ingin melihat nagios-nrpe-server, yang melakukan pemeriksaan pada sisi klien dan semua server nagios Anda hanya meminta hasil saja; yang menyisihkan sumber daya cek. (Nagios meluncurkan check_nrpe, klien diminta, melakukan pemeriksaan secara lokal dan membalas kembali ke nagios). Ingatlah bahwa semua cek tidak dapat diperlakukan dengan cara ini (misalnya SNMP).
Untuk menyelesaikannya, dan bahkan jika kelihatannya di luar jangkauan pertanyaan Anda, saya akan menyarankan untuk beralih ke Icinga, yang merupakan cara yang lebih terukur, dimiliki oleh komunitas yang lebih kuat yang benar-benar peduli pada implementasi fitur baru dan dukungan pengguna. Konfigurasi sama (file konfigurasi yang sama, sintaks yang sama).
sumber
Saya menggunakan skema ini:
Setiap entitas memiliki file sendiri. Selain dengan template Anda selalu dapat membuat pembersih konfigurasi Anda lebih mudah dibaca. Misalnya, Anda mungkin memiliki rata-rata memuat, ruang disk, memori di setiap host. Jadi cukup mudah dan praktis untuk membuat template umum dan menggunakannya.
sumber
Anda tidak dapat menyulitkan konfigurasi dengan membuat grup. Seperti yang dikatakan asciiphil, Anda membuat file atau Anda dapat menentukan grup yang sama di beberapa file yang ada seperti (hosts.cfg atau apa pun), dan Anda membuat file ini atau Anda mengatakan kepada nagios bahwa file ini aktif (ini adalah jika Anda membuat file baru, jika belum aktif), dan ini ada di file nagios.cfg di mana Anda meletakkan path file yang baru dibuat. "cfg_file = / usr / local / nagios / etc / objects / NEW_FILE.cfg"
Hal lainnya adalah membuat grup tergantung pada infrastruktur Anda. Jika misalnya saya punya linux dan windows server saya akan membuat dua kelompok berbeda satu untuk linux dan lainnya untuk windows. Itu sama dengan layanan. Tergantung pada bagaimana Anda ingin mengonfigurasi dan melihat ketika Anda memantau pada monitor, bagaimana Anda ingin melihatnya sebagai kelompok.
Dan untuk file atau bagian cara membuat grup itu sederhana.
Dan pada konfigurasi host / atau jika Anda menggunakan template atau jika Anda telah menentukan template host atau layanan dan penggunaan, Anda dapat memberitahu secara otomatis ke semua host / windows atau host linux untuk menjadi anggota dari grup host yang ditentukan yang Anda buat.
sumber