
RHELとApache(httpd)を使用して次のことを行う方法はありますか?
- どのv.host(ドメイン)が着信接続数を検出しますか?
数日間、サーバーからの着信接続がたくさんあり、次のように確認しました。
ps aux | grep httpd -c
734話
これは734
現在着信接続を処理するApacheがあることを意味しますが、問題は10個のVhost(ドメイン)があることです。
- では、どのドメインの負荷が高くなりますか?
答え1
ログにホスト文字列を含めるようにアクセスログの形式を変更します。その場合、ソートして計算するのは簡単ですvhost
。これがapache
私が使用する構成の嘘です。
# Modified log format with virtual host, execution time, and query params
LogFormat "%v:%p %a %T %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" local
# Define an access log for VirtualHosts that don't define their own logfile
CustomLog /var/log/apache2/access.log local
これは、次のコマンドを使用して計算できます。
cut -d\t -f1 access.log | sort | uniq -c
または、次のものを使用できますawk
(時間および/または他のデータによって選択可能)。
awk '{print $1}' access.log | sort | uniq -c
または、各仮想ホストに別々のアクセスログを使用します。アクティブなアクセスログの簡単な単語数であなたの質問に答えることができます。
現在のアクティビティを確認するには、mod-statusプラグインを有効にしてURLを使用してステータスを確認してくださいhttp://127.0.0.1/server-status
。出力には、各スロットで処理された最後のURLと現在の状態が含まれます。この情報は、現在の状態を確認するために使用できます。 URL を使用する出力は、http://127.0.0.1/server-status?notable
解析が容易になる場合があります。
このコマンドはw3m -dump http://127.0.0.1/server-status?notable
素晴らしいテキストダンプを提供します。ただし、これらのクエリではwget
orコマンドがcurl
頻繁に使用されます。