New Relic Syntheticについてまとめてみた
こんにちは、こんばんは。
ゲームソリューション部/業務効率化ソリューション部のきだぱんです。
今回は、New RelicのSyntheticについてブログを書いていきたいと思います。
New Relicについて
New Relicはオンプレミス、クラウドを問わずあらゆるシステムメトリクスを収集して、ボトルネックの特定や障害対応を高速化します。
アプリやインフラの性能、ユーザー側のレスポンスまでリアルタイムで⼀元的にモニター可能で、顧客体験の向上、クラウドコストの削減、デジタルビジネスの成功に不可欠なすべてのエンジニアリングプロジェクトをサポートしてくれる製品です。
外形監視について
New Relicは、New Relic APMやNew Relic Infrastructureのエージェントを利用してシステムを内部から監視するだけではなく、システムに対して実際に外側からアクセスして稼働状況を確認する__「外形監視」__ も可能です。
そもそも外形監視が必要な理由も少しだけ、触れておきます。
外形監視が必要な理由は、システム全体の問題を網羅的に監視するためです。
サーバー側が正常に動作していても、CDN(コンテンツデリバリーネットワーク)やDNS(ドメインネームシステム)などの外部要因によってエンドユーザーがサービスを利用できない場合、内部の監視だけではその問題を検出することができません。
ユーザーのアクセスと同じ状況をシミュレーションし、確認を行う外形監視があってこそ、初めて問題を検知できます。
エンドユーザーからの問い合わせで問題が発覚する前に、サービスの異常に気づくことができるのが外形監視の最も重要な役割です。
この外形監視を行うサービスがNew Relicでは、 New Relic Synthetic Monitoring(以下、Synthetic) です。
Syntheticでは、以下のような処理を実行できます。(New Relic Docsより)
- Webサービスの死活監視
- 世界中からのアクセス速度測定
- クリティカルユーザージャーニーを確認するシナリオ監視
- APIエンドポイントの応答監視
- SSL証明書の期限監視
- リンク切れのチェック
Syntheticについて
各設定を見ていきましょう。
New Relicへログインし、 Synthetic Monitoring -> Create a monitor を選択します。
以下のような表示になるので、Page load performanceタイルを選択し、URLをペーストします。
最後にロケーション選択をします。
モニタリングを行いたいロケーションにチェックを入れることで、世界中の様々な場所から監視を実施することが可能です。
また、インターネット経由ではアクセスできないイントラネット内の社内サービスに対しては、プライベートロケーションを利用して監視を行うことができます。
Ping オプション
さらに詳細な監視を行うために、オプション設定を行うことができます。
オプション設定では、成功と見なす条件を設定することが可能です。
オプション | 説明 |
---|---|
Text validation | 読み込んだサイト上に指定した文字列があるかどうか判定する。指定した文字列が存在しない場合はエラーになる |
ApdexTarget | モニターの許容レスポンスタイムを指定。デフォルト値は7秒 |
Verify SSL | チェックを付けた場合、SSL証明書チェーンの有効性を検証する ※SSL証明書チェーンの判定内容は次のコマンドの結果と一致します。コマンドの結果が0以外の場合はエラーになります。 |
Bypass HEAD request | チェックを付けた場合、HEADリクエストをスキップしてGETリクエストを行う |
Redirect is Failure | チェックを付けた場合、リダイレクト先を追跡せずリダイレクトが発生した場合はエラーとする |
Custom headers | モニターのリクエストに任意のカスタムヘッダーを追加する |
Secure Credentialsの設定と活用方法
Secure credentialsを活用することで、セキュリティを高めつつ、柔軟に認証情報を管理することができます。より安全なモニタリング環境を構築が可能です。
Scripted BrowserやScripted APIのモニターで利用する際、パスワードやAPIキーなどの認証情報をどのように安全に管理するかは非常に重要です。
そこで、Secure credentialsを活用することで、これらの認証情報を不可視の変数として扱うことができます。
Secure credentialsの作成方法
Secure credentialsを作成するには、まず、モニタリングツールのインターフェースで [Secure credentials] タブを見つけて選択します。
次に、 [Create secure credential] ボタンをクリックし、必要項目を入力します。
Secure credentialsの活用方法
Secure credentialsとして登録した情報は、スクリプト編集画面で呼び出すことができます。
スクリプト自体をセキュアに保つことが可能です。
例えば、以下のようにスクリプト内でSecure credentialsを利用することができます。
const request = require('request');
var headers = {
'Content-Type': 'json/application',
'X-Api-Key': $secure.API_KEY
};
スクリプトそのものを変更せずにSecure credentialsの値を変更するだけで、定期的な認証情報の更新にも対応できます。
おわりに
New RelicのSyntheticを理解するために私が参考にした内容とポイントについてまとめてみました。
これらを理解した上で障害発生時の原因特定や対策を決めるための道筋として考えていただければと思います。
今回ご紹介したものは、標準機能に過ぎないのでカスタマイズして一つ一つに合った監視をぜひ行ってみて下さい!
New Relicに関するブログも沢山展開されていますので、是非こちらもご覧ください。
この記事がどなたかのお役に立てば幸いです。