Tôi đã kích hoạt các apache_plugin trên nút munin:
ln -sv /usr/share/munin/plugins/apache_* /etc/munin/plugins/
Sau khi khởi động lại nút với service munin-node restartđây là những lỗi tôi gặp phải:
$ munin-node-configure --suggest 2>/dev/null | grep "apache\|Plugin\|------"
Plugin | Used | Suggestions
------ | ---- | -----------
apache_accesses | yes | no [apache server-status not found. check if mod_status is enabled]
apache_processes | yes | no [apache server-status not found. check if mod_status is enabled]
apache_volume | yes | no [apache server-status not found. check if mod_status is enabled]
Tuy nhiên mod_statusđã được kích hoạt:
$ a2enmod status
Module status already enabled
Và khởi động lại apache không tạo ra sự khác biệt.
Nếu tôi cố gắng chạy các plugin theo cách thủ công thì đây là những gì tôi nhận được (tôi đọc rằng nhận được một chữ U là tin xấu nên ít nhất đó là nhất quán).
$ munin-run apache_accesses --debug
# Processing plugin configuration from /etc/munin/plugin-conf.d/munin-node
# Set /rgid/ruid/egid/euid/ to /110/65534/110 110 /65534/
# Setting up environment
# About to run '/etc/munin/plugins/apache_accesses'
accesses80.value U
$ munin-run apache_processes --debug
# Processing plugin configuration from /etc/munin/plugin-conf.d/munin-node
# Set /rgid/ruid/egid/euid/ to /110/65534/110 110 /65534/
# Setting up environment
# About to run '/etc/munin/plugins/apache_processes'
busy80.value U
idle80.value U
free80.value U
$ munin-run apache_volume --debug
# Processing plugin configuration from /etc/munin/plugin-conf.d/munin-node
# Set /rgid/ruid/egid/euid/ to /110/65534/110 110 /65534/
# Setting up environment
# About to run '/etc/munin/plugins/apache_volume'
volume80.value U
Có ai biết tại sao tôi vẫn nhận được server-status not foundtin nhắn và làm thế nào tôi có thể thoát khỏi nó không?
Cập nhật câu trả lời 1
Đề xuất của Shane là chính xác về việc thiết lập trình xử lý yêu cầu bằng cách sử dụng Locationvà SetHandlertrong trang web apache. Để biết thêm thông tin về mod_statusxin vui lòng tham khảo trang này
Tôi có thể xác minh rằng muninthực hiện các yêu cầu phù hợp một cách hiệu quả bằng cách xem /var/log/apache2/access.lognơi tôi nhận được điều này:
127.0.0.1 - - [10/Nov/2011:07:24:15 +0000] "GET /server-status?auto HTTP/1.1" 404 7774 "-" "libwww-perl/5.834
Trong trường hợp của tôi, cài đặt Locationkhông đủ khi tôi đang chạy một Drupaltrang web và .htaccesskết hợp với mod_rewriteviệc viết lại các yêu cầu. Để sửa nó, tôi phải thêm dòng sau vào.htaccess
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !=/favicon.ico
RewriteCond %{REQUEST_URI} !=/server-status # <= added this line
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
Xin lưu ý rằng điều này không đại diện cho vấn đề bảo mật vì quyền truy cập /server-statusbị hạn chế 127.0.0.1trong trang web apache.
Cập nhật câu trả lời 2
Dường như việc thêm Locationvào trang web apache là không cần thiết vì tất cả điều này đã được xác định trong /etc/apache2/mods-enabled/status.conf. Btw, nếu bạn muốn thêm ExtendedStatus Onchỉ thị, đó là trong tệp mà bạn nên làm.
mod_rewritecông việc (xem câu hỏi cập nhật có câu trả lời)