Cara mengatur nrpe untuk pemantauan sisi klien
- 4037
- 170
- Karl O'Connell DDS
NRPE, atau pelaksana plugin jarak jauh Nagios, adalah layanan sisi klien dari pengaturan pemantauan. Server pemantauan akan mengirim perintah ke klien, yang mendengarkan secara pasif ketika tidak ada pekerjaan yang harus dilakukan. Atas perintah yang masuk, nrpe
Memeriksa konfigurasi lokal itu, dan menjalankan plugin yang dikonfigurasi dengan perintah, lalu mengirimkan kembali hasilnya ke server untuk diproses. Anda dapat membaca lebih lanjut tentang instalasi sisi server di panduan instalasi Nagios, sementara panduan ini akan fokus pada sisi klien.
Dalam tutorial ini Anda akan belajar:
- Cara menginstal nrpe pada distribusi berbasis debian/red topi
- Cara mengkonfigurasi nrpe untuk menerima perintah dari server
- Cara Mengkonfigurasi Pemeriksaan Kustom di Sisi Server dan Klien
Persyaratan dan konvensi perangkat lunak yang digunakan
Kategori | Persyaratan, konvensi atau versi perangkat lunak yang digunakan |
---|---|
Sistem | Ubuntu 18.04, Fedora 30 |
Perangkat lunak | Nagios 4.3.4, nrpe 3.2.1 |
Lainnya | Akses istimewa ke sistem Linux Anda sebagai root atau melalui sudo memerintah. |
Konvensi | # - mensyaratkan perintah linux yang diberikan untuk dieksekusi dengan hak istimewa root baik secara langsung sebagai pengguna root atau dengan menggunakan sudo memerintah$ - mensyaratkan perintah Linux yang diberikan untuk dieksekusi sebagai pengguna biasa |
Menginstal NRPE pada Distribusi Berbasis Debian/Red Hat
Menginstal perangkat lunak yang diperlukan sederhana. Kami akan meliput Ubuntu, OpenSuse, Fedora dan Rhel.
Menginstal NRPE di Ubuntu
Di Ubuntu, proses ini adalah satu-liner. Paket nrpe daemon, dipanggil Nagios-Nrpe-Server
, berada di repositori default.
# apt-get install nagios-nrpe-server
Dalam hal Ubuntu, file konfigurasi utama adalah /etc/nagios/nrpe.CFG
, Direktori yang disertakan secara default adalah /etc/nagios/nrpe.D/
, yang dapat digunakan untuk konfigurasi drop-in. Paket ini juga menambahkan file konfigurasi lokal yang kosong /etc/nagios/nrpe_local.CFG
untuk kenyamanan. Yang terakhir ini tidak termasuk dalam RPM
distribusi berbasis.
Menginstal NRPE di OpenSUSE
Pada versi OpenSUSE terbaru, perangkat lunak NRPE juga dikemas dalam repositori default. Jadi instalasi adalah perintah Linux tunggal.
# zypper di nrpe
Tidak seperti distro lainnya, OpenSUSE menempatkan file konfigurasi utama ke jalur /etc/nrpe.CFG
.
Memasang NRPE di Fedora
Proyek Fedora juga paket nrpe
, Dan itu harus dapat dijangkau dari repositori default. Kami akan hanya menggunakan dnf
untuk instalasi.
# DNF Instal NRPE
File konfigurasi utama akan /etc/nagios/nrpe.CFG
, dan direktori termasuk default adalah /etc/nrpe.D/
.
Menginstal NRPE di Red Hat Enterprise Linux
Dalam kasus RHEL, nrpe
Paket tidak ada dalam repositori default. Anda harus mengaktifkan repositori EPEL untuk menginstal paket dari sana.
Anda dapat mengikuti langkah -langkah yang dijelaskan dalam panduan untuk mengaktifkan repositori EPEL, atau mengimpor dan mempublikasikan konten repositori EPEL, jika Anda memiliki lingkungan tertutup dengan distribusi perangkat lunak internal. Dengan cara apa pun, setelah repositori tersedia untuk mesin klien, proses instalasi hampir sama seperti di atas.
# yum instal nrpe
File konfigurasi berada di tempat yang sama seperti dalam kasus fedora.
PERINGATANSelalu lakukan pengujian yang cermat sebelum mengaktifkan repositori baru ke lingkungan produksi. Dalam hal ini, EPEL dapat berisi paket yang dapat dilihat sebagai pembaruan untuk paket Red Hat, menghasilkan perubahan perangkat lunak yang tidak terduga pada sistem saat menjalankan pembaruan lengkap.
Mengkonfigurasi NRPE untuk menerima perintah dari server
Untuk mengonfigurasi layanan klien, kami dapat menggunakan file konfigurasi utama, tetapi saya sarankan menggunakan file khusus dan menempatkannya ke dalam direktori yang termasuk dalam file konfigurasi utama. Dengan cara ini pembaruan yang berasal dari peningkatan paket nrpe.CFG
dapat diterapkan tanpa perubahan pada konfigurasi khusus kami.
Kami juga dapat menyertakan file konfigurasi khusus kami sendiri dalam paket khusus kami, sehingga memungkinkan memperbarui konfigurasi pemantauan klien dengan cara yang terpusat dan otomatis. Mengingat hal itu, kami akan mengonfigurasi klien /etc/nrpe.D/Kustom.CFG
pada semua distribusi dalam contoh berikut.
NRPE tidak menerima perintah apa pun localhost
secara default. Ini untuk alasan keamanan. Untuk mengizinkan eksekusi perintah dari server, kita perlu mengatur alamat IP server sebagai alamat yang diizinkan. Dalam kasus kami, server adalah server Nagios, dengan alamat IP 10.101.20.34
. Kami menambahkan yang berikut ke konfigurasi klien kami:
diizinkan_hosts = 10.101.20.34
Beberapa alamat atau nama host dapat ditambahkan, dipisahkan oleh koma. Perhatikan bahwa logika di atas membutuhkan alamat statis untuk server pemantauan. Menggunakan DHCP
Di server pemantauan pasti akan merusak konfigurasi Anda, jika Anda menggunakan alamat IP di sini. Hal yang sama berlaku untuk skenario di mana Anda menggunakan nama host, dan klien tidak dapat menyelesaikan nama host server.
Mengkonfigurasi Pemeriksaan Kustom di Sisi Server dan Klien
Untuk mendemonstrasikan kapabilit pengaturan pemantauan kami, katakanlah kami ingin tahu apakah sistem postfix lokal mengirimkan surat pada klien untuk pengguna akar
. Surat bisa berisi a Cronjob
output, beberapa laporan, atau sesuatu yang ditulis ke Stderr
dan dikirim sebagai surat secara default. Contohnya, abt
mengirimkan laporan kerusakan ke akar
Secara default pada proses crash. Kami tidak mengatur relay surat, tetapi kami masih ingin tahu jika surat tiba. Mari kita tulis cek khusus untuk memantau itu.
- Potongan teka -teki pertama kami adalah cek itu sendiri. Pertimbangkan skrip bash sederhana berikut yang disebut
check_unread_mail
:
Menyalin#!/bin/bash user = root if ["$ (command -v finger >>/dev/null; echo $?) "-gt 0]; lalu gema" Tidak Diketahui: Jari Utilitas Tidak Ditemukan "Keluar 3 Fi if [" $ (id "$ User" >> /dev /null; echo $?) "-gt 0]; lalu echo" tidak diketahui: pengguna $ pengguna tidak ada "keluar 3 fi ## periksa surat jika [" $ (finger -pm "$ user" | tail -n 1 | grep -ic "no surat.")" -gt 0]; Kemudian echo "ok: tidak ada surat yang belum dibaca untuk pengguna $ user" keluar 0 else echo "peringatan: surat yang belum dibaca untuk pengguna $ pengguna" Keluar 1 fi
Cek sederhana ini menggunakan
jari
utilitas untuk memeriksa email yang belum dibaca untuk penggunaakar
. Output darijari -pm
dapat bervariasi berdasarkan versi dan dengan demikian distribusi, sehingga beberapa penyesuaian mungkin diperlukan.Misalnya pada fedora 30, baris terakhir dari output
jari -pm
adalah “tidak ada surat.", Tapi pada OpenSuse Leap 15.1 itu akan menjadi “tidak ada surat.”(Perhatikan surat kasus atas). Dalam hal inigrep -i
Menangani perbedaan ini, tetapi itu menunjukkan dengan baik bahwa ketika bekerja dengan distribusi dan versi yang berbeda, beberapa pekerjaan tambahan mungkin diperlukan. - Kita akan membutuhkan
jari
untuk membuat cek ini berhasil. Nama paketnya sama di semua distribusi, jadi kami dapat menginstalnya dengantepat
,zypper
,dnf
atauyum
. - Kita perlu mengatur periksa yang dapat dieksekusi:
# chmod +x check_unread_mail
- Kami akan menempatkan cek ke
/usr/lib64/nagios/plugin
Direktori, tempat umum untuk pemeriksaan NRPE. Kami akan merujuknya nanti. - Kami akan menelepon perintah kami
check_mail_root
. Mari kita letakkan baris lain ke dalam konfigurasi klien khusus kami, tempat kami memberi tahunrpe
Perintah apa yang kita terima, dan apa yang perlu dilakukan ketika perintah yang diberikan tiba:Perintah [check_mail_root] =/usr/lib64/nagios/plugins/check_unread_mail
- Dengan ini konfigurasi klien kami selesai. Kami dapat memulai layanan pada klien dengan
Systemd
. Nama layanannyaNagios-Nrpe-Server
pada turunan Debian, dan sederhananrpe
pada distribusi lain.# Systemctl Mulai Nagios-Nrpe-Server # Systemctl Status Nagios-Nrpe-Server ● Nagios-Nrpe-Server.Layanan-Eksekutor Plugin Remote Nagios dimuat: dimuat (/lib/systemd/system/nagios-nrpe-server.melayani; diaktifkan; Preset Vendor: Diaktifkan) Aktif: Aktif (Berjalan) Sejak Sel 2019-09-10 13:03:10 CEST; 1 menit 51s lalu dokumen: http: // www.Nagios.Org /Dokumentasi PID Utama: 3782 (NRPE) Tugas: 1 (Batas: 3549) CGroup: /Sistem.Slice/Nagios-NRPE-Server.Layanan └─3782/usr/sbin/nrpe -c/etc/nagios/nrpe.CFG -F Szept 10 13:03:10 Mail-test-Client Systemd [1]: Memulai Eksekutor Plugin Jarak Jauh Nagios. Szept 10 13:03:10 Mail-Test-Client NRPE [3782]: Memulai Daemon Szept 10 13:03:10 Mail-test-Client NRPE [3782]: Server Mendengarkan pada 0.0.0.0 port 5666. Szept 10 13:03:10 Mail-test-Client NRPE [3782]: Server Mendengarkan di :: Port 5666. Szept 10 13:03:10 Mail-test-client nrpe [3782]: Mendengarkan koneksi di port 5666
- Sekarang kita dapat mengonfigurasi sisi server. Jika kita belum memilikinya, kita dapat mendefinisikan perintah yang menyebut remote
nrpe
Contoh dengan perintah sebagai argumen tunggal:
Menyalin# Perintah ini menjalankan program $ arg1 $ tanpa argumen tidak menentukan perintah command_name check_nrpe_1arg command_line $ user1 $/check_nrpe -h $ hostaddress $ -t 60 -c $ arg1 $ 2>/dev/null
- Kami juga mendefinisikan klien sebagai host:
MenyalinTentukan host gunakan linux-server host_name mail-test-client alias mail-test-klien alamat surat-test-klien
Alamat dapat berupa alamat IP atau nama host. Dalam kasus selanjutnya kita perlu memastikan itu dapat diselesaikan oleh server pemantauan.
- Kami dapat mendefinisikan layanan pada host di atas menggunakan perintah sisi nagios dan perintah sisi klien:
MenyalinTentukan Layanan Gunakan Generik-Servis Host_name Mail-test-client Service_description OS: Mail Unread for Root Check_Command check_nrpe_1arg!check_mail_root
Penyesuaian ini dapat ditempatkan ke file konfigurasi apa pun yang dibaca server Nagios saat startup, tetapi ini adalah praktik yang baik untuk menjaga file konfigurasi tetap rapi.
- Kami memverifikasi konfigurasi Nagios baru kami:
# nagios -v/etc/nagios/nagios.CFG
Jika "segalanya terlihat baik -baik saja", kami dapat menerapkan konfigurasi dengan server ulang:
# Systemctl Reload Nagios
Kesimpulan
Jika semuanya berfungsi, dalam beberapa menit kita akan melihat klien baru kita muncul di halaman web Nagios, dengan layanan baru "OS: Unread Mail for Root", dan dengan status sebagai hijau "OK" (yaitu, jika ada ' t surat yang belum dibaca untuk akar
).
Script di atas melaporkan hanya peringatan jika surat baru tiba dengan sengaja: Dalam lingkungan contoh itu tidak dianggap sebagai masalah kritis, crash aplikasi seharusnya menghasilkan kesalahan kritis sebelum surat tiba tentang hal itu. Di latar belakang, server Nagios melewati perintah "check_mail_root" ke klien, di mana nrpe
mengeksekusi skrip khusus kami, yang memberikan output “ok: tidak ada surat yang belum dibaca untuk root pengguna”, dan kode keluar 0 (yang diterjemahkan oleh nagios sebagai keadaan “ok”).
Pengaturan sederhana ini bertujuan untuk menunjukkan aliran perintah dan data dalam konfigurasi Nagios+NRPE, serta menjelaskan cara dasar untuk memperluas kemampuan pemantauan kami. Checks countles (disebut plugin) ditulis dalam berbagai bahasa untuk penggunaan umum, misalnya parsing logfile, pemeriksaan database, informasi status webserver, dan sebagainya.
Banyak dari mereka juga sudah dikemas dalam repositori yang disebutkan di atas, dan bahkan lebih banyak lagi dapat ditemukan di halaman Nagios resmi. Meskipun itu adalah sumber yang bagus ketika kita perlu memantau sesuatu yang baru, jangan menerima begitu saja bahwa mereka akan melakukan persis apa yang Anda butuhkan di luar kotak. Tweaking konfigurasi mereka dan pengujian yang cermat juga diperlukan dalam kasus ini, dan jika Anda menemukan bahwa sedikit modifikasi dapat menambahkan beberapa fitur/bugfix yang hebat, jangan ragu untuk berkontribusi kembali ke komunitas pemantauan. Bagaimanapun, inilah cara yang dibangun di tempat pertama.
Tutorial Linux Terkait:
- Loop bersarang dalam skrip bash
- Optimalisasi Kinerja Linux: Alat dan Teknik
- Hal -hal yang harus diinstal pada ubuntu 20.04
- Hal -hal yang harus dilakukan setelah menginstal ubuntu 20.04 FOSSA FOSSA Linux
- Ubuntu 20.04 Pemantauan Sistem dengan Widget Conky
- Cara Mengirim Pemberitahuan Desktop Menggunakan Notify-Send
- Ubuntu 22.04 Pemantauan Sistem dengan Widget Conky
- Alat Pemantauan Sistem Terbaik untuk Linux
- Sistem Linux Hung? Cara melarikan diri ke baris perintah dan…
- Linux: Setup SSH
- « Kembalikan cadangan konfigurasi pfsense dari konsol menggunakan drive usb
- Cara menginstal java di rhel 8 / centos 8 linux »