• ログイン無料アカウント

本書は、お客様のご参考のために原文の英語版を機械翻訳したものです。

英語版と齟齬がある場合、英語版の定めが優先するものとします。より詳しい情報については、本リンクをご参照ください。

問題を作成する

アラートカスタム違反の説明

いくつかのタイプの条件では、より良い違反対応や他のシステムでの使用のために、有用な情報を下流に渡すカスタム違反記述を定義することができます。カスタム違反の説明は、UI または NRQL で作成できます。

要件

カスタム違反の説明機能は以下のように利用できます。

  • NRQL警告条件
  • インフラ監視のアラート状態

カスタム違反の説明欄の最大文字数は4000です。

カスタム違反の記述とは何ですか?

一部の タイプの条件 では、条件とその違反に関する情報を下流に伝えるカスタム違反の説明を作成することができます。説明文を使用すると、以下のことができます。

  • 症状の理由を捉える
  • モニタリングする信号の定義
  • 次のステップを決める
  • ダウンストリームシステムへのメタデータの追加

Custom violation description フィールドでは、一般的なテンプレート構造を使用することができ、違反が発生したときに、 一般的なセクションを特定の値で置き換えることができます 。例えば、説明文にこれを使ったとします。

This is my condition name : {{conditionName}}
The hostname is : {{tags.fullHostname}}

この状態で違反が発生すると、詳細が記入され、このような通知が届きます。

This is my condition name : My Great Alert Condition
The hostname is : ip-123-45-67-89.us-west-1.compute.internal

カスタム違反の説明の作成

Screen capture of the alerts condition description field used to pass useful, custom information along.

one.newrelic.comのトップナビゲーションで、[アラートとAI ]をクリックし、[アラート条件(ポリシー) ]、(ポリシーを選択)、(条件を選択)の順にクリックします。[ +カスタム違反の説明を追加]をクリックしてフィールドを開きます。

カスタム違反の説明を作成するには、 NRQL アラートの専用フィールド 、または インフラストラクチャ・アラートの「Describe this condition」セクション を使用します。

カスタム違反説明書のテンプレート例

ここでは、カスタム違反の説明テンプレートの例を紹介します。

this is my condition name : {{conditionName}}
The hostname is : {{tags.fullHostname}}
Owning Team: {{tags.label.owning_team}}
Product: {{tags.label.product}}
ec2VpcId: {{tags.aws.ec2VpcId}}
Service name : {{tags.label.Name}}
AWS Region : {{tags.aws.awsRegion}}
AWS Availability Zone: {{tags.aws.awsAvailabilityZone}}
Department : {{tags.label.department}}
Environment: {{tags.label.environment}}
Cluster: {{tags.clusterName}}
Cluster Role: {{tags.clusterRole}}
EC2 Instance Type: {{tags.instanceType}}
EC2 InstanceID: {{tags.aws.ec2InstanceId}}
EC2 AmiId: {{tags.aws.ec2AmiId}}
EC2 Root Device Type: {{tags.aws.ec2RootDeviceType}}

そのデータがどのようにして通知されるのかを説明します。

New Relic alert violation description

属性の使い方

カスタム違反の説明で使用できる属性は、 違反イベント に付けられた属性のサブセットです。ここでは、使用可能な属性の詳細とその使用方法について説明します。

  • 違反イベント属性:カスタム違反の説明で使用できる標準属性には{{AN_ATTRIBUTE}}の形式を使用します。例えば:

    The target name is : {{targetName}}
  • タグ属性:タグには、 {{tags.TAG_NAME}}の形式を使用します。タグには次の2つのタイプがあります。

    • エンティティ関連タグ: For Infrastructure conditions only. 利用可能な エンティティ関連タグ は、 New Relic Explorer にアクセスして、サービスの Metadata and tags の下を見るか、違反の詳細を見ることで見つけることができます。以下は、カスタム違反の説明にタグを使用する例です。

      The AWS region is : {{tags.aws.awsRegion}}
      Responsible team : {{tags.label.owning_team}}
    • ファセット句タグ: NRQL条件の場合のみ。 NRQL条件でFACET句を使用している場合は、 tags形式を使用して、カスタム違反の説明でこれらの値を使用できます。たとえば、NRQLクエリにFACET hostName, clusterが含まれている場合は、次のように使用できます。

      The host is : {{tags.hostName}}
      The cluster is : {{tags.cluster}}

タグ名にはホワイトスペースを含めることができないことに注意してください。展開された値は空白を含むことができますが、タグの名前自体は含みません。

NRQLでカスタム違反の説明を作成

説明付きの変異を作成することで、NRQL アラート条件を使用してカスタム違反の説明を作成することができます。

ここには空の変異テンプレートがあります。

mutation {
  alertsNrqlConditionStaticUpdate(accountId: YOUR_ACCOUNT_ID, id: "YOUR_CONDITION_ID", condition: {description: ""}) {
    YOUR_CUSTOM_VIOLATION_DESCRIPTION
  }
}

ここでは、カスタム違反の説明を含むミューテーションの例を示します。

mutation {
alertsNrqlConditionStaticUpdate(accountId: 123456, id: "123456", condition: {description: "timestamp : {{timestamp}} \n accountId : {{accountId}} \n type : {{type}} \n event : {{event}} \n description : {{description}} \n policyId : {{policyId}} \n policyName: {{policyName}} \n conditionName : {{conditionName}} \n conditionId : {{conditionId}} \n product : {{product}} \n conditionType : {{conditionType}} \n RunbookUrl : {{runbookUrl}} \n nrqlQuery : {{nrqlQuery}} \n nrqlEventType : {{nrqlEventType}} \n targetID : {{targetId}} \n targetName : {{targetName}} \n commandLine : {{tags.commandLine}} \n entityGuid : {{tags.entityGuid}} \n entityName : {{tags.entityName}} \n fullHostname : {{tags.fullHostname}} \n instanceType : {{tags.instanceType}} \n processDisplayName : {{tags.processDisplayName}}"}) {
description
}
}

Slackでユーザーに言及したり、チャンネルを通知する

Slackに送信されることがわかっている説明を作成するときは、ユーザーに@メンションするか、チャネル全体の通知( @here@channelなど)を生成することをお勧めします。これを実現するには、ユーザーIDまたはチャネル全体の通知を< }文字と>文字で囲まれた説明に含めるだけです。

ここでは、ユーザーに言及する場合の例を示します。

Attention <@LewCirne>

ここでは、チャネル全体の通知を生成する例を示します。

Attention <!channel>

重要

Incoming Webhookのチャネル全体の通知のSlack規則では、 @の代わりに!プレフィックスを使用することに注意してください。たとえば、 !hereまたは!channel

Copyright © 2022 New Relic Inc.