SlideShare a Scribd company logo
Sensu 1.x & Kubernetes
Lee Briggs
Senior Infrastructure Engineer
22/08/2018
© 2016 Apptio, All rights reserved (v2.5)2
$(whoami)
 Based in Seattle (formerly London & Yorkshire)
 Work for Apptio
 We are hiring!
 Github:
https://github.com/jaxxstorm
 Twitter:
https://twitter.com/briggsl
 Blog:
https://www.leebriggs.co.uk
© 2016 Apptio, All rights reserved (v2.5)3
Kubernetes/Sensu Background
 Using Sensu since 2012
 Over 7000 sensu clients in dev & prod
 Running/operating Kubernetes since 2016
 Actually attempted to run k8s v1.0
 Operating multiple clusters
 Across several regions/environments/cloud providers
 Run a hybrid monitoring stack
 Prometheus for container based workloads
 Sensu for all other workloads
 Very excited about Sensu 2.0!
© 2016 Apptio, All rights reserved (v2.5)4
© 2016 Apptio, All rights reserved (v2.5)5
Target Audience
 You’re familiar with/running sensu 1.x
 You know Sensu 1.x fairly well
 You probably have a cloud footprint
 Used to ephemeral clients
 Just getting started using container based workloads
 Investigating a orchestration tool
 Strongly recommend Kubernetes!
© 2016 Apptio, All rights reserved (v2.5)6
Before I begin
 A lot of the concepts here were inspired by another talk:
 Tom Wilkie did an amazing talk at GrafanaCon EU
 https://grafana.com/blog/2018/08/02/the-red-method-how-to-instrument-your-
services/
Monitoring Models
© 2016 Apptio, All rights reserved (v2.5)8
Host Based Monitoring
 A lot of traditional monitoring systems are host based
 Nagios
 Sensu
 Zabbix
 This was fine for a long time, because most of our operational workload
was host based!
© 2016 Apptio, All rights reserved (v2.5)9
USE Method
 Popularized by Brendan Gregg:
http://www.brendangregg.com/usemethod.html
 For every resource, monitor:
 Utilization (% time that the resource was busy)
 Saturation (amount of work resource has to do, often queue length)
 Errors (count of error events)
 This can be hard to apply to some resources
 How does sensu 1.x handle this?
 You have to set arbitrary thresholds, which might not always be best
© 2016 Apptio, All rights reserved (v2.5)10
Service Based Monitoring
 The hosts running the service no longer matter
 As long as the service is healthy, we don’t care about the underlying
constructs
 With containers and many cloud platforms, this is the desired end state
 Examples:
 Prometheus
 TICK (Telegraf, InfluxDB, Kapacitor, Chronograf)
© 2016 Apptio, All rights reserved (v2.5)11
RED Method
 Popularized by Tom Wilkie himself:
 For every resource, monitor:
 Rate (the number of requests per second)
 Errors (the number of those requests that are failing)
 Duration (the amount of time those requests take)
© 2016 Apptio, All rights reserved (v2.5)12
4 Golden Rules
 From the Google SRE Book: https://landing.google.com/sre/book.html
 For each service, monitor:
 Latency (time taken to serve a request)
 Traffic (how much demand is placed on your system)
 Errors (rate of requests that are failing)
 Saturation (how “full” your service is)
Kubernetes
© 2016 Apptio, All rights reserved (v2.5)14
Kubernetes Monitoring Requirements
 Kubernetes applications require service based monitoring
 Too many ephemeral components
 Metric based monitoring is highly desirable
 Monitor on trends, not thresholds
 However, Kubernetes still needs hosts to run
 The controlplane, workers, etcd all runs on a host
 The USE method still applies here
© 2016 Apptio, All rights reserved (v2.5)15
Transitioning to Containers
 Most enterprises can’t go “all-in” with containers
 Usually you’d move some workloads to containers first
 You already have an awesome monitoring solution!
 And implementing it was a lot of work
 The hard truth is that a lot of companies use cloud providers like
traditional datacenters
 So your application(s) might not be designed for ephemeral workloads
© 2016 Apptio, All rights reserved (v2.5)16
Finding a middle ground
 Use Sensu 1.x for the more static components in your stack
 Think of the USE method
 Number of replicas is an example
 There are some tricks to make Sensu service based
 Using source attributes
 API based monitoring
 Monitor the kubernetes components that are relatively static
 # replicas
 Controlplane
 Application health
Sensu on Kubernetes
© 2016 Apptio, All rights reserved (v2.5)18
Running Sensu on Kubernetes
 Running Sensu on Kubernetes kinda makes sense
 Components:
 Redis - https://github.com/spotahome/redis-operator
 No RabbitMQ
 There’s not currently an operator for RabbitMQ
 Uncomfortable running stateful workloads without some kind of operator pattern
 You could run it outside the cluster but adds overhead
 API
 Standard Sensu Deployment
 Server
 Standard Sensu Deployment
 Client
 Daemonset
 Sidecar containers
© 2016 Apptio, All rights reserved (v2.5)19
Example Repo
 Contains:
 Deployment manifests for sensu/redis
 Example application with healthcheck monitoring
 Sock shop microservices demo
 https://github.com/jaxxstorm/sensu-on-kubernetes
 https://github.com/jaxxstorm/docker-sensu-kubernetes
Quick Demo
Going further
© 2016 Apptio, All rights reserved (v2.5)22
Extensions
 If you’re comfortable with Sensu, the journey doesn’t have to end here
 Prometheus & Sensu together: https://blog.sensuapp.org/the-sensu-prometheus-
collector-972c441d45e
 Sens8 – Sensu Operator: https://github.com/hootsuite/sens8
 Sensu 2.0! https://github.com/portertech/sensu-demo
 More in depth example of k8s & Sensu together: https://blog.sensuapp.org/our-
journey-implementing-sensu-to-monitor-kubernetes-in-production-5764aff2dd50
© 2016 Apptio, All rights reserved (v2.5)23
Summary
 Monitoring is a journey
 It moves and migrates with your infrastructure
 Sensu’s flexibility allows it to be used in a variety of hosting & monitoring
models
 Sensu 2.x continues with this flexibility
 Use existing tools as you make transitions!
THANK YOU

More Related Content

What's hot

Asterisk as a Virtual Network Function Part 4
Asterisk as a Virtual Network Function Part 4Asterisk as a Virtual Network Function Part 4
Asterisk as a Virtual Network Function Part 4
Leif Madsen
 
My early experience with Mirantis OpenStack 6.0
My early experience with Mirantis OpenStack 6.0My early experience with Mirantis OpenStack 6.0
My early experience with Mirantis OpenStack 6.0
Guy Tel-Zur
 
Monitoring Weave Cloud with Prometheus
Monitoring Weave Cloud with PrometheusMonitoring Weave Cloud with Prometheus
Monitoring Weave Cloud with Prometheus
Weaveworks
 
Deploy High Availability Kubernetes with Kubespray
Deploy High Availability Kubernetes with KubesprayDeploy High Availability Kubernetes with Kubespray
Deploy High Availability Kubernetes with Kubespray
Che-Chia Chang
 
Deploying Kubernetes on GCP with Kubespray
Deploying Kubernetes on GCP with KubesprayDeploying Kubernetes on GCP with Kubespray
Deploying Kubernetes on GCP with Kubespray
Altoros
 
Moving PHP to the Cloud
Moving PHP to the CloudMoving PHP to the Cloud
Moving PHP to the Cloud
Ingo Walz
 
Loki: An Opensource Zipkin/Prometheus Mashup written in Go.
Loki: An Opensource Zipkin/Prometheus Mashup written in Go.Loki: An Opensource Zipkin/Prometheus Mashup written in Go.
Loki: An Opensource Zipkin/Prometheus Mashup written in Go.
Weaveworks
 
Self Created Load Balancer for MTA on AWS
Self Created Load Balancer for MTA on AWSSelf Created Load Balancer for MTA on AWS
Self Created Load Balancer for MTA on AWSsharu1204
 
AWS re:Invent re:Cap 2019: My ElasticSearch Journey on AWS
AWS re:Invent re:Cap 2019: My ElasticSearch Journey on AWSAWS re:Invent re:Cap 2019: My ElasticSearch Journey on AWS
AWS re:Invent re:Cap 2019: My ElasticSearch Journey on AWS
smalltown
 
Kubernetes: Managed or Not Managed?
Kubernetes: Managed or Not Managed?Kubernetes: Managed or Not Managed?
Kubernetes: Managed or Not Managed?
Mathieu Herbert
 
[OpenInfra Days Korea 2018] Day 2 - E3-2: "핸즈온 워크샵: Kubespray, Helm, Armada를 ...
[OpenInfra Days Korea 2018] Day 2 - E3-2: "핸즈온 워크샵: Kubespray, Helm, Armada를 ...[OpenInfra Days Korea 2018] Day 2 - E3-2: "핸즈온 워크샵: Kubespray, Helm, Armada를 ...
[OpenInfra Days Korea 2018] Day 2 - E3-2: "핸즈온 워크샵: Kubespray, Helm, Armada를 ...
OpenStack Korea Community
 
FaaS-and-Furious
FaaS-and-FuriousFaaS-and-Furious
FaaS-and-Furious
Moby Project
 
gRPC @ Weaveworks
gRPC @ WeaveworksgRPC @ Weaveworks
gRPC @ Weaveworks
Weaveworks
 
REX: Cloud Native Apps on a K8S stack
REX: Cloud Native Apps on a K8S stackREX: Cloud Native Apps on a K8S stack
REX: Cloud Native Apps on a K8S stack
Mathieu Herbert
 
Open stack monitoring with minimal effort
Open stack monitoring with minimal effortOpen stack monitoring with minimal effort
Open stack monitoring with minimal effort
Toby Corbin
 
OpenNebulaConf2018 - Hybrid Clouds: Dancing with "Automated" Virtual Machines...
OpenNebulaConf2018 - Hybrid Clouds: Dancing with "Automated" Virtual Machines...OpenNebulaConf2018 - Hybrid Clouds: Dancing with "Automated" Virtual Machines...
OpenNebulaConf2018 - Hybrid Clouds: Dancing with "Automated" Virtual Machines...
OpenNebula Project
 
OpenStack reliability metrics
OpenStack reliability metricsOpenStack reliability metrics
OpenStack reliability metrics
Ilya Shakhat
 
Spinnaker - Bay Area AWS Meetup - 20160726
Spinnaker - Bay Area AWS Meetup - 20160726Spinnaker - Bay Area AWS Meetup - 20160726
Spinnaker - Bay Area AWS Meetup - 20160726
Adam Jordens
 
Shallow Dive in to Serverless Architecture
Shallow Dive in to Serverless ArchitectureShallow Dive in to Serverless Architecture
Shallow Dive in to Serverless Architecture
NateFonseka
 
How to share a Kubernetes cluster securely through Lens spaces
How to share a Kubernetes cluster securely through Lens spacesHow to share a Kubernetes cluster securely through Lens spaces
How to share a Kubernetes cluster securely through Lens spaces
LibbySchulze
 

What's hot (20)

Asterisk as a Virtual Network Function Part 4
Asterisk as a Virtual Network Function Part 4Asterisk as a Virtual Network Function Part 4
Asterisk as a Virtual Network Function Part 4
 
My early experience with Mirantis OpenStack 6.0
My early experience with Mirantis OpenStack 6.0My early experience with Mirantis OpenStack 6.0
My early experience with Mirantis OpenStack 6.0
 
Monitoring Weave Cloud with Prometheus
Monitoring Weave Cloud with PrometheusMonitoring Weave Cloud with Prometheus
Monitoring Weave Cloud with Prometheus
 
Deploy High Availability Kubernetes with Kubespray
Deploy High Availability Kubernetes with KubesprayDeploy High Availability Kubernetes with Kubespray
Deploy High Availability Kubernetes with Kubespray
 
Deploying Kubernetes on GCP with Kubespray
Deploying Kubernetes on GCP with KubesprayDeploying Kubernetes on GCP with Kubespray
Deploying Kubernetes on GCP with Kubespray
 
Moving PHP to the Cloud
Moving PHP to the CloudMoving PHP to the Cloud
Moving PHP to the Cloud
 
Loki: An Opensource Zipkin/Prometheus Mashup written in Go.
Loki: An Opensource Zipkin/Prometheus Mashup written in Go.Loki: An Opensource Zipkin/Prometheus Mashup written in Go.
Loki: An Opensource Zipkin/Prometheus Mashup written in Go.
 
Self Created Load Balancer for MTA on AWS
Self Created Load Balancer for MTA on AWSSelf Created Load Balancer for MTA on AWS
Self Created Load Balancer for MTA on AWS
 
AWS re:Invent re:Cap 2019: My ElasticSearch Journey on AWS
AWS re:Invent re:Cap 2019: My ElasticSearch Journey on AWSAWS re:Invent re:Cap 2019: My ElasticSearch Journey on AWS
AWS re:Invent re:Cap 2019: My ElasticSearch Journey on AWS
 
Kubernetes: Managed or Not Managed?
Kubernetes: Managed or Not Managed?Kubernetes: Managed or Not Managed?
Kubernetes: Managed or Not Managed?
 
[OpenInfra Days Korea 2018] Day 2 - E3-2: "핸즈온 워크샵: Kubespray, Helm, Armada를 ...
[OpenInfra Days Korea 2018] Day 2 - E3-2: "핸즈온 워크샵: Kubespray, Helm, Armada를 ...[OpenInfra Days Korea 2018] Day 2 - E3-2: "핸즈온 워크샵: Kubespray, Helm, Armada를 ...
[OpenInfra Days Korea 2018] Day 2 - E3-2: "핸즈온 워크샵: Kubespray, Helm, Armada를 ...
 
FaaS-and-Furious
FaaS-and-FuriousFaaS-and-Furious
FaaS-and-Furious
 
gRPC @ Weaveworks
gRPC @ WeaveworksgRPC @ Weaveworks
gRPC @ Weaveworks
 
REX: Cloud Native Apps on a K8S stack
REX: Cloud Native Apps on a K8S stackREX: Cloud Native Apps on a K8S stack
REX: Cloud Native Apps on a K8S stack
 
Open stack monitoring with minimal effort
Open stack monitoring with minimal effortOpen stack monitoring with minimal effort
Open stack monitoring with minimal effort
 
OpenNebulaConf2018 - Hybrid Clouds: Dancing with "Automated" Virtual Machines...
OpenNebulaConf2018 - Hybrid Clouds: Dancing with "Automated" Virtual Machines...OpenNebulaConf2018 - Hybrid Clouds: Dancing with "Automated" Virtual Machines...
OpenNebulaConf2018 - Hybrid Clouds: Dancing with "Automated" Virtual Machines...
 
OpenStack reliability metrics
OpenStack reliability metricsOpenStack reliability metrics
OpenStack reliability metrics
 
Spinnaker - Bay Area AWS Meetup - 20160726
Spinnaker - Bay Area AWS Meetup - 20160726Spinnaker - Bay Area AWS Meetup - 20160726
Spinnaker - Bay Area AWS Meetup - 20160726
 
Shallow Dive in to Serverless Architecture
Shallow Dive in to Serverless ArchitectureShallow Dive in to Serverless Architecture
Shallow Dive in to Serverless Architecture
 
How to share a Kubernetes cluster securely through Lens spaces
How to share a Kubernetes cluster securely through Lens spacesHow to share a Kubernetes cluster securely through Lens spaces
How to share a Kubernetes cluster securely through Lens spaces
 

Similar to Sensu 1.x & kubernetes

DevOps as a Pathway to AWS | AWS Public Sector Summit 2016
DevOps as a Pathway to AWS | AWS Public Sector Summit 2016DevOps as a Pathway to AWS | AWS Public Sector Summit 2016
DevOps as a Pathway to AWS | AWS Public Sector Summit 2016
Amazon Web Services
 
Kube cfg-mgmt
Kube cfg-mgmtKube cfg-mgmt
Kube cfg-mgmt
Lee Briggs
 
Running Cloudbreak on Kubernetes
Running Cloudbreak on KubernetesRunning Cloudbreak on Kubernetes
Running Cloudbreak on Kubernetes
Future of Data Meetup
 
Running Cloudbreak on Kubernetes
Running Cloudbreak on KubernetesRunning Cloudbreak on Kubernetes
Running Cloudbreak on Kubernetes
Krisztián Horváth
 
Service Mesh on Kubernetes with Istio
Service Mesh on Kubernetes with IstioService Mesh on Kubernetes with Istio
Service Mesh on Kubernetes with Istio
Michelle Holley
 
Pivotal Cloud Foundry 2.3: A First Look
Pivotal Cloud Foundry 2.3: A First LookPivotal Cloud Foundry 2.3: A First Look
Pivotal Cloud Foundry 2.3: A First Look
VMware Tanzu
 
OpenSouthCode 2016 - Accenture DevOps Platform 2016-05-07
OpenSouthCode 2016  - Accenture DevOps Platform 2016-05-07OpenSouthCode 2016  - Accenture DevOps Platform 2016-05-07
OpenSouthCode 2016 - Accenture DevOps Platform 2016-05-07
Jorge Hidalgo
 
AWS 고객사를 위한 ‘AWS 컨테이너 교육’ - 유재석, AWS 솔루션즈 아키텍트
AWS 고객사를 위한 ‘AWS 컨테이너 교육’ - 유재석, AWS 솔루션즈 아키텍트AWS 고객사를 위한 ‘AWS 컨테이너 교육’ - 유재석, AWS 솔루션즈 아키텍트
AWS 고객사를 위한 ‘AWS 컨테이너 교육’ - 유재석, AWS 솔루션즈 아키텍트
Amazon Web Services Korea
 
Kubernetes or OpenShift - choosing your container platform for Dev and Ops
Kubernetes or OpenShift - choosing your container platform for Dev and OpsKubernetes or OpenShift - choosing your container platform for Dev and Ops
Kubernetes or OpenShift - choosing your container platform for Dev and Ops
Tomasz Cholewa
 
Kubernetes One-Click Deployment: Hands-on Workshop (Mainz)
Kubernetes One-Click Deployment: Hands-on Workshop (Mainz)Kubernetes One-Click Deployment: Hands-on Workshop (Mainz)
Kubernetes One-Click Deployment: Hands-on Workshop (Mainz)
QAware GmbH
 
[Capitole du Libre] #serverless -  mettez-le en oeuvre dans votre entreprise...
[Capitole du Libre] #serverless -  mettez-le en oeuvre dans votre entreprise...[Capitole du Libre] #serverless -  mettez-le en oeuvre dans votre entreprise...
[Capitole du Libre] #serverless -  mettez-le en oeuvre dans votre entreprise...
Ludovic Piot
 
StratusLab at FOSDEM'13
StratusLab at FOSDEM'13StratusLab at FOSDEM'13
StratusLab at FOSDEM'13
stratuslab
 
Building ContinuousIntegration with Virtuozzo DevOps
Building ContinuousIntegration with Virtuozzo DevOpsBuilding ContinuousIntegration with Virtuozzo DevOps
Building ContinuousIntegration with Virtuozzo DevOps
Virtuozzo
 
Micro services vs hadoop
Micro services vs hadoopMicro services vs hadoop
Micro services vs hadoop
Gergely Devenyi
 
Deploy prometheus on kubernetes
Deploy prometheus on kubernetesDeploy prometheus on kubernetes
Deploy prometheus on kubernetes
Cloud Technology Experts
 
IPv6 on Container Plattforms
IPv6 on Container PlattformsIPv6 on Container Plattforms
IPv6 on Container Plattforms
Aarno Aukia
 
Swiss IPv6 Council – Case Study - Deployment von IPv6 in einer Container Plat...
Swiss IPv6 Council – Case Study - Deployment von IPv6 in einer Container Plat...Swiss IPv6 Council – Case Study - Deployment von IPv6 in einer Container Plat...
Swiss IPv6 Council – Case Study - Deployment von IPv6 in einer Container Plat...
Digicomp Academy AG
 
AWS Container Services – 유재석 (AWS 솔루션즈 아키텍트)
AWS Container Services – 유재석 (AWS 솔루션즈 아키텍트)AWS Container Services – 유재석 (AWS 솔루션즈 아키텍트)
AWS Container Services – 유재석 (AWS 솔루션즈 아키텍트)
Amazon Web Services Korea
 
Amazon Container Services – 유재석 (AWS 솔루션즈 아키텍트)
 Amazon Container Services – 유재석 (AWS 솔루션즈 아키텍트) Amazon Container Services – 유재석 (AWS 솔루션즈 아키텍트)
Amazon Container Services – 유재석 (AWS 솔루션즈 아키텍트)
Amazon Web Services Korea
 
Weave Cortex: Multi-tenant, horizontally scalable Prometheus as a Service
Weave Cortex: Multi-tenant, horizontally scalable Prometheus as a ServiceWeave Cortex: Multi-tenant, horizontally scalable Prometheus as a Service
Weave Cortex: Multi-tenant, horizontally scalable Prometheus as a Service
Weaveworks
 

Similar to Sensu 1.x & kubernetes (20)

DevOps as a Pathway to AWS | AWS Public Sector Summit 2016
DevOps as a Pathway to AWS | AWS Public Sector Summit 2016DevOps as a Pathway to AWS | AWS Public Sector Summit 2016
DevOps as a Pathway to AWS | AWS Public Sector Summit 2016
 
Kube cfg-mgmt
Kube cfg-mgmtKube cfg-mgmt
Kube cfg-mgmt
 
Running Cloudbreak on Kubernetes
Running Cloudbreak on KubernetesRunning Cloudbreak on Kubernetes
Running Cloudbreak on Kubernetes
 
Running Cloudbreak on Kubernetes
Running Cloudbreak on KubernetesRunning Cloudbreak on Kubernetes
Running Cloudbreak on Kubernetes
 
Service Mesh on Kubernetes with Istio
Service Mesh on Kubernetes with IstioService Mesh on Kubernetes with Istio
Service Mesh on Kubernetes with Istio
 
Pivotal Cloud Foundry 2.3: A First Look
Pivotal Cloud Foundry 2.3: A First LookPivotal Cloud Foundry 2.3: A First Look
Pivotal Cloud Foundry 2.3: A First Look
 
OpenSouthCode 2016 - Accenture DevOps Platform 2016-05-07
OpenSouthCode 2016  - Accenture DevOps Platform 2016-05-07OpenSouthCode 2016  - Accenture DevOps Platform 2016-05-07
OpenSouthCode 2016 - Accenture DevOps Platform 2016-05-07
 
AWS 고객사를 위한 ‘AWS 컨테이너 교육’ - 유재석, AWS 솔루션즈 아키텍트
AWS 고객사를 위한 ‘AWS 컨테이너 교육’ - 유재석, AWS 솔루션즈 아키텍트AWS 고객사를 위한 ‘AWS 컨테이너 교육’ - 유재석, AWS 솔루션즈 아키텍트
AWS 고객사를 위한 ‘AWS 컨테이너 교육’ - 유재석, AWS 솔루션즈 아키텍트
 
Kubernetes or OpenShift - choosing your container platform for Dev and Ops
Kubernetes or OpenShift - choosing your container platform for Dev and OpsKubernetes or OpenShift - choosing your container platform for Dev and Ops
Kubernetes or OpenShift - choosing your container platform for Dev and Ops
 
Kubernetes One-Click Deployment: Hands-on Workshop (Mainz)
Kubernetes One-Click Deployment: Hands-on Workshop (Mainz)Kubernetes One-Click Deployment: Hands-on Workshop (Mainz)
Kubernetes One-Click Deployment: Hands-on Workshop (Mainz)
 
[Capitole du Libre] #serverless -  mettez-le en oeuvre dans votre entreprise...
[Capitole du Libre] #serverless -  mettez-le en oeuvre dans votre entreprise...[Capitole du Libre] #serverless -  mettez-le en oeuvre dans votre entreprise...
[Capitole du Libre] #serverless -  mettez-le en oeuvre dans votre entreprise...
 
StratusLab at FOSDEM'13
StratusLab at FOSDEM'13StratusLab at FOSDEM'13
StratusLab at FOSDEM'13
 
Building ContinuousIntegration with Virtuozzo DevOps
Building ContinuousIntegration with Virtuozzo DevOpsBuilding ContinuousIntegration with Virtuozzo DevOps
Building ContinuousIntegration with Virtuozzo DevOps
 
Micro services vs hadoop
Micro services vs hadoopMicro services vs hadoop
Micro services vs hadoop
 
Deploy prometheus on kubernetes
Deploy prometheus on kubernetesDeploy prometheus on kubernetes
Deploy prometheus on kubernetes
 
IPv6 on Container Plattforms
IPv6 on Container PlattformsIPv6 on Container Plattforms
IPv6 on Container Plattforms
 
Swiss IPv6 Council – Case Study - Deployment von IPv6 in einer Container Plat...
Swiss IPv6 Council – Case Study - Deployment von IPv6 in einer Container Plat...Swiss IPv6 Council – Case Study - Deployment von IPv6 in einer Container Plat...
Swiss IPv6 Council – Case Study - Deployment von IPv6 in einer Container Plat...
 
AWS Container Services – 유재석 (AWS 솔루션즈 아키텍트)
AWS Container Services – 유재석 (AWS 솔루션즈 아키텍트)AWS Container Services – 유재석 (AWS 솔루션즈 아키텍트)
AWS Container Services – 유재석 (AWS 솔루션즈 아키텍트)
 
Amazon Container Services – 유재석 (AWS 솔루션즈 아키텍트)
 Amazon Container Services – 유재석 (AWS 솔루션즈 아키텍트) Amazon Container Services – 유재석 (AWS 솔루션즈 아키텍트)
Amazon Container Services – 유재석 (AWS 솔루션즈 아키텍트)
 
Weave Cortex: Multi-tenant, horizontally scalable Prometheus as a Service
Weave Cortex: Multi-tenant, horizontally scalable Prometheus as a ServiceWeave Cortex: Multi-tenant, horizontally scalable Prometheus as a Service
Weave Cortex: Multi-tenant, horizontally scalable Prometheus as a Service
 

Recently uploaded

From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
Product School
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
Dorra BARTAGUIZ
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
Product School
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
Product School
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Ramesh Iyer
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Jeffrey Haguewood
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
Cheryl Hung
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
g2nightmarescribd
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Inflectra
 

Recently uploaded (20)

From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 

Sensu 1.x & kubernetes

  • 1. Sensu 1.x & Kubernetes Lee Briggs Senior Infrastructure Engineer 22/08/2018
  • 2. © 2016 Apptio, All rights reserved (v2.5)2 $(whoami)  Based in Seattle (formerly London & Yorkshire)  Work for Apptio  We are hiring!  Github: https://github.com/jaxxstorm  Twitter: https://twitter.com/briggsl  Blog: https://www.leebriggs.co.uk
  • 3. © 2016 Apptio, All rights reserved (v2.5)3 Kubernetes/Sensu Background  Using Sensu since 2012  Over 7000 sensu clients in dev & prod  Running/operating Kubernetes since 2016  Actually attempted to run k8s v1.0  Operating multiple clusters  Across several regions/environments/cloud providers  Run a hybrid monitoring stack  Prometheus for container based workloads  Sensu for all other workloads  Very excited about Sensu 2.0!
  • 4. © 2016 Apptio, All rights reserved (v2.5)4
  • 5. © 2016 Apptio, All rights reserved (v2.5)5 Target Audience  You’re familiar with/running sensu 1.x  You know Sensu 1.x fairly well  You probably have a cloud footprint  Used to ephemeral clients  Just getting started using container based workloads  Investigating a orchestration tool  Strongly recommend Kubernetes!
  • 6. © 2016 Apptio, All rights reserved (v2.5)6 Before I begin  A lot of the concepts here were inspired by another talk:  Tom Wilkie did an amazing talk at GrafanaCon EU  https://grafana.com/blog/2018/08/02/the-red-method-how-to-instrument-your- services/
  • 8. © 2016 Apptio, All rights reserved (v2.5)8 Host Based Monitoring  A lot of traditional monitoring systems are host based  Nagios  Sensu  Zabbix  This was fine for a long time, because most of our operational workload was host based!
  • 9. © 2016 Apptio, All rights reserved (v2.5)9 USE Method  Popularized by Brendan Gregg: http://www.brendangregg.com/usemethod.html  For every resource, monitor:  Utilization (% time that the resource was busy)  Saturation (amount of work resource has to do, often queue length)  Errors (count of error events)  This can be hard to apply to some resources  How does sensu 1.x handle this?  You have to set arbitrary thresholds, which might not always be best
  • 10. © 2016 Apptio, All rights reserved (v2.5)10 Service Based Monitoring  The hosts running the service no longer matter  As long as the service is healthy, we don’t care about the underlying constructs  With containers and many cloud platforms, this is the desired end state  Examples:  Prometheus  TICK (Telegraf, InfluxDB, Kapacitor, Chronograf)
  • 11. © 2016 Apptio, All rights reserved (v2.5)11 RED Method  Popularized by Tom Wilkie himself:  For every resource, monitor:  Rate (the number of requests per second)  Errors (the number of those requests that are failing)  Duration (the amount of time those requests take)
  • 12. © 2016 Apptio, All rights reserved (v2.5)12 4 Golden Rules  From the Google SRE Book: https://landing.google.com/sre/book.html  For each service, monitor:  Latency (time taken to serve a request)  Traffic (how much demand is placed on your system)  Errors (rate of requests that are failing)  Saturation (how “full” your service is)
  • 14. © 2016 Apptio, All rights reserved (v2.5)14 Kubernetes Monitoring Requirements  Kubernetes applications require service based monitoring  Too many ephemeral components  Metric based monitoring is highly desirable  Monitor on trends, not thresholds  However, Kubernetes still needs hosts to run  The controlplane, workers, etcd all runs on a host  The USE method still applies here
  • 15. © 2016 Apptio, All rights reserved (v2.5)15 Transitioning to Containers  Most enterprises can’t go “all-in” with containers  Usually you’d move some workloads to containers first  You already have an awesome monitoring solution!  And implementing it was a lot of work  The hard truth is that a lot of companies use cloud providers like traditional datacenters  So your application(s) might not be designed for ephemeral workloads
  • 16. © 2016 Apptio, All rights reserved (v2.5)16 Finding a middle ground  Use Sensu 1.x for the more static components in your stack  Think of the USE method  Number of replicas is an example  There are some tricks to make Sensu service based  Using source attributes  API based monitoring  Monitor the kubernetes components that are relatively static  # replicas  Controlplane  Application health
  • 18. © 2016 Apptio, All rights reserved (v2.5)18 Running Sensu on Kubernetes  Running Sensu on Kubernetes kinda makes sense  Components:  Redis - https://github.com/spotahome/redis-operator  No RabbitMQ  There’s not currently an operator for RabbitMQ  Uncomfortable running stateful workloads without some kind of operator pattern  You could run it outside the cluster but adds overhead  API  Standard Sensu Deployment  Server  Standard Sensu Deployment  Client  Daemonset  Sidecar containers
  • 19. © 2016 Apptio, All rights reserved (v2.5)19 Example Repo  Contains:  Deployment manifests for sensu/redis  Example application with healthcheck monitoring  Sock shop microservices demo  https://github.com/jaxxstorm/sensu-on-kubernetes  https://github.com/jaxxstorm/docker-sensu-kubernetes
  • 22. © 2016 Apptio, All rights reserved (v2.5)22 Extensions  If you’re comfortable with Sensu, the journey doesn’t have to end here  Prometheus & Sensu together: https://blog.sensuapp.org/the-sensu-prometheus- collector-972c441d45e  Sens8 – Sensu Operator: https://github.com/hootsuite/sens8  Sensu 2.0! https://github.com/portertech/sensu-demo  More in depth example of k8s & Sensu together: https://blog.sensuapp.org/our- journey-implementing-sensu-to-monitor-kubernetes-in-production-5764aff2dd50
  • 23. © 2016 Apptio, All rights reserved (v2.5)23 Summary  Monitoring is a journey  It moves and migrates with your infrastructure  Sensu’s flexibility allows it to be used in a variety of hosting & monitoring models  Sensu 2.x continues with this flexibility  Use existing tools as you make transitions!

Editor's Notes

  1. Bill Bryson “I know the army needs some place for target practice...could find some new and less visually sensitive location to blow up than the beautiful countryside – Keighley, say.” Apptio deals with IT cost analytics Tweet storm/blogpost
  2. Platform called AKP We didn’t run Nagios. OpenNMS and Xymon
  3. This talk formalized a lot of concepts we knew and loved into usable terms
  4. Memory is particularly hard to monitor with this method
  5. Service based monitoring are often metric based
  6. Pod names changing Deployments coming and going NODES coming and going
  7. As an analytics company we see this a lot Cloud providers are solving the capacity problem, not the software or culture problems
  8. Those replicas are static, but the pods meeting them aren’t Sensu can collect metrics, but we’ve never used it for that at Apptio Monitoring metrics with sensu generally involves polling something like graphite
  9. Scaleable API and Service components Data storage layer could be argued is a bad idea – operators help with this Running inside the cluster makes cluster auth easier/more secure Don’t forget RBAC rules!!