アラート機能は、システムに問題が発生した際に適切なタイミングで通知を送信する機能です。場合によっては、特定の既知の通知を表示したくないこともあります。muting rulesを使用することで、不要なメッセージの大量送信を停止できます。
不要な通知に共通する要素を見つけたら、それらの要素だけをミュートし、他の通知は通過させるミュートルールを定義できます。 通知をミュートした場合でも、そのアラートに関するデータはによって収集されます。ミュートルールはアラート処理には影響せず、通知が送信される直前に適用されます。
ミュートルールを作成する
ミュートルールを作成する手順は以下のとおりです。
one.newrelic.com > All capabilities > Alertsに移動し、左側のナビゲーションペインでMuting rulesをクリックします。
+ Add a ruleをクリックします。
ミュートルールの名前と説明(任意)を入力し、ルールを適用するアカウントを選択します。
アラートフィルタを作成します。アラート属性のサブセットを使用できます。属性、演算子、値を選択します。属性:
accountId、conditionId、conditionName、conditionType、entity.guid、nrqlEventType、nrqlQuery、policyId、policyName、product、runbookUrl(conditionRunbookUrl)、tags.<NAME>、targetName。値は、アラートポリシーIDや条件名といったいずれかのアラート属性と比較されます。さらにフィルターを追加したい場合は、Add another conditionをクリックしてください。
ミュートルールを管理する
ミュートルールの条件は、ミュートの対象となるアラートを特定する属性、演算子、値で構成される個別の式のセットです。
ミュートルールを作成、有効化、無効化、管理するには、以下の手順に従ってください。
one.newrelic.com > All capabilities > Alertsに移動し、左側のナビゲーションペインでMuting rulesをクリックします。
ミュートルールはEnabled列からいつでも有効または無効にできます。また、各ルールの行にあるアイコンをクリックすることでルールの編集が可能です。
ルールは以下のいずれかのステータスになります。
- Active:ミュートが有効になっており、アクティブになっています。
- Scheduled:ミュートは有効になっていますが、まだアクティブなっていません(今後のスケジュールで有効になります)。
- Ended:ミュートは有効になっていますが、非アクティブになっています(今後のスケジュールが設定されていません)。
- Inactive:ミュートは無効になっています。
ミュートルールの通知オプション
ミュートルールがアクティブになっている状態でアラートが発生した場合、ユーザーには通知が届きません。ミュートルールが非アクティブになっている場合の通知の動作は、以下の2つの設定が可能です。
Notify:ミュートルールの適用期間後もアラートが継続している場合、通知が送られます。これは、既存のミュートされたアラートイベントをクローズすることで機能します。なお、引き続き閾値違反の状態にある場合は、新しいアラートイベントがミュートされていない状態で開かれ、通知が送信されます。これがデフォルト設定であり、この設定を使用することが推奨されます。
Suppress notificationミュートルールの適用期間後もアラートが継続していても、通知は届きません。これは、既存のミュートされたアラートをミュートルールの適用期間の終了時刻を過ぎてもオープンにしたままにしておくことで機能します。

one.newrelic.com > All capabilities > Alertsに移動して+ Add a ruleをクリックします。
ミュートルールのスケジュールを設定する
必要に応じて、ミュートルールをスケジュール設定できます。
スケジュールを設定するには、開始時刻と終了時刻を選択します。必要な場合、ミュートルールを丸一日有効に適用することもできます。
ミュートルールのスケジュール設定では、タイムゾーンを選択することもできます。デフォルトでは、ユーザー設定で選択したタイムゾーンが適用されます。

one.newrelic.com > All capabilities > Alertsに移動し、左側のナビゲーションペインでMuting rulesをクリックします。ミュートルールのスケジュール設定では、柔軟で強力なオプションが用意されています。
ミュートルールは、毎日、毎週、毎月繰り返すようにスケジュール設定できます。毎週繰り返すように設定する場合は、繰り返す曜日を選択できます。未選択の場合、繰り返す曜日はミュートルールの開始予定日の曜日がデフォルトで設定されます。
重要
Repeat曜日のチェックボックスを選択した場合、Starts日とEnds日のフィールドが上書きされます。開始日を設定し、さらに曜日を選択した場合、ミュートルールは開始日以降で最初に到来するその曜日に適用されます。
また、日付や回数を選択することで、繰り返しの終了時期を指定することもできます。
ミュートされたアラートとイシューを確認する
オープンまたはクローズされた問題を表示すると、アラートと問題はMutedとマークされます。ミュートされたアラートと問題は、以下の場所で確認できます。
ミュートされた問題を確認するには、one.newrelic.com > All capabilities > Alertsに移動し、左側のナビゲーションペインでIssues & Activityをクリックします。ミュートされた重大なアラートの詳細を確認するには、ミュートされたイシューをクリックします。
ミュートされたアラートの一覧を表示するには、one.newrelic.com > All capabilities > Alertsに移動し、左側のナビゲーションペインでIssues & Activityをクリックします。次にalert events tabを選択します。ミュートされたアラートとイシューには、Muted列でアイコンが表示されます。
ファセット結果をミュートする tags.
ファセットクエリの結果をミュートするには、tags.FACETED_ATTRIBUTE属性を使用します。ここで、FACETED_ATTRIBUTEは、NRQL FACETクエリを実行した属性を表します。例えば、NRQLアラート条件の記述にFACET hostが含まれている場合、tags.hostを使用してそのFACET属性をターゲットにすることができます。
NRQL条件クエリは、複数のファセット属性を受け入れることができます。集計されたイベントまたはメトリクス時系列の属性を使ってフィルタリングできるようにするには、それらの属性をNRQLクエリのFACET句に追加する必要があります。例:FACET host, region, cluster。
tags.の使用例については、「ミュートルールの作成」を参照してください。
サブ条件演算子
これは、ミュートルールを追加する際に属性を比較するために使用できる論理演算子です。ミュートルールを初めて使用する場合は、こちらの例を参照してください。
ヒント
すべてのサブ条件演算子の値は、大文字と小文字を区別します。例えば、policyName STARTS_WITH 'PROD'を使用した場合、「Prod」で始まるポリシー名は対象になりません。
EQUALS:指定された値がアラート属性値と等しい。DOES_NOT_EQUALS:指定された値がアラート属性値と一致しない。IN:アラート属性値が指定された値のリスト(最大500個)に含まれている。NOT_IN:アラート属性値が指定された値のリスト(最大 500個)に含まれていない。CONTAINS:指定された文字列がアラート属性値に含まれている。DOES_NOT_CONTAINS:指定された文字列がアラート属性値に含まれていない。ENDS_WITH:アラート属性値が指定された文字列で終わる。NOT_ENDS_WITH:アラート属性値が指定された値文字列で終わっていない。STARTS_WITH:アラート属性値が指定された文字列で始まる。DOES_NOT_STARTS_WITH:アラート属性値が指定された値文字列で始まっていない。IS_BLANK:アラート属性値が空である。null、empty stringなど。IS_NOT_BLANK:アラート属性の値が空でない。null、empty stringなど。IS_ANY:条件にこの演算子を指定すると、アカウント上のすべてのアラートがミュートされます。
ミュートルールの挙動
ミュートルールは、デフォルトのライフサイクルの最後に適用され、通知を抑制またはミュートします。ミュートルールは既存のポリシーや条件を無効にするものではありません。例えば、メンテナンス期間やデプロイ時など、想定内のシステム停止期間に通知をミュートできます。システム停止のアラート通知がミュートされていても、システム停止のアラート自体は検出されます。
ミュートルールは、アラートの属性に一致する条件のセットを使用します。ミュートルールは以下の方法を定義するものです。
- アラートの作成後、イシューがオープンになる前に、個々のアラートを特定する。
- デフォルトの条件を上書きして、ミュートするように指示する。
現時点では、アラートをミュートした場合、通常のアラートライフサイクルは引き続き維持されたまま、ミュートされたアラートのみを含むイシューが通知されなくなります。
ミュートルールは、通知のトリガーとなったイシュー内のイベントに応じて判定されます。そのため、最初の通知イベントがミュート状態であったことでミュートされた場合、残りの通知イベントもすべてミュートされます。
ミュートルールは特定のアラートを上書きします。ミュートルールは既存のポリシーや条件を無効にするものではありません。上書きによって、多数のエンティティを対象とするポリシーや条件の範囲に含まれる特定のエンティティからのアラートだけをミュートすることが可能です。これにより、システムの一部分をメンテナンスする際に、監視を過度にミュートする必要がなくなります。
次の表は、アラートのミュートによって、アラートのライフサイクルがどのような影響を受けるかを示しています。
If | 次に | |
|---|---|---|
Event:イシューが発生した | ||
ミュートされていないアラートが原因でイシューが発生した場合 | このイシューに関する通知が送信されます。 | |
ミュートされているアラートが原因でイシューが発生した場合 | このイシューに関する通知は送信されません(ミュートされます)。 | |
ワークフローにおけるミュートの挙動
トリガーされたアラートは、イシューと1対1で関連付けられているため、アラートがミュートされると、対応するイシューもミュートされます。ワークフローはイシューによってトリガーされますが、イシューには複数のアラートが含まれる場合があるため、ミュートされたアラートとミュートされていないアラートが混在することがあります。
各イシューは、以下のいずれかのミュート状態になります。
- Fully muted (
FULLY_MUTED):イシューに含まれるすべてのオープンなアラートがミュートされている(デフォルト値)。 - Partially muted (
PARTIALLY_MUTED):イシューには、1つ以上のミュートされたオープンなアラートと、1つ以上のミュートされていないオープンなアラートが含まれている。 - Not muted (
NOT_MUTED):イシューにはミュートされたオープンなアラートが含まれていない。
ワークフローの設定方法については、以下のサンプルデモをご覧ください(約2分17秒):
NerdGraphにおけるミュートの挙動
NerdGraphでは、ミューティングルールで以下のクエリとミューテーションを使用できます。スキーマについては、APIエクスプローラーで確認できます。
actor.account.alerts.mutingRule:IDでミュートルールを取得します。actor.account.alerts.mutingRules:アカウントのミュートルールの一覧を取得します。alertsMutingRuleCreate:アカウントのミュートルールを作成します。alertsMutingRuleUpdate:IDとアカウントIDに基づいてミュートルールを更新します。
このページには、サンプルクエリとミューテーションの例がいくつか掲載されています。
ミュートルールには、以下のフィールドとコンポーネントがあります。
ミュートルール | フィールドとコンポーネント |
|---|---|
| ミュートルールのアカウントID。ミュートルールは、単一のアカウントで発生したアラートにのみ影響します。複数のアカウントにわたるアラートをミュートするには、アカウントごとにミュートルールを個別に作成する必要があります。 |
| ミュートルールの適用期間の終了時に予定される動作。有効な値は |
| 対象となるアラートを定義する式の集合。ミュートルールの条件には以下があります。
|
| ミュートルールが作成されたタイムスタンプ(UTC)。 |
| ミュートルールを作成したユーザーのユーザーID。 |
| これはミュートルールを説明するオプションのテキストフィールドです。ミュートルールにさらなるコンテキストを提供するのに役立つ方法です。このデータは管理上の表示目的のみに使用されます。 |
| ミュートルールを有効または無効にします(ブール値)。ミュートルールを手動で有効または無効にできます。 |
| ミュートルールの固有識別子。 |
| ミュートルールの適用期間終了時の動作が最後に適用された日時を示すタイムスタンプ。 |
| ミュートルールの分かりやすい名前を入力するテキストフィールド。これは、ルールの一覧表示や参照時に使用されます。名前は必ずしも一意である必要はありませんが、一意の名前を付けることが推奨されます。 |
|
|
| ミュートルールが最後に変更されたタイムスタンプ(UTC)。 |
| 最後にミュートルールを変更したユーザーのユーザーID。 |
ミュートの例
NerdGraphへのリクエストの作成については、GraphQLチュートリアルなど、NerdGraphのドキュメントを参照してください。