apache_
muninノードでプラグインを有効にしました:
ln -sv /usr/share/munin/plugins/apache_* /etc/munin/plugins/
service munin-node restart
ここでノードを再起動すると、次のエラーが発生します。
$ 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]
ただしmod_status
、すでに有効になっています。
$ a2enmod status
Module status already enabled
Apacheを再起動しても違いはありません。
プラグインを手動で実行しようとすると、ここに表示されます(Uを取得することは悪いニュースであり、少なくとも一貫していると私は読んでいます)。
$ 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
なぜ私がまだserver-status not found
メッセージを受け取っているのか、どうやってそれを取り除くことができるのか誰か知っていますか?
回答1を更新
Shaneの提案は、ApacheサイトLocation
とSetHandler
を使用した要求ハンドラーの設定については正しかった。詳細mod_status
については、このページを参照してください
私はこれがどこで得munin
られている/var/log/apache2/access.log
かを見て、適切なリクエストを効果的に行っていることを確認できました。
127.0.0.1 - - [10/Nov/2011:07:24:15 +0000] "GET /server-status?auto HTTP/1.1" 404 7774 "-" "libwww-perl/5.834
私の場合Location
、Drupal
サイトを実行していて、を.htaccess
組み合わせてmod_rewrite
リクエストを書き換えているため、設定では不十分でした。これを修正するには、次の行を.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]
へのアクセスがapacheサイトに/server-status
制限さ127.0.0.1
れているため、これはセキュリティ上の問題を表すものではないことに注意してください。
回答2を更新
Location
これはすでにで定義されているため、apacheサイトにを追加する必要はないようです/etc/apache2/mods-enabled/status.conf
。ところで、ExtendedStatus On
ディレクティブを追加したい場合は、そのファイル内で実行する必要があります。
mod_rewrite
作業を行う必要がありました(回答付きの更新された質問を参照)