2025年11月6日に発生した過去メトリック欠損障害についての詳細ご報告

いつもMackerelをご利用いただきありがとうございます。

2025年11月6日にMackerelで発生した過去メトリックの欠損障害につきまして、長期間にわたりご迷惑とご心配をおかけいたしましたことを深くお詫び申し上げます。

本事象の概要、原因、および今後の再発防止策についてご報告いたします。

発生概要

  • 発生期間:2025年11月6日 10:52 〜 2025年11月15日 10:50(日本時間、以下同様)
    発生事象:一部のオーガニゼーションでの特定期間におけるメトリックの表示欠損

また、復旧作業中に、以下の二次的なサービス影響が一時的に発生いたしました。

  • 発生期間:2025年11月7日 06:09〜07:54
    発生事象:トレースの投稿に一部失敗することがあった

  • 発生期間:2025年11月7日 06:13〜08:17
    発生事象:メトリックの表示やそれに基づく監視が不安定になっていた

  • 発生期間:2025年11月7日 16:24〜17:17
    発生事象:ラベル付きメトリックのクエリによる監視が不安定になっていた

  • 発生期間:2025年11月7日 16:45〜17:30
    発生事象:ラベル付きメトリックの投稿に一部失敗することがあった

表示欠損していたメトリックについては、いずれも復旧しております。 なお、本事象によるお客様のデータ流出はございません。

タイムライン

  • 2025年11月6日
    • 10:52 RedisクラスターからValkeyクラスターへの移行作業を開始
    • 11:46 移行状況に不審な点があり、調査していたところ、メトリックの表示欠損が発見された
    • 11:50 障害対応フォーメーションを開始
    • 12:15 メトリック閲覧の障害を告知
    • 12:46 過去24時間分のメトリックデータをAmazon Kinesis Data Streamsから復旧開始
  • 2025年11月7日
    • 07:30 過去24時間分の1分粒度メトリックを復旧完了
    • 17:26 欠損期間を2025/10/30〜2025/11/5 13:00と特定(以下「当該期間」と記す)
    • 18:00 当該期間の1時間以上粒度の欠損の復旧のために、5分以上の粒度について再計算することを決定
  • 2025年11月9日
    • 12:43 当該期間の5分以上粒度のサービスメトリックを復旧完了
    • 14:27 当該期間の5分以上粒度のラベル付きメトリックを復旧完了
  • 2025年11月10日
    • 14:57 当該期間の5分以上粒度のロールメトリックを復旧完了
    • 15:24 収束報を告知
  • 2025年11月15日
    • 10:50 当該期間の5分以上粒度のホストメトリックを復旧完了
  • 2025年11月17日
    • 17:11 すべてのメトリックの復旧を告知

障害発生の原因

障害の起因は、メトリックを格納する時系列データベースのRedisクラスターからValkeyクラスターへの移行中に、意図していなかった失敗が発生し、データの一部が失われたためです。

Mackerelのメトリックを格納する時系列データベースはパブリッククラウド上の複数のサービスの組み合わせで構成していますが、このうち投稿データポイントを蓄えておき、まとめて書き込む用途としてAmazon ElastiCacheを採用しています。 ElastiCacheの実装としてこれまではRedisを利用していましたが、利用バージョンのEoL時期を踏まえ、同等実装であるValkeyへの移行を今回実施しました。 RedisからValkeyへの移行については、停止を伴わないライブマイグレーション手法が存在し、ステージング環境での検証でも正常に移行できていました。

しかし、本番環境において実行したところ、マイグレーションの途中で意図していない失敗が発生し、一部のノードのシャードに格納されていたデータポイントが消失しました。

今後の対応

RedisからValkeyへのマイグレーションは完了しているため、これ自体についての再発は発生しないものと思われます。 また、時間はかかったものの、欠損したメトリックについてもバックアップデータ等から復旧できています。

今後の対応としては、マイグレーション中の意図しない失敗での欠損障害の抑止や、復旧時間の短縮のための検討、および副次的に発生した障害への対策を進めています。

  • 時系列データベースの更新プロセスの再検討。データが欠損しないことに特に注意し、ライブマイグレーションではない手順(たとえば二重書き込み)も検討する
  • Valkeyに保存しているメトリックを、Amazon DynamoDB等のより堅牢なストレージに、より早く移すことの検討。これにより、Valkey上のデータが欠損した場合により早い復旧を目論む
  • 復旧手順の策定。より素早い復旧につなげる
  • AWS Lambdaの同時実行数クォータの監視。復旧中にAWS Lambdaの同時実行数のクォータに抵触し、副次的な障害につながったため
  • Amazon S3のエラー数の監視、およびオブジェクトの集約によるGetObject呼び出しの回数削減。復旧中にAmazon S3のGetObjectのレートリミットに抵触し、副次的な障害につながったため

まとめ

今回の長期間にわたる障害により、お客様にご迷惑をおかけいたしましたことを、重ねて深くお詫び申し上げます。再発防止とシステムの安定性向上に努めるとともに、障害時の問題の局所化の取り組みを引き続き進めてまいります。

今後ともMackerelをどうぞよろしくお願いいたします。