条件の種類によっては、インシデント対応を改善したり、他のシステムで使用したりするために有用な情報をダウンストリームに渡すカスタム インシデントの説明を定義できます。UI または GraphQL でカスタム インシデントの説明を作成できます。
要件
カスタム インシデントの説明機能は、次の場合に使用できます。
- NRQL警告条件
- インフラ監視のアラート状態
カスタム インシデントの説明フィールドの最大文字サイズは 4000 です。
カスタム インシデントの説明とは何ですか?
条件の種類によっては、条件とそのインシデントに関する情報を下流に渡すカスタム インシデントの説明を作成できます。説明を使用すると、次のことができます。
- 症状の理由を捉える
- モニタリングする信号の定義
- 次のステップを決める
- ダウンストリームシステムへのメタデータの追加
[カスタム インシデントの説明]フィールドを使用すると、インシデントが生成されたときに一般的なセクションを特定の値に置き換える一般的なテンプレート構造を使用できます。たとえば、説明でこれを使用したとしましょう:
This is my condition name : {{conditionName}}The hostname is : {{tags.fullHostname}}
この状態から発生したインシデントの詳細が入力され、次のような通知が届きます。
This is my condition name : My Great Alert ConditionThe hostname is : ip-123-45-67-89.us-west-1.compute.internal
カスタム インシデントの説明を作成する
one.newrelic.com > All capabilities > Alerts & AI > Alert conditions (Policies) > (ポリシーを選択) > (条件を選択): + Add custom incident description [+ カスタム インシデントの説明を追加] をクリックしてフィールドを開きます。
NRQL アラートの専用フィールド、またはインフラストラクチャ アラートの [この条件の説明] セクションを使用して、カスタム インシデントの説明を作成できます。
カスタム インシデント説明テンプレートの例
カスタム インシデント説明テンプレートの例を次に示します。
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}}
属性の使い方
カスタム インシデントの説明で使用できる属性は、 インシデント イベントに関連付けられた属性のサブセットです。使用可能な属性とその使用方法の詳細を次に示します。
インシデント イベント属性: カスタム インシデントの説明で使用できる標準属性には、形式
{{AN_ATTRIBUTE}}
を使用します。例えば:The target name is : {{targetName}}タグ属性:タグには、
{{tags.TAG_NAME}}
の形式を使用します。タグには次の2つのタイプがあります。エンティティ関連タグ: インフラストラクチャ条件のみ。 使用可能な エンティティ関連のタグを 見つけるには、 エンティティ エクスプローラー に移動してサービスの 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}}
タグ名にはホワイトスペースを含めることができないことに注意してください。展開された値は空白を含むことができますが、タグの名前自体は含みません。
GraphQL を使用してカスタム インシデントの説明を作成する
その説明を使用してGraphQLミューテーションを介して、NRQLアラート条件でカスタムインシデントの説明を作成できます。
ここには空の変異テンプレートがあります。
mutation { alertsNrqlConditionStaticUpdate(accountId: YOUR_ACCOUNT_ID, id: "YOUR_CONDITION_ID", condition: {description: ""}) { YOUR_CUSTOM_INCIDENT_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 }}
- NRQL 条件と NerdGraph API の使用についての詳細は、 NerdGraph API をご覧ください。NRQL条件のアラート 。
- インフラストラクチャ監視条件の場合、 インフラストラクチャ監視アラート条件を作成するときにカスタム インシデントの説明を作成できます。
- カスタム インシデントの説明を構成する方法については、サンプル テンプレートと属性/タグの説明を参照してください。
Slackでユーザーに言及したり、チャンネルを通知する
Slackに送信されることがわかっている説明を作成するときは、ユーザーに@メンションするか、チャネル全体の通知( @hereや@channelなど)を生成することをお勧めします。これを実現するには、ユーザーIDまたはチャネル全体の通知を<
}文字と>
文字で囲まれた説明に含めるだけです。
ここでは、ユーザーに言及する場合の例を示します。
Attention <@LewCirne>
ここでは、チャネル全体の通知を生成する例を示します。
Attention <!channel>
重要
Incoming Webhookのチャネル全体の通知のSlack規則では、 @
の代わりに!
プレフィックスを使用することに注意してください。たとえば、 !here
または!channel
。