telegraf/plugins/inputs/rollbar_webhooks
Cyril Duez c78b6cdb4e Add input plugin for rollbar service. (#1247)
* Report rollbar events.

Signed-off-by: Cyril Duez <cyril@stormz.me>
Signed-off-by: François de Metz <francois@stormz.me>

* Fix indent with go fmt.

* Add test for rollbar webhooks.

* Report more data from new_item event.

* Handle new deploy webhook.

Signed-off-by: Cyril Duez <cyril@stormz.me>
Signed-off-by: François de Metz <francois@stormz.me>

* Update default port.

* Add readme.

* Add rollbar_webhooks to the readme.

* Add rollbar_webhooks to plugins list.

* Add tag level for new_item event.

* Update readme.

* Update changelog.
2016-05-24 15:32:42 +01:00
..
README.md Add input plugin for rollbar service. (#1247) 2016-05-24 15:32:42 +01:00
rollbar_webhooks.go Add input plugin for rollbar service. (#1247) 2016-05-24 15:32:42 +01:00
rollbar_webhooks_events.go Add input plugin for rollbar service. (#1247) 2016-05-24 15:32:42 +01:00
rollbar_webhooks_events_json_test.go Add input plugin for rollbar service. (#1247) 2016-05-24 15:32:42 +01:00
rollbar_webhooks_test.go Add input plugin for rollbar service. (#1247) 2016-05-24 15:32:42 +01:00

README.md

rollbar_webhooks

This is a Telegraf service plugin that listens for events kicked off by Rollbar Webhooks service and persists data from them into configured outputs. To set up the listener first generate the proper configuration:

$ telegraf -sample-config -input-filter rollbar_webhooks -output-filter influxdb > config.conf.new

Change the config file to point to the InfluxDB server you are using and adjust the settings to match your environment. Once that is complete:

$ cp config.conf.new /etc/telegraf/telegraf.conf
$ sudo service telegraf start

Once the server is running you should configure your Rollbar's Webhooks to point at the rollbar_webhooks service. To do this go to rollbar.com/ and click Settings > Notifications > Webhook. In the resulting page set URL to http://<my_ip>:1619, and click on Enable Webhook Integration.

Events

The titles of the following sections are links to the full payloads and details for each event. The body contains what information from the event is persisted. The format is as follows:

# TAGS
* 'tagKey' = `tagValue` type
# FIELDS
* 'fieldKey' = `fieldValue` type

The tag values and field values show the place on the incoming JSON object where the data is sourced from.

See webhook doc

new_item event

Tags:

  • 'event' = event.event_name string
  • 'environment' = event.data.item.environment string
  • 'project_id = event.data.item.project_id int
  • 'language' = event.data.item.last_occurence.language string
  • 'level' = event.data.item.last_occurence.level string

Fields:

  • 'id' = event.data.item.id int

deploy event

Tags:

  • 'event' = event.event_name string
  • 'environment' = event.data.deploy.environment string
  • 'project_id = event.data.deploy.project_id int

Fields:

  • 'id' = event.data.item.id int