Sensu Go as a monitoring
control plane
by @calebhailey
● Caleb Hailey
● Sensu contributor since 2013 (version 0.9.x)
● Co-founder & CEO of Sensu, Inc.
● Find me on Twitter @calebhailey
> whoami
Talk Overview
● What's new in Sensu Go!
● Sensu Go product roadmap
● What is a control plane and why should I care?
● Where we're headed next…
● Call to action
What's new in
Sensu Go?
Simplified architecture
Namespaces & RBAC
Configuration API
Sensu assets & Bonsai
More!
Sensu Go is here!
● December 2018: Sensu Go GA release (5.0)
● March 2019: Sensu Go Enterprise (5.2)
● September 2019: latest release (5.13)
● December 2019: Sensu Core "Classic" will reach EOL
● March 2020: Sensu Enterprise "Classic" will reach EOL
Sensu product lifecycle
● December 2018: Sensu Go GA release (v5.0)
● March 2019: Sensu Go Enterprise (v5.2)
● September 2019: latest release version 5.13
● December 2019: Sensu Core "Classic" will reach EOL
● March 2020: Sensu Enterprise "Classic" will reach EOL
SENSU GO HAS BEEN DOWNLOADED OVER 500K TIMES SINCE MARCH
Sensu product lifecycle
Simplified architecture
● Complete rewrite in Golang (vs Ruby)
● No external dependencies
○ No RabbitMQ or Redis
○ Built-in dashboard
○ Built-in config database (etcd)
● New Sensu CLI (sensuctl)
Simplified architecture
vs.
Namespaces & RBAC
● Namespaces (for multi-tenancy)
● Role-based access control
○ Users + Roles + RoleBindings
● SSO (LDAP, AD, OIDC, SAML)
● Designed for self-service workflows
Configuration API
● Configuration DB (etcd)
● Configuration API
● Real-time config validation
● New Sensu CLI (sensuctl)
● Strong configuration management UX
Sensu assets & Bonsai
● New packaging & distribution solution
● Tarballs & HTTP!
● Sensu user $PATH, $LD_LIBRARY_PATH, and $CPATH management
● Full support for Sensu Ruby plugins (github.com/sensu-plugins)
● Bonsai: the Sensu asset index & CDN (bonsai.sensu.io)
Other features of Sensu Go
● Built-in StatsD socket
● Agent API event/result caching
● Optimized telemetry pipeline
● API response filtering
● Much, much, more!
● Scalable. New enterprise event store (Postgres) scalable to 30K+
agents per Sensu cluster.
● Integrated. Turn-key integrations with enterprise platforms such as
ServiceNow, Elasticsearch, Splunk, Ansible Tower, and more.
● Secure. SSO provider integrations, mTLS agent authentication, and
Secrets management.
Sensu Go for SMB & enterprises
Product
Roadmap
Launching this week
Launching this month
Launching this year
Recent releases
● PostgreSQL event store
● Security enhancements (command allow list)
● FreeBSD builds
● Sensuctl config backup (sensuctl dump)
● Multi-tenant dashboard
● Filter & mutator views + management in the web UI
● OIDC auth provider
● Check hook assets
Launching this week (5.13)
● Sensuctl env export
eval $(sensuctl env)
● Sensu Bonsai integration
sensuctl asset add sensu/sensu-pagerduty-handler:1.1.0
● Sensuctl create from directories or URLs
sensuctl create -r -f ./checks
sensuctl create -f https://sensu.io/templates/aws.yaml
Launching this week
A brand new website & getting started
experience!
Launching this quarter (Q3'19)
● New supported Ansible module (learn more at AnsibleFest!)
● mTLS agent authentication for Sensu Go
● Sensu Federation (learn more in Sean's talk, in about 10 minutes)
Launching this year (Q4'19)
● AWS Marketplace Launcher (October beta release)
● Secrets Management + HashiCorp Vault integration
● OAuth & SAML SSO providers
● Commercially supported collection plugins
Launching this year (Q4'19)
● AWS Marketplace Launcher (October beta release)
● Secrets Management + Hashicorp Vault integration
● OAuth & SAML SSO providers
● Commercially supported collection plugins
Reimagining Sensu
What is a control plane?
Why is this important?...and why should I care?
What is a
control plane?
Reimagining Sensu (2018 Sensu Summit)
● A monitoring framework
● A monitoring router
● A monitoring event pipeline
Monitoring workflow mad libs!
My team, ___(insert name of team)___,
needs to know when ___(a type of monitoring event occurs)___
to improve ___(a specific customer experience)___
by ___(automating a workflow)___
with ___(existing tools or systems)___.
Reimagining Sensu (2018 Sensu Summit)
● A monitoring framework
● A monitoring router
● A monitoring event pipeline
Reimagining Sensu (2018 Sensu Summit)
● A monitoring framework (building blocks)
● A monitoring router (network switching)
● A monitoring event pipeline (orchestration)
Reimagining Sensu (2018 Sensu Summit)
● A monitoring framework (building blocks) +
● A monitoring router (network switching) +
● A monitoring event pipeline (orchestration) = ???
Sensu is having an Aristotle moment
DISCLAIMER
I am not Aristotle.
I am also not a network administrator.
I am about to discuss a few high-level networking concepts.
Proceed at your own risk.
Let's talk about "control planes"
What is a control plane?
The control plane is the part of a network that carries signaling traffic
and is responsible for routing. Control packets originate from or are
destined for a router. Functions of the control plane include system
configuration and management.
—TechTarget.com
What is a control plane?
The control plane, the data plane and the management plane are the
three basic components of a telecommunications architecture. The
control plane and management plane serve the data plane, which bears
the traffic that the network exists to carry. The management plane,
which carries administrative traffic, is considered a subset of the control
plane.
—TechTarget.com
What is a control plane?
In conventional networking, all three planes are implemented in the
firmware of routers and switches. Software-defined networking (SDN)
decouples the data and control planes, removes the control plane from
network hardware and implements it in software instead, which enables
programmatic access and, as a result, makes network administration
much more flexible.
—TechTarget.com
Important attributes of a control plane
1. Routing
2. Configuration
3. Management
4. Programmatic access
5. Flexibility
Important attributes of a control plane
1. Routing: Sensu
2. Configuration: Puppet/Chef/Ansible
3. Management: GitHub & CI/CD
4. Programmatic access: Sensu
5. Flexibility: Yes?
Important attributes of a control plane
1. Routing: Sensu Go
2. Configuration: Puppet/Chef/Ansible Sensu Go + Bonsai
3. Management: GitHub & CI/CD Sensu Go
4. Programmatic access: Sensu Go ++
5. Flexibility: Yes!!!
Is Sensu Go a control plane?
Is Sensu Go a control plane?
What can it do that wasn't possible before now?
Where we're
headed... Service management
Templates
The unofficial roadmap.
PS, don't tell Sean I showed you this.
Extensions in Sensu Classic
● Plugins vs extensions = scripts/executables vs processes/services
● Better performance than shell/exec
● Sensu "classic" extensions ran in the main Ruby VM (reactor thread)
● Sensu "classic" extensions had to be written in Ruby
● Pros & cons
Extensions in Sensu Go
● Coming soon!
● gRPC extension API instead of Ruby scripts loaded at runtime
● Written in any programming language that supports gRPC
● Packaged as Sensu assets, distributed via Bonsai
● Lightweight process management
● Backend only (event enrichment, high throughput handlers, etc)
Extensions in Sensu Go
● Coming soon!
● gRPC extension API instead of Ruby scripts loaded at runtime
● Written in any programming language that supports gRPC
● Packaged as Sensu assets, distributed via Bonsai
● Lightweight process/service management
● Backend only (event enrichment, high throughput handlers, etc)
● Backend & agent extensions
Imagine...
● Package Prometheus exporters as Sensu assets (e.g. node_exporter)
● Sensu distributes exporters to nodes, manages exporter process
● Sensu uses the Prometheus collector to scrape metrics
● Sensu telemetry pipeline writes metrics to enterprise "data lake"
Making it portable
Templates!
1. Declarative configuration
2. Packaged solutions!
3. Users populate templates with secrets
Call to action!
Call to action
● Try Sensu Go – a simpler, more scalable Sensu
● Play with Sensu assets & Bonsai
● Share Sensu with your team, using namespaces & RBAC
● Share your feedback!
● Join the discussion: https://discourse.sensu.io
Thank you!

Keynote: Sensu as a multi-cloud monitoring control plane

  • 1.
    Sensu Go asa monitoring control plane by @calebhailey
  • 2.
    ● Caleb Hailey ●Sensu contributor since 2013 (version 0.9.x) ● Co-founder & CEO of Sensu, Inc. ● Find me on Twitter @calebhailey > whoami
  • 4.
    Talk Overview ● What'snew in Sensu Go! ● Sensu Go product roadmap ● What is a control plane and why should I care? ● Where we're headed next… ● Call to action
  • 5.
    What's new in SensuGo? Simplified architecture Namespaces & RBAC Configuration API Sensu assets & Bonsai More!
  • 6.
  • 7.
    ● December 2018:Sensu Go GA release (5.0) ● March 2019: Sensu Go Enterprise (5.2) ● September 2019: latest release (5.13) ● December 2019: Sensu Core "Classic" will reach EOL ● March 2020: Sensu Enterprise "Classic" will reach EOL Sensu product lifecycle
  • 8.
    ● December 2018:Sensu Go GA release (v5.0) ● March 2019: Sensu Go Enterprise (v5.2) ● September 2019: latest release version 5.13 ● December 2019: Sensu Core "Classic" will reach EOL ● March 2020: Sensu Enterprise "Classic" will reach EOL SENSU GO HAS BEEN DOWNLOADED OVER 500K TIMES SINCE MARCH Sensu product lifecycle
  • 9.
    Simplified architecture ● Completerewrite in Golang (vs Ruby) ● No external dependencies ○ No RabbitMQ or Redis ○ Built-in dashboard ○ Built-in config database (etcd) ● New Sensu CLI (sensuctl)
  • 10.
  • 11.
    Namespaces & RBAC ●Namespaces (for multi-tenancy) ● Role-based access control ○ Users + Roles + RoleBindings ● SSO (LDAP, AD, OIDC, SAML) ● Designed for self-service workflows
  • 12.
    Configuration API ● ConfigurationDB (etcd) ● Configuration API ● Real-time config validation ● New Sensu CLI (sensuctl) ● Strong configuration management UX
  • 13.
    Sensu assets &Bonsai ● New packaging & distribution solution ● Tarballs & HTTP! ● Sensu user $PATH, $LD_LIBRARY_PATH, and $CPATH management ● Full support for Sensu Ruby plugins (github.com/sensu-plugins) ● Bonsai: the Sensu asset index & CDN (bonsai.sensu.io)
  • 14.
    Other features ofSensu Go ● Built-in StatsD socket ● Agent API event/result caching ● Optimized telemetry pipeline ● API response filtering ● Much, much, more!
  • 15.
    ● Scalable. Newenterprise event store (Postgres) scalable to 30K+ agents per Sensu cluster. ● Integrated. Turn-key integrations with enterprise platforms such as ServiceNow, Elasticsearch, Splunk, Ansible Tower, and more. ● Secure. SSO provider integrations, mTLS agent authentication, and Secrets management. Sensu Go for SMB & enterprises
  • 16.
    Product Roadmap Launching this week Launchingthis month Launching this year
  • 17.
    Recent releases ● PostgreSQLevent store ● Security enhancements (command allow list) ● FreeBSD builds ● Sensuctl config backup (sensuctl dump) ● Multi-tenant dashboard ● Filter & mutator views + management in the web UI ● OIDC auth provider ● Check hook assets
  • 18.
    Launching this week(5.13) ● Sensuctl env export eval $(sensuctl env) ● Sensu Bonsai integration sensuctl asset add sensu/sensu-pagerduty-handler:1.1.0 ● Sensuctl create from directories or URLs sensuctl create -r -f ./checks sensuctl create -f https://sensu.io/templates/aws.yaml
  • 19.
    Launching this week Abrand new website & getting started experience!
  • 20.
    Launching this quarter(Q3'19) ● New supported Ansible module (learn more at AnsibleFest!) ● mTLS agent authentication for Sensu Go ● Sensu Federation (learn more in Sean's talk, in about 10 minutes)
  • 22.
    Launching this year(Q4'19) ● AWS Marketplace Launcher (October beta release) ● Secrets Management + HashiCorp Vault integration ● OAuth & SAML SSO providers ● Commercially supported collection plugins
  • 27.
    Launching this year(Q4'19) ● AWS Marketplace Launcher (October beta release) ● Secrets Management + Hashicorp Vault integration ● OAuth & SAML SSO providers ● Commercially supported collection plugins
  • 28.
    Reimagining Sensu What isa control plane? Why is this important?...and why should I care? What is a control plane?
  • 29.
    Reimagining Sensu (2018Sensu Summit) ● A monitoring framework ● A monitoring router ● A monitoring event pipeline
  • 33.
    Monitoring workflow madlibs! My team, ___(insert name of team)___, needs to know when ___(a type of monitoring event occurs)___ to improve ___(a specific customer experience)___ by ___(automating a workflow)___ with ___(existing tools or systems)___.
  • 34.
    Reimagining Sensu (2018Sensu Summit) ● A monitoring framework ● A monitoring router ● A monitoring event pipeline
  • 35.
    Reimagining Sensu (2018Sensu Summit) ● A monitoring framework (building blocks) ● A monitoring router (network switching) ● A monitoring event pipeline (orchestration)
  • 36.
    Reimagining Sensu (2018Sensu Summit) ● A monitoring framework (building blocks) + ● A monitoring router (network switching) + ● A monitoring event pipeline (orchestration) = ???
  • 37.
    Sensu is havingan Aristotle moment
  • 38.
    DISCLAIMER I am notAristotle. I am also not a network administrator. I am about to discuss a few high-level networking concepts. Proceed at your own risk.
  • 39.
    Let's talk about"control planes"
  • 40.
    What is acontrol plane? The control plane is the part of a network that carries signaling traffic and is responsible for routing. Control packets originate from or are destined for a router. Functions of the control plane include system configuration and management. —TechTarget.com
  • 41.
    What is acontrol plane? The control plane, the data plane and the management plane are the three basic components of a telecommunications architecture. The control plane and management plane serve the data plane, which bears the traffic that the network exists to carry. The management plane, which carries administrative traffic, is considered a subset of the control plane. —TechTarget.com
  • 42.
    What is acontrol plane? In conventional networking, all three planes are implemented in the firmware of routers and switches. Software-defined networking (SDN) decouples the data and control planes, removes the control plane from network hardware and implements it in software instead, which enables programmatic access and, as a result, makes network administration much more flexible. —TechTarget.com
  • 43.
    Important attributes ofa control plane 1. Routing 2. Configuration 3. Management 4. Programmatic access 5. Flexibility
  • 44.
    Important attributes ofa control plane 1. Routing: Sensu 2. Configuration: Puppet/Chef/Ansible 3. Management: GitHub & CI/CD 4. Programmatic access: Sensu 5. Flexibility: Yes?
  • 45.
    Important attributes ofa control plane 1. Routing: Sensu Go 2. Configuration: Puppet/Chef/Ansible Sensu Go + Bonsai 3. Management: GitHub & CI/CD Sensu Go 4. Programmatic access: Sensu Go ++ 5. Flexibility: Yes!!!
  • 46.
    Is Sensu Goa control plane?
  • 47.
    Is Sensu Goa control plane?
  • 49.
    What can itdo that wasn't possible before now?
  • 50.
    Where we're headed... Servicemanagement Templates The unofficial roadmap. PS, don't tell Sean I showed you this.
  • 54.
    Extensions in SensuClassic ● Plugins vs extensions = scripts/executables vs processes/services ● Better performance than shell/exec ● Sensu "classic" extensions ran in the main Ruby VM (reactor thread) ● Sensu "classic" extensions had to be written in Ruby ● Pros & cons
  • 55.
    Extensions in SensuGo ● Coming soon! ● gRPC extension API instead of Ruby scripts loaded at runtime ● Written in any programming language that supports gRPC ● Packaged as Sensu assets, distributed via Bonsai ● Lightweight process management ● Backend only (event enrichment, high throughput handlers, etc)
  • 56.
    Extensions in SensuGo ● Coming soon! ● gRPC extension API instead of Ruby scripts loaded at runtime ● Written in any programming language that supports gRPC ● Packaged as Sensu assets, distributed via Bonsai ● Lightweight process/service management ● Backend only (event enrichment, high throughput handlers, etc) ● Backend & agent extensions
  • 57.
    Imagine... ● Package Prometheusexporters as Sensu assets (e.g. node_exporter) ● Sensu distributes exporters to nodes, manages exporter process ● Sensu uses the Prometheus collector to scrape metrics ● Sensu telemetry pipeline writes metrics to enterprise "data lake"
  • 58.
  • 59.
    Templates! 1. Declarative configuration 2.Packaged solutions! 3. Users populate templates with secrets
  • 63.
  • 64.
    Call to action ●Try Sensu Go – a simpler, more scalable Sensu ● Play with Sensu assets & Bonsai ● Share Sensu with your team, using namespaces & RBAC ● Share your feedback! ● Join the discussion: https://discourse.sensu.io
  • 65.