Splunk 1台構成(OS Windows)
現在、1日に700ファイル以上のログファイルをmonitor設定で取り込んでいます。
ファイルはSplunk上に配置してローカル取込みを行っています。
今後、上記ファイルが10倍以上(つまり7000ファイル以上)となる見込みです。
以下質問になります。
・monitor設定で常時監視フォルダに7000ファイル以上が存在する、という状態はNGでしょうか?
・batch設定でファイル削除させれば上記懸念は解消されると思っていますが、何かデメリットはあるでしょうか?
※オリジナルのファイルは残っているのでsourceファイルが削除されることは問題無し。
どなたか分かる方がいらっしゃいましたら教えてください。
monitor であっても、以下のドキュメントにある、ignoreOlderThan によって古くなったファイルを監視対象から外せば、Splunkとしては常時xx個ぐらいしか見えていないため、特に問題にはなりません。
https://docs.splunk.com/Documentation/Splunk/7.1.3/Admin/Inputsconf
思いつくままに何点が書きます。
1.メモリの問題
対象のファイル数が多くなればその分メモリを消費します。10万ファイルで1G程度が目安になるかと思いますので7000ファイルくらいなら問題ないかと思います。(同時ファイルオープン数等のOS設定が問題ないのが前提です。)
2.コア数の問題
取り込む行為に1.5コアくらい、インデックスに1.5コア、さらにサーチ等で使う分のコア数が必要です。足りなければどこかのプロセスで遅延します。
3.取り込み遅延の可能性
取り込みプロセスは通常1プロセスです。たとえば1ファイルを処理している間は他のファイルは待ちになります。大きなファイルが存在した場合や1つのインデックスに処理が集中した場合などは取り込み遅延が発生する可能性があります。
4.ファイル削除について
対象ファイルが多いと良いことはありません。無駄にリソースを消費してパフォーマンスも悪くなります。監視対象から除外できるなら除外したほうが良いです。デメリットは障害時の復旧がやりやすい場合がある等でしょうか。