In this course, you’ll learn the fundamentals of Sensu Go, including how to install Sensu Go, using sensuctl and the dashboard, container monitoring, and more.
Welcome to the Learn Sensu Go course! Over the next 8 lessons, you’ll learn how to:
That sounds like a lot, but we promise we’ll keep it straightforward, making it easy for you to learn at your own pace! If you get stuck, join us on Discourse to get answers from the Sensu Community. You can use Sensu for free (including all commercial features) up to 100 entities, so you should be able to follow along easily. For more info on what’s included in our free version, check out our pricing page, and don’t forget to register your install to earn sweet rewards!
In the first Learn Sensu Go lesson, we’ll cover setting up your Sensu testing environment and creating a monitoring event.
Managed with Vagrant and VirtualBox, our sandbox makes it easy to take Sensu Go for a spin. Bonus: it comes pre-configured with InfluxDB and Grafana, so you can get up and running (and building monitoring pipelines!) in no time.
When you’re ready to install Sensu Go on your infrastructure, it’s available on Linux, Windows (agent and CLI only), macOS (CLI only), and Docker. Follow our docs for a complete guide to installing Sensu Go, which will take you through installing the Sensu backend, agent, and sensuctl (more on sensuctl next time!).
After you’ve downloaded the sandbox, you’re ready to start creating monitoring workflows with Sensu! Follow the first lesson to create your first monitoring event — using a Sensu agent to generate keepalive events.
In the next lesson, we’ll cover sensuctl (the Sensu command-line tool) and the dashboard, as well as get you started with RBAC. If you get stuck (now or at any point during the course), take a look at our troubleshooting guide.
In this lesson, you’ll learn about sensuctl, the command-line tool for managing resources within Sensu, and the Sensu dashboard. And, to easily share Sensu with your organization, we’ll also walk you through setting up RBAC.
Now that you’ve gotten started with sensuctl using the sandbox, install sensuctl on your workstation by following the steps outlined in our docs. You can set up sensuctl to talk to your sandbox or connect to the Sensu live demo. For a handy cheat sheet of sensuctl commands, check out our quick reference guide.
The Sensu backend includes the Sensu dashboard: a unified view of your events, entities, handlers, and checks with user-friendly tools to reduce alert fatigue. You can access the sandbox dashboard at localhost:3002/signin (username admin, password P@ssw0rd!, or check out the live demo (username guest, password i<3sensu).
Role-based access control (RBAC) is an authorization mechanism that decides which actions users can perform against resources. With Sensu RBAC, you can increase security in your organization (keeping that InfoSec team happy!) by providing only the necessary access, so a user in your organization doesn’t have more access than needed. Plus, RBAC makes it easy for different teams and projects to share a Sensu instance (AKA, paving the way for multitenancy).
In the next lesson, you’ll create your first pipeline with handlers and learn how to reduce alert fatigue 😴 with event filters.
Welcome to part 4! In this lesson, we’ll cover setting up your first pipeline — sending alerts to Slack — and how to reduce alert fatigue with event filters.
Sensu handlers are the basis for all monitoring workflows. You can use handlers to send an email alert, create (or resolve!) an incident in PagerDuty, or store metrics in a TSDB like InfluxDB. In this sandbox lesson, you’ll create a handler that sends keepalive alerts to Slack.
Sensu filters are powerful valves for the monitoring event pipeline. They let you fine-tune notification policies tied to handlers, improving the signal-to-noise ratio and reducing alert fatigue. In the following guide, you’ll create a custom event filter and add it to your Slack alert pipeline.
See the reference docs for a deep dive on handlers and filters. In the next lesson, we’ll cover service checks, which let you monitor server resources, services, and application health.
In this installment, you’ll learn about Sensu checks, how to monitor server resources with checks, and take a look at tokens, an advanced check feature.
The Sensu agent runs on the infrastructure components you want to monitor, automatically registering as a monitored entity with the Sensu backend. These agent entities are responsible for creating check and metric events to send to the backend event pipeline. Learn all about it below, including the magic ✨ of subscriptions (which let you create monitoring events using service checks).
Sensu checks are commands (or scripts), executed by the Sensu agent, that output data and produce an exit code to indicate a status. You can use them to monitor server resources, services, and application health (for example: is Nginx running?) as well as collect and analyze metrics (for example: how much disk space do I have left?). Sensu checks use the same specification as Nagios, meaning you can use Nagios check plugins with Sensu (hooray!).
For extra credit (AKA, fine tuning check attributes like alert thresholds, on a per-entity level) check out tokens. For everything and anything you’d like to know about checks (including scheduling and proxy checks), take a look at our reference docs.
In the next lesson, you’ll learn about using checks to extract metrics automatically, plus guides on aggregating StatsD and Prometheus metrics.
In this lesson, we’ll build on what you’ve learned about checks to extract metrics using checks (plus guides on aggregating StatsD and Prometheus metrics).
In this sandbox lesson, you’ll automate event production with the Sensu agent — creating a check that automatically produces metric events. We’ll then store those metrics with InfluxDB and visualize them with Grafana.
StatsD, in case you’re not familiar, is a daemon, tool, and protocol that can be used to send, collect, and aggregate custom metrics — it essentially allows you to measure anything and everything, so you can feed those StatsD aggregates to multiple different backends or visualize your data. In this guide, you’ll learn how Sensu implements StatsD and how to configure our StatsD listener.
The Sensu Prometheus Collector is a check plugin that collects metrics from a Prometheus exporter or the Prometheus query API. This allows you to use Sensu to collect metrics exposed by Prometheus node exporters and route them to one or more TSDBs of your choosing (like InfluxDB or Graphite).
How to Scrape Prometheus Metrics
That was a lot of info, so thanks for sticking with us! In the next lesson, we’ll cover monitoring containers and deploying Sensu with Docker.
Welcome to the container edition of our course! In this lesson, you’ll learn how to monitor applications and containers with Sensu, plus how to deploy Sensu with Docker.
Deploy a sample app with Kubernetes and add monitoring with Sensu. In this tutorial, you’ll create monitoring event pipelines to handle alerts and collect metrics using the Sensu agent sidecar pattern.
Deploy + Monitor Your Sample App
You can run Sensu Go via Docker or rkt using the sensu/sensu image. The following guide walks you through how to deploy Sensu with Docker, outlining a few important things to take into consideration.
The Sensu Go Docker sandbox uses Docker Compose to deploy a basic Sensu stack, including InfluxDB to store metrics and Grafana for visualization.
Deploy Sensu with Docker Compose
In the next lesson, we’ll go over Bonsai (the Sensu asset index) and how to install plugins using assets.
Welcome to part 8! In this lesson, you’ll learn about Bonsai, the Sensu asset index. We’ll also go over how to use assets to install plugins.
Bonsai enables you to discover, create, and share Sensu assets for all your monitoring needs. Head on over to Bonsai to discover Sensu solutions (including our Slack, InfluxDB, and PagerDuty handlers). Connect with the Sensu Community by seeing what others are building (and sharing your own solutions!).
If you’ve been using Sensu for a while, you may well know that plugins extend Sensu’s functionality. Plugins can provide executables for performing status or metric checks, changing data to a desired format, or taking action on a Sensu event.
Assets are shareable, reusable packages that make it easy to deploy Sensu plugins. You can use assets to provide the plugins, libraries, and runtimes you need to automate your monitoring workflows. See the asset reference docs for more info, and follow the guide below to learn how to install plugins using assets.
Now that you’re familiar with assets, you can start creating and sharing your own on Bonsai! Bonsai supports assets hosted on GitHub and released using GitHub releases. For more info and configuration examples, check out the guide below.
In the next (and final!) installment of this course, we’ll highlight the top supported assets in Bonsai) and how to start using Sensu at scale.
Congratulations on making it to the end of our course! In this installment, we’ll build on last week’s lesson by highlighting the top supported assets in Bonsai as well as using Sensu at scale (plus how to migrate from Sensu 1.x if you’re using it)
In addition to community contributed assets, Bonsai offers supported assets. Here are the most most downloaded:
Nearing 100 entities? To start using Sensu at scale, unlock your free 30-day trial now.
Using Sensu 1.x? Now that you know (and hopefully love!) Sensu Go, you’re ready to migrate from Sensu 1.x. This guide walks you through the differences, with helpful resources for translating your Sensu 1.x configuration to Sensu Go.
That’s it for this course, but of course you’re welcome to revisit the lessons any time and to join us in Discourse to share your questions and what you’ve learned with the Sensu Community. And if you haven’t already, go ahead and register your install to earn rewards throughout your Sensu journey.
Happy monitoring!