Splunk - Comprendre la precedence
Alasta 9 Novembre 2019 splunk cli splunk admin
Description : Dans une administration de Splunk, il est important de comprendre la precedence (priorité) des attributs.
Contexte :
Sur une plateforme Splunk, il peut y avoir plusieurs copies du même fichier de configuration, ces copies fichiers sont généralement regroupées dans des répertoires qui affectent les utilisateurs, les apps ou le système.
On pourrait les voir un peu comme des calques. Les settings sont mergés, il est donc important de comprendre la precedence (priorité) des attributs en cas de conflit.
Comment Splunk détermine la precedence :
Généralité :
Il y a 2 types de prcedence :
- Global context : Index time : indépendant de l’utilisateur, tâches en background comme les inputs, parsing, indexing …
- App/User context : Search time : relatif à l’activité de l’utilisateur comme le search.
Default VS local configuration :
- Splunk récupère ses fichiers de configuration dans le dossier default
-
Les modifications de configurations doivent être dans le dossier local
- Gérer ses configurations dans l’app appriée ($HOME_SPLUNK/etc/apps/<AppName>/local/)
- S’il n’y a pas d’app, en créer une
Note :
local à toujours la precedence par rapport à default.
Precedence Index time :
- System local : $SPLUNK_HOME/etc/system/local/
- App local : $SPLUNK_HOME/etc/apps/<AppName>/local/
- App default : $SPLUNK_HOME/etc/apps/<AppName>/default/
- System default : $SPLUNK_HOME/etc/system/default/
1. etc/system/local/ 2. etc/apps/linux/local/ 3. etc/apps/search/local/ 4. etc/apps/linux/default/ 5. etc/apps/search/default/ 6. etc/system/default/ |
Note :
Attention lors de l’ajout d’Apps, la gestion des confilts/precedence est faite sur le nom du dossier des Apps de manière lexicographique.
Exemple :
Precedence Index time dans un cluster d’indexer :
- Slave-app local : $SPLUNK_HOME/etc/slave-apps/local/
- System local : $SPLUNK_HOME/etc/system/local/
- App local : $SPLUNK_HOME/etc/apps/
/local/ - Slave-app default : $SPLUNK_HOME/etc/slave-apps/default/
- App default : $SPLUNK_HOME/etc/apps/
/default/ - System default : $SPLUNK_HOME/etc/system/default/
1. etc/slave-apps/app01/local/ 2. etc/slave-apps/firewall/local/ 3. etc/system/local/ 4. etc/apps/linux/local/ 5. etc/apps/search/local/ 6. etc/slave-apps/app01/default/ 7. etc/slave-apps/firewall/default/ 8. etc/apps/linux/default/ 9. etc/apps/search/default/ 10. etc/system/default/ |
Precedence Search time :
- User app local : $SPLUNK_HOME/etc/
/ /local/ - App local current app : $SPLUNK_HOME/etc/apps/
/local/ - App default current app : $SPLUNK_HOME/etc/apps/
/default/ - Others app local : $SPLUNK_HOME/etc/apps/
/local/ - Others app default : $SPLUNK_HOME/etc/apps/
/default/ - System local : $SPLUNK_HOME/etc/system/local/
- System default : $SPLUNK_HOME/etc/system/default/
Pour l'utilisateur bob dans l'app Linux : 1. etc/users/bob/linux/local/ 2. etc/apps/linux/local/ 3. etc/apps/linux/default/ 4. etc/apps/search/local/ 5. etc/apps/search/default/ 6. etc/system/local/ 7. etc/system/default/ |
Représentation du classement lexicographique :
Annexes :
Doc officielle - Configuration file precedence Doc officielle - Attribute precedence within a single props.conf file Doc officielle - https://docs.splunk.com/Documentation/CoE/ssf/Handbook/Naming