In this Sensu Summit 2019 talk, Sensu CEO Caleb Hailey explores how Sensu provides a “monitoring control plane” that is analogous to the Kubernetes control plane, and how Sensu can empower organizations by delivering consistent monitoring workflows in multi-cloud environments.
React Native vs Ionic - The Best Mobile App Framework
Keynote: Sensu as a multi-cloud monitoring control plane
1. Sensu Go as a 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
3.
4. 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
5. What's new in
Sensu Go?
Simplified architecture
Namespaces & RBAC
Configuration API
Sensu assets & Bonsai
More!
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
● 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)
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
● Configuration DB (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 of Sensu Go
● Built-in StatsD socket
● Agent API event/result caching
● Optimized telemetry pipeline
● API response filtering
● Much, much, more!
15. ● 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
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)
28. Reimagining Sensu
What is a control plane?
Why is this important?...and why should I care?
What is a
control plane?
29. Reimagining Sensu (2018 Sensu Summit)
● A monitoring framework
● A monitoring router
● A monitoring event pipeline
30.
31.
32.
33. 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)___.
34. Reimagining Sensu (2018 Sensu Summit)
● A monitoring framework
● A monitoring router
● A monitoring event pipeline
35. Reimagining Sensu (2018 Sensu Summit)
● A monitoring framework (building blocks)
● A monitoring router (network switching)
● A monitoring event pipeline (orchestration)
36. Reimagining Sensu (2018 Sensu Summit)
● A monitoring framework (building blocks) +
● A monitoring router (network switching) +
● A monitoring event pipeline (orchestration) = ???
38. 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.
40. 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
41. 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
42. 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
43. Important attributes of a control plane
1. Routing
2. Configuration
3. Management
4. Programmatic access
5. Flexibility
44. 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?
45. 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!!!
54. 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
55. 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)
56. 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
57. 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"
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