- Time Series
- 18. Sep
Sensu is a comprehensive monitoring solution that is powerful enough to solve complex monitoring problems at scale, yet simple enough to use for traditional monitoring scenarios and small environments. It achieves this broad appeal via building upon two simple, yet powerful monitoring primitives: Service Checks and Event Processing. These building blocks also provide infinitely extensible pipelines for composing monitoring solutions.
What is a Service Check?
Service checks allow you to monitor services (e.g. is Nginx running?) or measure resources (e.g. how much disk space do I have left?). Service checks are executed on machines running a monitoring agent (i.e. Sensu client). Service checks are essentially commands (or scripts) that output data to STDOUT or STDERR and produce an exit status code to indicate a state. Common exit status codes used are 0 for OK, 1 for WARNING, 2 for CRITICAL, and 3 or greater to indicate UNKNOWN or CUSTOM. Sensu checks use the same specification as Nagios, therefore, Nagios check plugins may be used with Sensu. Service checks produce results that are processed by the event processor (i.e. the Sensu server).
What is Event Processing?
Event processing (also called stream processing) is a method of analyzing (processing) and storing streams of information (data) about things that happen (events), deriving a conclusion from them, and potentially executing some action (handling). The Sensu event processor (the Sensu server) enables you to execute Handlers for taking action on events (produced by service checks), such as sending an email alert, creating or resolving an incident (e.g. in PagerDuty or ServiceNow), or storing metric data in a time-series database (e.g. Graphite).
The power of Sensu
Instrument your applications and infrastructure, observe telemetry and event data in real time, and route incidents to the right teams. From mainframes to Kubernetes—get complete visibility across every system, every protocol, every time.
Sensu Enterprise builds upon the underlying building blocks provided by Sensu Core with some important added-value features.
Built-in Contact Routing
Every incident or outage has an ideal first responder, a team or individual with the knowledge to triage and address an issue. Sensu Enterprise contact routing makes it possible to assign checks to specific teams and/or individuals, reducing MTTR. Contact routing works with all of the Sensu Enterprise third-party integrations.
Sensu Enterprise provides a built-in metric translation that allows you to collect metrics in various formats from disparate data sources, and mutate them into a proprietary intermediate format that has been optimized for portability, and then output metric data to multiple destinations. Metric Translation enables you to leverage plugins that don't collect metric data in the same format as your metric data store. Sensu Enterprise currently supports translation to and from the following metric specifications:
- ✔ Nagios perf data
- ✔ OpenTSDB
- ✔ Graphite
- ✔ Metrics 2.0
Sensu Enterprise extends the value of the "single pane of glass" provided by Uchiwa and adds several important enhancements designed for the enterprise.
Ready for the Enterprise
Bring your own authentication (LDAP, GitHub, etc.) and Sensu will work with your predefined users and roles.
Many Systems, One Console
From one Sensu install to a hybrid cloud solution with many servers, the Enterprise console lets you manage everything in one place.
Meaningful and actionable
Sensu's console means business, and only surfaces immediately actionable, meaningful alerts for your team to respond to.
Key features of Sensu Core
Sensu can monitor application and system services, detecting those in an unhealthy state. Service checks can be used, for example, to determine if a service like HAProxy is up or down, or if a web application is responding to requests. Our implementation is consistent with Nagios' check plugin specification, allowing for any Nagios plugin to run on Sensu without modification.
Sensu simplifies the process of gaining insightful metrics from complex distributed systems. The Sensu check format is composed of an exit status code, and an arbitrary payload (e.g. message string, PerfData, JSON, animated cat GIFs, etc). This simplicity provides a single platform to collect every metric data point that is meaningful to your business.
Sensu notifies your team about events before your customers do, using services such as email, PagerDuty, Slack, Jira, IRC, and many more. Customize your workflow by writing a handler or editing a plugin shared by the Sensu Community.
Dynamic client reg@2x
Sensu's use of the pubsub pattern of communication allows for automated registration & de-registration of ephemeral systems — allowing you to dynamically scale your infrastructure up and down without fear of generating false-positive alert storms.
The Sensu API provides access to monitoring data collected by Sensu, such as a client registry, check results, and event data. The API can be used to request ad-hoc check executions, resolve events, and more.
Sensu’s monitoring agent (sensu-client) provides a TCP and UDP socket that can accept external JSON data. Applications can leverage this interface to report errors directly to Sensu or ship application-specific metric data.