RousselTMLEARNING

Observabilité

Elastic Observability : logs, infrastructure, APM et synthétiques

Les fonctions d'Elastic Observability : exploration des logs, inventaire d'infrastructure avec Elastic Agent et Fleet, APM avec les agents Elastic ou OpenTelemetry (EDOT), carte des services et monitoring synthétique.

1. Vue d'ensemble #

Une solution intégrée à Kibana.

Les applications #

Elastic Observability
Toutes les données atterrissent dans des data streams nommés selon une convention (type-dataset-namespace).
ApplicationUsage
Logs (Discover, Logs Explorer)Recherche et analyse des logs, catégorisation automatique
InfrastructureInventaire des hôtes, conteneurs et pods avec leurs métriques
APMServices, transactions, erreurs, traces et carte des services
Synthetics / UptimeTests planifiés (HTTP, navigateur) et disponibilité
SLOObjectifs de service et budgets d'erreur
AI AssistantAide à l'analyse (selon licence et configuration)

2. Elastic Agent et Fleet #

Un agent unique, géré centralement.

Principe #

Elastic Agent remplace les différents Beats par un agent unique. Il est piloté depuis Kibana par Fleet : on définit des politiques composées d'intégrations (System, Nginx, PostgreSQL, Kubernetes...), et les agents les appliquent automatiquement.

# Commande fournie par Kibana (Fleet > Add agent), de la forme :
sudo ./elastic-agent install --url=https://fleet.example.org:8220 --enrollment-token=<jeton>

Chaque intégration crée ses data streams (par exemple logs-nginx.access-default, metrics-system.cpu-default), ses pipelines d'ingestion et ses dashboards prêts à l'emploi.

Bonne Pratique : La convention type-dataset-namespace permet de donner des droits et une rétention par namespace (par exemple production et staging).

3. APM et OpenTelemetry #

Traces et performance applicative.

Instrumenter #

Elastic APM accepte les agents Elastic historiques (Java, .NET, Node.js, Python, Go, PHP, Ruby) et OpenTelemetry. Elastic publie ses distributions OpenTelemetry (EDOT) et recommande désormais cette voie.

# Exemple : application Java avec l'agent OpenTelemetry vers Elastic (OTLP)
export OTEL_SERVICE_NAME=checkout
export OTEL_EXPORTER_OTLP_ENDPOINT=https://apm.example.org
export OTEL_EXPORTER_OTLP_HEADERS="Authorization=ApiKey <cle>"
export OTEL_RESOURCE_ATTRIBUTES=deployment.environment=production
java -javaagent:opentelemetry-javaagent.jar -jar checkout.jar

L'application APM affiche par service le débit, la latence, le taux d'erreurs, les transactions les plus lentes, les traces et la carte des services construite à partir des appels observés.

Synthetics #

// journeys/panier.journey.ts (projet Synthetics, Playwright)
import { journey, step, expect } from '@elastic/synthetics';
journey('Ajout au panier', ({ page }) => {
  step('Accueil', async () => { await page.goto('https://boutique.example.org'); });
  step('Ajouter', async () => {
    await page.click('text=Ajouter au panier');
    expect(await page.isVisible('text=1 article')).toBeTruthy();
  });
});

Articles liés

Kibana : rôle, installation et premiers pas

Ce qu'est Kibana dans la suite Elastic, comment l'installer avec Elasticsearch (start-local, Docker), le conn…

Explorer ses données dans Discover : KQL, Lucene et ES|QL

Rechercher et analyser des logs dans Kibana Discover : filtres, KQL, syntaxe Lucene, et le langage ES|QL pour…

Visualiser dans Kibana : Lens, dashboards et objets enregistrés

Construire des visualisations avec Lens, assembler des dashboards interactifs (filtres, contrôles, liens), et…

Pour aller plus loin