PROFIL / INDEX© Clément Depernet / 2026

← Retour à la liste

18 sept. 20241 min de lecture

Cheat sheet — Splunk (administration & SPL)

Administration d'un serveur Splunk (démarrage, utilisateurs, index, monitoring, dépannage) et le Splunk Processing Language : recherche, stats, timechart, eval, dedup, regex, et géolocalisation d'IP (iplocation, geostats, geom).

intermediate#splunk#siem#spl#soc#cheatsheet#detection

Mis à jour le 21 sept. 2026

Administration du serveur

splunk se trouve dans /opt/splunk/bin/ (Linux) ou C:\Program Files\Splunk\bin\splunk.exe (Windows).

splunk start | stop | restart | status
sudo splunk enable boot-start          # démarrage automatique

# Utilisateurs
splunk add user newuser -password '...' -role user -email [email protected]
splunk edit user newuser -password '...'

# Index
splunk add index mon_index \
  -homePath   /opt/splunk/var/lib/splunk/mon_index/db \
  -coldPath   /opt/splunk/var/lib/splunk/mon_index/colddb \
  -thawedPath /opt/splunk/var/lib/splunk/mon_index/thaweddb

# Ingestion d'un fichier/dossier
splunk add monitor /var/log/app.log -index mon_index -sourcetype custom

# Apps & dépannage
splunk install app /path/app.spl
splunk list app
splunk btool check --debug             # vérifier la config
splunk set log-level DEBUG

Après modification manuelle d’inputs.conf/outputs.conf → splunk restart. L’ingestion depuis les postes se fait via le Universal Forwarder (agent léger qui pousse les logs vers l’indexeur).

SPL — Splunk Processing Language

index=weblogs sourcetype=access_log status=404        # recherche de base
... | fields status, uri_path                         # sélectionner des champs
... | where status=404 AND bytes > 5000               # condition avancée
... | stats count BY status                           # regrouper / compter
... | stats avg(response_time) BY status              # agrégation
... | timechart count BY status span=1h               # tendance temporelle
... | eval is_error=if(status >= 400, "yes", "no")    # champ calculé
... | dedup ip_address                                # dédoublonner
... | sort -bytes                                      # trier (desc)
... | rename uri_path AS page                         # renommer
... | table status, uri_path, response_time           # tableau
... | regex uri_path="/images/.*"                     # filtre regex
... | top uri_path                                    # valeurs fréquentes
... | eventstats avg(response_time) AS avg_response   # stat globale par event
index=weblogs earliest=-1h                            # fenêtre temporelle

Géolocalisation d’IP

index=weblogs sourcetype=access_log
| iplocation client_ip                 # ajoute City, Country, lat, lon
| geostats count BY Country            # agrégation géographique
| geom type=world                      # carte mondiale

Pour plus de précision, l’add-on MaxMind remplace la base intégrée. Usage SOC typique : visualiser les erreurs HTTP ou tentatives par pays/ville.

SEC / OPS / CD-01

Astro + Tailwind, conteneurisé, servi derrière Caddy · Inspiration · Thème sonore : Severance (Theodore Shapiro) · Trop mignon le favicon, non ?

PRÊT / CD-01