2020年1月1日以降に「日付を誤認識」する不具合、Splunkが公開「2000年問題」はまだまだ続く

Splunkは、マシンデータ分析プラットフォーム「Splunk」で1カ月以内に発生する恐れがある不具合について公表し、原因と対策を説明した。パッチを適用するだけで解決できるものの、2020年1月以降にパッチ適用が遅れると誤ったデータを蓄積してしまう。

» 2019年12月02日 10時05分 公開
[@IT]

この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。

 Splunkは2019年11月27日(現地時間)、ITシステム運用管理のためのマシンデータ分析プラットフォーム「Splunk」で見つかった不具合の原因と対策について発表した。2020年に入ると同時に全製品で発生する恐れがある。特定の日付を過ぎると日付を誤認識して処理を誤るという点では「2000年問題」と同じパターンだといえる。

 Splunkによると、今回公開したパッチを適用していないSplunkプラットフォームでは2種類の不具合が発生する。

  1. 2020年1月1日から、Splunkプラットフォームインスタンスは、日付に2桁の年を含むイベントのタイムスタンプを認識できなくなる。この基準を満たすデータに対して、不正確なタイムスタンプを付けてインデックスを作成してしまう
  2. 2020年9月30日午後12時26分39秒(UTC:協定世界時)から、Splunkプラットフォームインスタンスは、UNIX時間に基づくイベントの日付タイムスタンプを認識できなくなる。タイムスタンプデータの解析が不正確になるからだ

 タイムスタンプを自動的に判別するように入力ソースを構成する一般的な設定を採っていると問題が発生し、次のような複数のトラブルが起きる。蓄積した各種ログデータをクエリに従って分析するというSplunkの魅力が半減してしまう。

  • 入力データの不正確なタイムスタンピング
  • 不正確なタイムスタンピングによるデータの不正確なロールオーバー
  • データの不正確な保持
  • 不正確なタイムスタンプでのデータ取り込みに起因する不正確な検索結果

 問題が発生したら、Splunkプラットフォームによるデータの取り込み後にタイムスタンプを修正する方法はない。

 2020年1月1日以降、パッチを適用していないSplunkプラットフォームインスタンスでデータを取り込んだ場合は、そのインスタンスにパッチを適用後、データの再取り込みが必要になる。

なぜ不具合が発生するのか

 Splunkプラットフォームの入力プロセッサは、入力データのタイムスタンプを正確に判別するために、「datetime.xml」ファイルを使う。このファイルは正規表現を使って、入力データから多様なタイプの日付とタイムスタンプを抽出する。

 パッチを適用していないSplunkプラットフォームインスタンスは、このファイルによって、2019年12月31日まで、「19」で始まる2桁の年データを抽出する。2020年1月1日からは、入力データの年のタイムスタンプが誤っていると判断してしまう。その結果、誤解釈した日付のタイムスタンプを追加してしまう。

ユーザーはどのように対応すればよいのか

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。