自動異常検出は、システム内の異常な動作を検出して分析するための最も簡単な方法です。これは、次の方法を使用して行います。
- 異常検出は、エージェントによって報告されたメトリック データを監視し、典型的なアプリケーション ダイナミクスのモデルを構築し、3 つの主要なゴールデン シグナル (スループット、応答時間、エラー) に焦点を当てます。
- これらのゴールデン シグナルの 1 つが異常な動作を示す場合、システムはその動作にフラグを立て、通常の動作への回復を追跡します。
- お客様のデータの変化に適応し、新しいデータに基づいてモデルを継続的に更新していきます。
自動的にオン: デフォルトでは、異常検出はすべての 必要なアクションはありません。 異常が検出されると、さまざまなアクティビティ ストリームに自動的に表示され、適用されたインテリジェンスの異常がフィードされ、NRQL を介してクエリを実行できるようになります。
相関: 異常は、相関ロジック ( 意思決定とも呼ばれます) に接続されます。関連付けロジックによって問題が関連していると判断された場合、複数のインシデントから 1 つの問題が作成されます。この相関する問題は問題フィードで確認できます。異常は、問題が発生した前後に何が変更されたかに関する追加のコンテキストを提供するため、チームはパターンを簡単に検出して問題を診断できます。
通知の受信: New Relic がスループット、エラー率、または応答時間の異常な変化を検出した場合、チームはこの動作に関する 通知 を受け取ることができます。選択した Slack チャンネルまたはメール チャンネルに通知を送信することをお勧めします。異常な動作が正常に戻ると、回復メッセージが送信されます。通知を受け取りたくない場合でも、 NRQL クエリを使用してデータにアクセスできます。
異常分析: 異常ごとに、Slack で異常分析ページへのリンクを提供します。 このページは、異常に対する自動的な洞察を生成します。このページは、最近の異常を一覧表示する異常タブからも利用できます。このページでは既存の 異常の原因に関する説明を提供するための異常検出データ。
Activity stream[アクティビティ ストリーム]: New Relic ホームページなどのさまざまなアクティビティ ストリーム内で、 概要ページ、エンティティ リスト ビュー、New Relic Lookout を使用すると、APM で監視されているアプリケーションからの関連する異常が表示されます。アクティビティ ストリーム内の異常イベントのいずれかをクリックすると、その異常の分析ページが表示されます。
アプリケーションは常に異常を生成するとは限らないため、検出を受け取らなくても正常な場合があります。
異常検出の構成
異常検出を構成するには:
- one.newrelic.com > All capabilities > Alerts & AI に移動し、左側のペインで Anomaly detection [異常検出を] クリックします。
- [ +構成を追加]をクリックします。
異常検出の設定を確認するには、 one.newrelic.com > All capabilities > Alerts & AI に移動し、左側のペインで Anomaly detection [異常検出を] クリックします。
アカウント内の他の構成と簡単に区別できるように、構成の名前を決めてください。
この構成に使用するアカウントを選択します。
含めるアプリケーションとサービスを選択します。
通知を受け取りたい指標を選択します。
通知方法を選択します。オプションは次のとおりです。
- Slack。グラフが使用する Slack チャネルとタイム ゾーンを選択する必要があります。
- ウェブフック。URL を追加する必要があります。
- 通知はありません。通知を受け取りたくない場合は、このオプションを選択します。
Save configuration[設定を保存]をクリックします。
異常の詳細を表示する方法
システムのパフォーマンスの異常の詳細を調べて、受け取ったエラーとその理由をよりよく理解できます。
検出された異常の詳細を確認するには、 one.newrelic.com > All capabilities > Alerts & AIに移動します。Anomalies [異常] タブをクリックしてダッシュボードを表示し、表示したい異常をクリックします。
異常の詳細により、次の情報が得られます。
- 異常の名前。それをクリックすると、APM & サービス機能が表示され、選択した異常の概要が表示されます。
- 信号の説明。
- エラー率またはエラー数別のグラフ データ。周波数を変更できます。
- 分析。見つかった属性、異常、およびエラーを確認して調査します。
ページを展開すると、異常に関する特定のデータ (メタデータ、エンティティ、最近のアクティビティ、および関連するダッシュボード) も表示されます。
構成に関連するすべての異常も表示できます。
- one.newrelic.com > All capabilities > Alerts & AI に移動し、左側のペインで Anomaly detection [異常検出を] クリックします。
- 異常を表示する構成を検索します。
- クリック 構成のアイコンをクリックし、 [View anomalies]を選択します。
特定の構成の異常を確認するには、 one.newrelic.com > All capabilities > Alerts & AI に移動し、左側のペインで Anomaly detection [異常検出を] クリックします。
異常のセットアップ
カスタム異常検出または自動異常検出のいずれかを使用してシステムの異常な動作を監視することを選択したら、異常な動作がチームに通知され、データをクエリして理解できるようにする必要があります。カスタム異常検出と自動異常検出のどちらを選択しても、セットアップは同じです。
New Relic の異常検出を使用するには、次のことを確認してください。
異常検出は、追加料金なしで自動的に有効になります。通知を受信したり、インシデント インテリジェンスのソースとして追加できる構成 (アプリのグループ) を用意したりするには、異常検出構成を作成する必要があります。
異常検出 UI で構成を作成できます。
one.newrelic.com > All capabilities > Alerts & AI に移動し、左側のペインで Anomaly detection [異常検出を] クリックします。
[ +構成を追加]をクリックします。
以下の情報をフォームに入力してください。
- アカウント内の他の構成と簡単に区別できるように、構成の名前を決めてください。
- アカウントを選択します。
- 最大 1,000 件のアプリケーションを選択します。スループットの低い特定のアプリケーションは、少量のデータ変動により敏感になる可能性があるため、異常検出の対象として適していない可能性があることに注意してください。
- 通知を受け取りたい指標を選択します。
- 通知方法を選択します。オプションは、Slack、Webhook、通知なしです。
Save configuration[設定を保存]をクリックします。
Slack で異常検出を使用する:
Select Slack.
通知を受け取る Slack チャネルを選択します。既存のパブリックまたはプライベート チャネルを選択できます。これにより、適用されたインテリジェンス Slack アプリケーションを選択したチャネルに追加するワークフローが促されます。または、異常検出用の新しいチャネルを作成し、最初に Slack でチャネルを作成してから、そのチャネルを選択します。
設定を保存します。
各構成のアプリケーションは、構成表で構成を選択することで、いつでも変更することができます。
Webhook で異常検出を使用します。
Webhook を選択します。
以下の情報をフォームに入力してください。
- WebhookのURLを入力してください。
- オプションでカスタムヘッダーを用意
- カスタムペイロードを編集するか、デフォルトのペイロードを使用するかを選択します。
設定を保存します。
各構成のアプリケーションは、構成表で構成を選択することで、いつでも変更することができます。
ワークフローで異常検出を使用します。
one.newrelic.com > All capabilities > Alerts & AI に移動し、左側のペインで Workflows [ワークフロー] をクリックします。
+ Add a workflow[+ ワークフローを追加]を選択します。
アカウント内の他のワークフローと簡単に識別できるワークフローの名前を選択します。
[Advanced] ボタンをクリックして、すべての属性の高度なフィルターを構築します。
Select or enter attribute セレクターをクリックし、 origins
を追加します。次に、演算子として contains
を選択し、値として anomalies
を選択します。
entitiesData.types
contains
Application
を選択します。
tag.entity.guid
を選択して、選択したエンティティを選択します。
signalType
contains
と、通知を受け取りたいシグナルを選択します。
データを強化する場合は、 Additional settings[追加設定] をクリックします。
目的のチャンネルを選択します。
ワークフローが機能するかどうかを確認するには、Test workflow[ワークフローのテスト] をクリックします。
[ワークフローを有効にする]をクリックします。
ノイズを減らすために、Slack や電子メールなどの優先度の低い通知チャネルに異常を送信することをお勧めします。
Slack では、特定のアプリケーションからの検出を一時的または永続的にミュートできます。チャンネル全体を一時的にミュートすることもできます。これは、インシデントが発生した場合や、チャネルを中断してはならない場合に役立ちます。
Slack でミュートするには、[このアプリの警告をミュートする] または [すべての警告をミュートする] を選択し、期間を選択します。ミュート期間が終了すると、通知が再開されます。
アプリケーションをミュートすると、そのアプリケーションが構成から完全に削除されます。再度追加するには、 one.newrelic.com > All capabilities > Alerts & AI > Anomaly detection移動し、編集する設定を選択します。
異常検出通知をミュートしても、アラートには影響しません。
それぞれの異常メッセージには、問題の詳細を把握し、トラブルシューティングを開始するために使用できるいくつかの重要な情報が含まれています。
アプリケーション名と、New Relic UI での詳細情報へのリンク。
異常が発生しているメトリックと、NewRelicUIの詳細へのリンク。
異常の動作と程度を視覚的に理解できるようにするための経時的なメトリックのグラフ。
適用されたインテリジェンスの分析ページに移動する[分析]ボタン。異常、上流または下流で検出された異常、およびその他の関連する信号に固有の主要な属性を識別します。
異常が正常に戻ったら、フィードバックを提供するオプションを含む回復通知を送信します。フィードバックは、検出品質を向上させるために開発チームに情報を提供します。スループットの異常についてフィードバックが提供されると、より適切なモデルを見つけるために、フィードバックに基づいて 1 時間ごとに評価が実行されます。私たちがあなたを助けた場合は、 Yes[はい] または No[いいえ]を選択できます。
Slack または Webhook を介して情報を提供する異常の通知に加えて、アラートおよび適用されたインテリジェンスの概要ページの異常フィードを介して、環境内の異常に関する詳細情報を表示できます。このタブには、選択したアカウントのすべての構成からの最近のすべての異常のリストが表示され、詳細な分析のために異常を選択できます。
異常フィードで異常を表示するだけでなく、異常は他のインシデントに関連付けられ、問題にグループ化されます。異常は、重大な問題の周りで何が変わったかのコンテキストを提供します。すぐに使用できる異常は、同じエンティティ タイプのインシデントと関連付けられます。ユース ケースに固有の相関関係は、 decisionを使用して追加できます。
異常は、さまざまなNewRelicアクティビティストリームと適用されたインテリジェンス異常フィードに表示されます。異常の可視性設定を使用して表示内容をカスタマイズできます(たとえば、アクティビティストリームでスループットの異常を非表示にし、異常フィードに保持します)。
これらの設定を見つけるには、[アラートと AI ] の [異常検出] で、[設定]をクリックします。
これらの設定を使用する際の注意点
これらの設定は、ユーザー レベルで適用されます。行った変更は、組織内の他のユーザーには影響しません。
これらの設定にかかわらず、異常値は報告され、 NRQL クエリで利用可能です。 。
これらのUIセクションの詳細。
AI overview and anomalies tab: AI overview and anomalies tab の設定で、異常値を非表示にします。また、これらのビューに固有のフィルターも使用できますのでご注意ください。
グローバル アクティビティ ストリーム: グローバル アクティビティ ストリーム セクションを使用して、New Relic ホームページ、
まとめ、ルックアウト。
異常の種類: ここのチェック ボックスを使用して、特定の種類の異常を非表示にします。たとえば、[ Web スループット] と [非 Web スループット異常] のチェックを外して、これらのタイプの異常をアクティビティ ストリームと [AI の概要と異常] タブの両方から非表示にします。それらは引き続きレポートされ、クエリに使用できることに注意してください。
NRQLを使用して、 NrAiAnomaly
イベントを使用して異常検出データのクエリとグラフ化を行うことができます。例えば:
FROM NrAiAnomaly SELECT *
重要
このデータは以前にProactiveDetection
イベントに添付されています。そのイベントは 2021 年 4 月 7 日に廃止されました。カスタム グラフでProactiveDetection
を使用する場合は、これらのクエリをNrAiAnomaly
を使用するように変換する必要があります。
このイベントに付随する重要な属性は以下の通りです。
属性 | 説明 |
---|
timestamp
タイムスタンプ
| イベントが書き込まれた時間です。 |
anomalyId
番号
| このインシデントが New Relic の異常に起因する場合は、異常 ID があります。 |
closeTime
タイムスタンプ
| 異常が終了した時刻。例: 1615304100000 。 |
configurationType
ストリング
| イベントを監視する構成のタイプ。少なくとも1つの構成がエンティティを監視している場合、これはconfiguration に設定されます。それ以外の場合は、 automatic に設定されます。 |
entity.accountId
番号
| エンティティが所属するNew RelicアカウントID。 |
entity.domain
列挙型
| エンティティのドメインです。例APMです。 |
entity.domainId
ストリング
| ドメイン内のエンティティを一意に識別するためのID。 |
entity.guid
ストリング
| エンティティのGUID。これは、NerdGraphを介してエンティティに関するデータを識別および取得するために使用されます。 entityGuid と同じです。 |
entity.name
ストリング
| データが異常であると判断されたエンティティの名前。 entityName と同じです。例: Laura's coffee service 。 |
entity.type
ストリング
| エンティティのタイプ(現在はAPPLICATION のみですが、将来の機能で変更されます)。 |
entityGuid
ストリング
| エンティティのGUID。これは、NerdGraphを介してエンティティに関するデータを識別および取得するために使用されます。 entity.guid と同じです。 |
entityName
ストリング
| データが異常であると判断されたエンティティの名前。 entity.name と同じです。 |
evaluationType
ストリング
| これは常にanomaly です。 |
event
ストリング
| 異常データの始まり( open )か終わり( close )かを示します。 |
openTime
タイムスタンプ
| 異常が開いた時間。例: 1615303740000 。 |
signalType
ストリング
| 分析されたデータのタイプ。たとえば、 error_rate またはresponse_time.non_web 。 |
title
ストリング
| 異常の説明。例: Error rate was much higher than normal 。 |
インシデント インテリジェンスを異常検出と統合することで、コンテキストと相関関係を取得できます。インシデント インテリジェンスでこれを行う方法については、「 ソースの構成」を参照してください。
構成内から[インシデントインテリジェンスに接続]を選択することもできます。
自動異常検出は、イベント本文を HTTPS POST 経由で JSON 形式で送信します。システムは、エンドポイントが正常な HTTP コード (2xx) を返すことを期待しています。Webhook を使用して自動異常検出を構成する場合は、Webhook 本文の形式と JSON スキーマの例を使用してください。
属性 | 説明 |
---|
category
列挙型
| 分析対象となったデータのカテゴリー。 カテゴリーには、ウェブ・スループット、非ウェブ・スループット、ウェブ・トランザクション、非ウェブ・トランザクション、エラー・クラスがあります。 |
data
リスト
| 検知に至るまでの時系列データです。 |
data[].timestamp
番号
| データポイントのタイムスタンプ(Unix エポックからの ミリ秒) 。例:1584366819000 |
data[].unit
ストリング
| データポイントの値を表す単位。 データ単位には、 count 、 milliseconds 、およびerror_rate が含まれます。 |
data[].value
番号
| データポイントの値です。例:1.52 |
detectionType
列挙型
| 分析されたデータのタイプ。タイプには、 latency 、 throughput 、およびerror_rate が含まれます。 |
entity
物体
| 異常なデータを報告した企業。 |
entity.accountId
番号
| エンティティのアカウントのIDです。 |
entity.domain
列挙型
| エンティティのドメインです。例APMです。 |
entity.domainId
ストリング
| ドメイン内のエンティティを一意に識別するためのID。 |
entity.guid
ストリング
| すべての製品においてエンティティを一意に識別するために使用されるguidです。 |
entity.name
ストリング
| エンティティの名前。例: Laura’s coffee service |
entity.link
ストリング
| エンティティを表示するためのリンクです。例 https://rpm.newrelic.com/accounts/YOUR_ACCOUNT_ID/applications/987654321”
|
severity
列挙型
| NORMAL 、 WARNING 、またはCRITICAL を含む、異常な変更がどのように発生したかの説明。
|
version
ストリング
| 提供されるデータを説明するために使用されるバージョン。 例:v1 |
viewChartImageUrl
ストリング
| 異常データのチャートを示す画像。 |
anomalyzerUrl
ストリング
| NewRelicの異常を分析するために開くことができるURL。 |
JSONスキーマの例
適用されたインテリジェンスは、HTTPSPOSTを介してJSON形式でイベント本文を送信します。システムは、エンドポイントが成功したHTTPコード(2xx)を返すことを期待しています。
テンプレートです。
"version": "{{version}}",
"type": "{{entity.type}}",
"name": "{{entity.name}}",
"link": "{{entity.link}}",
"entityGuid": "{{entity.entityGuid}}",
"domainId": "{{entity.domainId}}",
"domain": "{{entity.domain}}",
"accountId": {{entity.accountId}}
"detectionType": "{{detectionType}}",
"category": "{{category}}",
"timestamp": {{timestamp}}
{{#unless @last}},{{/unless}}
"viewChartImageUrl": "{{viewChartImageUrl}}",
"anomalyzerUrl": "{{anomalyzerUrl}}"
サンプルペイロード。
"name": "My Application",
"link": "https://rpm.newrelic.com/accounts/ACCOUNT_ID/applications/123",
"accountId": YOUR_ACCOUNT_ID
"detectionType": "metric",
"category": "web throughput",
"timestamp": 1637260259819
"timestamp": 1637260319819
"timestamp": 1637260379819
"viewChartImageUrl": "https://www.example.com/image/8353cf2c-945c-48e8-99de-e903f033a881?height=200&width=400&show_timezone=true",
"anomalyzerUrl": "https://www.example.com/anomalyzerUrlExample"