RousselTMLEARNING

Observabilité

Data streams et templates Elasticsearch : component templates, index templates et séries temporelles

Gérer les données horodatées avec les data streams : index templates et component templates, convention type-dataset-namespace, index de backing, rollover, mises à jour de mapping et opérations courantes.

1. Principe #

Un nom, plusieurs index.

Architecture #

Data stream et templates
  • Un data stream est un nom logique (logs-nginx-prod) pour des données horodatées en ajout seul ; il exige un champ @timestamp.
  • Il écrit dans un seul index de backing (.ds-logs-nginx-prod-2026.10.20-000002) et lit dans tous.
  • Convention de nommage Elastic : type-dataset-namespace (logs-nginx-prod, metrics-system-default).

2. Templates #

Réutiliser les définitions.

Création #

PUT _component_template/nginx-mappings
{ "template": { "mappings": { "properties": {
    "@timestamp": { "type": "date" }, "source.ip": { "type": "ip" },
    "http.response.status_code": { "type": "short" }, "url.path": { "type": "keyword" } } } } }

PUT _component_template/logs-settings
{ "template": { "settings": { "index.lifecycle.name": "logs-30d", "number_of_replicas": 1 } } }

PUT _index_template/logs-nginx
{ "index_patterns": [ "logs-nginx-*" ], "data_stream": {}, "priority": 200,
  "composed_of": [ "nginx-mappings", "logs-settings" ],
  "template": { "settings": { "index.default_pipeline": "nginx-access" } } }

PUT _data_stream/logs-nginx-prod          # ou automatiquement au premier document
POST logs-nginx-prod/_rollover            # forcer un nouvel index de backing
Bonne Pratique : Une modification de template ne s'applique qu'aux nouveaux index de backing : changez le template, puis forcez un rollover pour l'appliquer sans attendre.
Erreur Courante : La priorité des index templates départage les modèles qui se recouvrent : un template personnalisé logs-* de priorité basse peut être masqué par les templates intégrés d'Elastic (priorité 100). Donnez une priorité supérieure à 100 et des motifs précis.

Articles liés

Architecture distribuée Elasticsearch : rôles des nœuds, shards, répliques et allocation

Comprendre le fonctionnement distribué d'Elasticsearch : rôles des nœuds, nœuds master et quorum, cluster sta…

Mappings et analyse de texte Elasticsearch : types de champs, analyseurs et mapping dynamique

Maîtriser les mappings Elasticsearch : types de champs (text, keyword, numériques, date, ip, nested), multi-f…

Ingestion Elasticsearch : Bulk API, ingest pipelines, enrich et reindex

Ingérer et transformer des données dans Elasticsearch : Bulk API, ingest pipelines et processeurs (grok, diss…

Pour aller plus loin