前回からHP StormRunner Load(以後SRL)の画面(Webブラウザでアクセス)で表示されるステップに基づいて「テスト作成」>「スクリプト指定」>「負荷設定」まで実施しましたね。今回は、その続きでサーバー側のリソースを収集するための「モニタリング」から設定をしていきたいと思います。
ちょうど、メイン画面の左ペインに表示されている「折れ線アイコン」が「モニタリング」のリンクになっています。クリックしてみましょう(赤枠箇所)。
すると次の画面が表示され、皆さんの環境では現時点ではリソース収集する対象については何も設定がない状態になってるかと思います(下画面参照)。そこで、左上にある「作成」をクリックしてみましょう (赤枠箇所)。
「新規モニタ」ウインドウ(下図)が表示されましたね?そうです、ここで表示されているように、SRLでは、2つの方法でテスト対象となっているシステムのリソース情報を収集する事ができます。
とはいえ、どちらもどんなものか理解されていないかもしれませんので、いったんこの新規モニタの画面は「キャンセル」をクリックして閉じてみましょう。先に、それぞれの収集方法について説明をしていきます。
まず、SiteScope(以後SiS)ですが、これはHPのAPM製品であり、運用監視ツールとして日本国内でのミッションクリティカルシステムでの実績も非常に豊富なツールです。SRLでは、SiS がテスト実行時にSRLのサービスの一部としてインスタンスが起動し無償で利用することができます。
構成としては、次のようになり(下図)、現バージョン1.4ではSRL内のSiSからテスト対象システムへSSHを経由して外部からアクセスできる事が条件になります。
もう一方の、New Relicを利用したリソース収集は日本でも利用者が数年前からでてきているサーバーやアプリケーション監視のSaaSサービスであるNew Relic を使う収集方法になります。具体的な構成は次のようになります(下図)。
すでにNew Relicを利用してアプリケーションを監視しているのであれば、その情報をSRLはAPIを利用して取得するだけですので非常に簡単に収集が可能です。
実は今回テスト対象としてご紹介したサイト
のサーバーはSiS用のSSHアクセスやNew Relic の設定はされていません。そこで、今回は、別のマシン(Node.js アプリが稼動している)にNew Relic のAPM設定を実施して、その値をSRLで収集する方法をご紹介したいと思います。現SRLバージョン1.4では、New RelicのAPMのみ収集可能で、他のSERVERSなどは対象外になっています。
さっそくNew Relic のサービスを利用する手順から説明していきます。もし、すでにNew Relic のAPMでアプリケーションを監視しているようであれば途中を飛ばしていただいてかまいません。
まずは
をブラウザで開いてみましょう。Googleで検索するのであれば、New Relicと検索すればトップに表示されるはずです。
サイトにアクセスすると次のトップ画面が表示されますね?そうしたら、右上の「Sign Up for New Relic」をクリックして進みましょう。ただし、注意点があります。現時点(2015年5月18日)では、New Relicのサービスは無償版と有償版があり、今回は無償版の範囲でリソースを収集します。New RelicはHPのサービスではないためいつサービス内容が変更になるかはわかりません。都度ご自身でご確認してください。あくまでも現時点での無償範囲が利用できるという前提の元、進めていきます。
次の画面で登録に必要な情報を入力します。すべて入力して最後にあるTerms of Service リンクを開いて表示される利用規約に問題がなければ「I agree to the Terms of Service」にチェックをして「Sign Up for New Relic」をクリックして登録を終了しましょう(赤枠箇所)。
すると、自動で次の画面に切り替わります。ここで表示されている APM や BROWSER といったものが New Relic が提供しているサービスになります。SRLは現バージョン1.4では、APM のみ収集可能です。
次にNew Relicを利用する上で把握しておきたい情報を確認しておきましょう。右にあるアカウント情報にマウスをあてるとプルダウンでサブメニューが表示されますので、ここから「Account settings」をクリックしてみましょう (赤枠箇所)。
表示された画面の右側に「License key」がありますね?これはNew Relic のエージェントを設定する際に必要になりますのでメモしておきましょう (赤枠箇所)。
次は、実際に APM の設定をしていきます。左上にあるメニュにマウスを当てるとプルダウンでサブメニューが表示されますので、ここから一番上に表示されている APM をクリックしてみましょう (赤枠箇所)。
何も収集しているアプリケーション設定がないと次のような画面が表示されているはずです。ここで今回はNode.jsサーバーのアプリを収集するのでNode.jsのアイコンをクリックしてみてください (赤枠箇所)。
すると Node.js の対象アプリに New Relic のエージェントをインストールする手順が表示されますので、順番にやっていきましょう!
ちなみに私の環境(CentOS6.5)ではエージェントインストールは次のようになりました。めでたく成功しています。
あとは、New Relicの4番目の手順にある対象アプリのコードの冒頭に
require('newrelic');
としてサービス再起動すればNew Relicで収集がはじまります。私の環境の場合データの収集までに数分かかりましたが表示されるようになりました。
こんな感じに画面がアップデートされて、対象のNode.js アプリが表示されているのが確認できます (赤枠箇所)。ちょっとどんな情報がとれているのか確認してみましょう。アプリ名をクリックしてみましょう。
こんな感じでOverviewで応答時間の時間経過での推移などが表示されているはずです。詳細はNew Relic のサイトで確認してみて下さい。
今度は、SRLからNew RelicにAPI 経由でアクセスするための設定をしていきます。再度、右上のアカウント表示にマウスをあて表示されるサブプルダウンメニューから「Account settings」をクリックしてみましょう (赤枠箇所)。
左に表示される「Data sharing」をクリックしてみましょう (赤枠箇所)。
すると、次の画面が表示されます。デフォルトではAPI経由での取得は無効になっているので、「Enable API Access」をクリックして有効にします (赤枠箇所)。
API経由での取得設定を有効にすると、次のように「API Key」が表示されますので、これをメモしておきましょう。New Relic側での設定はここまでいったん終了です。
では、SRLに戻って、設定したNew Relic のAPM 設定を収集する方法について説明していきます。先ほどキャンセルした画面に戻って見て下さい。そこで「New Relic」をクリックしてみましょう (赤枠表示)。
次に表示される画面で「New Relic API キー」に先ほどメモした「API Key」を入力してみましょう。入力したら「保存」をクリックします。
すると左上にNew RelicのAPMで設定したアプリケーションが選択できるようになります。ここで収集したいメトリック(SRLでテスト中に収集したいNew Relic APM のリソース項目)にチェックをつけましょう。選択を終えたら右下の「保存」をクリックしましょう (赤枠箇所)。
モニタリングの画面にもどりますので、追加したNew Relic のAPMで設定したアプリが表示されている事を確認しましょう (赤枠箇所)。ちゃんと表示されますね!めでたし!
今回はここまでとします、お疲れ様でした。
次回からは、画面の左メニューペインに表示されている「モニタリング」の下の地球儀アイコンである「分布」から設定していきます。分布とはSRLはご紹介してきたようにSaaSで提供しており、その負荷生成マシンはクラウド上に存在します。当然、単に負荷生成マシンの手配、インプリ、設定を短期間に設定できるだけではなく、どこの場所(国、地域)から負荷をかけるかもグローバルに展開しているクラウド内の環境をフル活用できる事も大きなメリットです。
SRLについてもっと直接聞いてみたいとか、購入したいけどHP SaaSのサイトは英語で購入方法がよくわからないというお問い合わせはこちらまでお願いします!
では、また。