• Stars
    star
    1,027
  • Rank 44,839 (Top 0.9 %)
  • Language
    Go
  • License
    MIT License
  • Created over 7 years ago
  • Updated 16 days ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Simple. Scalable. Multi-cloud monitoring.

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.18 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.

More Repositories

1

sensu

Monitoring for today's infrastructure.
Ruby
2,914
star
2

uchiwa

Uchiwa is a simple yet effective open-source dashboard for the Sensu monitoring framework.
Go
919
star
3

sensu-community-plugins

Sensu community plugins for checks, handlers, & mutators.
468
star
4

sensu-chef

Sensu Chef cookbook.
Ruby
225
star
5

sensu-puppet

Sensu Puppet module.
Ruby
165
star
6

sensu-ansible

An Ansible role to deploy a fully dynamic Sensu stack!
Ruby
126
star
7

sensu-dashboard

A dashboard for Sensu, for displaying & managing events & clients.
CoffeeScript
96
star
8

sensu-admin

An admin webui for Sensu
Ruby
86
star
9

sensu-docs-legacy

[Deprecated] Sensu documentation for versions < 0.29. Note that new docs are close enough to old ones so you should probably visit them instead!
Ruby
48
star
10

sensu-build

Deprecated build tooling for Sensu versions prior to 0.27
Ruby
41
star
11

sensu-docs

Sensu documentation
HTML
41
star
12

sensu-go-ansible

Official Ansible module for Sensu Go
Python
36
star
13

uchiwa-chef

Ruby
33
star
14

web

Open-source Web UI for Sensu Go clusters
TypeScript
30
star
15

sensu-prometheus-collector

Collect Prometheus metrics with Sensu!
Go
28
star
16

sensu-go-workshop

Sensu Go 6 Monitoring as Code workshop.
Shell
22
star
17

grafana-sensu-go-datasource

A Grafana data source plugin for querying the Sensu Go API
TypeScript
22
star
18

sandbox

The place to get started for new Sensu users
Shell
21
star
19

uchiwa-web

Uchiwa is a simple yet effective open-source dashboard for the Sensu monitoring framework.
JavaScript
20
star
20

sensu-influxdb-handler

Sensu Go InfluxDB Metrics Handler
Go
14
star
21

sensu-salt

Your source to use Sensu with SaltStack
14
star
22

sensu-transport

The Sensu transport abstraction library.
Ruby
14
star
23

sensu-k8s-quick-start

Shell
14
star
24

sensu-kube-demo

The Sensu Kubernetes monitoring demo repository.
Shell
13
star
25

sensu-omnibus

Build full-stack platform-specific Sensu packages
Ruby
12
star
26

sensu-go-chef

Chef Library Cookbook for Sensu Go
Ruby
11
star
27

sensu-perf

The Sensu performance testing project.
Shell
11
star
28

sensu-email-handler

Sensu Go Email Handler Plugin
Go
11
star
29

sensu-alpha-documentation

Sensu 2.0 Alpha Documentation and Examples
10
star
30

sensu-slides

Sensu intro slide deck, using ShowOff.
CSS
9
star
31

uchiwa-build

Omnibus build tooling for Uchiwa, a Sensu dashboard.
9
star
32

sensu-settings

The Sensu settings library, loader and validator.
Ruby
9
star
33

sensu-extensions-occurrences

The Sensu Core built-in occurrences filter extension
Ruby
9
star
34

catalog

Monitoring as code for Sensu Go. "There's a template for that!"
Shell
8
star
35

sensu-operator

An operator to manage Sensu 2.0 clusters
Go
8
star
36

sensu-extensions-check-dependencies

Ruby
7
star
37

sensu-plugin-sdk

A framework for creating Sensu plugins
Go
7
star
38

sensu-translator

A CLI tool for translating Sensu 1.x configuration into the Sensu Go format.
Ruby
7
star
39

sensu-flow

Github Action for Sensu flow resource management pattern.
Shell
7
star
40

sensu-go-fatigue-check-filter

An event filter for Sensu Go for managing alert fatigue
JavaScript
6
star
41

sensu-pagerduty-handler

Sensu Go PagerDuty Handler
Go
6
star
42

sensu-aws

Sensu Go AWS Plugins
Go
6
star
43

sensu-plugin-tool

Go
5
star
44

monitoring-plugins

Sensu Assets for the monitoring-plugins.org project
Shell
5
star
45

sensu-admin-chef

Sensu Admin Chef cookbook.
Ruby
5
star
46

sensu-summit-notes

Place to share takeaways from Community Day year over year
5
star
47

snmptrapd2sensu

Convert SNMP traps from Net-SNMP snmptrapd into Sensu Go events via the Sensu Go API.
Go
4
star
48

sensu-go-graphite-handler

Go
4
star
49

sensu-bash

Do not try this at home.
Shell
4
star
50

sensu-go-plugin

Template repo for Sensu Go plugins
Go
4
star
51

sensu-extensions

The Sensu extension loader library.
Ruby
4
star
52

sensu-extension

The Sensu extension library.
Ruby
4
star
53

sensu-go-python

Python client library for Sensu Go
Python
4
star
54

sensu-go-bonsai-asset

Shell
3
star
55

sensu-slack-handler

The Sensu Go Slack handler for notifying a channel.
Go
3
star
56

sensu-ruby-runtime

The Sensu Go Ruby Runtime Asset
Shell
3
star
57

sensu-spawn

The Sensu spawn process library.
Ruby
3
star
58

system-profile-linux

A Sensu plugin for collecting system resource metrics from the procfile system, with the aim to provide a Sensu-native alternative to Collectd's built-in system resource telemetry.
Go
3
star
59

sensu-docker

Official Docker images for the Sensu Go commercial distribution. Visit https://sensu.io/downloads for the latest Sensu Go downloads, including the newest Docker images.
Shell
3
star
60

sensu-remediation-handler

Sensu Go handler for implementing "self healing" workflows
Go
2
star
61

sensu-ruby32-runtime

Shell
2
star
62

homebrew-tap

Sensu Homebrew formulas
Ruby
2
star
63

sensu-logger

The Sensu logger library.
Ruby
2
star
64

check-disk-usage

Go
2
star
65

sensu-omnibus-packer

Shell
2
star
66

sensu-redis

The Sensu Redis client library.
Ruby
2
star
67

check-ntp

Sensu NTP offset check for Linux (ntpd or chrony)
Go
2
star
68

training-vagrant

Shell
2
star
69

http-checks

HTTP checks for use with Sensu
Go
2
star
70

nginx-check

A Sensu check and metrics collector for NGINX
Go
2
star
71

sensu-check-log

The Sensu Go log file monitoring check plugin and asset.
Go
2
star
72

package-deployer

Ruby
2
star
73

sensu-logo

The Sensu logo.
1
star
74

handler-plugin-template

Go
1
star
75

sensu-homebrew

Shell
1
star
76

sensu-core-extensions

1
star
77

sensu-api-tools

API Tools for sensu-go
Go
1
star
78

puppet-module-sensuclassic

Puppet module to manage Sensu Classic (ruby version)
Ruby
1
star
79

sensu-json

The Sensu JSON parser abstraction library.
Ruby
1
star
80

sensu-opcua-checks

Sensu checks for OPC-UA endpoints
Go
1
star
81

docker-buildx-orb

1
star
82

sensu-2.0-migration-workshop

Vagrant/Virtualbox resources for a walk through migrating 1.x sensu core workload to 2.x sensu
Ruby
1
star
83

system-check

Go
1
star
84

sensu-kubernetes-events

Go
1
star
85

sensu-eval-stack

AWS Provisioned Sensu Enterprise Evaluation Stack
Ruby
1
star
86

sensu-timescaledb-handler

Sensu Go TimescaleDB Handler https://sensu.io
Go
1
star
87

sensu-project-status

Simple status overview of Sensu Core projects
HTML
1
star
88

sensu-extensions-debug

The Sensu Core built-in debug handler
Ruby
1
star
89

sensu-1.x-filter-wrapper

Proof-of-concept ruby gRPC extension for wrapping evaluation of sensu 1.x filters in 2.x
Ruby
1
star
90

sensu-data-analysis

Configure Sensu Monitoring Jobs to query data platforms and analyze observability data.
Go
1
star
91

check-memory-usage

Simple cross-platform memory and swap usage checks
Go
1
star
92

core

Core API for sensu-go
Go
1
star
93

sensu-install

The Sensu Ruby Plugin installer
Ruby
1
star
94

sensu-kafka-handler

Sensu handler to send Sensu events to Kafka messages
Go
1
star
95

sensu-ruby26-runtime

Shell
1
star
96

sensu-plugins-omnibus

Ruby
1
star
97

sensu-test-day

Repository for coordinating Sensu Test Day activities. File issues here to report on test day success and failures.
Shell
1
star
98

sensu-cloudwatch-check

AWS Cloudwatch plugin for Sensu Go (including AWS service presets)
Go
1
star
99

awscli-windows-orb

1
star
100

sensu-relay-handler

The Sensu Go Relay handler to relay Events to another Sensu Go installation.
Go
1
star