telegraf/plugins/inputs/webhooks
Joshua Powers 8c49ddccc3
chore: update to go1.19.1 (#11776)
2022-09-08 12:49:36 -06:00
..
artifactory feat: Artifactory Webhook Receiver (#10918) 2022-05-16 14:20:54 -06:00
filestack feat: HTTP basic auth for webhooks (#9332) 2022-03-04 09:51:01 -06:00
github feat: HTTP basic auth for webhooks (#9332) 2022-03-04 09:51:01 -06:00
mandrill feat: HTTP basic auth for webhooks (#9332) 2022-03-04 09:51:01 -06:00
papertrail feat: HTTP basic auth for webhooks (#9332) 2022-03-04 09:51:01 -06:00
particle feat: HTTP basic auth for webhooks (#9332) 2022-03-04 09:51:01 -06:00
rollbar feat: HTTP basic auth for webhooks (#9332) 2022-03-04 09:51:01 -06:00
README.md chore: Fix readme linter errors for input plugins M-Z (#11274) 2022-06-08 15:22:56 -06:00
sample.conf chore(inputs_m-z): migrate sample configs into separate files (#11133) 2022-05-18 11:31:34 -05:00
webhooks.go chore: update to go1.19.1 (#11776) 2022-09-08 12:49:36 -06: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

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.