Slide 1

Slide 1 text

Che-Wei Lin / Wan Jun-Wei / SRE Implementing Observability Practices on Kubernetes 

Slide 2

Slide 2 text

Speakers Che Wei Lin a.k.a johnlin › Site Reliability Engineer @ LINE Taiwan › SRE Team › Loves Linux Networking, Distributed Systems & Open Source Wei › Site Reliability Engineer @ LINE Taiwan › SRE Team › A Gopher, interested in Kubernetes and Serverless › Sometimes contribute Open Source project.

Slide 3

Slide 3 text

Agenda › Traditional Monitoring Practices & Background › Overview of Observability Platform › Adoption Status & Current Practices › Challenges of Adoption › Sharing Use Cases

Slide 4

Slide 4 text

Traditional Monitoring Practices

Slide 5

Slide 5 text

Previous (K8s) Adoption Status October 2020 Projects 20+ App Configs 130+ K8s Clusters 50+

Slide 6

Slide 6 text

Current (K8s) Adoption Status October 2021 Projects +100% 20 40 K8s Clusters +40% 50 70 App Configs +500% 130 650+

Slide 7

Slide 7 text

Background Verda Infrastructure › VKS : Verda Kubernetes Service › VES : Verda Elasticsearch Service › VOS : Verda Object Storage › Most application teams use in-house service VKS for hosting applications › Verda is a private cloud service for LINE

Slide 8

Slide 8 text

Traditional Monitoring Practice Traditional Approaches › Prometheus long-term storage problem (ex: 6 months metrics) › Each team may have their own Grafana dashboards cause redundant works For Self-hosting Prometheus, Grafana For Self-hosting ELK stack › Need an expert in ELK stack to manage the performance and indices Build-in LogSender & Prometheus is Not Enough › Logs: Collect container logs with Fluentd and send to Verda Elasticsearch Service (VES) › Metrics: Prometheus monitor cluster level › Traces: Few teams adopt Zipkins for distributed request tracing

Slide 9

Slide 9 text

Overview of Observability Platform

Slide 10

Slide 10 text

Observability Platform Goal of Observability Platform › Use the same data sources and dashboards to discuss the behavior of events › The process of importing indicators into the application is the same and experience can be shared › Reduce communication costs caused by differences in tools Pooling of system knowledge for organization Everyone Uses Same Tools & Dashboards › Provides integrated logs, metrics, and tracing data sources › Built-in common used dashboards Reduce time for repeated deployment of monitoring facilities › Managed single Grafana instance › Multi-tenant for organizations and projects

Slide 11

Slide 11 text

Architecture Overview

Slide 12

Slide 12 text

Managed Ingress Controller

Slide 13

Slide 13 text

Grafana Tempo & OpenTelemetry Collector

Slide 14

Slide 14 text

Prometheus & Thanos

Slide 15

Slide 15 text

Grafana Loki

Slide 16

Slide 16 text

Adoption Status & 
 Current Practices

Slide 17

Slide 17 text

Adoption Status Observability Platform Project Adopted LINE HUB LINE TRAVEL LINE SPOT STICKER LINE TODAY LINE SHOPPING LINE MUSIC OA PLUS

Slide 18

Slide 18 text

Adoption Status Statistics of Grafana Users Organizations 34 Active users (30d) 120+ Users 200+

Slide 19

Slide 19 text

Adoption Status Statistics of Grafana Across all Organizations Dashboards 750+ Alerts 300 Data Sources 200

Slide 20

Slide 20 text

Prometheus Grafana Loki Grafana Tempo InfluxDB Elasticsearch MySQL 0 10 20 30 40 Adoption Status Statistics of Data Sources

Slide 21

Slide 21 text

Adoption Status Statistics of Telemetry Data 40B+ / week Log Lines 300M / h hourly, weekly Metric Series 16M 20B+ / week Trace Spans 200M / h

Slide 22

Slide 22 text

Adoption Status Storage Usage 20M Objects Logs 30TB 360K Objects Metrics 60 TB 1M Objects Traces 20TB

Slide 23

Slide 23 text

How to manage agents for more than 70 clusters

Slide 24

Slide 24 text

Current Practices: Argo CD ApplicationSet Manage Multiple Argo CD App Cluster B Cluster C Cluster A Argo CD Git

Slide 25

Slide 25 text

Current Practices: Telemetry Data Logs, Metrics & Traces › Logs: A record of an event that happened within an application › Metrics: Numerical representation of data. Determine a service or component’s overall behavior over time › Traces: The entire path of a request as it moves through all the nodes of a distributed system Exemplars Split view with labels Metric queries Span metrics processor Trace to logs Followed Trace ID Metrics Traces Logs

Slide 26

Slide 26 text

Challenges of Adoption

Slide 27

Slide 27 text

Challenges of Adoption Challenges of Adopting from Application Team Introducing new languages (LogQL, PromQL) Instrumenting for metrics & tracing may require retrofitting existing infrastructure

Slide 28

Slide 28 text

How to deal with these challenges Internal Hands-on Workshops for Teams

Slide 29

Slide 29 text

How to deal with these challenges Built-in Default Dashboards on Grafana › Blackbox/Uptime Dashboards › Kubernetes Events/Deployment/ Jobs › Traefik Latency/QPS Dashboards

Slide 30

Slide 30 text

How to deal with these challenges Provide managed ingress controller which already export metrics & traces Out of the box feature Built-in TLS certificates & Traefik common middlewares Integrated structure log, tracing agent and exposed metrics

Slide 31

Slide 31 text

Sharing Use Cases

Slide 32

Slide 32 text

Use Case Interactive Observation with Different Indicators Find out 500 error from metrics Link to corresponding access logs Open trace viewer for a request Jump to application logs in span of trace Logs Traces Logs Metrics

Slide 33

Slide 33 text

Increased error rate of HTTP requests Error in metrics

Slide 34

Slide 34 text

Metrics to Logs Sync All Views to This Time Range

Slide 35

Slide 35 text

Filter logs by LogQL Locate Log

Slide 36

Slide 36 text

Logs to Traces Find the Trace from Logs

Slide 37

Slide 37 text

Traces to Logs Checking the stack trace of error

Slide 38

Slide 38 text

Roadmap Next Steps Error Tracking Sentry Web Vitals Metrics to Traces Prometheus 
 with 
 Exemplars Logs Grafana Loki 
 with 
 Promtail Traces to Metrics OpenTelemetry Collector with 
 Span Metrics Processor Traces Grafana Tempo 
 with 
 OpenTelemetry Collector Metrics Prometheus 
 with 
 Thaons

Slide 39

Slide 39 text

Summary Key Takeaways › Observability platform brings a consolidated dashboard and pooling of system knowledge across organization › Current observability practices speed up for teams to achieve actionable insights from data › Traditional monitoring practices are not enough for teams debugging in a distributed system › Adoption challenges, experience sharing and use cases sharing

Slide 40

Slide 40 text

Thank you