Cara mengatur nrpe untuk pemantauan sisi klien

Cara mengatur nrpe untuk pemantauan sisi klien

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
NRPE - Eksekutor Plugin Jarak Jauh Nagios

Persyaratan dan konvensi perangkat lunak yang digunakan

Persyaratan Perangkat Lunak dan Konvensi Baris Perintah Linux
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.

PERINGATAN
Selalu 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.

  1. Potongan teka -teki pertama kami adalah cek itu sendiri. Pertimbangkan skrip bash sederhana berikut yang disebut check_unread_mail:
    #!/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
    Menyalin

    Cek sederhana ini menggunakan jari utilitas untuk memeriksa email yang belum dibaca untuk pengguna akar. Output dari jari -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 ini grep -i Menangani perbedaan ini, tetapi itu menunjukkan dengan baik bahwa ketika bekerja dengan distribusi dan versi yang berbeda, beberapa pekerjaan tambahan mungkin diperlukan.

  2. Kita akan membutuhkan jari untuk membuat cek ini berhasil. Nama paketnya sama di semua distribusi, jadi kami dapat menginstalnya dengan tepat, zypper, dnf atau yum.
  3. Kita perlu mengatur periksa yang dapat dieksekusi:
    # chmod +x check_unread_mail
  4. Kami akan menempatkan cek ke /usr/lib64/nagios/plugin Direktori, tempat umum untuk pemeriksaan NRPE. Kami akan merujuknya nanti.
  5. Kami akan menelepon perintah kami check_mail_root. Mari kita letakkan baris lain ke dalam konfigurasi klien khusus kami, tempat kami memberi tahu nrpe 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
  6. Dengan ini konfigurasi klien kami selesai. Kami dapat memulai layanan pada klien dengan Systemd. Nama layanannya Nagios-Nrpe-Server pada turunan Debian, dan sederhana nrpe 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


  7. Sekarang kita dapat mengonfigurasi sisi server. Jika kita belum memilikinya, kita dapat mendefinisikan perintah yang menyebut remote nrpe Contoh dengan perintah sebagai argumen tunggal:
    # 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
    Menyalin
  8. Kami juga mendefinisikan klien sebagai host:
    Tentukan host gunakan linux-server host_name mail-test-client alias mail-test-klien alamat surat-test-klien
    Menyalin

    Alamat dapat berupa alamat IP atau nama host. Dalam kasus selanjutnya kita perlu memastikan itu dapat diselesaikan oleh server pemantauan.

  9. Kami dapat mendefinisikan layanan pada host di atas menggunakan perintah sisi nagios dan perintah sisi klien:
    Tentukan Layanan Gunakan Generik-Servis Host_name Mail-test-client Service_description OS: Mail Unread for Root Check_Command check_nrpe_1arg!check_mail_root
    Menyalin

    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.

  10. 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