nebius_cloud_monitoring

package
v1.30.2 Latest Latest
Warning

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

Go to latest
Published: Apr 22, 2024 License: MIT Imports: 13 Imported by: 0

README

Nebius Cloud Monitoring Output Plugin

This plugin will send custom metrics to Nebuis Cloud Monitoring.

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 aggregated metrics to Nebius.Cloud Monitoring
[[outputs.nebius_cloud_monitoring]]
  ## Timeout for HTTP writes.
  # timeout = "20s"

  ## Nebius.Cloud monitoring API endpoint. Normally should not be changed
  # endpoint = "https://monitoring.api.il.nebius.cloud/monitoring/v2/data/write"
Authentication

This plugin currently only supports Compute metadata based authentication in Nebius Cloud Platform.

When plugin is working inside a Compute instance it will take IAM token and Folder ID from instance metadata. In this plugin we use Google Cloud notation This internal metadata endpoint is only accessible for VMs from the cloud.

Reserved Labels

Nebius Monitoring backend using json format to receive the metrics:

{
  "name": "metric_name",
  "labels": {
    "key": "value",
    "foo": "bar"
  },
  "ts": "2023-06-06T11:10:50Z",
  "value": 0
}

But key of label cannot be name because it's reserved for metric_name.

So this payload:

{
  "name": "systemd_units_load_code",
  "labels": {
    "active": "active",
    "host": "vm",
    "load": "loaded",
    "name": "accounts-daemon.service",
    "sub": "running"
  },
  "ts": "2023-06-06T11:10:50Z",
  "value": 0
}

will be replaced with:

{
  "name": "systemd_units_load_code",
  "labels": {
    "active": "active",
    "host": "vm",
    "load": "loaded",
    "_name": "accounts-daemon.service",
    "sub": "running"
  },
  "ts": "2023-06-06T11:10:50Z",
  "value": 0
}

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type NebiusCloudMonitoring

type NebiusCloudMonitoring struct {
	Timeout  config.Duration `toml:"timeout"`
	Endpoint string          `toml:"endpoint"`

	Log telegraf.Logger `toml:"-"`

	MetricOutsideWindow selfstat.Stat
	// contains filtered or unexported fields
}

NebiusCloudMonitoring allows publishing of metrics to the Nebius Cloud Monitoring custom metrics service

func (*NebiusCloudMonitoring) Close

func (a *NebiusCloudMonitoring) Close() error

Close shuts down an any active connections

func (*NebiusCloudMonitoring) Connect

func (a *NebiusCloudMonitoring) Connect() error

Connect initializes the plugin and validates connectivity

func (*NebiusCloudMonitoring) Init

func (a *NebiusCloudMonitoring) Init() error

func (*NebiusCloudMonitoring) SampleConfig

func (*NebiusCloudMonitoring) SampleConfig() string

func (*NebiusCloudMonitoring) Write

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

Write writes metrics to the remote endpoint

Jump to

Keyboard shortcuts

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