通知とインシデントをスヌーズする

このドキュメントでは、スヌーズについて説明します。これによって、Cloud Monitoring で特定の期間にインシデントが作成され、通知が発行されないようにできます。スヌーズは、 Google Cloud コンソール、Google Cloud CLI、Cloud Monitoring API を使用して作成および管理できます。

アラート ポリシーをスヌーズするタイミング

インシデントの作成および通知の送信を一時的に防止したい場合や、対応待ちのインシデントに対する繰り返し通知の送信を防止したい場合は、スヌーズを作成します。たとえば、次の状況でスヌーズを作成できます。

  • 計画メンテナンスがある。
  • サービス停止がエスカレーションしており、インシデントや通知の発生を防ぎたい。

スヌーズの仕組み

アラート ポリシーのスヌーズが有効になっている場合、Monitoring はスヌーズされたアラート ポリシーの通知を送信したり、インシデントを作成したりしません。指標ベースまたは SQL ベースのアラート ポリシーにスヌーズを適用すると、アラート ポリシーに関連するすべてのインシデントもクローズされます。

スヌーズを作成するには、次のいずれかを行います。

  • スヌーズを複数のアラート ポリシーに適用するには、[アラート] ページ、gcloud CLI、または Cloud Monitoring API から作成します。スヌーズの開始時間を選択したり、スヌーズの時間を設定したりすることもできます。

    メンテナンスの計画を立てており、スヌーズを特定の時間に開始して所定の期間続行する必要がある場合は、複数のアラート ポリシーにスヌーズを適用すると便利です。

  • 特定のインシデントにスヌーズを適用するには、対応待ちのインシデントの [インシデントの詳細] ページからスヌーズを作成します。この場合、時間以外のすべてのスヌーズ フィールドが事前構成されています。

    特定のインシデントからスヌーズを適用すると、サービス停止がエスカレーションしていて、関連する問題が解決するまでアラート ポリシーをすぐにスヌーズする必要がある場合に役立ちます。

スヌーズのコンポーネント

スヌーズには次のコンポーネントがあります。

  • 名前。このフィールドを使用してスヌーズの目的を記述することをおすすめします。

  • スヌーズが有効になるタイミングを決定する期間。開始時刻と期間で指定します。 アクティブなスヌーズがあることで、Monitoring は、そのスヌーズの条件に一致するアラート ポリシーに対してインシデントの作成や通知の発行を行えません。アクティブな期間以外は、スヌーズは非アクティブです。非アクティブなスヌーズは、インシデントの作成と通知の送信のタイミングに影響しません。

  • スヌーズが適用されるアラート ポリシーを決定する条件。

  • ラベルベースのフィルタ。このフィルタは省略可能です。スヌーズが単一のアラート ポリシーに適用されている場合にのみ使用できます。ラベルを指定してフィルタを定義し、一致するラベルを持つインシデントのみをスヌーズします。たとえば、フィルタに特定の仮想マシン(VM)インスタンス ID のラベルが含まれており、スヌーズが有効になっているとします。アラート ポリシーは、フィルタにリストされている VM を除くすべての VM のインシデントを作成できます。

    ラベルベースのフィルタには、リソースラベルと指標ラベルを含めることができます。アラート ポリシーが PromQL ベースでない場合、フィルタにメタデータラベルを含めることもできます。

スヌーズがアラート ポリシーの条件に与える影響

次の表は、単一条件のアラート ポリシー内の条件のステータスと、インシデントが作成され通知が送信されるタイミングの関係を示しています。

状態 アクション
条件が満たされていない 既存の動作

インシデントが開いている場合は、インシデントをクローズして、インシデント終了通知を送信します。

条件が満たされ、かつ
ポリシーがアクティブなスヌーズに関連付けられていない
既存の動作

インシデントが存在しない場合は、1 つを作成して通知を送信します。

条件が満たされ、かつ
ポリシーがアクティブなスヌーズに関連付けられている
  • インシデントが存在しない場合は、インシデントの作成および通知の送信はしないでください。
  • インシデントが開いている場合は、インシデントをクローズして、インシデント終了通知を送信します。

複数の条件を含むアラート ポリシーにスヌーズが適用されると、条件を組み合わせるルールが最初に適用されます。次に、スヌーズに関連付けられたルールが適用されます。

スヌーズの作成とポリシーの無効化との違い

アラート ポリシーのコレクションから短い間隔で通知が送信されないようにするには、各アラート ポリシーを手動で無効にするか、スヌーズを作成します。

  • アラート ポリシーを手動で無効にする場合は、この間隔の最後に、無効化された各ポリシーを手動で有効にする必要があります。また、これらのアクションをスケジュールできるのは、Cloud Monitoring API を使用して、特定の時間に API 呼び出しを行うように構成した場合のみです。

  • スヌーズを作成すると、アクティブ期間をスケジュールできます。スヌーズは複数のアラート ポリシーに適用できます。スヌーズが無効の場合、または有効なスヌーズが終了すると、スヌーズに関連付けられたアラート ポリシーは通常どおり動作します。つまり、これらのアラート ポリシーはインシデントを作成し、通知を送信できます。

定期的なメンテナンスの時間枠がある場合は、時間枠ごとに、通知を送信しないアラート ポリシーを手動で無効または有効にできます。ただし、メンテナンスの時間枠の一つに期限を作成すれば、その稼働時間チェックをコピーして、開始時刻と期間を更新できます。つまり、1 つのスヌーズを作成してコピーすることで、同じアラート ポリシー コレクションに今後予定されている一連のスヌーズをスケジュールできます。

アラート ポリシーが無効または有効になったときの記録を表示するには、 Google Cloud プロジェクトの監査ログに対してクエリを実行する必要があります。ただし、スヌーズを作成すると、 Google Cloud プロジェクトのスヌーズの履歴にそのスヌーズが追加されます。 Google Cloud コンソールを使用して、過去、アクティブ、今後のスヌーズを示す履歴レコードを表示できます。

制限事項

  • スヌーズの期間は、数分の倍数にする必要があります。

  • スヌーズは 16 個のアラート ポリシーにのみ適用できます。

  • スヌーズの条件は変更できません。

  • PromQL ベースの条件を含むアラート ポリシーにスヌーズを適用する場合、フィルタでメタデータ ラベルを使用できません。

次のステップ