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 found
tin 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 Location
và SetHandler
trong trang web apache. Để biết thêm thông tin về mod_status
xin vui lòng tham khảo trang này
Tôi có thể xác minh rằng munin
thự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.log
nơ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 Location
không đủ khi tôi đang chạy một Drupal
trang web và .htaccess
kết hợp với mod_rewrite
việ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-status
bị hạn chế 127.0.0.1
trong trang web apache.
Cập nhật câu trả lời 2
Dường như việc thêm Location
và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 On
chỉ thị, đó là trong tệp mà bạn nên làm.
mod_rewrite
công việc (xem câu hỏi cập nhật có câu trả lời)