Pertanyaan: Ketika saya menjalankan perintah check_nrpe dengan beberapa argumen, saya mendapatkan pesan “CHECK_NRPE:Menerima 0 byte dari daemon. Periksa log server jauh untuk pesan kesalahan.”. Bagaimana cara memperbaiki masalah ini?
Jawaban: Masalahnya sangat lurus ke depan. check_nrpe tidak mengambil argumen apa pun secara default. Anda harus mengaktifkan argumen baris perintah untuk check_nrpe seperti yang ditunjukkan di bawah ini.
Verifikasi pesan kesalahan check_nrpe
Hanya untuk tujuan pengujian, mari kita asumsikan bahwa Anda menjalankan perintah check_nrpe berikut yang menampilkan “CHECK_NRPE:Menerima 0 byte dari daemon. ” pesan kesalahan.
$ /usr/local/nagios/libexec/check_nrpe -H 192.168.1.20 -c check_disk -a 60 80 /dev/sdb1 CHECK_NRPE: Received 0 bytes from daemon. Check the remote server logs for error messages.
Jika Anda melihat /var/log/messages pada host jarak jauh, (dalam contoh di atas, yaitu 192.168.1.20), Anda akan melihat kesalahan nrpe “Error:Permintaan berisi argumen perintah! ” seperti yang ditunjukkan di bawah ini, menunjukkan bahwa check_nrpe tidak diaktifkan untuk mengambil argumen perintah.
$ tail -f /var/log/messages Dec 5 11:11:52 dev-db xinetd[2536]: START: nrpe pid=24187 from=192.168.101.108 Dec 5 11:11:52 dev-db nrpe[24187]: Error: Request contained command arguments! Dec 5 11:11:52 dev-db nrpe[24187]: Client request was invalid, bailing out... Dec 5 11:11:52 dev-db xinetd[2536]: EXIT: nrpe status=0 pid=24187 duration=0(sec)
Aktifkan argumen perintah check_nrpe
Untuk mengaktifkan argumen perintah di NRPE, Anda harus melakukan dua hal berikut.
1. Konfigurasi NRPE dengan –enable-command-args
Biasanya saat Anda menginstal NRPE di host jarak jauh, Anda akan melakukan ./configure tanpa argumen apa pun. Untuk mengaktifkan dukungan argumen perintah di daemon NRPE, Anda harus menginstalnya dengan –enable-command-args seperti yang ditunjukkan di bawah ini.
[remotehost]# tar xvfz nrpe-2.12.tar.gz [remotehost]# cd nrpe-2.12 [remotehost]# ./configure --enable-command-args [remotehost]# make all [remotehost]# make install-plugin [remotehost]# make install-daemon [remotehost]# make install-daemon-config [remotehost]# make install-xinetd
2. Ubah nrpe.cfg dan setel dont_blame_nrpe
Ubah /usr/local/nagios/etc/nrpe.cfg di server jauh dan setel direktif dont_blame_nrpe ke 1 seperti yang ditunjukkan di bawah ini.
$ /usr/local/nagios/etc/nrpe.cfg dont_blame_nrpe=1
Jalankan check_nrpe dengan argumen perintah
Setelah dua perubahan di atas, jika Anda menjalankan check_nrpe untuk host jarak jauh ini, Anda tidak akan melihat pesan kesalahan lagi seperti yang ditunjukkan di bawah ini.
$ /usr/local/nagios/libexec/check_nrpe -H 192.168.1.20 -c check_disk -a 60 80 /dev/sdb1 DISK OK - free space: / 111199 MB (92% inode=99%);| /=9319MB;101662;114370;0;127078
Peringatan Keamanan
Mengaktifkan argumen baris perintah NRPE adalah risiko keamanan. Jika Anda tidak tahu apa yang Anda lakukan, jangan aktifkan ini.
Mungkin sekarang Anda sudah tahu bahwa Anda tidak dapat menyalahkan NRPE jika terjadi kesalahan. Setelah semua yang Anda atur jangan_blame_nrpe ke 1.