LoginSignup
0
0

Lookupの注意点(searchheadとindexerが別ノードの場合)

Last updated at Posted at 2024-05-13

Splunk Version 9.2.1

割とハマりやすい点かなと思います。
SearchHeadとIndexerが別ノードの場合のLookupファイルの扱いについて。


Splunk内部動作

SPLで | inputlookup, | lookup を実行する場合、
何も指定しなければ「Indexerに保存されたLookupファイル」を検索している。

LookupファイルはSearchHead上に作成/保存されるが、
1分毎に圧縮されてIndexerにコピーされ、サーチではこれを読み込んでいる。

 (同期の実体ファイルどこか忘れました。知っている人いたら教えてください)


問題点①

 1分毎に更新するようなリアルタイムのLookupを運用すると、
最新のLookupが読み込まれない場合がある。

<実際にあった事象>
・古い情報が紐づく
・タイミングによってlookupの紐づけが出来ずNullになる。

解決策①

 リアルタイムに近いLookup運用をする際は、local=t オプションを付ける。
これにより、IndexerではなくSearch Head上の最新Lookupを参照するようになる。

そもそもLookupではなく、Summary Indexに格納しなおすと良いかも。
(| collectコマンド stash形式ならば、ライセンスにカウントされない)


問題点②

 一部のユーザが巨大なLookupファイル(4GByteとか)を保存すると、
他にも同期されているtransforms.conf 等が機能しなくなる事がある。
今までできていたのに、何故かフィールド抽出されなくなるとか。
システム全体に影響を及ぼすので、こちらの方も割と重要。

解決策②

 Lookupファイルの(Indexerへの)同期上限を設定する。
デフォルトだと無効なので注意。

<設定箇所>
$SPLUNK_HOME/etc/system/local/

excludeReplicatedLookupSize = [integer]
※デフォルトは 0(無効)

Splunk公式ドキュメントは以下URLから。

記事終了

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0