Skip to content

SNMP Exporter Configuration Generator

Description

We can generate custom modules that the SNMP Exporter can use.

We do this by generating a customised snmp.yml using a program called the SNMP Exporter Config Generator.

After generating a new snmp.yml, we can configure the existing SNMP Exporter to use the new customised snmp.yml.

The official project can be found at SNMP Exporter Config Generator

Organise a dedicated server for this process so that you don't break your existing Prometheus server or any other production servers.

On the new server, install the dependencies that the SNMP Exporter Config Generator will need.

sudo apt update
sudo apt install unzip build-essential libsnmp-dev p7zip-full

Install the go compiler

apt install golang-go

Test that go is installed.

go version

Download and build the exporter

go get github.com/prometheus/snmp_exporter/generator

If you get the error stating go get is no longer supported, then instead run

go install github.com/prometheus/snmp_exporter/generator@v0.19.0

CD into the folder where the downloaded repository was saved.

cd /go/pkg/mod/github.com/prometheus/snmp_exporter@v0.19.0

View the contents of the folder

ls -lh

Build the project using go

go build

There should be a new file named generator with execute permissions.

...
dr-xr-xr-x 2 root root 4.0K Aug 25 09:51 generator
...

Now run

make mibs

It will download many MIBs files and place them into a folder named mibs

...
drwxr-xr-x 3 root root 4.0K Nov  5 07:20 mibs
...

We now need to create a variable that bash can use that points to the new mibs folder

export MIBDIRS=mibs

Now we can test that generating a new snmp.yml works.

./generator generate

In the ./generator folder there will be a new file called snmp.yml. We can now replace the existing snmp.yml on the server running SNMP Exporter with this new snmp.yml file if we wanted to.

Warning

Ensure that the version of the SNMP Exporter Config Generator matches the version of the SNMP Exporter that you are generating the snmp.yml for. In my SNMP Exporter video, I installed version 0.19 so I need to make sure that the version of the SNMP Exporter Config Generator is from the same repository version.

**SNMP Exporter** v0.19 : https://github.com/prometheus/snmp_exporter/tree/v0.19.0

**SNMP Exporter Config Generator** v0.19 : https://github.com/prometheus/snmp_exporter/tree/v0.19.0/generator

Comments