application_insights

package
v1.29.5 Latest Latest
Warning

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

Go to latest
Published: Feb 20, 2024 License: MIT Imports: 10 Imported by: 8

README

Application Insights Output Plugin

This plugin writes telegraf metrics to Azure Application Insights.

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

# Send metrics to Azure Application Insights
[[outputs.application_insights]]
  ## Instrumentation key of the Application Insights resource.
  instrumentation_key = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx"

  ## Regions that require endpoint modification https://docs.microsoft.com/en-us/azure/azure-monitor/app/custom-endpoints
  # endpoint_url = "https://dc.services.visualstudio.com/v2/track"

  ## Timeout for closing (default: 5s).
  # timeout = "5s"

  ## Enable additional diagnostic logging.
  # enable_diagnostic_logging = false

  ## NOTE: Due to the way TOML is parsed, tables must be at the END of the
  ## plugin definition, otherwise additional config options are read as part of
  ## the table

  ## Context Tag Sources add Application Insights context tags to a tag value.
  ##
  ## For list of allowed context tag keys see:
  ## https://github.com/microsoft/ApplicationInsights-Go/blob/master/appinsights/contracts/contexttagkeys.go
  # [outputs.application_insights.context_tag_sources]
  #   "ai.cloud.role" = "kubernetes_container_name"
  #   "ai.cloud.roleInstance" = "kubernetes_pod_name"

Metric Encoding

For each field an Application Insights Telemetry record is created named based on the measurement name and field.

Example: Create the telemetry records foo_first and foo_second:

foo,host=a first=42,second=43 1525293034000000000

In the special case of a single field named value, a single telemetry record is created named using only the measurement name

Example: Create a telemetry record bar:

bar,host=a value=42 1525293034000000000

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ApplicationInsights

type ApplicationInsights struct {
	InstrumentationKey      string            `toml:"instrumentation_key"`
	EndpointURL             string            `toml:"endpoint_url"`
	Timeout                 config.Duration   `toml:"timeout"`
	EnableDiagnosticLogging bool              `toml:"enable_diagnostic_logging"`
	ContextTagSources       map[string]string `toml:"context_tag_sources"`
	Log                     telegraf.Logger   `toml:"-"`
	// contains filtered or unexported fields
}

func (*ApplicationInsights) Close

func (a *ApplicationInsights) Close() error

func (*ApplicationInsights) Connect

func (a *ApplicationInsights) Connect() error

func (*ApplicationInsights) SampleConfig

func (*ApplicationInsights) SampleConfig() string

func (*ApplicationInsights) Write

func (a *ApplicationInsights) Write(metrics []telegraf.Metric) error

type DiagnosticsMessageSubscriber

type DiagnosticsMessageSubscriber interface {
	Subscribe(appinsights.DiagnosticsMessageHandler) appinsights.DiagnosticsMessageListener
}

type TelemetryTransmitter

type TelemetryTransmitter interface {
	Track(appinsights.Telemetry)
	Close() <-chan struct{}
}

type Transmitter

type Transmitter struct {
	// contains filtered or unexported fields
}

func NewTransmitter

func NewTransmitter(ikey string, endpointURL string) *Transmitter

func (*Transmitter) Close

func (t *Transmitter) Close() <-chan struct{}

func (*Transmitter) Track

func (t *Transmitter) Track(telemetry appinsights.Telemetry)

Directories

Path Synopsis
Code generated by mockery v1.0.0.
Code generated by mockery v1.0.0.

Jump to

Keyboard shortcuts

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