Saya ingin memantau statistik NGinx melalui Munin tetapi plugin Nginx tidak menunjukkan data. Apakah mungkin untuk mendiagnosis mengapa hanya satu dari plugin munin nginx yang tampaknya berfungsi?
Server berjalan pada CentOS 5.3
Plugin nginx mengandalkan URL berikut untuk mendapatkan info status:
http://127.0.0.1/nginx_status
Biasanya, nginx tidak memiliki URL ini yang dikonfigurasi untuk menampilkan data status.
Dari dokumentasi plugin, saya melihat bahwa nginx perlu dikonfigurasi untuk menampilkan data status dalam URL spesifik.
Anda perlu mengaktifkan status nginx dengan menambahkan baris berikut ke konfigurasi situs:
server {
listen 127.0.0.1;
server_name localhost;
location /nginx_status {
stub_status on;
access_log off;
allow 127.0.0.1;
deny all;
}
}
Jangan lupa untuk me-restart server setelah menambahkan konfigurasi ini, dan pastikan URL stus mengembalikan data status.
Untuk dokumentasi lengkap setiap plugin, Anda dapat menjalankan:
munindoc nginx_request
Semoga ini membantu.
apt install libwww-perl time
pada node munin untuk masalah yang menyatakan log denganUse of uninitialized value $LWP::VERSION
pada plugin nginx.http://localhost/
mungkin lebih suka IPv6 dan dengan demikian akan membuat ketidakcocokan konfigurasi nginx yang hanya mengizinkan IPv4 localhost. Dengan memperbaiki URL di/etc/munin/plugin-conf.d/munin-node
untukhttp://127.0.0.1/nginx_status
akhirnya membuat kerja Plugin.Dalam pengalaman saya, plugin ini kemungkinan tidak berfungsi karena kesalahan konfigurasi nginx. Berikut adalah daftar singkat apa yang harus dilakukan dalam kasus ini:
1. Periksa instalasi nginx
Nginx harus dikompilasi dengan modul HttpStubStatusModule . Anda dapat memeriksanya dengan menjalankan perintah berikut (di bawah sudo atau root):
Jika Anda melihat output berikut, Anda baik untuk melanjutkan.
Jika tidak, Anda harus mengkompilasi ulang nginx dengan modul yang diperlukan diaktifkan atau menginstal dari sumber yang berbeda (Dalam kasus saya, repo Debian default memiliki versi yang tepat).
2. Periksa konfigurasi nginx
Saya berasumsi Anda telah menempatkan dan mengaktifkan konfigurasi yang diperlukan . Untuk melihat apakah itu berfungsi, Anda bisa
ssh
ke server dan menjalankannyaJika Anda tidak mendapatkan kesalahan di sini, maka masalahnya adalah konfigurasi plugin. Jika server mengembalikan kesalahan di sini, Anda dapat melakukan debug dengan mengubah konfigurasi:
Setelah itu, dalam file
/var/log/nginx/status.error.log
Anda dapat melihat alasan yang tepat mengapa server mengembalikan kesalahan:Dalam kasus saya (seperti yang Anda lihat dari log) masalahnya adalah
client: ::1
, sementara konfigurasi hanya mengizinkan akses dari127.0.0.1
Untuk mengatasi masalah ini, Anda dapat mengikuti saran cepharum atau mengubah konfigurasi virtual host:
(Perhatikan bahwa saya juga diganti
listen: 127.0.0.1
dengan port 80 (ipv4 + ipv6) karena yang sebelumnya juga tidak berfungsi)3. Periksa konfigurasi sistem dan dependensi
Untuk memeriksa apakah plugin itu sendiri berfungsi, jalankan
(perhatikan bahwa plugin harus "dihidupkan" - symlink harus ada di
/etc/munin/plugins
- baca manual jika tidak)Jika Anda mendapatkan kesalahan dengan
LWP
perpustakaan (misalnyaLWP::UserAgent
atauLWP::VERSION
), sistem Anda kehilangan paket yang diperlukan olehnginx_status
plugin.Di Debian / Ubuntu, jalankan
Di CentOS
Setelah itu uji coba lagi menggunakan plugin
munin-run
. Output yang diharapkan (jumlahnya akan berbeda):sumber
/var/log/munin-update.log
(Layanan nginx_status pada servername / 127.0.0.1: 4949 tidak mengembalikan data untuk label yang menunggu), saya bisa mencari bertahun-tahun untuk mencari tahu yanglibwww-perl
hilang. Terima kasih banyak atas jawaban yang luas ini.Mungkin bermanfaat:
Selain itu gunakan opsi debug untuk menjalankan munin.
Periksa file plugin untuk setiap jalur kode keras dan verifikasi apakah itu benar untuk sistem Anda:
Plugin nginx dapat mengandalkan Nginx yang sedang dikompilasi dengan modul-modul tertentu atau keluaran log dalam format tertentu. Apakah ada halaman dokumentasi untuk plugin?
sumber
Kuncinya adalah url di munin config.
Anda akan perlu
Catatan
Tidak
sumber
Instal libwww-perl kemudian jalankan perintah
munin-run nginx_status
untuk melihat statistik.Mulai ulang layanan muni-node.
sumber