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
- The JSON format reference: schema and getting-started guide.
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:
- Welcome message
- Program description and how it works
- Installation guide
- Available connectors
- Changelog
- Beta program charter
👉 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!
