I have two scripted inputs, one bash script for Linux and one batch script for Windows. Both scripts are written to read a static configuration file and output the data for Splunk to ingest. Both scripts work without issue.
Should I deploy both script inputs in the same app? As you know the bash script will not run on Windows and batch script will not run on LInux. Besides the error I get in the splunkd.log, is there anything I should worry about with the scripts executing on the wrong OS architecture?
I hate errors and would create an app for each OS. You should already have the host discrimination part of serverclass.conf
done for the various TAs that you need to deploy differently depending on OS. But there is nothing that will be broken if you deploy both to both.
Beside the error, I don't think there is any other issue doing that. It's basically that error message vs maintenance overhead of 2 apps. Have you considered developing the script using some common language like python or perl?
There's no guarantee there will be a perl or python interpreter on the destination systems.
That's correct. If you were using Splunk Enterprise instance(not universal forwarder) and your script was simple enough to be developed using standard python library that ships with Splunk, then it would've worked. So many if's so I think you're fine. (its easiness vs best practices).
Thanks for the thoughts. Always good to double check.