一部の種類の条件では、より適切なインシデント対応や他のシステムでの使用のために、下流に有用な情報を渡す説明テンプレートを定義できます。 説明テンプレートは、UI または GraphQL を使用して作成できます。
要件
説明テンプレート機能は以下で利用できます。
- NRQL警告条件
- インフラ監視のアラート状態
説明テンプレート フィールドの最大文字数は 4000 です。
説明テンプレートとは何ですか?
一部のタイプの条件では、条件とそのインシデントに関する情報を下流に渡す説明テンプレートを作成できます。 説明を使用すると、次のことが可能になります。
- 症状の理由を捉える
- モニタリングする信号の定義
- 次のステップを決める
- ダウンストリームシステムへのメタデータの追加
Description templateフィールドを使用すると、インシデントの生成時に汎用セクションを特定の値に置き換える一般的なテンプレート構造を使用できます。 たとえば、説明にこれを使用したとします。
This is my condition name : The hostname is :
この状態から発生したインシデントの詳細が入力され、次のような通知が届きます。
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) > (select a policy) > (select a condition): フィールドを開くには+ Add description templateをクリックします。
NRQL アラートの専用フィールド、またはインフラストラクチャ アラートの「この条件を説明する」セクションを使用して説明テンプレートを作成できます。
説明テンプレート テンプレート例
説明テンプレートの例を次に示します。
This is my condition name : The hostname is : Owning Team: Product: ec2VpcId: Service name : AWS Region : AWS Availability Zone: Department : Environment: Cluster: Cluster Role: EC2 Instance Type: EC2 InstanceID: EC2 AmiId: EC2 Root Device Type:
属性の使い方
説明テンプレートで使用できる属性は、 インシデント イベントに添付された属性のサブセットです。 利用可能な属性とその使用方法に関する詳細は次のとおりです。
インシデント イベント属性: 説明テンプレートで使用できる標準属性の場合は、形式
{{AN_ATTRIBUTE}}
を使用します。 例えば:The target name is :タグ属性:タグには、
{{tags.TAG_NAME}}
の形式を使用します。タグには次の2つのタイプがあります。シンボル関連のタグ:For infrastructure conditions only. シンボル エクスプローラーMetadata and tags にアクセスしてサービスの の下を参照するか、インシデントの詳細を表示することで、使用可能な シンボル関連のタグ を見つけることができます。説明テンプレートでタグを使用する例を次に示します。
The AWS region is :Responsible team :ファセット句タグ: For NRQL conditions only. NRQL 条件で
FACET
句が使用されている場合は、tags
フォーマットを使用して、説明テンプレートでそれらの値を使用できます。 たとえば、NRQL クエリにFACET hostName, cluster
含まれている場合は、次のように使用できます。The host is :The cluster is :
タグ名にはホワイトスペースを含めることができないことに注意してください。展開された値は空白を含むことができますが、タグの名前自体は含みません。
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に送信されることが分かっている説明を作成する場合は、ユーザーを@mentionしたり、チャンネル全体の通知 (たとえば、 @hereまたは@channel ) を生成したりすることができます。 これを実現するには、説明にユーザー ID またはチャネル全体の通知を<
と>
文字で囲んで含めるだけです。
ここでは、ユーザーに言及する場合の例を示します。
Attention <@LewCirne>
ここでは、チャネル全体の通知を生成する例を示します。
Attention <!channel>
重要
Incoming Webhookのチャネル全体の通知のSlack規則では、 @
の代わりに!
プレフィックスを使用することに注意してください。たとえば、 !here
または!channel
。