Apacheサーバ性能全監視


企業はウェブサイトを日常的に運営する重要な業務と見なしている.Linuxシステム管理者は、重要なビジネスの機能を最適なパフォーマンスに維持するために、Webサーバを簡単かつ効率的に監視するためのさまざまなツールが必要です.
次の3つのオープンソースツールは、Linux管理者がWebサーバの機能、潜在的なセキュリティ問題、および訪問者数をさらに理解するのに役立ちます.
1.Apache Benchを用いた試験性能基準.
予期せぬパフォーマンス低下を解決する最善の方法は、最初に発生しないことを確保することです.Apache Bench(ab)というツールは、サーバのパフォーマンス基準をテストし、構成を最適化するために使用できます.
Apache Benchのコマンドラインインタフェースは使いやすく、システム管理者は性能をテストする際に現在発生すべき要求数、POSTペイロード、または有効性能結果を含む出力ファイル名を規定することができる.次に、GameNomad開発サーバのパフォーマンスを確認する方法を見てみましょう.これにより、本番サーバ上でWebサイトを実行する場合と比較したパフォーマンスが表示されます.
このテストでは、合計1000個のリクエストが発行され、同時に10個のリクエストが実行されます.

$ ab -c 10 -n 1000 http://stage.gamenomad.com/
...
Benchmarking stage.gamenomad.com (be patient)
Completed 100 requests
Completed 200 requests
...
Completed 900 requests
Completed 1000 requests
Finished 1000 requests
Server Software: Apache/2.2.17
Server Hostname: stage.gamenomad.com
Server Port: 80
Document Path: /
Document Length: 9654 bytes
Concurrency Level: 10
Time taken for tests: 376.074 seconds
Complete requests: 1000
Failed requests: 8
(Connect: 0, Receive: 0, Length: 8, Exceptions: 0)
Write errors: 0
Total transferred: 9988344 bytes
HTML transferred: 9596168 bytes
Requests per second: 10.91 [#/sec] (mean)
Time per request: 916.872 [ms] (mean)
Time per request: 91.687 [ms] (mean, across all concurrent requests)
Transfer rate: 106.58 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 88 96 9.7 94 151
Processing: 320 739 496.8 491 2640
Waiting: 221 629 494.2 376 2539
Total: 413 835 495.6 587 2735
Percentage of the requests served within a certain time (ms)
50% 587
66% 729
75% 942
80% 1528
90% 1672
95% 1761
98% 1924
99% 2735
100% 2735 (longest request)

情報が接続時間に戻ると、平均総接続時間を接続、待機、処理の3つの構成部分に分解し、潜在的なボトルネックの識別を支援します.
それぞれの状況に専用のベストプラクティス指標が適用されていないにもかかわらず、最も速いのはベストです.ページのダウンロードが遅い場合、ユーザーは滞在しません.
改善後、abを再実行し(むしろ何回か試したほうがいい)、結果を最初のものと比較します.考えてみると、接続時間だけでなく、時間内のサービスの要求比率も比較されています.リモートサーバからabを実行し、可能な限りリアル世界の環境を模倣します.
2.サーバのセキュリティをNiktoで評価します.
一般的なサイトは電子版の中世の古い砦に似ており、野蛮人がドアをたたいている.異なる点は、1つのWebサイトが世界規模であるため、自動化スクリプトや他の発明が共同でWebサーバの防衛を攻撃する機会がより大きいことです.
また、最新のセキュリティパッチの更新を維持したり、潜在的な攻撃者としての位置を維持したり、可能なセキュリティ問題に対してサーバをスキャンしたりするなど、積極的な措置を取らなければなりません.
Niktoは、オペレーティングシステム、Webサーバ、ソフトウェアのインストールに関する数千以上の既知の脆弱性を検出するオープンソーススキャナとして使用可能なツールです.NiktoはPerlベースで、Windowsを含むすべてのオペレーティングシステムで実行できます.インストールすると、Niltoとスキャンしたいサーバーの名前を話すように簡単です.

$ nikto -h dev.gamenomad.com

完全スキャンを1回実行するのは悪い考えではありませんが、Niktoは総合性を他の要因の前に置いていることを覚えておいてください.これは、何千回も連続したリクエストを実行することを意味します.
そのため、Niktoのデフォルトのスキャン範囲をフィルタしたいかもしれません.サードパーティ製インストールパッケージの統合時にすでに入っている可能性のある特定の脆弱性を選択します.既知のSQLインジェクション攻撃を実行する能力とインストールされているソフトウェアの可視性を確認し、それぞれ-Tフラグの後に7とbの値を追加します.

$ nikto -h dev.gamenomad.com -T 7b
- Nikto v2.1.1
---------------------------------------------------------------------------
+ Target IP: 127.0.0.1
+ Target Hostname: dev.gamenomad.com
+ Target Port: 80
+ Start Time: 2011-08-03 13:05:22
---------------------------------------------------------------------------
+ Server: Apache/2.2.17 (Ubuntu)
+ No CGI Directories found (use ‘-C all’ to force check all possible dirs)
+ Retrieved X-Powered-By header: PHP/5.3.5-1ubuntu7.2
+ DEBUG HTTP verb may show server debugging information.
See http://msdn.microsoft.com/en-us/library/e8z01xdh%28VS.80%29.aspx for details.
+ 21 items checked: 2 item(s) reported on remote host + End Time: 2011-08-03 13:07:59 (157 seconds)
---------------------------------------------------------------------------
+ 1 host(s) tested

Niktoは、サードパーティのソフトウェアスキャンレポートの既知のSQL注入攻撃とともにのみ使用できます.カスタムアプリケーションに導入されたSQL注入攻撃を検出できません.
Niktoファイルには、レポートの作成、プラグインの使用、タイムアウト圧縮リクエストの使用など、使用可能な完全な脆弱性オプションのリストがあります.
3.Piwikで流量を分析する.
Googleの分析はWeb分析では確かにトップ製品だが、他の分析ツールも考慮に値する.その一つがPiwikで、グーグル分析に代わるオープンソースの選択を目指しています.
AWstatsやWebalizerなどの成熟したオープンソースツールに比べて、Piwikはまだ新人ですが、スムーズなインタフェース、成熟した機能セット、変換、電子商取引追跡機能、iOSやアンドロイドに使用できるモバイルアプリケーションは無視できません.
Piwikのインストールと構成プロセスはグーグルの分析と似ており、サイトに追跡コードセグメントのJavaスクリプトを挿入するだけです.異なる点は、すべての分析情報がローカルのデータベースに格納されており、ソフトウェアの変更に制限はありません.
この3つのオープンソースソリューションを使用すると、Webサーバのパフォーマンス、潜在的なセキュリティ問題、および訪問者数をより深く理解できます.