webhooks

package
v1.24.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 12, 2022 License: MIT Imports: 15 Imported by: 14

README

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.

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Webhook

type Webhook interface {
	Register(router *mux.Router, acc telegraf.Accumulator, log telegraf.Logger)
}

type Webhooks

type Webhooks struct {
	ServiceAddress string `toml:"service_address"`

	Github      *github.GithubWebhook           `toml:"github"`
	Filestack   *filestack.FilestackWebhook     `toml:"filestack"`
	Mandrill    *mandrill.MandrillWebhook       `toml:"mandrill"`
	Rollbar     *rollbar.RollbarWebhook         `toml:"rollbar"`
	Papertrail  *papertrail.PapertrailWebhook   `toml:"papertrail"`
	Particle    *particle.ParticleWebhook       `toml:"particle"`
	Artifactory *artifactory.ArtifactoryWebhook `toml:"artifactory"`

	Log telegraf.Logger `toml:"-"`
	// contains filtered or unexported fields
}

func NewWebhooks

func NewWebhooks() *Webhooks

func (*Webhooks) AvailableWebhooks

func (wb *Webhooks) AvailableWebhooks() []Webhook

AvailableWebhooks Looks for fields which implement Webhook interface

func (*Webhooks) Gather

func (wb *Webhooks) Gather(_ telegraf.Accumulator) error

func (*Webhooks) SampleConfig

func (*Webhooks) SampleConfig() string

func (*Webhooks) Start

func (wb *Webhooks) Start(acc telegraf.Accumulator) error

func (*Webhooks) Stop

func (wb *Webhooks) Stop()

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL