月途中にホストの利用が全てなくなった場合に利用料金を過剰に請求していた事象についてのお詫びと詳細のお知らせ

Mackerel アシスタントプロデューサーの id:wtatsuru です。

Mackerel の利用料金算出において、2016年11月から2022年6月までの期間、月途中にホストの利用が全てなくなったオーガニゼーションの一部で課金対象となるホスト台数を誤って多くカウントし、実際の利用より多く請求するという事象が発生しておりました。
2022年7月1日にお客様からの問い合わせで事象を確認し、該当状況の確認と課金システムの修正を行いました。過去の期間を含めた影響範囲の確認を行って参りましたが、すべて確認が完了しましたので、詳細についてご報告させていただきます。この度の不具合により、お客様にはご迷惑をおかけしましたことを深くお詫び申し上げます。

事象の詳細

Mackerel の利用料金は、その月に利用されたホスト数から算出しています。

利用ホスト数には、Mackerel 上にホストとして登録されているものに加え、一部の機能でプランごとに定められた上限を超過した場合に追加でホスト台数に換算されたものが含まれています。
プラン上限超過時のホスト台数換算について – Mackerel Support

また、課金対象となるホスト数は一ヶ月の平均で算出されます。
請求対象となるホスト数の計算方法について – Mackerel Support

今回の不具合により、月途中にホストの利用が全てなくなった場合、超過分のホスト数において一ヶ月ではなく利用があった期間でのみ平均を取ったため、実際の利用分より多く料金が請求されておりました。

原因

Mackerel の利用ホスト台数は、一定時間ごとにデータベースに記録されています。この台数記録処理において、ホストメトリック数がプラン上限を超過した場合のホスト数については、ホストの利用が全くないオーガニゼーションで記録していませんでした。この条件下で月間の利用台数を算出するためには、利用記録が存在しない期間を考慮して月間の平均を算出すべきところ、利用期間が存在する期間のみで平均を取ってしまっており、実際の利用より過剰な請求を行ってしまっていました。

  • (正) 利用台数 = 時間ごとの利用ホスト数の合計 / 一ヶ月を時間換算した数
  • (誤) 利用台数 = 時間ごとの利用ホスト数の合計 / 利用があった時間

影響範囲

  • 対象期間:2016年11月から2022年6月
  • 対象
    • 月途中にホストの利用が全てなくなった(メトリック投稿とチェック監視が全て停止した)オーガニゼーションのうち、ホストメトリック数がプラン上限を超過した場合のホスト数

発覚からの経緯

  • 2022年7月01日 お客様からの問い合わせをきっかけに事象が発覚、調査を開始
  • 2022年7月26日 ホスト台数が正常に計算されるよう集計システムを更新
  • 2022年8月23日 過去にさかのぼって影響範囲を精査
  • 2022年10月18日 本告知

対策と再発防止策について

本件への対策として、ホストメトリック数がプラン上限を超過した場合のホスト数の計算処理について、利用期間を考慮したアルゴリズムへの変更を行いました。その他の課金項目のホスト数記録・算出ロジックについて全て見直しを行い、同様の事象が発生しないことを確認しております。
また、請求額の確認処理において、上記変更が正しく適用されていることを確認するステップを追加しております。

利用料金の返金について

今回の不具合により過剰に請求が発生した可能性のある利用料金を返金させていただきます。オーガニゼーションのオーナー様にメールでご連絡させていただきますので、確認をお願いいたします。個別にご連絡差し上げていないお客様には影響はございません。

返金対象となるホスト台数は、以下の方法で算出しております。

  • 該当する期間に有料プランの利用履歴があるオーガニゼーションが対象
  • 月途中にホストの利用が全てなくなった Organization について、メトリック超過によるホスト台数換算を計算し直し、正しいホスト台数を算出
  • 上記の金額と、過去の請求に利用したホスト台数を比較し、差がある場合を対象に返金台数を算出

二度の超過課金を受けての課金処理の見直し予定について

2022年5月31日 にご報告しました不具合に続き、二度の超過課金が発覚しました。ご利用いただいている皆様には繰り返し大変ご迷惑をおかけしてしまい、申し訳ありません。
(2022/06/15追記)クラウドインテグレーション メトリック数の過剰カウントついてのお詫びと詳細のお知らせ - Mackerel お知らせ #mackerelio
Mackerel 開発チームではこのことを重く受け止め、課金に関わるシステムの全面的な見直しを行ってまいります。現在の課金処理の仕組みと業務フロー全体の見直しと、ホスト数計測および金額算出の突き合わせ・確認処理を現在より網羅的に行うシステム追加などの対策を進めていく予定です。
システムの見直しを進め、サービス品質向上に努めてまいりますので、引き続き Mackerel をご愛顧くださりますよう宜しくお願い申し上げます。