Knowledge Management

Where to put macros.conf so available everywhere (all users/apps/searches)?

Esteemed Legend

The subject has the entirety of my question but as a bonus to anyone who reads this, here is a macro that everyone should find useful (if you understand why this is useful, add that to your answer):

[unknownify(1)]
args = FieldName
definition = eval $FieldName$=if(isnull($FieldName$),"unknown",$FieldName$)
[unknownify(2)]
args = FieldName, UnknownText
definition = eval $FieldName$=if(isnull($FieldName$),"$UnknownText$",$FieldName$)
Tags (3)
1 Solution

Splunk Employee
Splunk Employee

You need to give your macro enough permissions to be available for use everywhere. You can use the UI to do this or you can use the local.meta and export it to system. Assuming you have your macros.conf in /opt/splunk/etc/apps/distsearch_base/local/, then in /opt/splunk/etc/apps/distsearch_base/metadata/local.meta you need to enter the following:

[macros]
export = system

This stanza will export all macros defined in macros.conf in that app/config bundle to system so that they'll available to all users/apps etc.

Hope this helps.

> please upvote and accept answer if you find it useful - thanks!

View solution in original post

Esteemed Legend
Adding the local.meta change and putting the file in this directory DID work:
/opt/splunk/etc/apps/searcher_base/local/

It did NOT work when put here:
/opt/splunk/etc/apps/distsearch_base/local/
0 Karma

Splunk Employee
Splunk Employee

I just assumed you had your macros in distsearch_base. But, nonetheless, it's good to hear that your problem is resolved. Please consider upvoting marking the question as answered. Thanks. 🙂

0 Karma

Splunk Employee
Splunk Employee

You need to give your macro enough permissions to be available for use everywhere. You can use the UI to do this or you can use the local.meta and export it to system. Assuming you have your macros.conf in /opt/splunk/etc/apps/distsearch_base/local/, then in /opt/splunk/etc/apps/distsearch_base/metadata/local.meta you need to enter the following:

[macros]
export = system

This stanza will export all macros defined in macros.conf in that app/config bundle to system so that they'll available to all users/apps etc.

Hope this helps.

> please upvote and accept answer if you find it useful - thanks!

View solution in original post

Esteemed Legend

I should have mentioned what I tried, none of which worked:

/opt/splunk/etc/system/local/

/opt/splunk/etc/apps/distsearch_base/local/

/opt/splunk/etc/apps/forwarder_base/local/

/opt/splunk/etc/apps/indexer_cluster_base/local/

/opt/splunk/etc/apps/searcher_base/local/

/opt/splunk/etc/apps/splunk_base/local/

0 Karma