初回の「理論編 1: アプリケーションパフォーマンス監視とは」で、アプリケーションのパフォーマンス監視に必要なこととして、以下の5つを挙げました。このうち、下から3つは既に説明しました。今回は残り2つのサーバー監視と設定変更の監視について紹介します。
- サーバー監視: サーバーの健康状態を監視し、運用が効率的に維持できるようにする
- 設定変更の監視: システムの設定を監視し、いつ変更されたのか特定できるようにする
- アプリケーションパフォーマンスの監視: アプリやサービスを監視し、期待どおりに動作していることを保証できること
- 外形監視: ユーザーが問題に気づく前に問題を把握できるように、アプリがユーザーの期待どおりに機能しているかを調査できるようする
- アラート: 問題発生時に適切な対応者へ連絡できること
サーバー監視に関しては、OSS を含め非常に多くの製品やサービスが存在します。New Relic でももちろんカバーしており、それが New Relic Infrastructure です。
New Relic Infrastructure
New Relic 製品を利用する利点としては、前回紹介ように他製品と連携できるので、アプリケーション全体を通して比較、確認できる点や比較がし易い点です。また、単体の機能としても、New Relic Infrastructure は、数十、数百のホストを効率よく管理できる洗練された UI が特徴です。また、アラートに関しても非常に効率良く管理できるようになっています。
サーバー監視
New Relic Infrastructure では、サーバーリソースの計測結果を表示するタブが以下の4つあります。
- Hosts: ホスト
- Network: ネットワーク
- Storage: ストレース
- Processes: プロセス
ホスト
ホストペタブでは、その名のとおり各ホストの CPU、ロードアベレージ(過去5分間の作業待ちタスク数)、メモリ使用率がデフォルトでチャートに表示されます。
チャートの表示軸やメトリクスの切り替え
このタブに限らず他のタブにも共通することですが、タブ表示時に表示されるメトリクスや軸(ホストとか)はあくまでデフォルト値です。用意されているものから好きに変更できます。
軸を変更するには、画面上部の "Group BY" をクリックします。
メトリクスを変更するには、各チャートのタイトルの横をクリックすると、メトリクスとして選択できる項目が表示されます。
ネットワーク
ネットワークタブのチャートでは、パケット単位、バイト単位の帯域幅のメトリクスとそれに関連するエラーについての情報をデフォルトで表示します。
ストレージ
ストレージタブでは(デフォルト)デバイスごとのディスク利用率や読込/書込みバイトなどを表示します。他のタブと同じく、軸となる単位やチャートで表示しているメトリクス(ディスク利用率など)も様々用意されています。
プロセス
プロセスタブでは、プロセス単位の CPU使用率、I/O、メモリサイズを確認できます。これにより、どのプロセスがリソースを食っているかが確認できます。また、CPU 使用率などを対象にアラートを設定しておくことで急激なリソースの上昇時もすぐに気づくことができます。
設定変更の監視
設定変更とは、パッケージがインストール/アンインストールや、SSHによるユーザーの接続/解除、アラート、サービスの起動、停止など多岐に渡ります。
New Relic Infrastructure は、ホスト上の設定変更をイベント履歴という形で表示してくれます。ここまでで説明した4つのサーバーリソースを表示したタブのチャートの上部に常に "Events" という表示があるのに気づいたでしょうか。これが、サーバー設定の変更を示しています。
サーバーリソースが低下したことの原因は、何か設定を変更をしたせいかもしれません。リソースの変化とイベントを関連付けることで、迅速にその原因を特定できるような UI となっています。
左から右にタイムピッカーで選択している時系列に従って、一定期間に区切って表示されています。色が付いている箇所が変更があった時点です。色が濃いほど変更が複数回行われていることを示しています。
具体的にどのような変更が行われたかは、各ボックスをクリックすると表示されます。
また、イベント履歴は、Infrastructure のメニューの "Events" をクリックしても確認できます。
New Relic Infrastructure のインストール
ここでは詳しく解説しませんので、ご利用環境に合わせて、以下のドキュメント(日本語)をご覧ください。
まとめ
以上でアプリケーションのパフォーマンス監視に最低限必要な項目は満たすことができました。ここまでで紹介したのはあくまで最低限のことなので、是非、New Relic を活用してより効果的、効率的にアプリケーションのパフォーマンスの監視、分析を行えるようにしてください。
今回で基礎編は終了です。次回からは応用編を紹介します。