License
MIT License
v0.3.0 · public · Published almost 3 years ago
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).
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.
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
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"
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.
---
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.
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.
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
For more information about contributing to this plugin, see Contributing.
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.
×