Перейти к содержанию

NOC 22.2 is Released

22.2 release contains 286 bugfixes, optimisations and improvements.

Highlights

Gufo Labs Collaboration

Gufo Labs is a private IT-consulting company based in Milan, Italy. Among other things, they focus on extracting the vital parts of the NOC technologies, reworking them, and releasing them as separate open-source packages. Separation into independent packages allows a focus on API, documentation, reliability, portability, resource usage, and performance.

Known as Gufo Stack, this software is the valuable tool not only for NOC but every network-related engineer and developer.

ETL

ETL system got the ability to fetch data incrementally. Depending on the remote system, ETL can request only changed data. It reduces imposed load and allows reducing of the synchronization intervals.

Additionally, ETL now can extract and load Managed Object's capabilities.

MX

MX service got the ability to route and process messages based on labels. To reduce the system resource usage, parts of mx service can be integrated directly in the producers' processes.

The Fault Management got the ability to mirror the messages to the mx, allowing real-time export to the Kafka. syslogcollector can mirror incoming syslog messages, trapcollector can mirror semi-parsed SNMP Trap PDUs, while classifier can mirror the classified messages. This greatly increases the NOC's capability to pump the Data Lakes and all the other's "Big Data" stuff.

Metrics service

After several profiling sessions, the metrics service requires much less CPU and memory.

Ping

NOC has switched to the Gufo Ping. Gufo Ping is the successor of the NOC's Cython-accelerated ping implementation. Compared to the previous implementation it has distinctive features:

  • Implemented in Rust language using pyo3 bindings.
  • Memory and CPU optimized.
  • 100% test coverage.
  • Built-in benchmarks.
  • Reduced context switches.
  • Reduced python-to-binary switches.
  • Applies BPF filter to separate concurrent ping processes.
  • Packaged as binary wheels for the major platforms.

Python

Python 3.7 support is deprecated, leaving support for 3.8-3.10.

Internals

  • tornado has been removed from all critical paths. Next version will remove explicit tornado requirements.