うるう秒によるSplunk Enterpriseの動作への影響について

公開日
2015-06-22
最終更新日
2023-06-30
バージョン
Splunk Enterprise 9.0.5
概要
タイムスタンプがうるう秒のイベントを取り込んだ場合の影響として、タイムスタンプがうまく認識できずにイベントが複数行になってしまうことや、タイムスタンプが実際と異なる値で認識されることが考えられます。
参考情報
内容

うるう秒によるSplunkのサービスの停止などの影響はありません。

しかし、Splunkはうるう秒をタイムスタンプとして認識しません。タイムスタンプがうるう秒の場合に考えられる影響として、下記2つがあります。

タイムスタンプが認識できず、イベントが複数行になってしまう可能性があります。

タイムスタンプが実際のタイムスタンプと異なる値で認識されます。

イベントが複数行になる場合について

Splunkはデフォルトの設定では、イベント区切りをタイムスタンプとしています。
複数行を1イベントと設定している場合、区切り文字を明示的に指定しているため影響はありません。

1行1イベントでデータが出力されている場合、対象のデータ取り込み設定のソースタイプに対して、props.confに"SHOULD_LINEMERGE=false"が明示的に定義されていないと、タイムスタンプが認識できず、イベントが複数行になってしまう可能性があります。

※「SHOULD_LINEMERGE=false」という設定は1行1イベントとして取り込むための設定です。このデフォルトの値は「true」であり、またBREAK_ONLY_BEFORE_DATEという設定が「true」になっているため、タイムスタンプの前でイベントを区切ります。タイムスタンプが認識できない場合、1行はLINE_BREAKERという設定に定義されている正規表現によって判断されます。LINE_BREAKERのデフォルトの値は ([\r\n]+)です。

認識されるタイムスタンプが実際と異なる場合について

Splunkが取り込んでいるログやデータに8:59:60秒(うるう秒)のように、""60""が表示されたタイムスタンプが出力された場合、下記の動作をします。その後は、1.~4.の順で該当するものが適用され、処理されます。

  • Splunkがイベントのタイムスタンプ(日付+時間)を認識できない場合、同じソースの最新イベントと同じタイムスタンプで認識します。
    例えば、2015年7月1日 8時59分60秒の前が59秒のイベントであれば、60秒のタイムスタンプは認識できないため、直前の2015年7月1日8時59分59秒として認識します。
  • Splunk Enterpriseの取り込み対象のログファイル等にイベントの時刻のみ(日付情報が無い)が含まれている場合、ログファイルのファイル名やソース名から日付の情報を適用します。
  • 上記2.に該当しない場合は、Splunkはファイルの更新日付をイベント取り込み時に適用します。
  • 上記のいずれの対応もできない場合、Splunkはイベント取り込み時のシステム時間を適用して取り込みます。"

以上