Information and communication networks have been growing for some time now and are becoming increasingly important. We all use them, and they permeate every aspect of modern society. With the significance and development of information and communication networks, the responsibility of those who manage the networks also grows. Networks need to be expanded, monitored, and efficiently managed in order to provide users with a quality and secure user experience. In recent years, there has been accelerated development of tools that facilitate the work of network engineers and reduce the impact of the human factor. In my master's thesis, I address methods of automating the management and monitoring of network devices. The thesis describes various network protocols and automation tools such as NETCONF, RESTCONF, gRPC, Ansible, Chef, and others. The emphasis is on automation using custom scripts written in the Python programming language and the use of libraries such as Netmiko and NAPALM. Automation in the context of ICT networks represents a replacement for human interaction with network devices. Through automation, data is exchanged between systems, which needs to be processed, stored, and interpreted in order to provide us with the necessary information. Therefore, I explored the options for storing data in relational and non-relational databases and critically evaluated the suitability of both approaches for automation. Additionally, I provided a detailed presentation of one of the tools for effective data parsing, namely the Python library TextFSM. The thesis presents an example of how multiple components and tools that handle various functionalities, making our work with networks easier, can be integrated into a whole and connected to a user-friendly platform. In the case of the gSmart platform described in the master's thesis, custom Python scripts are used for automation, data is stored in a graph database, and the management of the platform is event-driven.
|