Skip to content

sensu/sensu-go

Folders and files

NameName
Last commit message
Last commit date

Latest commit

126dc56 · Jan 31, 2024
Oct 24, 2023
Nov 21, 2023
Nov 21, 2023
Nov 10, 2022
Jan 31, 2024
Nov 10, 2022
Jan 24, 2023
Jan 31, 2022
Dec 15, 2021
Jul 9, 2020
Apr 20, 2023
Jul 23, 2020
Nov 10, 2022
Apr 4, 2022
Nov 21, 2023
Nov 10, 2022
Dec 12, 2022
Jan 24, 2023
May 17, 2023
Nov 10, 2022
Nov 19, 2021
Nov 21, 2023
Feb 8, 2022
Mar 1, 2021
Nov 21, 2023
Jun 1, 2020
Jan 11, 2018
Apr 13, 2022
May 11, 2022
Mar 2, 2021
Oct 23, 2023
Sep 20, 2019
Jan 24, 2023
Dec 8, 2017
Jan 31, 2019
Sep 28, 2017
Feb 9, 2022
Oct 9, 2019
Oct 9, 2019
Dec 17, 2019
Nov 21, 2023
Nov 21, 2023
Feb 8, 2022

Repository files navigation

Sensu Go

CircleCI: CircleCI Build Status

Sensu is an open source monitoring tool for ephemeral infrastructure and distributed applications. It is an agent based monitoring system with built-in auto-discovery, making it very well-suited for cloud environments. Sensu uses service checks to monitor service health and collect telemetry data. It also has a number of well defined APIs for configuration, external data input, and to provide access to Sensu's data. Sensu is extremely extensible and is commonly referred to as "the monitoring router".

To learn more about Sensu, please visit the website and read the documentation.

What is Sensu Go?

Sensu Go is a complete rewrite of Sensu in Go, with new capabilities and reduced operational overhead. It eliminates several sources of friction for new and experienced Sensu users.

The original Sensu required external services like Redis or RabbitMQ. Sensu Go can rely on an embedded etcd datastore for persistence, making the product easier to get started with. External etcd services can also be used, in the event that you already have them deployed.

Sensu Go replaces Ruby expressions with JavaScript filter expressions, by embedding a JavaScript interpreter.

Unlike the original Sensu, Sensu Go events are always handled, unless explicitly filtered.

Installation

Sensu Go installer packages are available for a number of computing platforms (e.g. Debian/Ubuntu, RHEL/Centos, etc), but the easiest way to get started is with the official Docker image, sensu/sensu.

See the installation documentation to get started with one of Sensu's supported packages.

NOTE: Starting with Sensu Go version 6.0, for instances built from source, the web UI is now a standalone product — it is no longer included with the Sensu backend. To build the web UI from source, use the installation instructions in the Sensu Go Web repository.

Building from source

The various components of Sensu Go can be manually built from this repository. You will first need Go >= 1.16 installed. Then, you should clone this repository outside of the GOPATH since Sensu Go uses Go Modules:

$ git clone https://github.com/sensu/sensu-go.git
$ cd sensu-go

To compile and then run Sensu Go within a single step:

$ go run ./cmd/sensu-agent
$ go run ./cmd/sensu-backend
$ go run ./cmd/sensuctl

To build Sensu Go binaries and save them into the bin/ directory:

$ go build -o bin/sensu-agent ./cmd/sensu-agent
$ go build -o bin/sensu-backend ./cmd/sensu-backend
$ go build -o bin/sensuctl ./cmd/sensuctl

To build Sensu Go binaries with the version information:

# sensu-agent
$ go build -ldflags '-X "github.com/sensu/sensu-go/version.Version=5.14.0" -X "github.com/sensu/sensu-go/version.BuildDate=2019-10-08" -X "github.com/sensu/sensu-go/version.BuildSHA='`git rev-parse HEAD`'"' -o bin/sensu-agent ./cmd/sensu-agent

# sensu-backend
$ go build -ldflags '-X "github.com/sensu/sensu-go/version.Version=5.14.0" -X "github.com/sensu/sensu-go/version.BuildDate=2019-10-08" -X "github.com/sensu/sensu-go/version.BuildSHA='`git rev-parse HEAD`'"' -o bin/sensu-backend ./cmd/sensu-backend

# sensuctl
$ go build -ldflags '-X "github.com/sensu/sensu-go/version.Version=5.14.0" -X "github.com/sensu/sensu-go/version.BuildDate=2019-10-08" -X "github.com/sensu/sensu-go/version.BuildSHA='`git rev-parse HEAD`'"' -o bin/sensuctl ./cmd/sensuctl

Contributing

For guidelines on how to contribute to this project, how to hack on Sensu, and information about what we require from project contributors, please see CONTRIBUTING.md.

Sensu is and always will be open source, and we continue to highly value community contribution. The packages we’re releasing for new versions are from our Enterprise repo; Sensu Go is the upstream for Sensu Enterprise (as they’d say in the Go community: Sensu Go is vendored into the Sensu Enterprise Go repo). We encourage you to download new versions, as the functionality will be identical to what you find in the public repo, and access to the enterprise-only features can be unlocked with a license key. Because these releases are in our Enterprise repo, there may be times that you don’t see the actual work being done on an issue you open, but that doesn’t mean we’re not working on it! Our team is committed to updating progress on open issues in the sensu-go repo, even if that work is being done in our Enterprise repo.