Skip to main content

Data-driven Monitoring Checks Powered by Rust: Join the Beta

  • October 9, 2026
  • 0 replies
  • 10 views
fgbetokpanou
Centreonian
Forum|alt.badge.img+11

Supporting a new SNMP device in Centreon has long meant one thing: writing a Perl script. What if a simple JSON file were enough, and ran faster than ever?

That is the idea behind the new Rust SNMP collection
, now open for beta testing. You describe your checks in JSON; a compiled Rust binary runs them. The beta started on October 7, 2026 and will run for about six months, and we want community members to test it on their own devices and help shape it before general availability.

👉 Join the Rust Plugin Beta group


What Is Collection Mode?


With collection mode, a connector is described in a JSON file rather than coded. The file declares:

  • what information to retrieve
  • how to compute the metrics and the statuses
  • how to display the state matching the check

You describe what to collect and how to evaluate it; the engine does the rest.

Collection mode already existed in Perl, but slightly less efficient. That is what this beta changes, but also we took feedback about the documentations needed to handle a collection easily.


Why Rust?


We have rewritten the collection engine in Rust, as a compiled binary with no Perl dependencies. The JSON approach stays the same; the engine underneath is new.

This executable is designed to go further than this beta:

  • it will be used to improve the performance of our existing SNMP connectors;
  • it can later serve as the foundation for other collection families, starting with HTTP.

For a deeper look at how it works, read the program description in the beta group.


The Rust SNMP Collection in a Nutshell


Key highlights:

  • Simplified development: a new SNMP connector is described in a JSON file instead of a Perl module.
  • Easier community contributions: a documented JSON file is far simpler to propose and review than a Perl module.
  • Improved performance: the engine is a compiled Rust binary. The gains we measured internally are significant; confirming them in real-world environments is one of the goals of this beta.
  • Open source: the plugin code and the collections are released under the Apache-2.0 license and publicly available on GitHub.
  • Safe to try: Rust templates use the -Rs-custom suffix and do not modify your existing Perl templates.Nevertheless, we encourage you to carry out your tests in non-critical environments.


What's Included in the Beta


The engine

  • centreon-plugin-rust-snmp: the compiled Rust executable that runs JSON collections.

Three connectors (experimental)

Rust connector

Perl equivalent in the catalog

What it does

Generic SNMP (Rust)

Generic SNMP

This connector will contain all the standard SNMP checks that apply across multiple devices. To begin with a generic uptime mode.

Linux SNMP (Rust)

Linux SNMP

Preconfigured JSON collections that broadly match the existing connector

Windows SNMP (Rust)

Windows SNMP

Preconfigured JSON collections that broadly match the existing connector

The up-to-date list, with each connector's status and documentation, is kept in the Available connectors page of the group.

Documentation


Supported Environments

  • Protocol: SNMP v2c
  • Distributions: RHEL and derivatives 8, 9 and 10 (x86_64), Debian 12 and 13


What's Not Available Yet (Planned for GA)

  • SNMP v3
  • Service discovery
  • The --verbose option
  • Text statuses (status counters)
  • Cache file management
  • An FAQ, which we will build from your questions during the beta

This list is not exhaustive. We are counting on your feedback to identify what matters most to you, and we plan regular releases throughout the beta. Every release is listed in the changelog.


Getting Started


Everything you need is in the installation guide.
Rolling back is simple: disable the hosts and services that use the Rust templates, deploy the configuration, then uninstall the centreon-plugin-*-snmp-rs and centreon-plugin-rust-snmp packages from your pollers. Your Perl setup is untouched.


How You Can Help

  • Test the Rust SNMP collection on a test or non-critical environment, alongside your Perl plugins.
  • Compare its results (statuses, values, metrics) and performance with the equivalent Perl plugin on your own devices.
  • Report bugs, discrepancies and unclear parts of the documentation.
  • Tell us what you think of the JSON format: is it easy to write and read?
  • Share, if you wish, the JSON collections you write for your devices. They can become official Centreon connectors, supported by our team.

When reporting a bug, please include the command you ran, the output you got, the output of the equivalent Perl plugin (if you have it), your distribution and the logs. The welcome message explains how the group works and how to share your feedback.


Timeline
 

Milestone

Date

Beta opening

October 7, 2026

Beta duration

About 6 months

General availability

Targeted from March 2027


GA will depend on observed maturity: no open blocking bug, performance validated against Perl on real-world cases, complete documentation and passing non-regression tests.


For GA, the next step is to gradually convert the existing SNMP connectors to Rust, with no breaking changes for users.


Good to Know

  • Beta versions are not intended for monitoring business-critical production devices.
  • The JSON format may still change during the beta. Any breaking change will be clearly announced in the changelog.
  • The beta program does not come with Centreon Support commitments or SLAs. All exchanges take place in the beta group.

Scope, commitments on both sides and confidentiality rules are detailed in the beta program charter.


Join the Beta Group
 

Everything happens in the dedicated group on The Watch:


👉 Join the Rust Plugin Beta group


The Rust engine is built to grow, and your feedback will directly shape what comes next. See you in the group!