Apache HTTP Server (Apache HTTPd)は、簡単にカスタマイズできる機能とオープンソースを備えたWebサーバーソフトウェアで、幅広く使用されています。
Apacheを使用してパフォーマンスを監視する上で、パフォーマンスの低下問題とボトルネックへの認識は重要となります。プラグインを使用すれば、リアルタイムのパフォーマンストレンドと履歴メトリクスを単一ダッシュボードで確認することができます。このページでは、以下の内容について説明します:
パフォーマンス監視メトリクス
Requests per Second
req_per_sec メトリクスは、Webサーバーが1秒間に処理しているHTTPリクエストの合計数を表示します。
Busy Workers
Use the metric busy_workers メトリクスは、HTTPリクエストをアクティブに処理しているプロセスの合計数を表示します。
Idle Workers
idle_workers メトリクスは、HTTPリクエストを待機しているアイドルワーカーおよびアイドルプロセスの合計数です。アイドルプロセス値が低い場合や0の場合は、サーバーはすべてのプロセスを使い果たしているため、古いリクエストが完了するまで新しいリクエストを保留する必要があります。
Uptime
The metric uptime メトリクスは、サーバーが稼働している合計時間を表示します。
Bytes per Second
bytes_per_sec メトリクスは、Webサーバーが1秒間に転送するデータの合計量を表示します。
CPU Load
Use the metric cpu_load メトリクスは、Webサーバーが使用したCPUの合計割合を表示します。
Bytes per Request
bytes_per_reqメトリクスは、各HTTPリクエストごとに転送される平均バイト数を表示します。
Total Accesses
total_accessessメトリクスは、サーバー上のアクセス合計数を表示します。
前提条件
- このプラグインはPythonベースであり、Pythonバージョン2.7以降をサポートしています。webサーバーの監視では、バージョン2.7では urllib2 モジュールを使用し、バージョン3.0以降では urllib モジュールを使用します。
Apacheの設定
以下手順に従ってwebサーバーを設定し、パフォーマンスの監視を開始します。システムに関係なく、設定ファイルに変更を加える際には、以前の設定に戻す場合に備えて設定ファイルのバックアップを必ず保存してください。
SetHandler server-status
AuthUserFile /passwordlocation
AuthType Basic
AuthName <USER_NAME>
Require user <USER_NAME>
</Location>
- ステータスモジュールの設定ファイルを編集します: /etc/apache2/mods-enabled/status.load
- 以下の行で、コメントアウトされていることを確認します。
- ステータスモジュールの設定ファイルを編集します: /etc/apache2/mods-enabled/status.conf
- 以下では、URI/server-statusを使用してlocalhostからStatusページにアクセスできるようにします。<Location /server-status>
SetHandler server-status
Require local
</Location> - 認証ユーザおよび特定のIPアドレスへのアクセスを制限するには:
- 現在実行中リクエストに関する追加データをワーカーごとに追跡するには、ExtendedStatusが有効になっていることを確認します。
- サーバーを再起動します。
- portの設定ファイルを編集します:For Ubuntu/Debian: Edit /etc/apache2/ports.confFor Centos/Redhat: Edit /etc/httpd/conf/httpd.conf
- Listen 80の行を確認し、80を目的のポートへと変更します。
- サーバーが特定のインターフェースのポートでのみ接続を受け入れるようにする場合は、 Listen 90 to Listen domain.com:90に変更します。
- ファイルを保存し、サーバーを再起動します。
<VirtualHost *:443>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
SSLEngine on
SSLCertificateFile <File Name>
SSLCertificateKeyFile <Key>
</VirtualHost>
<VirtualHost _default_:443>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
# SSLProtocol all -SSLv2
# SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5:!SEED:!IDEA
SSLCertificateFile <File Name>
SSLCertificateKeyFile <Key>
</VirtualHost>
- SSLサポートの有効化は、以下の場所にあるApacheデフォルトの仮想ホストファイルを使用して行います:
- 仮装ホストファイルを編集し、ポート443でSSLサポートを有効化します。
- SSLモードを有効化するには、以下コマンドを実行します。
- サーバーを再起動します。
プラグインのインストール
- 上記に従ってApacheを設定し、パフォーマンス属性を監視します。
- プラグイン実行予定のサーバーに Site24x7 Linuxエージェント の最新バージョンをダウンロードおよびインストールします。正常にインストールされると、Site24x7コントロールパネルにLinuxサーバーモニターが表示されます。これにより、エージェントがデータセンターと通信できるようになります。
- GitHubリポジトリ― apache.py" から ファイルをダウンロードします。 wget https://github.com/site24x7/plugins/blob/master/apache_monitoring/apache_monitoring.py
- ステータスURLでファイルを更新し、Apacheを監視します。デフォルトでは、以下のように有効化されています:http://localhost:80/server-status?auto
- Site24x7 Linuxエージェントプラグインディレクトリー[ /opt/site24x7/monagent/plugins/ ]に、[apache]という名前のフォルダーを作成し、[ /opt/site24x7/monagent/plugins/apache/ ]に[apache.py]を配置します。
エージェントは5分以内にプラグインを自動実行し、Site24x7データセンターにパフォーマンスデータを送信します。
Site24x7 Webクライアントでデータの表示
- ログインし、[サーバー] >[プラグイン] > [プラグイン監視名] へ進みます。
- サーバーのさまざまなメトリクスに関するパフォーマンスグラフを表示することができます。
エラー処理
S.No | エラーメッセージ | 原因 |
---|---|---|
1 | Error_code : URL Error [Errno -2] Name or service not known | 無効なホスト名 |
2 | Error_code : URL Error [Errno 1] _ssl.c:510: error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol | ApacheステータスURLがHTTPSに設定されていない場合 |
3 | Error_code : HTTP Error 404 | 無効なステータスURL |
4 | Error_code : HTTP Error 400 | 無効なポート番号 |
プラグインに貢献
に関する提案やフィードバックをご自由にお寄せください。貴重な意見は既存プラグインの発展へと繋げていきます。 コミュニティー.
関連記事
- Out-of-the-boxプラグイン - 豊富な連携リストでアプリケーション全体を監視します。
- サーバー監視 - サーバーの停止やパフォーマンスの問題を完全に把握します。
- Redis - Redisデータベースのパフォーマンスメトリクスを監視します。
- MySQL - MySQLデータベースのパフォーマンスメトリクスを監視します。
- Zombie Process - Zombie Processサーバーのパフォーマンスを分析します。
- Nagios - Site24x7では、Nagiosサーバーを実行する必要なしに、何千ものNagiosプラグインを実行することができます。
- カスタムスクリプト監視- カスタム Linux および Windows プラグインを作成し、カスタム属性を監視します。
- GitHubリポジトリ― - 50以上のプラグイン連携を備えています