Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Comment OpenTelemetry peut transformer votre monitoring en unifiant vos logs/metrics/traces

Comment OpenTelemetry peut transformer votre monitoring en unifiant vos logs/metrics/traces

Vincent Behar

April 22, 2022
Tweet

More Decks by Vincent Behar

Other Decks in Technology

Transcript

  1. Comment OpenTelemetry peut
    transformer votre monitoring
    en unifiant vos logs/metrics/traces
    Vincent Behar

    View full-size slide

  2. 2
    Senior Engineer
    Vincent Behar
    https://twitter.com/vbehar
    Twitter
    French video game company
    Ubisoft
    https://github.com/vbehar
    GitHub
    ABOUT ME

    View full-size slide

  3. 3
    AGENDA 1. Le problème
    2. OpenTelemetry
    3. OpenTelemetry @Ubisoft
    4. Génération automatique de metrics/logs
    5. Stratégies de déploiement

    View full-size slide

  4. 4
    Evènements « brut »
    LOGS
    • Plusieurs librairies ?
    • Sortie ? Stdout / fichier / …
    • Format ? JSON / texte
    • Logs structurés ?
    • Noms des labels ?
    • ELK / EFK

    View full-size slide

  5. 5
    Aggrégations
    METRICS
    • Nommage ?
    • Unités ?
    • Labels ?
    • Relation avec les logs ?
    • Prometheus / Grafana

    View full-size slide

  6. 6
    Visibilité en profondeur
    TRACES
    • Hiérarchie de spans
    • Durée, attributs, logs, …
    • Environment distribué
    • Services graph
    • Noms des attributs ?
    • Relation avec les logs et
    metrics ?
    • Jaeger

    View full-size slide

  7. 7
    Les 3 pilliers…
    LE PROBLEME
    Silos
    • 1 source (application)
    • Plusieurs chemins
    • Plusieurs destinations
    • Pas de vision unifiée
    • Duplication
    • Connaissances &
    compétences
    • Temps d’intervention
    • …

    View full-size slide

  8. 8
    NOTRE OBJECTIF
    Vision unifiée
    • Une seule UI
    • Correlation
    • Evolutive

    View full-size slide

  9. 10
    OPENTELEMETRY
    Open source
    • 2019
    • OpenTracing
    • OpenCensus
    • CNCF
    Contributeurs
    • Amazon, Google, Microsoft,
    RedHat, …
    • Lightstep, Splunk,
    Dynatrace, Grafana,
    Honeycomb, New Relic,
    Datadog, Elastic, …

    View full-size slide

  10. 11
    CONTRIBUTIONS AUX PROJETS CNCF EN 2021

    View full-size slide

  11. 12
    Specifications
    • Traces: stable
    • Metrics: stable
    • Logs: stable
    • Semantic Conventions
    • Propagation
    • Protocol (OTLP)
    • …
    Implementations
    • APIs
    • SDKs
    • Support de librairies
    • 11 languages
    • Instrumentation
    automatique en Java
    et Python
    Collecteur
    • Interopérabilité
    • Ecrit in Go
    • OpenCensus Service
    • « killer feature »
    OPENTELEMETRY

    View full-size slide

  12. 13
    Composants
    • 50+ récepteurs
    • 40+ exporteurs
    • 20+ processeurs
    • 10+ extensions
    • Comp. personnalisés
    • Distributions
    Collecte, traitement et publication – de manière intéropérable
    OPENTELEMETRY COLLECTOR
    Pipelines
    • 1 ou plusieurs par type

    View full-size slide

  13. 14
    Entrées / Sorties
    OPENTELEMETRY COLLECTOR @ UBISOFT

    View full-size slide

  14. 15
    INSTRUMENTATION
    Triple instrumentation: logs, metrics & traces

    View full-size slide

  15. 16
    INSTRUMENTATION
    Instrumentation avec correlation manuelle

    View full-size slide

  16. 17
    Metric
    requetes{path=/toto} 42
    Log
    {
    "timestamp": "…",
    "msg": "requête",
    "utilisateur": "alain",
    "path": "/toto",
    "code": "200"
    }
    Span
    • Operation: « requête »
    • Heure début / fin
    • Attributs
    • Utilisateur: alain
    • Path: /toto
    • Code: 200
    • Logs
    • Heure
    • Message
    • Attributs
    RESULTAT DE L’INSTRUMENTATION

    View full-size slide

  17. 18
    Et si on générait les logs et
    metrics à partir des traces ?

    View full-size slide

  18. 20
    OPENTELEMETRY COLLECTOR – PIPELINES @ UBISOFT

    View full-size slide

  19. 21
    LOGS, METRICS OU TRACES ?

    View full-size slide

  20. 22
    Quand ?
    • Compléter des
    metrics/logs manquant
    • Requêtes HTTP
    • Interactions entre
    services – client &
    serveur
    • Applications tierces
    Comment ?
    • Processeur
    OpenTelemetry
    Collector
    • Histogram basé sur les
    spans
    Avantages ?
    • Simplification de
    l’instrumentation du
    code
    • Correlation
    automatique
    (exemplars)
    • Rétention des metrics
    • Vues différentes
    GENERATION AUTOMATIQUE DE METRICS / LOGS

    View full-size slide

  21. 23
    Agent
    • Kubernetes DaemonSet
    • Collecte de logs par
    nœud
    • Collecte de metrics
    Prometheus par nœud
    • Collecte d’informations
    du kubelet (par nœud)
    • Collecte d’informations
    de la machine
    • Réception de spans à
    travers un service
    kubenetes
    STRATEGIES DE DEPLOIEMENT DU COLLECTEUR

    View full-size slide

  22. 24
    Standalone
    • Kubernetes Deployment
    • Collecte d’informations
    du cluster Kubernetes
    • Collecte de metrics
    Prometheus au niveau
    des services kubernetes
    • (réception de spans à
    travers un service
    kubenetes)
    • …
    STRATEGIES DE DEPLOIEMENT DU COLLECTEUR

    View full-size slide

  23. 25
    Sidecar
    • Kubernetes Container
    • Interopérabilité entre
    l’app et l’environment
    • Collecte des traces
    • Facilité de mise en place
    • Otelcol Operator –
    injection automatique
    dans les pods Kubernetes
    STRATEGIES DE DEPLOIEMENT DU COLLECTEUR

    View full-size slide

  24. 26
    POC / Demo
    • Instrumentation
    automatique en Java
    et Python
    • Collecteur
    • Plateforme unifiée
    • Grafana
    • SaaS ?
    Code existant
    • Interopérabilité
    • Comblez les trous –
    avec des traces ?
    • Sidecar
    Nouveau code
    • Uniquement des
    traces?
    • Limiter au maximum la
    duplication
    • Conventions de
    nommage
    Workshop CNCF Paris – OpenTelemetry, jeudi 12 mai à Ubisoft
    https://meetup.com/Cloud-Native-Computing-Paris/
    PAR OU COMMENCER ?

    View full-size slide

  25. 27
    OpenTelemetry
    Collector
    • Encore plus
    d’unification entre les
    logs/metrics/traces
    • « Control Plane »:
    contrôle de la
    configuration à
    distance
    Instrumentation
    automatique
    • eBPF
    • Pixie
    Continuous Profiling
    • Nouveaux outils
    inspirés de
    Prometheus: Parca,
    Pyroscope
    • Intégration entre
    Pyroscope et les traces
    d’OpenTelemetry
    • Metrics -> Trace ->
    Profile
    ET ENSUITE ?

    View full-size slide

  26. 29
    Prise de conscience
    • Combien de temps
    pour trouver la « root
    cause » ?
    • Combien d’outils
    différents ?
    • Quel effort
    d’instrumentation ?
    Commencer par les
    traces
    • Comblez les trous
    • Génération de metrics
    / logs automatique
    • Convention de
    nommage
    • Intéropérabilité
    Plateforme unifiée
    • SaaS ou on-premise ?
    • Correlation
    • Experience unifiée
    • Root-cause analysis
    CONCLUSION

    View full-size slide