After all, this is another long process that was executed in the same thread and slowed down the work of the entire script. But it wasn’t so obvious then. But one way or another, he was doing his job, the code was rigidly prescribed what kind of trace each of the channels should have. So the system that was already monitoring began to work (loudly said, because there was no collection of any metrics, but just ping) network devices (routers, switches, wi-fi, etc.) and communication channels with the outside world. SMS messages came regularly and it was always clearly visible on the diagram where the problem was.
Then, in my daily work, I had to do cross-country. And every time you go to Cisco switches in order to see which interface you need to use is tired. How cool it would be to poke at an object on monitoring and see a list of its interfaces with descriptions. It would save me time. Moreover, in this scheme it would not be necessary to run Putty or SecureCRT to enter accounts and commands. I just poked in the monitoring, saw what was needed and went to do my job. I started looking for how to interact with the switches. On the flip side, I immediately came across 2 options: SNMP or go to the switch via SSH, enter the commands I need and parse the result. SNMP was dismissed due to the complexity of the implementation, I couldn’t wait to get the result. with SNMP, it would take a long time to dig into the MIB, on the basis of this data to form data about interfaces. There is a wonderful team at CISCO
show interface status
It shows just what I need for crossovers. Why bother with SNMP when I just want to see the output of this command, I thought. After some time, I realized this possibility. I clicked on the object on the web page. An event was triggered, according to which the client turned to the server, and that, in turn, connected via SSH to the switch I needed (credentials were sewn into the code, there was no desire to refine, make some separate menus where it would be possible to change accounts from the interface, I needed a result and quickly) entered the above the command was given back to the browser. So I started to see information on interfaces with one mouse click. It was extremely convenient, especially when you had to look at this information on different switches at once.
Monitoring channels based on tracing turned out to be not the best idea in the end, because sometimes work was carried out on the network, and the tracing could change and monitoring began to yell at me that there were problems with the channel. But after spending a lot of time analyzing, I realized that all the channels were working, and my monitoring was deceiving me. As a result, I asked my colleagues who managed the channel-forming switches to send me just a syslog when the visibility state of the neighbors (neighbor) changed. Accordingly, it was much easier, faster and more truthful than tracing. A neighbor lost event has arrived, and I immediately make an alert about the channel falling.
Further, there were conclusions on clicking on the object a few more commands and SNMP was added to collect some metrics, well, that’s all by and large. The system did not develop in any way. She did everything I needed, it was a good tool. Many readers will probably tell me that there is already a lot of software on the Internet to solve these problems. But in fact, I didn’t Google such free products then, and I really wanted to develop a programming skill, and what could be better to push to this than a real applied task. With this, the first version of monitoring was completed and was no longer modified.
As time went on, I started working in parallel in other companies, since my work schedule allowed me to do this. When you work in different companies, your skill in various fields grows very quickly, and your horizons develop well. There are companies in which, as they say, you are both a shvets, and a reaper, and an igretz on the duda. On the one hand, it is difficult, on the other hand, if you are not lazy, you become a specialist of a broad profile and this allows you to solve problems faster and more efficiently because you know how the adjacent area works.
My friend Pavel (also an IT specialist) constantly tried to encourage me to start my own business. There were countless ideas with different versions of their business. This has been discussed for years. And in the end, nothing should have come to anything because I am a skeptic, and Pavel is a visionary. Every time he suggested an idea, I always didn’t believe in it, and refused to participate. But we really wanted to open our own business.