今回は、Apache HTTPサーバーに監視設定を行ってみたいと思います。この設定をすることで、現在どれくらいのリソースを使っているのかなどを確認することができます。とても便利なので、1回設定してみてどのような項目が監視できるのかを確認するのが良いかなと思います。それでは、簡単に確認していきましょう!
動作環境
今回の確認で使用した動作環境は以下の通りです。
・OS
AWS EC2でWindows Serverを無料利用枠でサクッと立てています。Window Server 2019 Datacenterエディションです。
・Apache
Apacheのバージョンは、Apache 2.4.46です。
設定方法
設定方法ですが、Apacheでは主にテキストの設定ファイルを修正するだけで色々と機能変更ができます。それでは、設定内容を見ていきましょう。
まずはこの監視設定の機能を持っている拡張モジュールを読み込むように設定します。以下のモジュールは、デフォルトではコメントアウト(行の先頭に#)されていると思いますのでコメントを外しましょう。
LoadModule status_module modules/mod_status.so
拡張モジュールの読み込み設定について完了したら、以下の設定を行います。Includeディレクティブは、他の設定ファイルを読み込むための命令文です。こちらもデフォルトではコメントアウトされていますので、コメントを外しましょう。この読み込むファイルには、デフォルトで監視設定をするための記述があります。今回は、そちらのファイルを修正していきます。
Include conf/extra/httpd-info.conf
上記で読み込みしたファイルについてですが、デフォルトでは以下のような記載があると思います(必要な個所のみ抜粋しています)。
<Location /server-status> SetHandler server-status Require host .example.com Require ip 127 </Location> #ExtendedStatus On
以下のように設定を変更しましょう。ExtendedStatusは1秒毎のリクエスト数や他にも詳細な情報を見ることができます。Locationディレクティブで"/server-status"というURLに今回の監視設定をしています。SetHandlerで機能をONにして、Requireでアクセス可能なホスト名(URL)をローカルのみに設定しています。
<Location /server-status> SetHandler server-status Require ip 127 </Location> ExtendedStatus On
上記設定をすべて行ったら、Apacheを再起動します。再起動することで、変更した設定が反映されます。
監視設定の確認
ブラウザで以下のURLにアクセスしましょう。設定ができていれば正常に監視設定にアクセスできると思います。
"http://127.0.0.1/server-status"
私がメインで見ているのは、以下の部分です。現在接続中のアクセスがどのような状態か、また最大接続数に対してどのくらい余裕があるかなどを見ることができます。この値を定期的に監視することで、最大接続数の最適な値を決めていくことができます。他にも直近のリクエスト情報を見たりもできるので、確認してみると良い情報が得られるかもしれません。