Saya menggunakan beberapa skrip berbasis Perl untuk pemeriksaan layanan di Nagios dan saya dapatkan (Service check did not exit properly)
dan (null)
sebagai hasilnya dalam Nagios, tetapi skrip bekerja dengan baik pada baris perintah.
Saya telah melihat solusi online yang menyarankan untuk menonaktifkan interpreter Perl internal dengan menetapkan enable_embedded_perl=0
dalam konfigurasi Nagios atau dengan menentukan jalur ke penerjemah secara eksplisit. Ini tidak membantu masalah ini.
Apa lagi itu?
nagios
debian-wheezy
Der Hochstapler
sumber
sumber
Jawaban:
Nagios mencakup penerjemah perl tertanam miliknya. Plugin Anda mungkin tidak kompatibel dengan epn.
Anda mungkin ingin menonaktifkannya secara global, atau cukup menonaktifkannya untuk skrip Anda. Bagian bawah halaman dokumen menunjukkan kepada Anda bagaimana melakukan ini.
Pada dasarnya, tambahkan
# nagios: -epn
barisnya sendiri di suatu tempat dalam sepuluh baris pertama skrip Anda. Ini akan memperbaiki masalah Anda.Anda juga bisa membuatnya patuh , tetapi hampir pasti tidak sepadan dengan masalahnya.
sumber
# nagios: -epn
, per dokumen dan per pengujian saya.check_disk_smb
dancheck_file_age
, atau jika saya mengaturuse_embedded_perl_implicitly=0
Beberapa skrip Perl dari Nagios Exchange akan mencoba memasukkan
utils.pm
modul Perl. Anda akan menemukan garis seperti ini di suatu tempat di dalamnya:Saat memasang Nagios di Debian, lokasi default
utils.pm
file adalah/usr/lib/nagios/plugins/utils.pm
. Jadiuse lib
arahannya harus:Menjalankan perintah dari baris perintah kemungkinan besar berhasil karena Anda masuk
/usr/lib/nagios/plugins/
, mengedit plugin Anda.sumber
Awali perintah dengan
/usr/bin/perl
.Solusi ini lebih merupakan solusi, mungkin bukan ide yang baik untuk melakukannya tetapi setidaknya plugin Anda harus bekerja dengan cara yang sama ketika Anda meluncurkannya dari terminal.
CATATAN: Dalam pengalaman saya
# nagios -epn
cukup sering bekerja, tetapi kadang-kadang tampaknya tidak cukup. Saya perhatikan bahwa ketika ini terjadi, plugin yang salah melaporkan banyak peringatan (ketika skrip dipanggil denganperl -w
).sumber