Trouble understanding how to create a new metricset

I'm mostly looking at the 'fetch' section of creating my own metricset.

The problem is that we have a custom service and we want to write a custom metricset to collect metrics from it.

I took a look at the docker images metricset.
Usually, if I want to get the status of the docker images, I'd open up my terminal and type 'docker images'.

I actually have no idea where the fetch method gets a function/line like this:

images, err :=m.dockerClient.ListImages(dc.ListImagesOptions())

not sure if ListImagesOptions was part of the metricbeat library, or if it was written up in a file elsewhere.

So my question is - should I be looking more closely into the directory to see if they've defined this method in there and try to emulate this?

Should I try to create a new metricset for my custom software, OR should I just create a new beat based off of metricbeat? I'm unsure of the differences between the two.

Thank you! I know C, but I do not know go unfortunately.

EDIT: I took a look at the MongoDB repositories and saw the API - I understand the process more clearly now.

I'm going to have to create an API on my application and have Go query it.

About API, if your API is e.g. HTTP+JSON you might be able to use Logstash with http_poller or httpbeat. More configurable collectors like httpbeat might come to metricbeat in the future. For example see (jolokia/jmx) module and prometheus/collector module currently in beats development branch.

1 Like

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.