├── cenarios-teste
│ ├── dev (main directory)
│ │ ├── config
│ │ │ ├── env
│ │ │ ├── important-files
│ │ │ ├── kafka
│ │ │ │ ├── KafkaConsumerReplacementFiles
│ │ │ │ └── kafka_events_format
│ │ │ │ └── pythonKafkaProducer
│ │ │ │ └── test-consumer
│ │ └── docker-compose.yml
│ │ └── images
│ │ └── notes
│ │ └── one-ring.sh
│ ├── ExampleOpenNMSDatabaseAccess (test directory)
│ └── monitoring-stack (test directory)
The implementation of heterogeneous networks, which incorporate various technologies and equipment from multiple manufacturers, is a growing trend. This approach enables the integration of different network technologies and the provision of a wide range of services and applications. However, this diversity also brings with it complex operational and management challenges. As networks evolve to incorporate diverse components, each with its own characteristics and protocols, there is a need to complement them with effective monitoring solutions.
In this dissertation, a case study is conducted within DSTelecom with the aim of exploring a unified monitoring solution tailored to its heterogeneous network infrastructure, specifically focusing on the functional area of \textit{fault management}, following the FCAPS model. DSTelecom operates ZTE and NOKIA network equipment, which are monitored by their respective proprietary NMS, as well as devices without NMS. To retrieve alarms registered by the ZTE NMS and those generated by the orphaned devices, it is necessary to employ the SNMP protocol. On the other hand, the NOKIA NMS uses Kafka topics to share alarms with other systems.
The proposed solution entails using the OpenNMS platform to centralize alarms from the previously mentioned event sources and share the collected information with ElasticSearch and Grafana. The integration of these tools provides a historical record of alarms for the monitoring system and a unified and more flexible presentation of information, respectively. OpenNMS offers functionalities that make it the most suitable monitoring platform for this use case, including an integrated Kafka Consumer for reading alarms from NOKIA devices and an SNMP MIB Compiler to format events received via SNMP Traps. However, the format of events written to Kafka topics could not be interpreted by the integrated Kafka Consumer, which creates the need to modify the original code of this functionality. Additionally, the SNMP MIB Compiler produced both static and dynamic event formats, which required the usage of the EventTranslator service and the application of filters to address associated issues, respectively.
The conducted tests have confirmed that the implemented modifications ensure the expected performance and do not disrupt the unified monitoring system.
Important
-
The experimental environment displayed only applies to the Main directory which is the final version.
-
The monitoring-stack directory uses the same micro-services and in the same way, however it's an alternative that shows you how to run a costumized OpenNMS instance in a docker container instead of running it on bare metal.