NOC 22.2¶
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 resoure 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 explicittornado
requirements.
New features¶
MR | Title |
---|---|
MR6264 | noc/noc#1780 Incremental ETL |
MR6422 | noc/noc#1861 Add send snmptrap message to mx. |
MR6433 | noc/noc#1836 Add StreamingConfig param to Activator.script RPC call. |
MR6437 | noc/noc#1351 Add capabilities to ManagedObject ETL extractor. |
MR6442 | noc/noc#1861 Add send syslog message to mx. |
MR6451 | noc/noc#1838 Add event to mx message. |
MR6506 | noc/noc#1857 Add CredentialCheckRule model. |
MR6509 | noc/noc#1853 Add diagnostics to ManagedObject. |
MR6530 | noc/noc#534 Add Diagnostic discovery. |
MR6556 | noc/noc#534 Add User-defined ObjectDiagnosticConfig |
MR6669 | noc/noc#1907 Move Message Router to core. |
Improvements¶
MR | Title |
---|---|
MR5084 | noc/noc#1820 Add hostname_id to DiscoveryID model |
MR6211 | Implement message storm protection |
MR6220 | noc/noc#1535 Change DIG - > DNSPython |
MR6229 | Add Windows compatible which command. |
MR6236 | Update monitoring-noc, add telegraf section |
MR6252 | Catch ValueError on objectmetrics NBI API. |
MR6263 | Add stage for upload binary dnssync |
MR6266 | Remove always master docs build |
MR6267 | Not setup signal.SIGHUP hanler for NT system. |
MR6271 | noc/noc#1825 Add ManagedObject Query Source to GrafanaDS. |
MR6274 | noc/noc#1821 Add managed_object to fm.ActiveEvent index for UI Filter. |
MR6276 | Add SLAProbe Clickhouse Dictionary. |
MR6282 | noc/noc#1825 Better variable configuration on Grafana JSON Datasource. |
MR6286 | noc/noc#1831 Add iter_related_changed method for getting related model. |
MR6302 | noc/noc#1831 datastream: get_changed_instance helper method |
MR6324 | Add ensure_labels to ETL loader. |
MR6346 | Add checkpoint param to etl extract command. |
MR6347 | Cleanup Maintenance.direct_object when ManagedObject delete. |
MR6360 | Exclude Auto generate fields from managedobject save. |
MR6379 | Add task_stale_count metric to selfmon. |
MR6388 | noc/noc#1860 Add forget-history to gridvcs command. |
MR6390 | noc/noc#1837 Add old and new field value to change_fields structure. |
MR6394 | noc/noc#1445 Add Label header to MX messages. |
MR6400 | noc/noc#1851 Convert MessageRoute Settings to new format. |
MR6426 | noc/noc#1846 Add description to ResourceGroup Search field. |
MR6427 | noc/noc#1866 Add filterProtected attribute to UI labelfield fir Filter fields. |
MR6434 | noc/noc#1875 Add noc alarms command for Alarms management. |
MR6441 | Implement asyncio UDP-server |
MR6459 | noc/noc#1869 Add UUIDParameter type to config. |
MR6463 | Make CI upload docs |
MR6465 | Update Brocade.IronWire profile |
MR6470 | noc/noc#1369 Request user_info over bind_user for OpenLDAP Auth settings. |
MR6479 | noc/noc#1884 Add row_class to Assigned Address API. |
MR6491 | noc/noc#1851 Add cfgmxroute datastream for MX Services. |
MR6502 | Add TTL support for django models in workflow decorator |
MR6504 | Add connect_timeout to Stream.connect method. |
MR6505 | Update Yandex Geocoder |
MR6510 | noc/noc#1847 Add interface_status_change message type. |
MR6511 | Extend use Scope param on Capability Item |
MR6512 | Strip address value on ManagedObject |
MR6524 | Huawei.MA5600T. Add Technology labels. |
MR6531 | noc/noc#1889 |
MR6543 | Add test for UDP-server |
MR6546 | noc/noc#1816 Add escalation options on Maintenance |
MR6548 | docs: Improve docker compose guide language and readability |
MR6550 | Extend ip.Address model by status TTL fields |
MR6552 | noc/noc#1710 Add lazy init Probe nodes on metrics service. |
MR6557 | noc/noc#1895 Add load rules to Metrics service. |
MR6558 | noc/noc#1755 Add param config to MetricAction model. |
MR6559 | noc/noc#1891 Add DefaultRoute to MX. |
MR6564 | Remove MX routes for default route. |
MR6566 | noc/noc#1897 Add streaming call to metrics discovery. |
MR6567 | Clean cli stream if not setup connection. |
MR6578 | Speedup docs build. |
MR6582 | Normalize capabilities value on report datasource. |
MR6592 | Add cfgmetricsources datastream for Source Config on Metrics Service. |
MR6593 | Improve cdag command for use clickhouse source as input. |
MR6599 | Raise SNMPError BadValue exception when device return empty varbinds. |
MR6610 | noc/noc#1357 Add MagicValue for set None metric value on Clickhouse. |
MR6611 | noc/noc#1902 Remove ESMRE library from requirements |
MR6613 | noc/noc#1851 Migrate ObjectNotification to MessageRoute. |
MR6615 | Add Language Switcher to docs page. |
MR6617 | Switch web-service from Tornado to FastAPI |
MR6618 | Add composed metric to MetricType. |
MR6619 | Change Dev docs structure to topic/type. |
MR6623 | Add TimeZone param typo to GlobalConfig. |
MR6626 | Add How-To NOC translation to docs. |
MR6628 | Add How-to create object model. |
MR6632 | noc/noc#1825 Add GrafanaDS docs. |
MR6633 | Add workflow to interfaces |
MR6644 | Add InterfaceProfile match label. |
MR6645 | Add Interface weight to calculate alarm severity. |
MR6646 | Add namespace to action nodes, for different Alarm rules. |
MR6651 | noc/noc#1912 Reformat INV/Interface Application. |
MR6653 | Move rust build from common jobs to native ci file |
MR6654 | noc/noc#1899 Add required_rules to Workflow Transition. |
MR6655 | Assign handling loop link error in NetworkSegment model to @tree decorator |
MR6656 | Send state signal on interface status discovery. |
MR6671 | #1918 CDAG node activation speedup |
MR6681 | Move compose nodes to probes field. |
MR6682 | Use lz4 for speedup metrics changelog. |
MR6683 | Add proxy_metric param for send collected get_metrics from Discovery process. |
MR6685 | Add arg0 to DiagnosticData. |
MR6686 | Cleanup flake. |
MR6688 | Catch SSHAuth error for processed on discovery side. |
MR6690 | Update Mellanox.Onyx profile |
MR6692 | Simplify credential diagnostic. |
MR6694 | noc/noc#1783 Add metric_collected_policy setting to InterfaceProfile |
MR6703 | Update JSONRPCAPI class |
MR6704 | Skip HTTP proto for CLI diagnostic check. |
MR6708 | Improve alarm command for Correlator proto use. |
MR6712 | Speedup find cards by SourceConfig. |
MR6716 | noc/noc#1930 Migrate Activator to FastAPI. |
MR6722 | Bump requirements. |
MR6725 | Speedup SLA probe UI. |
MR6726 | Add hints to profile interface script. |
MR6729 | Add part_no field to ManagedObject Stream to Asset section. |
MR6730 | Add time_delta calc to metric service. |
MR6741 | Fix HP.1905.get_mac_address_table script |
Bugfixes¶
MR | Title |
---|---|
MR6247 | noc/noc#1821 Fix paging on Events UI. |
MR6248 | Check TT on already_escalation method for fix Key Error when check notification doc. |
MR6253 | Fix getting service on clear_alarm API view. |
MR6265 | Fix filter server on dnszone DataStream. |
MR6268 | Fix dictionary name in BI dashboard datasources. |
MR6272 | Add migrate is_regex to is_matching field in Label. |
MR6278 | TGSender fix markdown |
MR6281 | Fix ETL extractors for incremental methods. |
MR6295 | Fix Pydantic models for MRT Service request. |
MR6299 | fix get_interfaces Alcatel.7302 |
MR6304 | Fix Maintenance.update_affected_objects for None stop value. |
MR6309 | Fix default format result on grafanads services query. |
MR6312 | noc/noc#1451 Add ObjectId validator to ReferenceField. |
MR6314 | Fix BI dict name on query to new dict name. |
MR6326 | Add maintenance timepattern to get_active_maintenance. |
MR6328 | Fix empty labels on etl ensure_labels. |
MR6330 | Fix MultipleObjectsReturned on second resolve try. |
MR6336 | Fix maintenance typo. |
MR6341 | Fix Eltex.MES.get_inventory script |
MR6366 | Fix MetricType on_delete Check for SLAProfile. |
MR6373 | Delete FirmwarePolicy from ManagedObjectProfile delete check. |
MR6380 | Catch Native TimeoutError exception on HTTP client request. |
MR6395 | Fix Eltex.ESR.get_interfaces script |
MR6402 | Fix error when hostname None value. |
MR6412 | Fix DiscoveryID typo for None hostname. |
MR6418 | Fix Grafanads Annotations |
MR6423 | Fix ReportAlarmDetail - remove container_address |
MR6425 | noc/noc#1872 Check vlanprofiles if create when vc migrate. |
MR6431 | noc/noc#1858 Split table and view migrate on migrate-ch. |
MR6439 | Fix clickhouse view schema migration |
MR6447 | Add platform to FirmwarePolicy index |
MR6448 | Add GIS set bi_id field migration. |
MR6456 | Fix change MeasurementUnit on MetricType UI form. |
MR6460 | Fix typo on MessageRoute migrate. |
MR6466 | noc/noc#1876 Skip alarm with Disabled Escalation on always_first policies. |
MR6469 | noc/noc!6469 Fix merge_fields function for bulk_change feature. |
MR6483 | Fix decode_trap with raw_value. |
MR6486 | Fix Event message generated for MX. |
MR6490 | Fix HP.ProCurve profile |
MR6515 | Fix typo on SAE. |
MR6520 | Fix Dlink.DxS_Industrial_CLI.get_interfaces script |
MR6536 | Fix change ip script |
MR6538 | Fix Zyxel.MSAN.get_inventory script |
MR6544 | Fix DLink.DxS_Industrial_CLI.get_lldp_neighbors script |
MR6554 | Fix labelField in gridField |
MR6555 | Fix in UDP-server test for asyncio UDP-server |
MR6562 | noc/noc#1826 Fix calculate DNSZone changed when empty address FQDN. |
MR6577 | Fix Workflow item saving |
MR6579 | Fix SSH stream is None when close session. |
MR6585 | Fix workflow migrate command |
MR6586 | noc/noc#1900 Fix block datastream process client if no record in datastream. |
MR6594 | Fix cdag expdecay Convert NS timestamp format fixed 'OverflowError: math range error'. |
MR6597 | Fix error when empty varbinds on NO_SUCH_NAME SNMP error. |
MR6612 | Fix Cisco.NXOS.get_lldp_neighbors script |
MR6614 | fixing nav docs |
MR6620 | Fix TagField for multiple value. |
MR6622 | Fix suggest auth_profile migration to local type. |
MR6627 | noc/noc#1909 Fix Raise Link Down alarm on interfacestatus discovery. |
MR6639 | Noc fix l2domain profile #1888 |
MR6641 | Fix compact state on Metrics service. |
MR6660 | Fix DLink.DxS_Industrial_CLI.get_lldp_neighbors script |
MR6663 | Fix detect UTC offset for metriccollector. |
MR6666 | Fix ObjectNotification to MX Route Migration. |
MR6677 | noc/noc#1925 Fix ReportPendingLink when empty DiscoveryID collection. |
MR6689 | Fix typo on alarm name on metrics service. |
MR6707 | Fix typo on SNMP protocol checker. |
MR6709 | Set reopens when create Alarm. |
MR6718 | Fix display ManagedObject diagnostic for unmanaged. |
MR6721 | Fix type in CredentialChecker Raise privileges. |
MR6723 | Fix getting user typo on jsonrpc API. |
MR6724 | Fix check CredentialCheckRule for suggest_protocols. |
MR6727 | Fix interface workflow state migration. |
MR6731 | Fix check CredentialCheckRule for suggest_protocols. |
MR6732 | Add scope param to get_by_metric_field. |
MR6737 | Fix ManagedObject Attributes migrate caps. |
MR6739 | Fix ManagedObject Attributes to CAPS migration. |
MR6740 | Fix ManagedObject datastream typo. |
Code Cleanup¶
MR | Title |
---|---|
MR6285 | noc/noc#1833 Force convert segment_path and container_path element to string. |
MR6306 | Docker image: black 22.3.0, mypy 0.950 |
MR6308 | Fix DNSZone serial field to persist. |
MR6317 | Add type annotations to topology class. |
MR6331 | Migrate match_version on scripts to matchers. |
MR6348 | Type annotations for ConfDB DEF |
MR6391 | Cleanup ManagedObject.data field use. |
MR6473 | Convert bytes param value for consul params. |
MR6526 | noc/noc#1886 Add str attribute to VLANTemplate for lookup name. |
MR6576 | noc/noc#1857 Migrate Suggest AuthProfile to Credential Rules. |
MR6648 | Add units to SLA metrics. |
MR6687 | Add units to Profile Metrics. |
MR6698 | Format change-ip script. |
MR6705 | Bump ManagedObject cache version. |
MR6713 | ./noc beef: Convert to f-strings |
MR6714 | Cleanup unusable init file |
Profile Changes¶
Alcatel.7302¶
MR | Title |
---|---|
MR6528 | Alcatel.7302. Add Operation error catch when CLI problem. |
MR6551 | Alcatel.7302.get_interfaces. Fix interface labels typo. |
Cisco.IOS¶
MR | Title |
---|---|
MR6396 | Fix Cisco.IOS.get_inventory script |
MR6487 | noc/noc#1867 Cisco.IOS. Fix compare version regex for 16.6.5 format. |
DLink.DxS¶
MR | Title |
---|---|
MR6199 | Fix DLink.DxS.get_mac_address_table script |
MR6477 | DLink.DxS.get_inventory. Set stack number. |
Eltex.MES¶
MR | Title |
---|---|
MR6364 | add new platform MES3348 Eltex.MES |
MR6475 | Eltex.MES.get_inventory. Add number to stack device. |
Eltex.MES24xx¶
MR | Title |
---|---|
MR6226 | Fix Eltex.MES24x.get_interfaces script |
MR6484 | Eltex.MES24xx.get_inventory. Add tengigabitethernet for transceiver command. |
Generic¶
MR | Title |
---|---|
MR6401 | Generic.get_metrics. Add units (Measurement Units) param to set_metrics. |
MR6406 | Generic.get_metrics. Check SNMP for S access preference. |
MR6410 | Generic.get_inventory. Add get_chassis_sensors method for return chassis sensor. |
MR6583 | Generic.get_sla_probes based on DISMAN-PING-MIB example. |
MR6587 | Generic.get_interfaces. Add method check a subinterface |
Hikvision.DSKV8¶
MR | Title |
---|---|
MR6631 | Hikvision.DSKV8. Add http digest auth. |
Huawei.MA5600T¶
MR | Title |
---|---|
MR6334 | Huawei.MA5600T.get_metrics. Fix labels format. |
MR6570 | Huawei.MA5600T.get_inventory. Fix typo for detect sensor OID. |
MR6624 | Add support H561SHEA board in Huawei.MA5600T.get_interfaces script |
MR6696 | fix type ethernet interfaces Huawei MA58xx |
Huawei.VRP¶
MR | Title |
---|---|
MR6245 | Huawei.VRP.get_version - delete \r in version |
MR6476 | Huawei.VRP.get_portchannel. Add cleanup interface name from output. |
Juniper.JUNOS¶
MR | Title |
---|---|
MR6581 | noc/noc#1898 Juniper.JUNOS.get_interfaces. Fix untagged_vlan typo. |
MikroTik.RouterOS¶
MR | Title |
---|---|
MR6717 | Fix MikroTik.RouterOS.get_lldp_neighbors.script |
NAG.SNR¶
MR | Title |
---|---|
MR6634 | Fix prompt match in NAG.SNR profile |
NSN.TIMOS¶
MR | Title |
---|---|
MR6254 | NCN.TIMOS.get_metrics. Fix DHCP Metrics Used. |
MR6386 | Fix NSN.TIMOS.get_lldp_neighbors script |
Qtech.QSW2800¶
MR | Title |
---|---|
MR6464 | Fix Qtech.QSW2800.get_version script |
MR6518 | add model QSW2800.get_version |
Raisecom.ROS¶
MR | Title |
---|---|
MR6445 | fix Raisecom.ROS profile |
MR6665 | Raisecom.ROS.get_version. Add parse_kv_version method for parse version output. |
Zyxel.MSAN¶
MR | Title |
---|---|
MR6601 | Zyxel.MSAN.get_interfaces. Fix slot count in range. |
rare¶
MR | Title |
---|---|
MR6246 | Meinberg.LANTIME. Cleanup black. |
MR6344 | Add initial support for 3Com Superstack 3 5500 |
MR6351 | fix "configure terminal" promt Eltex.MA4000 |
MR6414 | Qtech.BFC_PBIC_S.get_inventory. Add sensor labels. |
MR6416 | Ttronics.KUB. Add sensor labels. |
MR6493 | Angtel.Topaz. Add SNMP support. |
MR6497 | model fix in get_version Huawei.MA5300 |
MR6532 | Add initial support for Mellanox.Cumulus profile |
MR6568 | DLink.DAS.get_version. Fix variable 'r' referenced before assignment. |
MR6574 | Linksys.SWR.login. Not used message for NOCError. |
MR6580 | Juniper.EX2500. Fix flake. |
MR6600 | ZTE.ZXDSL98xx.get_inventory. Fix fill_ports method use from profile. |
MR6604 | NSCComm.LPOS. Add SNMP support to scripts. |
MR6711 | Rotek.RTBS. Fix metric units. |
Collections Changes¶
MR | Title |
---|---|
MR6361 | Add DOM Errors metric. |
MR6384 | Update NAG.SNR profile |
MR6435 | add profilecheckrule SecurityCode.Kontinent |
MR6478 | Remove disposition from 'Security | Authentication | SNMP Authentication Failure' rule. |
MR6489 | Add Eltex.SMG profilecheckrule |
MR6517 | add qtech profilecheckrule |
MR6542 | noc/noc#534 Add DiagnosticCheck to Discovery. |
MR6553 | Fix whitespace in path |
MR6591 | Add Zyxel.MSAN profilecheckrule |
MR6635 | New metrics |
MR6636 | Add compose expression to MetricAction. |
MR6649 | noc/noc#1915 Migrate ManagedObject Attributes to Capabilities. |
MR6661 | Speedup create probe on metrics service. |
MR6684 | Cleanup CDAG subgraph implementation |
MR6693 | add model huawei MA5800-X2 |
MR6706 | Add units to 'CPU | Usage' metric |
MR6710 | Replace vcds alarm datasource to vlands. |
MR6715 | update models QSW-8200-28F-AC-DC, QSW-8200-28F-DC-DC |
Deploy Changes¶
MR | Title |
---|---|
MR6241 | Ansible: fix deprecation warning |
MR6291 | Migrate to Gufo Ping |
MR6298 | Ansible fix pg init command |
MR6301 | change repo clickhouse |
MR6342 | Ansible fix version string type |
MR6359 | Ansible fix apt key proxy problem |
MR6368 | Remove ch_datasource service from deploy |
MR6372 | add cheking certificates for nats and liftbridge |
MR6403 | Fix deploy consul svc-set |
MR6436 | fix tower_run_checks |
MR6492 | Add supporting ubuntu22 |
MR6537 | Fix kafkasender checks condition |
MR6540 | change repo for libssl1.1 |
MR6675 | fix special character in postgres password |
MR6678 | Rewrite noc_python part of noc role |
MR6691 | Ansible drop debian9 deploy support |
MR6700 | change plugin SimpleJson on simpod-json-datasource |
MR6702 | Add backup slots for metrics |
MR6738 | Fix indent in patch |