Today we launch the Public Beta of the openITCOCKPIT Monitoring Agent 3.0. Thanks to the feedback from the community users and enterprise customers we know that the openITCOCKPIT Monitoring Agent is very popular. Therefore we want to get rid of any nasty bugs and issues upfront.
To resolve all issues of the Monitoring Agent 1.x (Python) we decided to go the extra mile and to do a full rewrite of the software with Go.
First of all let’s address the elephant in the room. Why a complete rewrite? Why Go instead of Python?
Unfortunately the Python Agent was suffering from different issues. The most visible issue to the user was the stability of the Agent. From time to time the Agent did not respond to any requests so the monitoring system could not do it’s job. It also turned out that most of the Python tools and libraries were not designed to be executed on Windows. In addition we learned a lot about how to develop software for Windows at all.
With all the issues and knowledge in mind we started from scratch. Obviously one of the first decision was to switch to a programming language more suitable for this use case.
We created the following checklist to compare different programming languages:
We think that the ARM architecture will be used more frequently in the future. It’s the common CPU architecture of smartphones and single-board computers. The “Apple M1” Chip used by the new MacBooks and Mac mini is also an ARM-based chip. For us it was very important that the new Agent would support these systems without any problems. Thanks to Go the openITCOCKPIT Monitoring Agent is very portable. We provide precompiled binaries for arm64 (e.g. Apple Silicon / M1) and armhf (e.g. Raspberry Pi).
The documentation also contains an example of how to run the Agent on a Raspberry Pi 1 Model B.
Debian based systems got a new dedicated apt repository.
For the first time we also provide a repository for RPM based distributions like Red Hat Linux, CentOS or openSUSE.
Please see: https://github.com/it-novum/openitcockpit-agent-go#installation
We created a hole new PKG-installer for macOS. One for Intel Macs and one for M1 Macs. Tested from macOS 10.14 Mojave to macOS 11.x Big Sur
Please see: https://github.com/it-novum/openitcockpit-agent-go#macos
The new MSI-installer is no longer build with the WiX Toolset. We decided to use the commercial tool Advanced Installer to build reliable MSI files.
Please see: https://github.com/it-novum/openitcockpit-agent-go#windows
All files can be downloaded from: https://openitcockpit.io/files/openitcockpit-agent-3.x/
We tried to keep things as compatible as possible. As you probably already have suspected, with all the major changes we did, it was not possible to be 100% compatible with the Python Agent.
For this reason we provide detailed update instructions: Update from Agent 1.x to 3.x
The new Monitoring Agent requires openITCOCKPIT 4.2 which has not been released as stable version yet. To join the public beta you need to update your system to the latest nightly build.
apt-get update
apt-get dist-upgrade
echo "deb https://packages.openitcockpit.io/openitcockpit/$(lsb_release -sc)/nightly $(lsb_release -sc) main" > /etc/apt/sources.list.d/openitcockpit.list
apt-get update
apt-get dist-upgrade
echo "deb https://packages.openitcockpit.io/openitcockpit/$(lsb_release -sc)/stable $(lsb_release -sc) main" > /etc/apt/sources.list.d/openitcockpit.list
apt-get update
We provide the openITCOCKPIT Monitoring Agent as free and open source software. We invite everyone to contribute ideas and code. Not only developers could contribute to open source projects. Also sharing ideas, providing translations, updating the documentation or sharing screenshots are important contributions. For this reason we decided to use the Wiki feature of GitHub to host the new documentation: https://github.com/it-novum/openitcockpit-agent-go/wiki
So if you find a typo or want to improve the documentation, please don’t hesitate to click the Edit button! :)
While we were refurbishing all the Agent related code anyway we also created a new Wizard. It’s now more user friendly and has better integration for the Push Mode.
We would like to ask you to provide feedback about the new openITCOCKPIT Monitoring Agent and to report any issues to this GitHub issue: https://github.com/it-novum/openitcockpit-agent-go/issues/47
In addition you can join the openITCOCKPIT Community Discord Server
The gopher’s logo of this blog post was inspired by the Go gopher designed by Renée French.