ITエンジニアの成長ブログ

ITエンジニアとして行う勉強の発信&日々の生活で体験した楽しいことをゆるく発信

Apache HTTPサーバーの監視設定を行う

今回は、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"

f:id:mr_star:20201003150438p:plain
Apache監視設定画面

私がメインで見ているのは、以下の部分です。現在接続中のアクセスがどのような状態か、また最大接続数に対してどのくらい余裕があるかなどを見ることができます。この値を定期的に監視することで、最大接続数の最適な値を決めていくことができます。他にも直近のリクエスト情報を見たりもできるので、確認してみると良い情報が得られるかもしれません。

f:id:mr_star:20201003152430p:plain
Apache監視設定画面2

おわりに

今回は、Apache HTTPサーバーの監視設定を行いました。Apacheの状態がリアルタイムに確認できるので、とても便利なものだと思います。私は現在のプロジェクトで、設定を見てApacheの最大接続数がどの程度必要かを確認しています。今後もApacheの気になるところやTipsみたいな部分があれば、記事で紹介していきたいと思います。今回も最後までお読みいただきありがとうございました。今回はこの辺で失礼いたします。