Is Splunk capable of batch ingesting large .csv files? It does not seem like it.
For example, the below works
[monitor:///opt/splunk/var/run/splunk/csv/tenable_reports/*/*.csv]
disabled=false
index=security
sourcetype=csv
ignoreOlderThan=30d
but when you change monitor
to batch
and add move_policy=sinkhole
, as well as delete ignoreOlderThan
, it breaks. No ingestion, no purging. Adding initCrcLen=1000000000
does nothing. If I quickly vim
a much smaller test csv then it works. Other users have had similar issues:
https://answers.splunk.com/answers/660982/why-is-the-batch-input-not-indexing-certain-files.html
I am batch inputting from my search head; the index resides on the indexer. There is no problem doing this with monitor
or with smaller csvs.
It's a shame Splunk is not a robust enough SIEM to be able to handle batch ingestion of a CSV file 😕
This is only a partial answer. 15 hours and 100+ reboots later. Sigh.
I had to stop Splunk, delete the app, fishbucket, and batch directory all at once, restart, and then move files back in. If I did not do this exactly it did not work. Even then, it only indexed/deleted about 500MB of csvs at a time before it stopped indexing or deleting ANYTHING. So I had to go through the process again with my remaining ~800MB of csv files. And again, it stopped and broke halfway through. The third time going through this process finally finished the batch ingestion.
Again, this doesn't help much, because next time I go to deposit a large number of .csvs, I'm screwed unless I want to go through this process every time.
How large are the files?
up to 250MB