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

Métriques applicatives avec prometheus et grafana

Métriques applicatives avec prometheus et grafana

Snowcamp 2018

Yves Brissaud

January 25, 2018
Tweet

More Decks by Yves Brissaud

Other Decks in Programming

Transcript

  1. Métriques applicatives
    avec prometheus et grafana
    Snowcamp 2018 | @_crev_

    View Slide

  2. Yves Brissaud
    Tech lead
    Clou Nativ . Faster.
    Deploy your software applications into your own dedicated scalable infrastructure
    without needing any sysadmin skills.
    Try https://www.squarescale.com
    with 100 o er using SNOWCAMP18 at account creation
    Snowcamp 2018 | docker run --rm squarescale/ybrissaud | @_crev_ | @sqscale

    View Slide

  3. Snowcamp 2018 | @_crev_

    View Slide

  4. métier
    temporel
    tendances
    alertes
    Snowcamp 2018 | @_crev_

    View Slide

  5. Snowcamp 2018 | @_crev_

    View Slide

  6. Snowcamp 2018 | @_crev_

    View Slide

  7. métier
    Snowcamp 2018 | @_crev_

    View Slide

  8. nagios
    sensu
    datadog
    ...
    Snowcamp 2018 | @_crev_

    View Slide

  9. Snowcamp 2018 | @_crev_

    View Slide

  10. métier
    lisibilité
    Snowcamp 2018 | @_crev_

    View Slide

  11. elasticsearch, kibana
    graylog
    papertrail
    loggly
    ...
    Snowcamp 2018 | @_crev_

    View Slide

  12. Snowcamp 2018 | @_crev_

    View Slide

  13. métier
    Snowcamp 2018 | @_crev_

    View Slide

  14. rollbar
    airbrake
    sentry
    ...
    Snowcamp 2018 | @_crev_

    View Slide

  15. Snowcamp 2018 | @_crev_

    View Slide

  16. Snowcamp 2018 | @_crev_

    View Slide

  17. métier
    Snowcamp 2018 | @_crev_

    View Slide

  18. administrate
    admin-on-rest
    ...
    Snowcamp 2018 | @_crev_

    View Slide

  19. +
    Snowcamp 2018 | @_crev_

    View Slide

  20. Prometheus
    Time series database
    http ://prometheu .i /
    Snowcamp 2018 | @_crev_

    View Slide

  21. GET /metrics
    GET /metrics
    GET /metrics
    Snowcamp 2018 | @_crev_

    View Slide

  22. protobuf
    package io.prometheus.client;
    option java_package = "io.prometheus.client";
    //...
    message MetricFamily {
    optional string name = 1;
    optional string help = 2;
    optional MetricType type = 3;
    repeated Metric metric = 4;
    }
    Snowcamp 2018 | @_crev_

    View Slide

  23. protobuf
    léger
    scrict schema
    lisibilité
    Snowcamp 2018 | @_crev_

    View Slide

  24. text/plain
    projects_count 18
    connection_pool_count 5
    connection_pool{details="connections"} 5
    connection_pool{details="busy"} 2
    connection_pool{details="dead"} 0
    connection_pool{details="idle"} 3
    connection_pool{details="waiting"} 0
    active_users 3
    # HELP version Version number
    version{service="web"} 0.1299
    Snowcamp 2018 | @_crev_

    View Slide

  25. text/plain
    lisibilité
    poids
    validation
    Snowcamp 2018 | @_crev_

    View Slide

  26. Snowcamp 2018 | @_crev_

    View Slide

  27. http_requests_total{job="apiserver", handler="/api/comments"}
    active_users{environment="production"}
    github_board_issues_wip / github_board_number_of_developers
    github_board_issues_count / github_board_number_of_developers
    Snowcamp 2018 | @_crev_

    View Slide

  28. Snowcamp 2018 | @_crev_

    View Slide

  29. Snowcamp 2018 | @_crev_

    View Slide

  30. Snowcamp 2018 | @_crev_

    View Slide

  31. Snowcamp 2018 | @_crev_

    View Slide

  32. Grafana
    The ope platform for beauti analytics and
    monitoring
    http ://grafan .co /
    Snowcamp 2018 | @_crev_

    View Slide

  33. Snowcamp 2018 | @_crev_

    View Slide

  34. Snowcamp 2018 | @_crev_

    View Slide

  35. Prometheus
    Elasticsearch
    In uxDB
    Cloudwatch
    ...
    Snowcamp 2018 | @_crev_

    View Slide

  36. Snowcamp 2018 | @_crev_

    View Slide

  37. Snowcamp 2018 | @_crev_

    View Slide

  38. Snowcamp 2018 | @_crev_

    View Slide

  39. (Demo Time)
    https://github.com/eunomie/app-metrics-demo
    Snowcamp 2018 | @_crev_

    View Slide

  40. ?
    Snowcamp 2018 | @_crev_

    View Slide

  41. basic_auth
    bearer_token
    tls
    Snowcamp 2018 | @_crev_

    View Slide

  42. Snowcamp 2018 | @_crev_

    View Slide

  43. Service discovery
    kubernetes
    consul
    DNS (SRV records)
    - job_name: 'metrics'
    dns_sd_configs:
    - names:
    - _metrics._tcp.app.internal.example.net
    Snowcamp 2018 | @_crev_

    View Slide

  44. GET /metrics
    serverless, batch jobs, security
    Snowcamp 2018 | @_crev_

    View Slide

  45. push gateway
    aggrégateur
    événements
    cache
    https://github.com/prometheus/pushgateway
    Snowcamp 2018 | @_crev_

    View Slide

  46. ?
    Snowcamp 2018 | @_crev_

    View Slide

  47. < v2 >= v2
    Snowcamp 2018 | @_crev_

    View Slide

  48. ?
    scrape_interval
    storage.tsdb.retention
    Snowcamp 2018 | @_crev_

    View Slide

  49. Snowcamp 2018 | @_crev_

    View Slide

  50. Votre application
    vos données
    format texte
    /metrics
    Snowcamp 2018 | @_crev_

    View Slide

  51. Prometheus
    trouve vos instances
    conserve vos données temporellement
    recherche et calcule
    Snowcamp 2018 | @_crev_

    View Slide

  52. Grafana
    a chage dynamique
    consolidé (logs, monitoring, etc)
    Snowcamp 2018 | @_crev_

    View Slide

  53. métier
    temporel
    tendances
    alertes
    Snowcamp 2018 | @_crev_

    View Slide

  54. Thanks
    Try https://www.squarescale.com
    with 100 o er using SNOWCAMP18 at account creation
    Snowcamp 2018 | docker run --rm squarescale/ybrissaud | @_crev_ | @sqscale | [email protected]

    View Slide