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 beberapa tim dengan tanggung jawab yang berbeda, sehingga Anda dapat memiliki template "host linux" dan template "host windows", dengan masing-masing menentukan info kontak yang sesuai.
Anda dapat menggunakan beberapa templat pada satu sumber daya, sehingga Anda dapat membuat templat ortogonal yang sesuai. Misalnya, Anda dapat memiliki
host foo {
use windows-host,normal-priority-host
...
}
yang akan menarik info kontak (dan eskalasi) untuk tim Windows serta tingkat polling dan ambang batas untuk host "normal".
Grup host memungkinkan Anda mengelompokkan semua pemeriksaan untuk sebagian host Anda. Memiliki hal-hal seperti "baseline-linux-hosts" yang memeriksa beban, ruang disk, ssh
kemampuan, dan hal-hal lain apa pun yang harus ada di setiap host yang Anda pantau. Tambahkan grup seperti "server-https" dengan pemeriksaan konektivitas HTTP, konektivitas HTTPS, dan tanggal kedaluwarsa sertifikat SSL; "fileservers" dengan pemeriksaan aksesibilitas NFS dan SMB dan mungkin pemeriksaan disk yang lebih agresif; atau "mesin virtual" dengan pemeriksaan apakah alat aksesibilitas VM berjalan dengan benar.
Letakkan setiap host dan grup host di filenya sendiri. File tersebut harus berisi definisi host atau grup host terlebih dahulu, diikuti dengan definisi layanan yang berlaku untuknya.
Jika Anda menggunakan cfg_dir
direktif dalam nagios.cfg
Anda file, Nagios akan mencari secara rekursif melalui direktori itu. Manfaatkan itu. Untuk setting 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
- perintah.d/
Saya cenderung membuat direktori untuk setiap jenis sumber daya (perintah, grup kontak, kontak, eskalasi, grup host, host, grup layanan, periode waktu) 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. Di pekerjaan saya saat ini, sebagian besar definisi host Nagios dikelola oleh Puppet, jadi ada satu direktori untuk host yang dikelola Puppet dan direktori terpisah untuk host yang dikelola secara manual.
Perhatikan bahwa di atas juga memecah perintah menjadi beberapa file, umumnya dengan protokol. Jadi, nrpe.cfg
file 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
.
Saya biasanya tidak memiliki banyak template, jadi saya biasanya hanya memiliki hosts.d/templates.cfg
file dan services.d/templates.cfg
mengajukan. Jika Anda sering menggunakannya, mereka dapat masuk ke file dengan nama yang sesuai dalam templates.d
direktori.
Saya juga ingin memiliki check_http_blindly
perintah, yang pada dasarnya adalah check_http -H $HOSTADDRESS$ -I $HOSTADDRESS$ -e HTTP/1.
; itu mengembalikan OK meskipun mendapat kode respons 403.
Manfaatkan layanan dan grup host secara ekstensif, dan templating. Buat grup host, dan tetapkan layanan ke grup host. Gunakan grup layanan untuk dependensi, eskalasi, dan pengelompokan logis di UI web.
Jika Anda memiliki grup untuk semuanya, menambahkan host baru hanya 3 atau 4 baris:nama, alamat, templat, dan (opsional) grup host. Semuanya bisa dijadikan template.
Pastikan untuk membaca dokumen tentang pewarisan, dan juga halaman trik hemat waktu. Pewarisan berganda bisa jadi rumit, tetapi jika digunakan dengan benar, ini akan menghemat waktu.