Simple. Scalable. Multi-cloud monitoring.

Sensu Go is a telemetry and service health checking solution for multi-cloud monitoring at scale. Gain deep visibility into servers, containers, services, applications, functions, and connected devices across any public or private cloud.

$ sensuctl asset add sensu/http:1.0.0
asset "sensu/http:1.0.0" created
$ sensuctl create -f check-nginx.yaml
check "nginx-health" created
$ sensuctl event list
ENTITY    CHECK         STATUS
i-424242  nginx-health  CRITICAL: 401 Not Authorized
$ _

Why choose Sensu? Because the rules have changed.

The shift from static to dynamic infrastructure requires a change in approach to monitoring, from host-based to functional role-based. Connectivity moves from remote polling to publish-subscribe, the control plane moves from point-and-click interfaces to infrastructure-as-code workflows and self-service developer APIs.

Cloud-native

Embrace auto-scaling with confidence and real-time visibility. Sensu automates the registration and de-registration of servers, containers, services, apps, functions, and connected devices.

Monitoring as code

Sensu Go codifies monitoring workflows into declarative configuration files that can be shared amongst team members, treated as code, edited, reviewed, and versioned.

Self-service

Sensu Go was designed from the ground up for self-service workflows with features like deeply-embedded role-based access controls (RBAC) and namespaces.

Getting started is easy.

Get Sensu up and running in as little as 15 minutes. In fact, you may be able to take the first steps in under a minute! Don't believe us? Give the following quick start guide a try, and let us know if we can help!

1. Install Sensu Go

Deploy our official Docker container to get up and running in seconds. Follow these steps, then visit your Sensu Go dashboard at http://localhost:3000/.

$ docker network create sensu
$ docker volume create sensu-backend-data
$ docker run -d --rm --name sensu-backend \
  --network sensu -p 8080:8080 -p 3000:3000 \
  -v sensu-backend-data:/var/lib/sensu \
  sensu/sensu:5.14.0 sensu-backend start
11bbb27c3
$ docker run -d --rm --network sensu -p :3030 \
  sensu/sensu:5.14.0 sensu-agent start \
  --backend-url ws://sensu-backend:8081 --deregister \
  --keepalive-interval=5 --keepalive-timeout=10 --subscriptions linux
$ curl -s http://localhost:8080/version
{"etcd":{"etcdserver":"3.3.13","etcdcluster":"3.3.0"},"sensu_backend":"5.14.0#b878b43"}
$ _
docker network create sensu
docker volume create sensu-backend-data
docker run -d --rm --name sensu-backend \
--network sensu -p 8080:8080 -p 3000:3000 \
-v sensu-backend-data:/var/lib/sensu \
sensu/sensu:5.14.0 sensu-backend start
docker run -d --rm --network sensu -p :3030 \
sensu/sensu:5.14.0 sensu-agent start \
--backend-url ws://sensu-backend:8081 --deregister \
--keepalive-interval=5 --keepalive-timeout=10 --subscriptions linux
curl -s http://localhost:8080/version

2. Install the Sensu Go CLI

Sensuctl is a command line interface for running commands against Sensu clusters. Install sensuctl on your laptop to gain access to your multi-cloud monitoring control plane.

$ curl -LO https://s3-us-west-2.amazonaws.com/sensu.io/sensu-go/5.14.0/sensu-go_5.14.0_linux_amd64.tar.gz
$ sudo tar -xzf sensu-go_5.14.0_linux_amd64.tar.gz -C /usr/local/bin/
$ sensuctl configure -n --url http://127.0.0.1:8080 \
  --username admin \
  --password "P@ssw0rd!" \
  --namespace default
$ sensuctl cluster health
ID                NAME     ERROR   HEALTHY
8927110dc66458af  default          true
$ sensuctl cluster id
sensu cluster id: "227b26eb-26c4-46b2-bc7c-8c080b072e6b"
$ _
curl -LO https://s3-us-west-2.amazonaws.com/sensu.io/sensu-go/5.14.0/sensu-go_5.14.0_linux_amd64.tar.gz
sudo tar -xzf sensu-go_5.14.0_linux_amd64.tar.gz -C /usr/local/bin/
sensuctl configure -n --url http://127.0.0.1:8080 \
--username admin \
--password "P@ssw0rd!" \
--namespace default
sensuctl cluster health
sensuctl cluster id

3. Configure your first monitor!

Sensu makes it easy to deploy instrumentation (e.g. plugins or scripts) and configure new monitors. This example shows how to monitor system clock drift.

$ sensuctl asset add sensu/monitoring-plugins:2.2.0-1
fetching bonsai asset: sensu/monitoring-plugins:2.2.0-1
added asset: sensu/monitoring-plugins:2.2.0-1
$ sensuctl check create ntp \
  --runtime-assets "sensu/monitoring-plugins" \
  --command "check_ntp_time -H time.nist.gov --warn 0.5 --critical 1.0" \
  --output-metric-format nagios_perfdata \
  --publish="true" --interval 30 --timeout 10 --subscriptions linux
$ sensuctl event list
ENTITY        CHECK      OUTPUT                                                                    STATUS  SILENCED   TIMESTAMP
a749e3a10d86  keepalive  Keepalive last sent from a749e3a10d86 at 2019-09-11 15:34:25 +0000 UTC    0       false      2019-09-11 08:34:25 -0700 PDT
a749e3a10d86  ntp        NTP OK: Offset -0.03375908732 secs|offset=-0.033759s;0.500000;1.000000;   0       false      2019-09-11 08:34:22 -0700 PDT
$ _
sensuctl asset add sensu/monitoring-plugins:2.2.0-1
sensuctl check create ntp \
--runtime-assets "sensu/monitoring-plugins" \
--command "check_ntp_time -H time.nist.gov --warn 0.5 --critical 1.0" \
--output-metric-format nagios_perfdata \
--publish="true" --interval 30 --timeout 10 --subscriptions linux
sensuctl event list

Register your Sensu install. Get rewarded!

Thanks for trying Sensu Go! Please take a moment to register your install so we can help you along your journey. We'll even reward you for reaching certain milestones. To get your first reward, simply add your first ten checks and connect at least ten agents and we'll send you your very own Sensu t-shirt.