Select Supported Platforms

Select Supported Architectures

Select Tier

Github Name


v0.2.0 · public · Published 3 months ago

README
Asset Definition
Release Notes
Release Assets

Sensu Bonsai Asset
goreleaser
Go Test
goreleaser

Sensu Sumo Logic Handler

Table of Contents

Overview

The Sensu Sumo Logic Handler is a Sensu Handler that sends Sensu observability data (events and metrics) to a Sumo Logic HTTP Logs and Metrics Source.
This handler will send the Sensu event as either a log entry, or as a set of metrics or both (see --send-log, --send-metrics to select the mode of operation).

Usage

Send Sensu observability data (events and metrics) to a hosted Sumo Logic HTTP Logs and Metrics Source.

Usage:
  sensu-sumologic-handler [flags]
  sensu-sumologic-handler [command]

Available Commands:
  help        Help about any command
  version     Print the version number of this plugin

Flags:
  -u, --url string                 Sumo Logic HTTP Logs and Metrics Source URL (Required)
  -l, --send-log                   Send event as log
  -m, --send-metrics               Send event metrics, if there are metrics attached to sensu event
      --log-fields string          Custom Sumo Logic log fields (comma separated key=value pairs)
      --metric-dimensions string   Custom Sumo Logic metric dimensions (comma separated key=value pairs)
      --source-category string     Custom Sumo Logic source category (supports handler templates) (default "sensu-event")
      --source-host string         Custom Sumo Logic source host (supports handler templates) (default "{{ .Entity.Name }}")
      --source-name string         Custom Sumo Logic source name (supports handler templates) (default "{{ .Check.Name }}")
  -n, --dry-run                    Dry-run, do not send data to Sumo Logic collector, report to stdout instead
  -v, --verbose                    Verbose output to stdout
  -h, --help                       help for sensu-sumologic-handler

Use "sensu-sumologic-handler [command] --help" for more information about a command.

Environment variables

Argument Environment Variable
--url SUMOLOGIC_URL
--send-log SUMOLOGIC_SEND_LOG
--send-metrics SUMOLOGIC_SEND_METRICS
--source-name SUMOLOGIC_SOURCE_NAME
--source-host SUMOLOGIC_SOURCE_HOST
--source-category SUMOLOGIC_SOURCE_CATEGORY
--metric-dimensions SUMOLOGIC_METRIC_DIMENSIONS
--log-fields SUMOLOGIC_LOG_FIELDS

Security Note: Care should be taken to not expose the --url for this handler by specifying it on the command line or by directly setting the environment variable in the handler definition.
It is suggested to make use of secrets management to surface it as an environment variable.
The example handler definition below references the Sumo Logic URL as a secret.
Here is corresponding secret definition that make use of the built-in env secrets provider.

---
type: Secret
api_version: secrets/v1
metadata:
  name: sumologic_url
spec:
  provider: env
  id: SUMOLOGIC_URL

Annotations

All of the command line arguments referenced in the help usage message can be overridden by check or entity annotations.
The annotation consists of the key formed by appending the "long" argument specification to the string sensu.io/plugins/sumologic/config (e.g. sensu.io/plugins/sumologic/config/source-name).

For example, having the following in an agent.yml file will create an entity annotation such that Sensu metrics sent to SumoLogic from this entity will include the additional metric-dimensions string environment=production, entity=test instead of the dimensions string defined with the handler command flag.

namespace: "default"
subscriptions:
  - linux
backend-url:
  - "ws://127.0.0.1:8081"
annotations:
  sensu.io/plugins/sumologic/config/metric-dimensions: "environment=production, entity=test"

Configuration

Asset registration

Sensu Assets are the best way to make use of this plugin.
If you're not using an asset, please consider doing so!
If you're using sensuctl 5.13 with Sensu Backend 5.13 or later, you can use the following command to add the asset:

sensuctl asset add sensu/sensu-sumologic-handler

If you're using an earlier version of sensuctl, you can find the asset on the Bonsai Asset Index.

Handler definition

---
type: Handler
api_version: core/v2
metadata:
  name: sumologic
spec:
  command: >-
    sensu-sumologic-handler --send-log --send-metrics
    --source-host "{{ .Entity.Name }}"
    --source-name "{{ .Check.Name }}"
  type: pipe
  runtime_assets:
  - sensu/sensu-sumologic-handler
  secrets:
  - name: SUMOLOGIC_URL
    secret: sumologic_url
---
type: Secret
api_version: secrets/v1
metadata:
  name: sumologic_url
spec:
  provider: env
  id: SUMOLOGIC_HTTP_COLLECTOR_URL

Note: This handler enabled both sending the Sensu event as a log and also sending metrics.

Proxy Support

This handler supports the use of the environment variables HTTP_PROXY, HTTPS_PROXY, and NO_PROXY (or the lowercase versions thereof).
HTTPS_PROXY takes precedence over HTTP_PROXY for https requests.
The environment values may be either a complete URL or a "host[:port]" value (with no http:// or https:// prefix), in which case the "http" scheme is assumed.

Installation from source

The preferred way of installing and deploying this plugin is to use it as an Asset.
If you would like to compile and install the plugin from source or contribute to it, download the latest version or create an executable script from this source.

From the local path of the sensu-sumologic-handler repository:

go build

Additional notes

Contributing

For more information about contributing to this plugin, see Contributing.

Are you sure you want to report this asset?

Please describe the reason for reporting this asset. Our moderators will be notified and will disable the asset if it is found to be inappropriate.

×

You must be signed in to report this asset.

Sign In with Github

Download

×

Either download the source code:

Download Source

Or download the asset definition: