New monitoring agent in Go: Glouton

Publicated on 09 September 2020 by Lionel Porcheron

Bleemeo announces the General Availability of the new monitoring agent written in Go. This agent is the successor of the previous agent written in Python. All good aspects have been kept: Open Source, easy to deploy, and to use, available as a package for main Linux distributions: Debian/Ubuntu, CentOS/RedHat, available for Windows and available as a container.

The new tiny name of the agent is Glouton which is the French word for wolverine, not only a Marvel character but also a small animal that eat almost everything. This is the parallelism with our agent: our agent ingest almost all types of metrics: statsd, prometheus, bleemeo, ...

Our goal, is to make this agent better with Bleemeo, but also to work as a standalone monitoring agent that you can use without Cloud subscription.

Glouton

Why the monitoring agent was rewritten?

With Python agent, we used to deploy our agent as a side daemon of Telegraf. Bleemeo agent was detecting services automatically and configuring Telegraf to get metrics. Bleemeo agent was also in charge of the secure communication with the Bleemeo cloud platform (using MQTT-SSL and https). Coordinating those two packages was a source of deployment issues (those were two different system packages / containers), and source of reliability issues. It was also adding some deployment complexity.

Rewriting agent in Go allows us to embed the Telegraf daemon in our agent. We use Telegraf as a library. We have also added a lot of features in the new agent:

  • it embed a Prometheus node exporter as we are more and more embracing the Prometheus ecosystem and making sure Bleemeo is usable as a "Prometheus as a Service" platform. More details coming soon in this blog!
  • it comes with Nagios nrpe daemon compatibility. If you are still using Nagios and are struggling with deploying and updating nrpe daemon you should look in this agent: new agent can now act as a nrpe daemon. This also makes transitions easier. More details also are coming soon in this blog!
  • new features have been added like key processes monitoring for getting a detailed view of key processes of your servers: database, web servers, etc.
  • it is more resource efficient
  • it is easier to deploy, only one daemon to install/upgrade etc.
  • it comes with a nice local user interface

How to Upgrade?

Upgrading to new agent should be rather straightforward. You only have to upgrade the packages you are currently using:

For Ubuntu/Debian:

apt update && apt install bleemeo-agent

For CentOS/RedHat:

yum update

If you are using Windows, you can just download the last release here

Unless you use it for anything else, you can remove Telegraf and other dependencies with apt autoremove or yum autoremove.

If you face any issue upgrading, you can contact our support

Open Source

As we mentioned, this agent is Open Source and can work without any connectivity to Bleemeo. You can use it as a standalone nrpe daemon, an self-configuring telegraf or prometheus exporter. You can follow it on Bleemeo Github and star it on github and Docker Hub if you like it!

If you don't have a Bleemeo account yet, start monitoring your Infrastructure today in 30s.