telegraf/plugins/inputs/webhooks
Joshua Powers fa26b6498b
docs: remove trailing whitespace (#12660)
2023-02-09 12:35:18 -07:00
..
artifactory chore: wrap long lines in plugins/inputs/[t-z]* (#12218) 2022-11-10 11:41:43 -07:00
filestack chore: wrap long lines in plugins/inputs/[t-z]* (#12218) 2022-11-10 11:41:43 -07:00
github docs: remove trailing whitespace (#12660) 2023-02-09 12:35:18 -07:00
mandrill chore: wrap long lines in plugins/inputs/[t-z]* (#12218) 2022-11-10 11:41:43 -07:00
papertrail chore: Fix linter findings for nolintlint (part3) (#12613) 2023-02-07 17:06:12 +01:00
particle docs: remove trailing whitespace (#12660) 2023-02-09 12:35:18 -07:00
rollbar chore: remove deprecated io/ioutils (#11678) 2022-09-20 09:37:14 -06:00
README.md docs: Update all readme to pass linter (#12615) 2023-02-09 11:04:41 +01:00
sample.conf docs: remove whitespace (#12655) 2023-02-09 07:44:45 -07:00
webhooks.go chore: Fix linter findings for nolintlint (part3) (#12613) 2023-02-07 17:06:12 +01:00
webhooks_test.go feat: Artifactory Webhook Receiver (#10918) 2022-05-16 14:20:54 -06:00

README.md

Webhooks Input Plugin

This is a Telegraf service plugin that start an http server and register multiple webhook listeners.

telegraf config -input-filter 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

Global configuration options

In addition to the plugin-specific configuration settings, plugins support additional global and plugin configuration settings. These settings are used to modify metrics, tags, and field or create aliases and configure ordering, etc. See the CONFIGURATION.md for more details.

Configuration

# A Webhooks Event collector
[[inputs.webhooks]]
  ## Address and port to host Webhook listener on
  service_address = ":1619"

  [inputs.webhooks.filestack]
    path = "/filestack"

    ## HTTP basic auth
    #username = ""
    #password = ""

  [inputs.webhooks.github]
    path = "/github"
    # secret = ""

    ## HTTP basic auth
    #username = ""
    #password = ""

  [inputs.webhooks.mandrill]
    path = "/mandrill"

    ## HTTP basic auth
    #username = ""
    #password = ""

  [inputs.webhooks.rollbar]
    path = "/rollbar"

    ## HTTP basic auth
    #username = ""
    #password = ""

  [inputs.webhooks.papertrail]
    path = "/papertrail"

    ## HTTP basic auth
    #username = ""
    #password = ""

  [inputs.webhooks.particle]
    path = "/particle"

    ## HTTP basic auth
    #username = ""
    #password = ""

  [inputs.webhooks.artifactory]
    path = "/artifactory"

Available webhooks

Adding new webhooks plugin

  1. Add your webhook plugin inside the webhooks folder
  2. Your plugin must implement the Webhook interface
  3. Import your plugin in the webhooks.go file and add it to the Webhooks struct

Both Github and Rollbar are good example to follow.

Metrics

Example Output