webhooks

package
v1.35.2 Latest Latest
Warning

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

Go to latest
Published: Jul 7, 2025 License: MIT Imports: 17 Imported by: 14

README

Webhooks Input Plugin

This service plugin provides an HTTP server and register for multiple webhook listeners.

⭐ Telegraf v1.0.0 🏷️ applications, web 💻 all

Service Input

This plugin is a service input. Normal plugins gather metrics determined by the interval setting. Service plugins start a service to listen and wait for metrics or events to occur. Service plugins have two key differences from normal plugins:

  1. The global or plugin specific interval setting may not apply
  2. The CLI options of --test, --test-wait, and --once may not produce output for this plugin

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"

  ## Maximum duration before timing out read of the request
  # read_timeout = "10s"
  ## Maximum duration before timing out write of the response
  # write_timeout = "10s"

  [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
  • Artifactory
  • Filestack
  • Github
  • Mandrill
  • Papertrail
  • Particle
  • Rollbar

Metrics

The produced metrics depend on the configured webhook.

Example Output

The produced metrics depend on the configured webhook.

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Webhook

type Webhook interface {
	// Register registers the webhook with the provided router
	Register(router *mux.Router, acc telegraf.Accumulator, log telegraf.Logger)
}

Webhook is an interface that all webhooks must implement

type Webhooks

type Webhooks struct {
	ServiceAddress string          `toml:"service_address"`
	ReadTimeout    config.Duration `toml:"read_timeout"`
	WriteTimeout   config.Duration `toml:"write_timeout"`

	Artifactory *artifactory.Webhook `toml:"artifactory"`
	Filestack   *filestack.Webhook   `toml:"filestack"`
	Github      *github.Webhook      `toml:"github"`
	Mandrill    *mandrill.Webhook    `toml:"mandrill"`
	Papertrail  *papertrail.Webhook  `toml:"papertrail"`
	Particle    *particle.Webhook    `toml:"particle"`
	Rollbar     *rollbar.Webhook     `toml:"rollbar"`

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

func (*Webhooks) Gather

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