Telegraf plugin help needed

There is a PR on GitHub for a Telegraf plugin for Netdata - this would be a brilliant addition to Telegraf.

Is there anyone here who could help development? It is not one of my skill sets but I’d love to see it so I could use it :slight_smile:

Hi @borpin

Netdata Agent exposes metrics in prometheus format.

I think it is possible to use telegraf prometheus input to gather them. Looks like it will do.

Why do you think we need a dedicated netdata input? What am i missing?

1 Like

I had no idea about prometheus! I’ll have a look.

[edit]

My argument against Prometheus and why a native plugin is needed, is that Prometheus is yet another install and adds an additional (u and potentially unnecessary) step NetData → Prometheus → Telegraf → InfluxDB. It also yet another system to learn and maintain.

With a Telegraf plugin, the Telegraf agent can run on a remote server (in my case the InfluxDB server), and get the data directly.

Seems a much neater solution. As most of the work has already been done, it seems a good idea :slight_smile:

If i understand it correctly you need no Prometheus.

Telegraf has prometheus input, it collects data from any http endpoint that exposes data in prometheus format - Netdata is able to do it.

So it is:

Server <-[collects server metrics] Netdata ← [pulls metrics via http] Telegraf → InfluxDB

I think that is not correct.

From the page you directed me to, it wants me to install the Prometheus client Using Netdata with Prometheus | Learn Netdata

Telegraf can connect to a Prometheus client and scrape the data, but that is still an intermediate step rather than a native Netdata plugin for Telegraf that would then be a connector in it’s own right.

Ok, by bad, i wasn’t clear, i meant to highlight the following:

Using Netdata with Prometheus | Learn Netdata

Querying Metrics
Fetch with your web browser this URL:

http://your.netdata.ip:19999/api/v1/allmetrics?format=prometheus&help=yes

So it is native. Telegraf scrapes Netdata Agent directly.

I am trying to understand why we need something else.

1 Like

OK thanks.

For anyone finding this by search the configuartion that will work…

[[inputs.prometheus]]
  urls = ["http://<IP>:19999/api/v1/allmetrics?format=prometheus"]
  name_override = "netdata-pve"

Where the name-override is the measurment you want the metrics to go to.

2 Likes

@ilyam8, Telegraf is complaining

[inputs.prometheus] Use of deprecated configuration: 'metric_version = 1'; please update to 'metric_version = 2'

There is no mention if the Netdata output is V1 or V2. As the URL is V1, I’m thinking it is the V1 version (it certainly works).

That is telegraf configuration option - metric_version

Default is != 2. It complains about prometheus input configuration, try to set metric_version to 2.

2 Likes

OK thanks. I don’t know what the difference between the metric_versions is. I wondered if the format the data was presented differently.