Many years ago, I worked as a system administrator in one not very big, but good company. Everything is standard: several servers, simple document flow, mail, Internet, accounting, file resources, user workstations. Yes, oh, these jobs. User support always occupies a special place in the heart of any system (and not a system, too) administrator.
One fine morning, I received a rather impressive “stuck” from the management for the unexpectedly inoperable computer of the chief accountant. Nothing exotic - the place on the system disk unexpectedly ended. OS "fell" and refused to rise on their own. Having quickly eliminated the incident, I thought it would be nice to receive information that a particular user filled the entire C drive with his photos a little earlier than his computer failed.

I wrote and launched using Task Sheduler on one of the servers a few unpretentious scripts on the VBS, which regularly connected to the workstations of users via WMI and collected information about the volumes on all available workstations in the domain (ActiveDirectory).
')
It turned out cool. My appetite is hot. A couple of months in the database (MS SQL Server) of the newborn Inventory Monitoring System (IMS) there was quite a decent description of practically all the company's IT equipment, and on the internal site (IIS + ASP) it was possible to view this information in a convenient way or upload it to MS Excel.
In addition to collecting information about the configuration and state of various equipment, scanning and control of internal IP networks, collection of server performance data (CPU utilization, memory usage, network and disk performance) and availability of various IT resources (pages of internal and external sites, access to Internet, etc.).
What surprised me was that this was done in order to free up more time for creativity and recreation , and in fact the automated collection of data on IT resources revealed a large number of hidden minor problems that I also had to solve.
Mts
I came to the MTS company in the division which was engaged in the Windows servers. Only servers - no workstations, printers, users. Beauty! Only these servers were several hundred, and every six months their number doubled.
A couple of days after going to work, I realized that without IMS, my colleagues and I would have a hard time here. I begged for an old server and raised IMS.
Today this platform is 14 years old. This system is fully developed by the company’s employees (we specifically have the name SITR - our own IT-Development system) for such products. IMS grew and changed with the processes in the company. 10 years ago, it contained information only about the MTS servers in Moscow - now it contains information about almost all IT equipment of MTS and its subsidiaries throughout Russia.
Data collection from equipment takes place mostly remotely. On the platform servers, many individual processes are launched that connect to the servers and equipment (WMI, SSH, SNMP, SOAP), which collect and send the received information to the platform database. Processes are started using the staff scheduler TaskSheduler. The whole process of adding / deleting tasks to TaskSheduler is also automated. The metrics collection plan specified in the object card is automatically implemented into specific tasks in TaskSheduler on specific servers of the platform.
The plan of metrics can be assigned to an object using a set of profiles manually or automatically (depending on the type of equipment, location, etc.) and supplemented with its own personal set of "regular" metrics.
In addition, you can prepare and assign to collect a set of your own, special metrics, characteristic only for a specific object. To do this, you need to use a special constructor and create metrics to retrieve data using one of the standard predefined methods, for example, via WMI, SNMP, an SSH command, etc. (just a half dozen different methods of obtaining data).
The results of the processes are the server settings. In the object card (web interface), you can view them in the form of a list of the last collected values or analyze historical values in the form of graphs and tables (with the possibility of uploading to Excel).

In addition to dynamic parameters, various inventory information is collected: information about hardware, operating system, local users, disk volumes, interfaces, installed applications, RDP and SSH sessions, installed system updates, etc.
Changes occurring with the object are recorded in the logs: messages from the monitoring systems can be seen in the message log, information on planned and emergency operations in the event log, changes made to the object card in the change log.
The life cycle of the equipment can be described in some detail on the special tab “Operation”. You can print and stick a label on the equipment with a QR-link to the card in IMS.

IMS has an advanced system for searching and displaying information about objects stored in the system. Allows you to search for the desired set of objects by a large number of criteria, complex conditions and a list of values. To display the resulting set of objects, you can use standard forms with a specific set of characteristics of objects or your own form with arbitrary sets of characteristics. There is also the possibility of preparing dynamic reports (dashboard).
Benefits of the current implementation
It was immediately clear that the system will be useful and will pay for the forces spent on it only if it contains the necessary and relevant information. If it was possible not to worry in principle for the relevance of data that is collected automatically, then it was much more difficult to organize the relevance of information entered manually by users (system administrators). They needed to be interested and motivated to use IMS as a tool for day-to-day operational work.
Based on this, several key objectives were defined:
- principles of work and processes in the system should be as open as possible, simple and intuitive;
- the interface should be as simple, fast and intuitive as possible;
- Employees - sources of "manual information" - must constantly work in the system, actively using it to solve their operational tasks, receiving the necessary information for themselves - then they will be as interested as possible in maintaining the relevance of "manual" information.
And, in my opinion, it was possible. This explains the successful and long-lasting operation of the platform, despite the outdated technologies used for its development. Let me remind you: the platform software was originally written in Microsoft ASP + VBScript, and most of the code is still preserved in this dialect and in this paradigm. Although, of course, the development and development of new functionality, if possible, is conducted on modern products of the .NET platform.
Experience has shown that the simple open architecture of ASP and VBScript, the ability to quickly and visually correct errors and make corrections quickly and effectively complement and restructure the processes of obtaining, managing and displaying data taking into account the current needs and wishes of colleagues. This made it possible to create this convenient and practical (I think) tool for the system administrator.
There are a lot of vender CMDB products. Each has its pros and cons. And the main disadvantage is the cost of the solution, licenses and customization. IMS, on the other hand, allows you to easily integrate with any solutions and act as a supplier of inventory data.
Vladimir Naumov ( v_naumov ), senior expert-curator of the automation department ITSM processes MTS.