I provide an App that uses an executable on Windows systems to generate some data. This program is located in the
bin directory of my App named "TA-myapp". In the
inputs.conf I set a scripted input that executes the program and indexes the output.
My problem is that our customer wants to deploy different versions of our app with different settings. So he renames
myapp2 ... and so on.
Is there a environment variable that references the App home directory so that I could use that variable to configure an input like this:
I am using $APP_HOME in that example because I've found references in different splunk developer documentation pages but it doesn't work. The splunkd.log states:
ERROR FrameworkUtils - Incorrect path to script: \$APP_HOME\bin\evaluator.exe. Script must be located inside $SPLUNK_HOME\bin\scripts.
No there isn't anything like $APP_HOME.
Have you considered using modular input instead of scripted input as it provides more control with multiple configurations.
You can try below :
you can run below command :
C:\Program Files\Splunk\bin>splunk envvars > setSplunkEnv.bat
it will create file setSplunkEnv.bat under C:\Program Files\Splunk\bin with below content:
SET Path=C:\Program Files\Splunk\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\Skype\Phone\;C:\Users\balaji\AppData\Local\Microsoft\WindowsApps
SET SPLUNKHOME=C:\Program Files\Splunk
SET SPLUNKDB=C:\Program Files\Splunk\var\lib\splunk
SET SPLUNKETC=C:\Program Files\Splunk\etc
SET RANDFILE=C:\Program Files\Splunk\var\run.rnd
SET PYTHONPATH=C:\Program Files\Splunk\bin;C:\Program Files\Splunk\Python-2.7\Lib\site-packages\win32;C:\Program Files\Splunk\Python-2.7\Lib\site-packages;C:\Program Files\Splunk\Python-2.7\Lib
SET NODEPATH=C:\Program Files\Splunk\lib\nodemodules
SET OPENSSLCONF=C:\Program Files\Splunk\openssl.cnf
SET LDAPCONF=C:\Program Files\Splunk\etc\openldap\ldap.conf
you can add new line to the content of file like below:
SET APP_HOME=C:\Program Files\Splunk\etc\apps\myapp
you need to change myapp to new name when ever you deployed new app to apps.
Splunk does not actually make environment variables available inside .conf files, but you CAN use "
. " to represent the app path like so: