WO2024191315A1 - Method and system for monitoring automated systems - Google Patents
Method and system for monitoring automated systems Download PDFInfo
- Publication number
- WO2024191315A1 WO2024191315A1 PCT/RU2023/000069 RU2023000069W WO2024191315A1 WO 2024191315 A1 WO2024191315 A1 WO 2024191315A1 RU 2023000069 W RU2023000069 W RU 2023000069W WO 2024191315 A1 WO2024191315 A1 WO 2024191315A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- module
- data
- metric
- value
- deviation
- Prior art date
Links
- 238000012544 monitoring process Methods 0.000 title claims abstract description 61
- 238000000034 method Methods 0.000 title claims description 31
- 238000010200 validation analysis Methods 0.000 claims abstract description 43
- 238000012545 processing Methods 0.000 claims abstract description 41
- 238000013500 data storage Methods 0.000 claims abstract description 31
- 230000005540 biological transmission Effects 0.000 claims abstract description 15
- 238000006243 chemical reaction Methods 0.000 claims abstract description 10
- 238000013075 data extraction Methods 0.000 claims abstract description 9
- 238000013480 data collection Methods 0.000 claims abstract description 5
- 238000001514 detection method Methods 0.000 claims description 21
- 238000003860 storage Methods 0.000 claims description 17
- 239000000284 extract Substances 0.000 claims description 15
- 230000008030 elimination Effects 0.000 claims description 14
- 238000003379 elimination reaction Methods 0.000 claims description 14
- 238000010801 machine learning Methods 0.000 claims description 7
- 238000007726 management method Methods 0.000 claims description 7
- 238000013523 data management Methods 0.000 claims description 5
- 238000013079 data visualisation Methods 0.000 claims description 4
- 238000004891 communication Methods 0.000 abstract description 4
- 230000008569 process Effects 0.000 description 10
- 238000004458 analytical method Methods 0.000 description 8
- 230000008054 signal transmission Effects 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 239000002131 composite material Substances 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000012805 post-processing Methods 0.000 description 3
- 241001025261 Neoraja caerulea Species 0.000 description 2
- 230000009471 action Effects 0.000 description 2
- 230000002776 aggregation Effects 0.000 description 2
- 238000004220 aggregation Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 239000003795 chemical substances by application Substances 0.000 description 2
- 238000013502 data validation Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- HPTJABJPZMULFH-UHFFFAOYSA-N 12-[(Cyclohexylcarbamoyl)amino]dodecanoic acid Chemical compound OC(=O)CCCCCCCCCCCNC(=O)NC1CCCCC1 HPTJABJPZMULFH-UHFFFAOYSA-N 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 238000013501 data transformation Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000001303 quality assessment method Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 210000001525 retina Anatomy 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
Definitions
- the presented technical solution relates, in general, to the field of computer technology, and in particular to a method and system for monitoring automated systems (AS) in operation, with the aim of proactively and reactively identifying deviations in their operation at various levels of architecture (infrastructure, execution environment, application level), diagnosing the cause of the identified deviation, and notifying interested parties about the identified event.
- AS automated systems
- the above-mentioned systems currently available on the market have the following data processing sequence: collecting data from the monitoring object, recording the received information in the storage system, processing the stored data to identify deviations.
- Each stage of data processing requires time, which in turn leads to an increase in the time it takes to identify deviations.
- the system in the claimed solution processes data and searches for deviations simultaneously with recording data in the storage system, i.e. the stage of saving data to the database (DB) is excluded from the processing process, which in turn reduces the time it takes to identify deviations, and also maintains the operability of the monitoring system in terms of identifying deviations in the operation of the AS and notifying the relevant users of the identified deviations in the event of a DB failure.
- DB database
- the second distinctive feature of the claimed solution is the way the user interacts with the system.
- the system In addition to traditional methods (working with dashboards, informing by sending emails and SMS), the system has a mechanism for receiving information about the state of the monitoring object via a messenger, which allows reducing the time for decision-making. decisions on corrective actions aimed at restoring the consistent state of the system, due to the absence of the need for engineers and other decision makers to connect to the workplace. Information is obtained both by receiving messages about deviations in the operation of systems from the monitoring platform to the messenger, and by requesting monitoring data from the messenger interface to the monitoring platform for the necessary information.
- the third distinctive feature of the declared solution is the presence of a built-in system for constructing a predictive model: a baseline and corridor boundaries.
- the system uses information accumulated recently about the state of the monitoring object, which allows predicting the behavior of the AS at a specific time and identifying in advance a negative trend in the behavior of the AS before the occurrence of events that may lead to a deviation.
- the key mechanism of any monitoring system is alerting (detection of deviations and notification of them).
- the quality of alerting determines the quality of monitoring, but the monitoring systems known to us do not contain mechanisms for assessing the quality of alerting.
- the system contains functionality that allows assessing each event from the point of view of its compliance with the real state of the system.
- the quality assessment is carried out by alert recipients through a specialized interface. According to the feedback in the system, it is possible to determine and correct events with poor response statistics based on the implemented reporting.
- the technical problem or task set in this technical solution is the creation of a new, effective, simple and reliable system for monitoring the AC.
- the technical result is to increase the reliability of the AS monitoring system.
- a data collection device comprising: a control module (11), a module (12) for extracting data from the monitoring object (1), and a data conversion module (13);
- a device (20) for streaming data transmission comprising: a module (21) for intermediate data storage memory, a module (22) for managing data for validation, and a module (23) for storing data intended for transmission;
- a device (30) for streaming data processing comprising: a validation control module (31), a module (32) for storing deviation rules, a module (33) for storing validation rules, and a module (34) for determining deviations;
- a data storage system comprising: a memory module (41) for storing metric data and a memory module (42) for storing predicted data;
- a device (60) for determining deviations comprising: a module (61) for generating notifications, a module (62) for managing deviation determination rules, and a module (63) for determining deviations;
- control module (11) is connected to the data extraction module (12), the data extraction module (12) is connected to the monitoring object and the data conversion module (13), the intermediate data storage memory module (21) is connected to the data conversion module (13) and the validation data management module (22), the validation data management module (22) is connected to the validation control module (31) and the data storage module (23), the validation control module (31) is connected to the validation rule storage module (33) and the data storage module (23), the module (23) is connected to the deviation detection module (34) and the metric data storage memory module (41), the deviation detection module (34) is connected to the deviation detection rule storage module (32) and the notification generation module (61), the deviation detection rule management module (62) is connected to the deviation detection rule storage module (32), the deviation detection module (63) is connected to module (41) of memory for storing data on metrics, module (42) memory for storing predicted data, a module (62) for controlling deviation determination rules and a module (61) for generating notifications, the module (61) for generating notifications is connected to a
- the data streaming device (20) additionally comprises a data storage module (24) connected to the monitoring object 1 and the data extraction module (12).
- the forecasting device (50) comprises a control module (51), a data processing module (52), a memory module (53) intended for operational work with data, and a machine learning model (54), connected to each other; wherein the data processing module (52) is connected to a memory module (41) for storing data on metrics and a memory module (42) for storing predicted data.
- the system additionally comprises a data visualization module (43) connected to a memory module (41) for storing metric data, a memory module (42) for storing predicted data and a notification generation module (61).
- the deviation determination module (63) is equipped with counters for determining the number of deviations over a given period of time, for determining the difference in the values of various metrics per unit of time, for determining the difference in the metric values at different observation times, for determining the sum of the metric values over a certain time interval.
- the data streaming device (20) additionally comprises a memory area intended for storing data on metrics that have not passed the validation procedure.
- a method for automatically monitoring an AS is presented, performed by a deviation detection module (63), comprising the steps of:
- module (63) increases the counter value by 1;
- the counter value is extracted and compared with the counter threshold value specified in the instruction, and if the counter value exceeds or corresponds to the specified counter threshold value, then a command is generated in the notification generation module (61) for generating a notification about the detected deviation in the metric value.
- an additional step of recording the presence of a deviation in the metric data is performed.
- module (63) increases the counter value by 1;
- the counter value is extracted and compared with the counter threshold value specified in the instruction, and if the counter value does not exceed the specified counter threshold value, then the elimination of the deviation is recorded and a command is generated in the notification generation module (61) for generating a notification about the elimination of the deviation in the metric value.
- Fig. 1 shows a general diagram of the diagnostics of the AS.
- Fig. 2 shows an example of a general view of a computing device.
- system means, among other things, a computer system, a computer (electronic computer), a CNC (computer numerical control), a PLC (programmable logic controller), computerized control systems and any other devices capable of performing a given, clearly defined sequence of operations (actions, instructions).
- a command processing unit is an electronic unit, computing device, or integrated circuit (microprocessor) that executes machine instructions (programs).
- the command processing unit reads and executes machine instructions (programs) from one or more data storage devices.
- the data storage devices may include, but are not limited to, hard disk drives (HDD), flash memory, ROM (read-only memory), solid state drives (SSD), and optical drives.
- a program is a sequence of instructions intended for execution by a computer control unit or command processing device.
- a database is a collection of data organized according to a conceptual structure that describes the characteristics of the data and the relationships between them, and such a collection of data supports one or more application areas (ISO/IEC 2382:2015, 2121423 “database”).
- a signal is a material embodiment of a message for use in transmitting, processing and storing information.
- a logic element is an element that implements certain logical dependencies between input and output signals.
- Logical elements are usually used to construct logical circuits of computers, discrete circuits of automatic control and management. For all types Logical elements, regardless of their physical nature, are characterized by discrete values of input and output signals.
- the AC monitoring system 100 comprises: a data collection device 10, a data streaming device 20, a data streaming processing device 30, a data storage system 40, a prediction device 50, a deviation detection device 60, and a user information device 70.
- the data collection device 10 can be implemented on the basis of at least one computing device and contain: a control module 11, a module 12 for extracting data from the monitoring object 1, and a data conversion module 13 with a buffering function.
- the said modules can be implemented using logical elements on transistors, for example, "AND”, “OR”, “NOT”, “AND-NOT”, “OR-HE”, etc., placed on a printed circuit board using a well-known method to ensure the transmission of signals containing data between the said modules, as well as to ensure the processing of the received data.
- two or more devices 10 can be implemented, or the device 10 can be configured in such a way as to simultaneously process data from several data sources.
- a cluster of two or more devices 10 (for each type of device) located in different data processing centers can be implemented.
- the data streaming device 20 can be implemented on the basis of at least one computing device and contain: a module 21 for intermediate data storage, a module 22 for managing data for validation, a module 23 for storing data intended for transmission, and a module 24 for storing data received from the monitoring object 1.
- the mentioned modules can be implemented using logical elements on transistors, for example, "AND”, “OR”, “NOT”, “AND-NOT”, “OR-HE”, etc., placed on a printed circuit board using a well-known method to ensure the transmission of signals containing data between the mentioned modules, as well as to ensure the processing of the received data. Also, to ensure additional reliability, a cluster of two or more devices 20 located in different data processing centers can be implemented.
- the data stream processing device 30 can be implemented on the basis of at least one computing device and contain: a validation control module 31, a deviation determination rule storage module 32, a validation rule storage module 33 and a deviation determination module 34.
- the mentioned modules can be implemented using logical elements on transistors, for example, "AND”, “OR”, “NOT”, “AND-NOT”, “OR-HE”, etc., placed on a printed circuit board using a well-known method to ensure the transmission of signals containing data between the mentioned modules, as well as to ensure the processing of the received data. To ensure additional reliability, a cluster of two or more devices 30 located in different data processing centers can be implemented.
- the data storage system 40 can be implemented on the basis of at least one DB and contain: a memory module 41 for storing metric data and a memory module 42 for storing predicted data.
- the said modules can be implemented on the basis of a permanent data storage device, for example, a hard disk (HDD), a solid-state drive (SSD), flash memory (EEPROM, NAND, etc.), optical storage media (CD-R/RW, DVD-R/RW, BlueRay Disc, MD), etc.
- the data storage system 40 can be equipped with a data visualization module 43, implemented on the basis of a computing device using transistor logic elements, intended for extracting metric data and predicted data and displaying them to users of the AS monitoring system 100.
- the mentioned module 43 can be an independent device, i.e. external in relation to the system 40.
- the mentioned device 43 can be equipped with technical means, for example, LCD panels, for displaying information, for example, stored in the data storage system 40, in real time.
- a cluster of two or more systems 40 located in different data processing centers can be implemented. Additionally, in each data processing center, a copy of the system 40 can be implemented, containing data of the system 40 located in another data processing center.
- the prediction device 50 may be implemented on the basis of at least one computing device and comprise: a module 51 control, a data processing module 52, a memory module 53 intended for operational work with data, and a machine learning model 54.
- the said modules can be implemented using logical elements on transistors, for example, "AND”, “OR”, “NOT”, “AND-NOT”, “OR-HE”, etc., placed on a printed circuit board using a well-known method to ensure the transmission of signals containing data between the said modules, as well as to ensure the processing of the received data.
- the deviation detection device 60 can be implemented on the basis of at least one computing device and contain: a notification generation module 61, a deviation detection rule control module 62 and a deviation detection module 63.
- the mentioned modules can be implemented using logical elements on transistors, for example, "AND”, “OR”, “NOT”, “AND-NOT”, “OR-HE”, etc., placed on a printed circuit board using a well-known method to ensure the transmission of signals containing data between the mentioned modules, as well as to ensure the processing of the received data. To ensure additional reliability, a cluster of two or more devices 60 located in different data processing centers can be implemented.
- the user informing device 70 can be implemented on the basis of at least one computing device, implemented in the software and hardware part in such a way as to ensure the transmission of a message about the detected deviation, or about the elimination of the deviation to the devices of the users of the AS monitoring system 100.
- the mentioned device 70 can be equipped with technical means, for example, LCD panels, for displaying information, for example, stored in the data storage system 40 in real time.
- Any system intended for automation of production processes may be used as an automated system (AS) monitored by the said AS monitoring system.
- Each AS is equipped with a monitoring object 1, which is hereinafter referred to as an information system, or its subsystem or separate component, intended for collecting and storing data on metrics that may be presented, for example, in the form of a numerical characteristic, the value of which can be used to judge the state of the AS or the processes occurring in the AS.
- the monitoring object 1 can be placed in a telephony system, and the metric can be the number of incoming or outgoing calls for a given unit of time. A sharp decrease or increase in the number of calls can indicate potential problems in the operation of the AS.
- Data on metrics can be collected by widely known methods in manual or automated mode and stored in the monitoring object 1. [0041] Accordingly, depending on the operating mode control module 11 specified by the developer, said module 11 generates a command to connect to the monitoring object 1 to extract data on metrics for a time interval specified by the developer, mainly data on the current state of the monitoring object are extracted, i.e. the value of metrics at the time of extraction, or for the last minute.
- the generated command is sent by the mentioned module 11 to the data extraction module 12, which, via wired or wireless communication, connects to the monitoring object 1 and sends a request for data on metrics for a specified time interval to the monitoring object 1 to extract data on metrics from the memory of the mentioned object 1.
- the data on metrics may contain an identifier (ID) of the AS or an ID of the monitoring object, a list of ID metrics, metric values and time interval values characterizing the time of receipt of metrics by the monitoring object 1.
- the extracted metric data is sent by said module 12 to a data conversion module 13, which converts the data to a format specified by the developer of module 13, in particular suitable for processing at subsequent stages, as well as for calculating aggregates.
- said module 13 may receive metric data characterizing a list of all calls that have been received over the past minute, where the metric ID will indicate that the metric is a call metric, and the metric value may characterize the duration of the call. Based on the received metric data, in particular the list of all calls, module 13 may determine the number of calls received over the past minute, after which said number may be included in the metric data as an additional metric.
- unnecessary attributes can be removed from the received metric data, for example, those characterizing the topics of calls, or, conversely, all incoming calls can be grouped by topics and transferred to further stages in the form of individual metrics - the number of calls on specific topics over the past minute.
- the metric data may be extracted by the data extraction module 12 from the data storage module 24 received from the monitoring object 1.
- the loading of the metric data into the module 24 may be performed by the monitoring object 1 in accordance with a software algorithm stored in its memory.
- the converted metric data is recorded by the data conversion module 13 in the intermediate data storage memory module 21 of the data streaming device 20, in which the metric data is stored for a specified time interval, after which the said data is deleted.
- the command to delete the data can be received by the said module 21, for example, from a corresponding controller, with which the module 21 can be equipped, configured to assign a time stamp to the recorded data indicating the time when they were recorded, and to delete the data recorded in the module 21 after the expiration of a time interval specified, for example, by the developer of the module 21 .
- the command to delete the data can indicate that it is necessary to delete from the module 21 all data, the time stamp of which indicates that 6 hours have passed since the storage of this data.
- the command to delete the data by the said controller can be received when the module 21 reaches a specified data volume limit.
- the data on metrics in relation to which it is necessary to carry out the process of validation of the data on metrics, are determined by means of the data management module 22, wherein the list of data on metrics (for example, the list of IDs of the AS or monitoring objects), the validation of which must be performed, can be specified by the developer of said module 22, or received from the validation management module 31.
- the list of data on metrics for example, the list of IDs of the AS or monitoring objects
- said module 22 compares the data on metrics stored in the module 21 with said list of data on metrics, for example, the ID of the AS or monitoring object - with the list of IDs of the AS or monitoring objects, and if the module 22 has determined that the data on metrics require validation (for example, the ID of the AS or monitoring object is contained in the list of IDs of the AS or monitoring objects), then the module 22 extracts the data on metrics from the module 21 and sends them to the validation management module 31.
- module 22 If module 22 has determined that the metric data is not require validation (for example, the AS or monitoring object ID is not contained in the list of AS or monitoring object IDs), then module 22 extracts the metric data from module 21 and sends it to module 23 for storing data intended for transmission.
- the validation control module 31 When the validation control module 31 receives the metric data, said module checks it for compliance with the established requirements. In order to determine the established requirements for the metric data, said module 31 refers to the validation rule storage module 32, into which said requirements can be entered by the module developer or its operator. For example, as part of the validation, the following attributes of the metrics of each record contained in the metric data can be validated by the module 31:
- the metric validator implemented in module 31 is configured to perform a check of each field of all records contained in the metric data individually, as well as to check the fields specified by the developer, for example, checking for the presence of a metric value in the "Metric Value” field (i.e., the field is not empty) and checking that the "Monitoring Object Identifier" is included in the set of acceptable values.
- the directory of acceptable values of identifiers of monitoring objects 1 can be stored in the memory of module 32.
- the metric data received by module 31 may contain a field that characterizes the time of receipt of the metric (date_arrival), which may contain the following information: "date_arrival”: "2022-12-08 10:35:00", where the field ID characterizes the "date_arrival” attribute, and the field value is "2022-12-08 10:35:00". Accordingly, module 31, when validating metric data, extracts the ID of the "date_arrival" field and accesses the data characterizing the requirements for metric data received from module 32 to determine the data validation algorithm.
- the data validation algorithm may indicate that the mentioned module 31 should check the presence of a field value characterizing the time of receipt of the metric in the metric data. If the module 31 determines that the field value is absent (i.e. the field value is empty), then the module 31 decides that the metric data does not meet the established requirements, after which the metric data is deleted from the buffer of the module 31. Thus, in the future, the metric data that has not passed the validation procedure will be deleted from the intermediate data storage memory module 21 according to the algorithm described earlier. In addition, the metric data that has not passed the validation procedure can be placed in the memory area of the device 20 for further analysis of the reasons why the data did not pass validation.
- module 31 determines that the field value is present in the metric data
- module 31 extracts the field value "2022-12-08 10:35:00" from the metric data and compares said value with the established requirements received from module 32.
- the established requirements may indicate, for example, that the field value recording must comply with the established format, for example, "yyyy-MM-dd HH:mm:ss", and the field value itself must comply with a specified range of field values, for example, the field value characterizing the time of data receipt cannot be older than 6 hours, cannot be later than the current time.
- module 31 may be equipped with a corresponding timer, widely known in the prior art.
- module 31 determines that the field value does not correspond to the established format or range of metric values, then module 31 decides that the metric data does not correspond to the established requirements, after which the metric data is deleted from the buffer of module 31. Thus, in the future, the metric data that has not passed the validation procedure will be deleted from the intermediate data storage memory module 21 according to the algorithm described earlier. Additionally, the metric data that has not passed the validation procedure can be placed in the memory area devices 20 for further analysis of the reasons why the data did not pass validation. If module 31 determines that the metric data meets the established requirements, module 31 records the metric data in module 23 for storing data intended for transmission.
- module 31 Similar validation processes by module 31 can be carried out in relation to fields containing information characterizing:
- time of metric creation which can be represented as: "date_created”: "2022-12-08 10:33:05", where the field ID characterizes the "date_created” attribute, and the field value is "2022-12-08 10:33:05";
- agent_host "10.111.0.39"
- field ID characterizes the "agent_host” attribute
- field value is "10.111.0.39”
- source_host “aggregate. data. mpp”
- source_host “aggregate. data. mpp”
- field ID characterizes the "source_host” attribute
- field value is "aggregate. data. mpp”
- metric type "app"
- the field ID characterizes the "source host” attribute
- the field value is "app”
- process_uuid "476331 b8-b773-401c-bcce-84d74eac6ef4", where the field ID characterizes the "process uuid” attribute, and the field value is "47b331b8-b773-401c-bcce-84d74eac6ef4";
- the metric value which can be represented as: "value int”: 844, where the field ID characterizes the "valuejnt” attribute, and the field value is 844.
- the information about the time of creation of the metric by the mentioned module 31 can be checked in the above-described manner for compliance with the established format and the established threshold of values; the information about the label name can be checked for the presence of a field value, and this value cannot be the value "null"; the information about the agent name can be checked for the presence of a field value and for compliance of the field value with a specified format, for example, the ip or dns format; the information about the source name can be checked for the presence of a field value and for compliance of the field value with a specified format, such as ip or dns or url format; metric type information can be checked for the presence of a field value and for the field value to match, for example, one of the following values: "app", “regex", "business”, “synt”, “infra”, “logs", "sql", "unknown”; AC name information can be checked for the presence of a field value, and the field value must be checked for the presence of
- the metric data stored in module 23, which have undergone the validation procedure, can then be read by deviation detection module 34, as well as by memory module 41 for storing metric data.
- Data reading by said modules can be performed both in real time and according to schedules specified by module developers, with metric data being retrieved from the moment of receiving the previous portion of data.
- Module 23, like module 21, also stores metric data for a specified time interval, after which said data is deleted.
- the deviation determination module 34 extracts the metric value, after which it compares the extracted metric value with the threshold value of this metric.
- the threshold value of the metric can be determined by said module 34 by accessing the deviation determination rule storage module 33, in which the threshold value and instructions for processing the data for determining the deviation are stored for each metric.
- the mentioned threshold values can be written to the module 33 by means of the deviation determination rule management module 62 according to the threshold value update algorithm embedded by the developer of said module 62, in connection with which the possibility of unauthorized changes to the data stored in the module 33 by the operator or the developer is excluded. Instructions for processing the metric data for determining deviations can also be written to the module 33 by the module 62.
- module 34 determines that the metric value does not correspond to the threshold values, for example, the metric value characterizing the number of calls per minute is equal to “0” or exceeds the specified threshold value “1000”, then said module 34 records the presence of a deviation in the metric data and sends a command to notification generation module 61 to generate notifications of the detected deviation in the metric value, which is then sent to the user notification device 70 to notify interested persons of the detected deviation, after which the module 34 reads the next portion of data from the module 23 containing the metric data for their analysis. If the module 34 determines that the metric value corresponds to the threshold values, then the said module 34 reads the next portion of data from the module 23 containing the metric data for their analysis.
- module 34 determines that the metric value does not exceed a specified threshold value, and a deviation was previously detected, then module 34 records the elimination of the deviation, after which it sends a command to notification generation module 61 for generating a notification about the elimination of the deviation in the metric value, which is then sent to user notification device 70 for notifying interested persons about the elimination of the deviation, after which module 34 reads the next portion of data from module 23 containing data about the metrics for their analysis.
- the data on metrics read by the memory module 41 from the module 23 are stored in the DB, for example, in the form of a time series, after which the data on metrics can be extracted from the DB for their analysis and processing.
- the data on metrics can be extracted by the prediction device 50 via the data processing module 52 according to a command received from the control module 51.
- the mentioned command can be formed and sent by the module 51 according to a schedule specified by the developer of the module 51, in which the time period for which the data on metrics should be extracted can also be determined.
- the data on metrics extracted by module 52 for a given period of time are stored in memory module 53 intended for operational work with data, after which control module 51 generates a command for starting machine learning model 54 for obtaining forecasting data for a given period of time.
- Machine learning model 54 upon receiving said command from module 51, extracts data on metrics from memory module 53 and, using known methods, determines forecast values of metrics for a given period of time.
- the metric data stored in memory module 53 may contain values that represent the number of calls per minute, per three previous months, and the model 54 machine learning by known methods can determine the predicted values of metrics characterizing the number of calls per minute for the next 24 hours. Also, together with the said predicted values, module 54 can determine the upper and lower boundaries (corridors) of the metric values, into which, with a probability of 95%, the previously determined predicted metric values should fall in a specific minute.
- the said model 54 can be trained in advance using known methods on a training set of metric data and metric value boundaries.
- the predicted metric values and metric value boundary data are stored in the memory module 53, after which they are retrieved by the module 52 and stored in the memory module 42 for storing predicted data.
- the predicted metric values and metric value boundary data can be retrieved by the data visualization module 43 together with the metric data and sent to the notification generation module 61, which generates a corresponding notification, which includes the said obtained data, for example, in the form of a graph, after which the generated notification is sent to the user notification device 70 for notifying interested persons.
- the AC monitoring system 100 is equipped with a deviation detection device 60, which detects deviations in the said data according to more complex instructions in accordance with an algorithm laid down by the developer.
- the deviation determination module 63 refers to the deviation determination rule management module 62 to extract instructions for determining deviations.
- Said instructions stored in the module 62 typically contain the following parameters:
- At least one data processing instruction for determining the deviation - a comparison operation that will be used to compare the metric and the threshold value. For example, “Greater than”, “Less than”, “Greater than or equal to”, “Equal to”, “Not equal to”, etc.;
- the specified instructions for determining deviations may be specified by the developer or operator of the deviation determination device 60 via a dedicated communication channel with the module 62 or via data input/output devices.
- the data processing instruction may be:
- metric data may be compared with predicted metric values and metric value boundaries to determine whether there is a deviation, for example, the number of incoming calls can be compared with the upper and lower limits of metric values for a given minute.
- a counter for determining the number of deviations for a given period of time a counter for determining the difference in the values of various metrics per unit of time, a counter for determining the difference in metric values at different observation times, a counter for the sum of metric values for a certain time interval, and other counters based on mathematical and logical operations on metric values.
- module 62 As for simple instructions, according to the schedule set by the developer, they are recorded by module 62 in module 32 for storing deviation rules.
- the remaining instructions in particular composite and data post-processing instructions, are sent by said module 62 to module 63 for determining deviations, which, in accordance with the received instructions, checks the data on metrics stored in storage module 41.
- the deviation determination module 63 may be equipped with a deviation counter and configured to determine the number of deviations for a given period of time in accordance with instructions for processing data for determining deviations. For example, in accordance with said instructions, the module 63 may extract from the memory module 41 a metric value, for example, characterizing the number of calls for a specific minute, and from the memory module 42 the upper and lower limits of the metric values determined for said metric, and then perform a comparison of the metric value and said value limits.
- a metric value for example, characterizing the number of calls for a specific minute
- the module 63 proceeds to analyze other metric values stored in the storage module 41. If the metric value exceeds the said value limits, then the module 63 records the presence of a deviation and sends a command to the notification generation module 61 for generating a notification about the detected deviation in the metric value, which is then sent to the user notification device 70 for notifying interested persons about the detected deviation, after which the module 63 reads the next portion of data from the module 41 containing data about the metrics for their analysis, and from the memory module 42 the upper and lower limits of the metric values determined for the said metric.
- module 63 determines that the metric value does not exceed the said limits, and a deviation was previously detected, then module 63 records the elimination of the deviation, after which it sends a command to notification generation module 61 to generate a notification about the elimination of the deviation in the metric value, which is then sent to user notification device 70 to notify interested persons about the elimination of the deviation, after which module 63 reads the next portion of data from module 41 containing data on metrics for their analysis, and from memory module 42 the upper and lower limits of the metric values determined for the said metric,
- the deviation determination module 63 may be equipped with counters for determining the number of deviations over a given period of time, for determining the difference in the values of various metrics per unit of time, for determining the difference in metric values at different observation times, for determining the sum of metric values over a certain time interval, etc.
- module 63 After comparing all metric values with the said metric value boundaries, module 63 extracts the counter value and compares it with the counter threshold value, for example, which may be the value 4 and contained in the instruction data.
- module 63 proceeds to extract the next portion of metric data from memory module 41.
- module 63 sends a command to the notification generation module 61 to generate a notification about the detected deviation in the metric value, which is then sent to the user notification device 70 to notify interested parties about the detected deviation.
- Module 63 can also be configured to record the presence of a deviation in the metric data, wherein the data on the presence of a deviation in the metric data is entered by module 63 into the RAM, with which it can be equipped, or into the corresponding register. After the presence of a deviation is recorded, module 63 retrieves from the memory of module 41 the next portion of metric data for the next minute or metric data for the past 5 minutes, which are processed in the manner described above by comparing them with the upper and lower limits of the metric values.
- module 63 If, when analyzing the next portion of data in the manner mentioned above, module 63 records the presence of a deviation in the metric value and at the same time the corresponding register of the RAM contains data on the presence of a deviation, then module 63 will not transmit to notification generation module 61 a repeated command for generating a notification on the detected deviation.
- module 63 determines that the metric data received for the next minute, or based on the results of processing the metric data for the past 5 minutes, the counter value does not exceed a specified threshold value, then module 63 records the elimination of the deviation, after which it sends a command to notification generation module 61 for generating a notification about the elimination of the deviation in the metric value, which is then sent to user notification device 70 for notifying interested persons about the elimination of the deviation, after which module 63 proceeds to extracting the next portion of metric data from memory module 41.
- said module 63 can extract, for example, a metric value characterizing the number of calls per minute, and a metric value characterizing the number of calls per minute, at a given point in time in the past, for example, 3 minutes ago. Then, module 63, using a counter for determining the difference in the values of various metrics at different observation times, calculates the difference value in the extracted metric values and compares the obtained difference value with a set threshold value in accordance with the instruction.
- module 63 sends a command to notification generation module 61 to generate a notification about the detected deviation in the value of said counter, which is then sent to user notification device 70 to notify interested persons about the detected deviation.
- said module 63 may extract metric values for a given time interval and compare each metric value with upper or lower limits of metric values calculated for said time interval to determine the difference values between said values, wherein the determined difference values are recorded by module 63 in a counter to determine the sum of metric values for a given time interval. For example, module 63 may compare metric values characterizing the number of calls per minute for a time interval in the last 5 minutes with lower limits of the values of these metrics. Accordingly, module 63 determines for each minute of the selected interval the difference value between the lower limit and the metric value, updating the counter value by the determined difference value.
- module 63 compares the indicator of said counter with a set threshold value in accordance with the instruction. If the counter value exceeds the set threshold value, for example, the difference exceeds 200 units, then module 63 sends a command to notification generation module 61 to generate a notification about the detected deviation in the value of said counter, which is then sent to user notification device 70 to notify interested persons about the detected deviation.
- module 63 can determine the difference of specified metric values in a specified unit of time. For example, module 63 can determine the difference between the number of calls received by the operator and the bot using a counter, and if this difference is less than a threshold value, for example, less than 50, then module 63 sends a command to notification generation module 61 to generate a notification about the detected deviation, which is then sent to user informing device 70 to notify interested persons about the detected deviation.
- a threshold value for example, less than 50
- module 34 and module 63 may be configured to not send a command to module 61 during a specified time interval. to generate a notification regarding those deviations that had previously been recorded by them but not corrected.
- a device (20) for streaming data transmission comprising: a module (21) for intermediate data storage, a module (22) for managing data for validation and a module (23) for storing data intended for transmission, filtering of data on metrics requiring validation from data not requiring validation is ensured, in connection with which errors that may arise when processing non-validated data by the said system are eliminated. Also, due to the presence of a device (30) for streaming data processing and a device (60) for determining deviations, the reliability in detecting deviations is increased if one of the devices fails.
- the computing device (200) comprises one or more processors (201), memory means such as RAM (202) and ROM (203), input/output interfaces (204), input/output devices (means) (205), and a device (means) for network interaction (206), united by a common information exchange bus.
- processors 201
- memory means such as RAM (202) and ROM (203)
- input/output interfaces 204
- input/output devices means
- 206 device for network interaction
- the processor (201) (or several processors, a multi-core processor, etc.) can be selected from a range of devices that are widely used at present, for example, from manufacturers such as: IntelTM, AMDTM, AppleTM, Samsung ExynosTM, MediaTEKTM, Qualcomm SnapdragonTM, etc.
- the processor or one of the processors used in the device (200) must also include a graphics processor, for example, an NVIDIA GPU with a software model compatible with CUDA, or Graphcore, the type of which is also suitable for the full or partial implementation of the method, and can also be used for training and applying machine learning models in various information systems.
- a graphics processor for example, an NVIDIA GPU with a software model compatible with CUDA, or Graphcore, the type of which is also suitable for the full or partial implementation of the method, and can also be used for training and applying machine learning models in various information systems.
- RAM (202) is a random access memory and is intended for storing machine-readable instructions executable by the processor (201) for performing the necessary operations for logical data processing.
- RAM (202) contains executable instructions of the operating system and the corresponding software components (applications, software modules, etc.). In this case, the available memory capacity of the graphic card or graphic processor can act as RAM (202).
- the ROM (203) represents one or more permanent data storage devices, such as a hard disk drive (HDD), a solid-state drive (SSD), flash memory (EEPROM, NAND, etc.), optical storage media (CD-R/RW, DVD-R/RW, BlueRay Disc, MD), etc.
- I/O interfaces To organize the operation of the components of the device (200) and to organize the operation of external connected devices, various types of I/O interfaces (204) are used. The selection of the corresponding interfaces depends on the specific design of the computing device, which may be, without limitation: PCI, AGP, PS/2, IrDa, FireWire, LPT, COM, SATA, IDE, Lightning, USB (2.0, 3.0, 3.1, micro, mini, type C), TRS/Audio jack (2.5, 3.5, 6.35), HDMI, DVI, VGA, Display Port, RJ45, RS232, etc.
- I/O information means (205) are used, for example, a keyboard, a display (monitor), a touch display, a touchpad, a joystick, a mouse, a light pen, a stylus, a touch panel, a trackball, speakers, a microphone, augmented reality means, optical sensors, a tablet, light indicators, a projector, a camera, biometric identification means (retina scanner, fingerprint scanner, voice recognition module), etc.
- the network interaction means (206) provides data transmission via an internal or external computer network, for example, an Intranet, the Internet, a LAN, etc.
- One or more means (206) may be, but are not limited to: an Ethernet card, a GSM modem, a GPRS modem, an LTE modem, a 5G modem, a satellite communication module, an NFC module, a Bluetooth and/or BLE module, a Wi-Fi module, etc.
- satellite navigation means may also be used as part of the device (200), for example, GPS, GLONASS, BeiDou, Galileo.
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
The technical solution relates to the field of computing, and more particularly to monitoring objects in the form of automated systems (AS) while in operation. An AS monitoring system comprises a data collection device (10) containing a control module (11), a data extraction module (12) for extracting data from a monitored object (1) and a data conversion module (13), a device for streamed data transmission (20), a device for streamed data processing (30), a data storage system (40), a device for detecting deviations (60), and a device for informing and enabling communication among users (70), wherein the device for streamed data transmission comprises: a buffer memory module (21), a module for managing data for validation (22) and a module for storing data to be transmitted (23). The system is directed toward detecting deviations in the operation of an AS at different architectural levels, diagnosing the reason for a detected deviation, as well as informing interested parties about a detected event.
Description
СПОСОБ И СИСТЕМА МОНИТОРИНГА АВТОМАТИЗИРОВАННЫХ СИСТЕМMETHOD AND SYSTEM FOR MONITORING AUTOMATED SYSTEMS
ОБЛАСТЬ ТЕХНИКИ AREA OF TECHNOLOGY
[0001] Представленное техническое решение относится, в общем, к области вычислительной техники, а в частности к способу и системе мониторинга автоматизированных систем (АС), находящихся в эксплуатации, с целью проактивного и реактивного выявления отклонений в их работе на различных уровнях архитектуры (инфраструктура, среда исполнения, уровень приложения), диагностики причины выявленного отклонения, а также оповещения заинтересованных лиц о выявленном событии. [0001] The presented technical solution relates, in general, to the field of computer technology, and in particular to a method and system for monitoring automated systems (AS) in operation, with the aim of proactively and reactively identifying deviations in their operation at various levels of architecture (infrastructure, execution environment, application level), diagnosing the cause of the identified deviation, and notifying interested parties about the identified event.
УРОВЕНЬ ТЕХНИКИ LEVEL OF TECHNOLOGY
[0002] Из уровня техники известны различные системы, предназначенные для мониторинга автоматизированных систем, разработанные компаниями Splunk, Zabbix, Tivoli, Naumen Network Manager, Naumen Business Service. [0002] Various systems designed for monitoring automated systems, developed by the companies Splunk, Zabbix, Tivoli, Naumen Network Manager, Naumen Business Service, are known from the prior art.
[0003] Упомянутые системы, представленные на рынке в настоящий момент, имеют следующую последовательность обработки данных: сбор данных с объекта мониторинга, запись полученной информации в систему хранения, обработка сохраненных данных с целью выявления отклонений. Каждый из этапов обработки данных требует временных затрат, что в свою очередь ведет к увеличению времени выявления отклонения. В отличии от аналогов в заявленном решении система осуществляет обработку данных и поиск отклонений одновременно с записью данных в систему хранения, т.е из процесса обработки исключается этап сохранения данных в базу данных (БД), что в свою очередь сокращает время выявления отклонения, а также сохранит работоспособность системы мониторинга в части выявления отклонений в работе АС и оповещения о выявленных отклонениях соответствующих пользователей в случае выхода из строя БД. В тоже время выход из строя механизма поиска отклонений не влияет на работоспособность системы в целом и позволяет работать с данными мониторинга. [0004] Второй отличительной особенностью заявленного решения является способ взаимодействия пользователя с системой. Помимо традиционных способов (работа с дашбордами, информирование путем отправки почтовых сообщений и смс) в системе реализован механизм получения информации о состоянии объекта мониторинга через мессенджер, что позволяет сократить время на принятие
решения о корректирующих действиях, направленных на восстановление согласованного состояния системы, за счет отсутствия необходимости подключаться к рабочему месту инженерам и другим лицам, принимающим решения. Получение информации осуществляется как путем получения сообщений об отклонениях в работе систем от платформы мониторинга в мессенджер, так и запросом данных мониторинга из интерфейса мессенджера в платформу мониторинга за необходимой информацией. [0003] The above-mentioned systems currently available on the market have the following data processing sequence: collecting data from the monitoring object, recording the received information in the storage system, processing the stored data to identify deviations. Each stage of data processing requires time, which in turn leads to an increase in the time it takes to identify deviations. Unlike its analogues, the system in the claimed solution processes data and searches for deviations simultaneously with recording data in the storage system, i.e. the stage of saving data to the database (DB) is excluded from the processing process, which in turn reduces the time it takes to identify deviations, and also maintains the operability of the monitoring system in terms of identifying deviations in the operation of the AS and notifying the relevant users of the identified deviations in the event of a DB failure. At the same time, the failure of the deviation search mechanism does not affect the operability of the system as a whole and allows you to work with the monitoring data. [0004] The second distinctive feature of the claimed solution is the way the user interacts with the system. In addition to traditional methods (working with dashboards, informing by sending emails and SMS), the system has a mechanism for receiving information about the state of the monitoring object via a messenger, which allows reducing the time for decision-making. decisions on corrective actions aimed at restoring the consistent state of the system, due to the absence of the need for engineers and other decision makers to connect to the workplace. Information is obtained both by receiving messages about deviations in the operation of systems from the monitoring platform to the messenger, and by requesting monitoring data from the messenger interface to the monitoring platform for the necessary information.
[0005] Третьей отличительной особенностью заявленного решения является наличие встроенной системы построения предиктивной модели: базовой линии и границ коридора. Система использует накопленную за последнее время информацию о состоянии объекта мониторинга, что позволяет предсказать поведение АС в конкретно взятое время и заранее выявить негативный тренд в поведении АС до наступления событий, которые могут привести к отклонению. [0005] The third distinctive feature of the declared solution is the presence of a built-in system for constructing a predictive model: a baseline and corridor boundaries. The system uses information accumulated recently about the state of the monitoring object, which allows predicting the behavior of the AS at a specific time and identifying in advance a negative trend in the behavior of the AS before the occurrence of events that may lead to a deviation.
[0006] Большинство систем мониторинга направлены на работу с определенным технологическим слоем, например, с серверной или сетевой инфраструктурой. В заявленном решении система собирает информацию со всех доступных технологических слоев, в том числе за счет существующих коннекторов к другим системам мониторинга. Таким образом, реализуется возможность построения многоуровнего мониторинга в едином месте, что дает возможность сократить время на диагностику корневой причины отклонения в работе системы. [0006] Most monitoring systems are designed to work with a specific technological layer, such as a server or network infrastructure. In the proposed solution, the system collects information from all available technological layers, including through existing connectors to other monitoring systems. Thus, the possibility of building multi-level monitoring in a single place is realized, which makes it possible to reduce the time for diagnosing the root cause of a deviation in the system's operation.
[0007] Ключевым механизмом любой системы мониторинга является алертинг (выявление отклонений и информирование о них). Качество алертинга определяет качество мониторинга, однако известные нам системы мониторинга не содержат механизмов оценки качества алертинга. В заявленном решении система содержит в себе функционал, позволяющий оценивать каждое событие с точки зрения его соответствия реальному состоянию системы. Оценка качества осуществляется получателями алертов через специализированный интерфейс. По обратной связи в системе есть возможность на основе реализованной отчетности определить и откорректировать события, с плохой статистикой срабатывания. [0007] The key mechanism of any monitoring system is alerting (detection of deviations and notification of them). The quality of alerting determines the quality of monitoring, but the monitoring systems known to us do not contain mechanisms for assessing the quality of alerting. In the declared solution, the system contains functionality that allows assessing each event from the point of view of its compliance with the real state of the system. The quality assessment is carried out by alert recipients through a specialized interface. According to the feedback in the system, it is possible to determine and correct events with poor response statistics based on the implemented reporting.
РАСКРЫТИЕ ИЗОБРЕТЕНИЯ DISCLOSURE OF INVENTION
[0008] Технической проблемой или задачей, поставленной в данном техническом решении, является создание нового эффективной, простой и надежной системы мониторинга АС.
[0009] Техническим результатом является повышение надежности системы мониторинга АС. [0008] The technical problem or task set in this technical solution is the creation of a new, effective, simple and reliable system for monitoring the AC. [0009] The technical result is to increase the reliability of the AS monitoring system.
[0010] Указанный технический результат достигается благодаря созданию системы (100) мониторинга АС, содержащей: [0010] The specified technical result is achieved by creating a system (100) for monitoring the AS, containing:
- устройство (10) сбора данных, содержащее: модуль (11) управления, модуль (12) извлечения данных из объекта (1) мониторинга и модуль (13) преобразования данных; - a data collection device (10) comprising: a control module (11), a module (12) for extracting data from the monitoring object (1), and a data conversion module (13);
- устройство (20) потоковой передачи данных, содержащее: модуль (21) памяти промежуточного хранения данных, модуль (22) управления данными для валидации, и модуль (23) хранения данных, предназначенных для передачи; - a device (20) for streaming data transmission, comprising: a module (21) for intermediate data storage memory, a module (22) for managing data for validation, and a module (23) for storing data intended for transmission;
- устройство (30) потоковой обработки данных, содержащее: модуль (31) управления валидацией, модуль (32) хранения правил определения отклонений, модуль (33) хранения правил валидации и модуль (34) определения отклонений; - a device (30) for streaming data processing, comprising: a validation control module (31), a module (32) for storing deviation rules, a module (33) for storing validation rules, and a module (34) for determining deviations;
- систему (40) хранения данных, содержащая: модуль (41) памяти для хранения данных о метриках и модуль (42) памяти для хранения спрогнозированных данных; - a data storage system (40) comprising: a memory module (41) for storing metric data and a memory module (42) for storing predicted data;
- устройство (50) прогнозирования; - forecasting device (50);
- устройство (60) определения отклонений, содержащее: модуль (61) формирования уведомлений, модуль (62) управления правилами определения отклонений и модуль (63) определения отклонений; - a device (60) for determining deviations, comprising: a module (61) for generating notifications, a module (62) for managing deviation determination rules, and a module (63) for determining deviations;
- устройство (70) информирования пользователей; причем модуль (11) управления соединен с модулем (12) извлечения данных, модуль (12) извлечения данных соединен с объектом мониторинга и модулем (13) преобразования данных, модуль (21) памяти промежуточного хранения данных соединен с модулем (13) преобразования данных и модулем (22) управления данными для валидации, модуль (22) управления данными для валидации соединен с модулем (31) управления валидацией и модулем (23) хранения данных, модуль (31) управления валидацией соединен с модулем (33) хранения правил валидации и модулем (23) хранения данных, модуль (23) соединен с модулем (34) определения отклонений и модулем (41) памяти для хранения данных о метриках, модуль (34) определения отклонений соединен с модулем (32) хранения правил определения отклонений и модулем (61) формирования уведомлений, модуль (62) управления правилами определения отклонений соединен с модулем (32) хранения правил определения отклонений, модуль (63) определения отклонений соединен с модулем (41) памяти для хранения данных о метриках, модулем (42)
памяти для хранения спрогнозированных данных, модулем (62) управления правилами определения отклонений и модулем (61) формирования уведомлений, модуль (61) формирования уведомлений соединен с устройством (70) информирования пользователей. - device (70) for informing users; wherein the control module (11) is connected to the data extraction module (12), the data extraction module (12) is connected to the monitoring object and the data conversion module (13), the intermediate data storage memory module (21) is connected to the data conversion module (13) and the validation data management module (22), the validation data management module (22) is connected to the validation control module (31) and the data storage module (23), the validation control module (31) is connected to the validation rule storage module (33) and the data storage module (23), the module (23) is connected to the deviation detection module (34) and the metric data storage memory module (41), the deviation detection module (34) is connected to the deviation detection rule storage module (32) and the notification generation module (61), the deviation detection rule management module (62) is connected to the deviation detection rule storage module (32), the deviation detection module (63) is connected to module (41) of memory for storing data on metrics, module (42) memory for storing predicted data, a module (62) for controlling deviation determination rules and a module (61) for generating notifications, the module (61) for generating notifications is connected to a device (70) for informing users.
[0011] В одном из частных примеров осуществления системы устройство (20) потоковой передачи данных дополнительно содержит модуль (24) хранения данных, соединенный с объектом 1 мониторинга и модулем (12) извлечения данных. [0011] In one particular example of the implementation of the system, the data streaming device (20) additionally comprises a data storage module (24) connected to the monitoring object 1 and the data extraction module (12).
[0012] В другом частном примере осуществления системы устройство (50) прогнозирования содержит соединенные между собой: модуль (51) управления, модуль (52) обработки данных, модуль (53) памяти, предназначенной для оперативной работы с данными, и модель (54) машинного обучения; причем модуль (52) обработки данных соединен с модулем (41) памяти для хранения данных о метриках и модулем (42) памяти для хранения спрогнозированных данных. [0012] In another particular example of the implementation of the system, the forecasting device (50) comprises a control module (51), a data processing module (52), a memory module (53) intended for operational work with data, and a machine learning model (54), connected to each other; wherein the data processing module (52) is connected to a memory module (41) for storing data on metrics and a memory module (42) for storing predicted data.
[0013] В другом частном примере осуществления системы она дополнительно содержит модуль (43) визуализации данных, соединенный с модулем (41) памяти для хранения данных о метриках, модулем (42) памяти для хранения спрогнозированных данных и модулем (61) формирования уведомлений. [0013] In another particular example of the implementation of the system, it additionally comprises a data visualization module (43) connected to a memory module (41) for storing metric data, a memory module (42) for storing predicted data and a notification generation module (61).
[0014] В другом частном примере осуществления системы модуль (63) определения отклонений оснащен счетчиками для определения количества отклонений за заданный период времени, для определения разности значений различных метрик в единицу времени, для определения разности значений метрии в разное время наблюдения, для определения суммы значений метрики за определенный интервал времени. [0014] In another particular example of the implementation of the system, the deviation determination module (63) is equipped with counters for determining the number of deviations over a given period of time, for determining the difference in the values of various metrics per unit of time, for determining the difference in the metric values at different observation times, for determining the sum of the metric values over a certain time interval.
[0015] В другом частном примере осуществления системы устройство (20) потоковой передачи данных дополнительно содержит область памяти, предназначенную для хранения данных о метриках, непрошедших процедуру валидации. [0015] In another particular example of the implementation of the system, the data streaming device (20) additionally comprises a memory area intended for storing data on metrics that have not passed the validation procedure.
[0016] В другом предпочтительном варианте осуществления заявленного решения представлен способ автоматического мониторинга АС, выполняемый модулем (63) определения отклонений, содержащий этапы, на которых: [0016] In another preferred embodiment of the claimed solution, a method for automatically monitoring an AS is presented, performed by a deviation detection module (63), comprising the steps of:
- получают инструкции для определения отклонений;
- извлекают из памяти, согласно упомянутым инструкциям, данные о метриках за заданный промежуток времени; - receive instructions for identifying deviations; - retrieve from memory, in accordance with the mentioned instructions, data on metrics for a specified period of time;
- извлекают из памяти, согласно упомянутым инструкциям, верхние и нижние границы значений метрик, определенные для упомянутых метрик; - extract from memory, in accordance with the said instructions, the upper and lower boundaries of the metric values determined for the said metrics;
- сравнивают каждое значение метрики с упомянутыми границами значений метрик, причем если значение метрики выходит за упомянутые границы значений, то модуль (63) увеличивает показатель счетчика на 1 ; - compare each metric value with the mentioned metric value boundaries, and if the metric value goes beyond the mentioned value boundaries, then module (63) increases the counter value by 1;
- после сравнения всех значений метрик с упомянутыми границами значений метрик извлекают показатель счетчика и сравнивают его с пороговым значением счетчика, заданным в инструкции, причем если показатель счетчика превышает или соответствует заданному пороговому значению счетчика, то формируют в модуль (61) формирования уведомлений команду для формирования уведомления о выявленном отклонении в значении метрики. - after comparing all metric values with the said metric value limits, the counter value is extracted and compared with the counter threshold value specified in the instruction, and if the counter value exceeds or corresponds to the specified counter threshold value, then a command is generated in the notification generation module (61) for generating a notification about the detected deviation in the metric value.
[0017] В одном из частных примеров осуществления способа дополнительно выполняют этап фиксации наличия отклонения в данных о метриках. [0017] In one of the particular examples of implementing the method, an additional step of recording the presence of a deviation in the metric data is performed.
[0018] В другом частном примере осуществления способа дополнительно выполняют этапы, на которых: [0018] In another particular example of implementing the method, additional steps are performed in which:
- извлекают из памяти, согласно упомянутым инструкциям, данные о метриках за следующий промежуток времени; - retrieve from memory, in accordance with the mentioned instructions, data on metrics for the next period of time;
- извлекают из памяти, согласно упомянутым инструкциям, верхние и нижние границы значений метрик, определенные для упомянутых метрик; - extract from memory, in accordance with the said instructions, the upper and lower boundaries of the metric values determined for the said metrics;
- сравнивают каждое значение метрики с упомянутыми границами значений метрик, причем если значение метрики выходит за упомянутые границы значений, то модуль (63) увеличивает показатель счетчика на 1 ; - compare each metric value with the mentioned metric value boundaries, and if the metric value goes beyond the mentioned value boundaries, then module (63) increases the counter value by 1;
- после сравнения всех значений метрик с упомянутыми границами значений метрик извлекают показатель счетчика и сравнивают его с пороговым значением счетчика, заданным в инструкции, причем если показатель счетчика не превышает заданное пороговое значение счетчика, то фиксируют устранение отклонения и формируют в модуль (61) формирования уведомлений команду для формирования уведомления о устранении отклонения в значении метрики. - after comparing all metric values with the said metric value limits, the counter value is extracted and compared with the counter threshold value specified in the instruction, and if the counter value does not exceed the specified counter threshold value, then the elimination of the deviation is recorded and a command is generated in the notification generation module (61) for generating a notification about the elimination of the deviation in the metric value.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ BRIEF DESCRIPTION OF DRAWINGS
[0019] Признаки и преимущества настоящего технического решения станут очевидными из приводимого ниже подробного описания изобретения и прилагаемых чертежей, на которых:
[0020] на Фиг. 1 представлена общая схема диагностики АС. [0019] The features and advantages of the present technical solution will become apparent from the following detailed description of the invention and the accompanying drawings, in which: [0020] Fig. 1 shows a general diagram of the diagnostics of the AS.
[0021] на Фиг. 2 представлен пример общего вида вычислительного устройства. [0021] Fig. 2 shows an example of a general view of a computing device.
ОСУЩЕСТВЛЕНИЕ ИЗОБРЕТЕНИЯ IMPLEMENTATION OF THE INVENTION
[0022] Ниже будут описаны понятия и термины, необходимые для понимания данного технического решения. [0022] Below, the concepts and terms necessary for understanding this technical solution will be described.
[0023] В данном техническом решении под системой подразумевается, в том числе компьютерная система, ЭВМ (электронно-вычислительная машина), ЧПУ (числовое программное управление), ПЛК (программируемый логический контроллер), компьютеризированные системы управления и любые другие устройства, способные выполнять заданную, четко определенную последовательность операций (действий, инструкций). [0023] In this technical solution, the term “system” means, among other things, a computer system, a computer (electronic computer), a CNC (computer numerical control), a PLC (programmable logic controller), computerized control systems and any other devices capable of performing a given, clearly defined sequence of operations (actions, instructions).
[0024] Под устройством обработки команд подразумевается электронный блок, вычислительное устройство, либо интегральная схема (микропроцессор), исполняющая машинные инструкции (программы). [0024] A command processing unit is an electronic unit, computing device, or integrated circuit (microprocessor) that executes machine instructions (programs).
[0025] Устройство обработки команд считывает и выполняет машинные инструкции (программы) с одного или более устройств хранения данных. В роли устройства хранения данных могут выступать, но не ограничиваясь, жесткие диски (HDD), флеш-память, ПЗУ (постоянное запоминающее устройство), твердотельные накопители (SSD), оптические приводы. [0025] The command processing unit reads and executes machine instructions (programs) from one or more data storage devices. The data storage devices may include, but are not limited to, hard disk drives (HDD), flash memory, ROM (read-only memory), solid state drives (SSD), and optical drives.
[0026] Программа - последовательность инструкций, предназначенных для исполнения устройством управления вычислительной машины или устройством обработки команд. [0026] A program is a sequence of instructions intended for execution by a computer control unit or command processing device.
[0027] База данных (БД) - совокупность данных, организованных в соответствии с концептуальной структурой, описывающей характеристики этих данных и взаимоотношения между ними, причем такое собрание данных, которое поддерживает одну или более областей применения (ISO/IEC 2382:2015, 2121423 «database»). [0027] A database (DB) is a collection of data organized according to a conceptual structure that describes the characteristics of the data and the relationships between them, and such a collection of data supports one or more application areas (ISO/IEC 2382:2015, 2121423 “database”).
[0028] Сигнал — материальное воплощение сообщения для использования при передаче, переработке и хранении информации. [0028] A signal is a material embodiment of a message for use in transmitting, processing and storing information.
[0029] Логический элемент — элемент, осуществляющий определенные логические зависимости между входными и выходными сигналами. Логические элементы обычно используются для построения логических схем вычислительных машин, дискретных схем автоматического контроля и управления. Для всех видов
логических элементов, независимо от их физической природы, характерны дискретные значения входных и выходных сигналов. [0029] A logic element is an element that implements certain logical dependencies between input and output signals. Logical elements are usually used to construct logical circuits of computers, discrete circuits of automatic control and management. For all types Logical elements, regardless of their physical nature, are characterized by discrete values of input and output signals.
[0030] В соответствии со схемой, приведенной на Фиг. 1 , система 100 мониторинга АС содержит: устройство 10 сбора данных, устройство 20 потоковой передачи данных, устройство 30 потоковой обработки данных, систему 40 хранения данных, устройство 50 прогнозирования, устройство 60 определения отклонений и устройство 70 информирования пользователей. [0030] According to the diagram shown in Fig. 1, the AC monitoring system 100 comprises: a data collection device 10, a data streaming device 20, a data streaming processing device 30, a data storage system 40, a prediction device 50, a deviation detection device 60, and a user information device 70.
[0031] Устройство 10 сбора данных может быть реализовано на базе по меньшей мере одного вычислительного устройства и содержать: модуль 11 управления, модуль 12 извлечения данных из объекта 1 мониторинга и модуль 13 преобразования данных с функцией буферизации. Упомянутые модули могут быть реализованы с использованием логических элементов на транзисторах, например, «И», «ИЛИ», «НЕ», «И-НЕ», «ИЛИ-HE» и пр., размещенных на печатной плате широко известным методом для обеспечения передачи между упомянутыми модулями сигналов, содержащих данные, а также для обеспечения обработки полученных данных. Для обеспечения возможности обработки данных из различных источников может быть реализовано два и более устройства 10, либо устройство 10 может быть сконфигурировано таким образом, чтобы одновременно обрабатывать данные из нескольких источников данных. Также для обеспечения дополнительной надежности может быть реализован кластер из двух и более устройств 10 (для каждого вида устройства), расположенных в различных центрах обработки данных. [0031] The data collection device 10 can be implemented on the basis of at least one computing device and contain: a control module 11, a module 12 for extracting data from the monitoring object 1, and a data conversion module 13 with a buffering function. The said modules can be implemented using logical elements on transistors, for example, "AND", "OR", "NOT", "AND-NOT", "OR-HE", etc., placed on a printed circuit board using a well-known method to ensure the transmission of signals containing data between the said modules, as well as to ensure the processing of the received data. To ensure the possibility of processing data from various sources, two or more devices 10 can be implemented, or the device 10 can be configured in such a way as to simultaneously process data from several data sources. Also, to ensure additional reliability, a cluster of two or more devices 10 (for each type of device) located in different data processing centers can be implemented.
[0032] Устройство 20 потоковой передачи данных может быть реализовано на базе по меньшей мере одного вычислительного устройства и содержать: модуль 21 памяти промежуточного хранения данных, модуль 22 управления данными для валидации, модуль 23 хранения данных, предназначенных для передачи, и модуль 24 хранения данных, полученных от объекта 1 мониторинга. Упомянутые модули могут быть реализованы с использованием логических элементов на транзисторах, например, «И», «ИЛИ», «НЕ», «И-НЕ», «ИЛИ-HE» и пр., размещенных на печатной плате широко известным методом для обеспечения передачи между упомянутыми модулями сигналов, содержащих данные, а также для обеспечения обработки полученных данных. Также для обеспечения дополнительной надежности может быть реализован кластер из двух и более устройств 20, расположенных в различных центрах обработки данных.
[0033] Устройство 30 потоковой обработки данных может быть реализовано на базе по меньшей мере одного вычислительного устройства и содержать: модуль 31 управления валидацией, модуль 32 хранения правил определения отклонений, модуль 33 хранения правил валидации и модуль 34 определения отклонений. Упомянутые модули могут быть реализованы с использованием логических элементов на транзисторах, например, «И», «ИЛИ», «НЕ», «И-НЕ», «ИЛИ-HE» и пр., размещенных на печатной плате широко известным методом для обеспечения передачи между упомянутыми модулями сигналов, содержащих данные, а также для обеспечения обработки полученных данных. Для обеспечения дополнительной надежности может быть реализован кластер из двух и более устройств 30, расположенных в различных центрах обработки данных. [0032] The data streaming device 20 can be implemented on the basis of at least one computing device and contain: a module 21 for intermediate data storage, a module 22 for managing data for validation, a module 23 for storing data intended for transmission, and a module 24 for storing data received from the monitoring object 1. The mentioned modules can be implemented using logical elements on transistors, for example, "AND", "OR", "NOT", "AND-NOT", "OR-HE", etc., placed on a printed circuit board using a well-known method to ensure the transmission of signals containing data between the mentioned modules, as well as to ensure the processing of the received data. Also, to ensure additional reliability, a cluster of two or more devices 20 located in different data processing centers can be implemented. [0033] The data stream processing device 30 can be implemented on the basis of at least one computing device and contain: a validation control module 31, a deviation determination rule storage module 32, a validation rule storage module 33 and a deviation determination module 34. The mentioned modules can be implemented using logical elements on transistors, for example, "AND", "OR", "NOT", "AND-NOT", "OR-HE", etc., placed on a printed circuit board using a well-known method to ensure the transmission of signals containing data between the mentioned modules, as well as to ensure the processing of the received data. To ensure additional reliability, a cluster of two or more devices 30 located in different data processing centers can be implemented.
[0034] Система 40 хранения данных может быть реализована на базе по меньшей мере одной БД и содержать: модуль 41 памяти для хранения данных о метриках и модуль 42 памяти для хранения спрогнозированных данных. Указанные модули могут быть реализованы на базе устройства постоянного хранения данных, например, жесткий диск (HDD), твердотельный накопитель данных (SSD), флэш- память (EEPROM, NAND и т.п.), оптические носители информации (CD-R/RW, DVD- R/RW, BlueRay Disc, MD) и др. Дополнительно система 40 хранения данных может быть оснащена модулем 43 визуализации данных, реализованным на базе вычисленного устройства с использованием логических элементов на транзисторах, предназначенным для извлечения данных о метриках и спрогнозированных данных и отображения их пользователям системы 100 мониторинга АС. В альтернативном варианте реализации представленного решения упомянутый модуль 43 может быть самостоятельным устройством, т.е. внешним по отношению системе 40. Также упомянутое устройство 43 может быть оснащено техническими средствами, например, ЖК-панелями, для отображения информации, например, сохраненной в системе 40 хранения данных, в реальном времени. [0034] The data storage system 40 can be implemented on the basis of at least one DB and contain: a memory module 41 for storing metric data and a memory module 42 for storing predicted data. The said modules can be implemented on the basis of a permanent data storage device, for example, a hard disk (HDD), a solid-state drive (SSD), flash memory (EEPROM, NAND, etc.), optical storage media (CD-R/RW, DVD-R/RW, BlueRay Disc, MD), etc. Additionally, the data storage system 40 can be equipped with a data visualization module 43, implemented on the basis of a computing device using transistor logic elements, intended for extracting metric data and predicted data and displaying them to users of the AS monitoring system 100. In an alternative embodiment of the presented solution, the mentioned module 43 can be an independent device, i.e. external in relation to the system 40. Also, the mentioned device 43 can be equipped with technical means, for example, LCD panels, for displaying information, for example, stored in the data storage system 40, in real time.
[0035] Для обеспечения надежности может быть реализован кластер из двух и более систем 40, расположенных в различных центрах обработки данных. Дополнительно в каждом центре обработки данных может быть реализована копия системы 40, содержащая данные системы 40, расположенной в другом центре обработки данных. [0035] To ensure reliability, a cluster of two or more systems 40 located in different data processing centers can be implemented. Additionally, in each data processing center, a copy of the system 40 can be implemented, containing data of the system 40 located in another data processing center.
[0036] Устройство 50 прогнозирования может быть реализовано на базе по меньшей мере одного вычислительного устройства и содержать: модуль 51
управления, модуль 52 обработки данных, модуль 53 памяти, предназначенной для оперативной работы с данными, и модель 54 машинного обучения. Упомянутые модули могут быть реализованы с использованием логических элементов на транзисторах, например, «И», «ИЛИ», «НЕ», «И-НЕ», «ИЛИ-HE» и пр., размещенных на печатной плате широко известным методом для обеспечения передачи между упомянутыми модулями сигналов, содержащих данные, а также для обеспечения обработки полученных данных. [0036] The prediction device 50 may be implemented on the basis of at least one computing device and comprise: a module 51 control, a data processing module 52, a memory module 53 intended for operational work with data, and a machine learning model 54. The said modules can be implemented using logical elements on transistors, for example, "AND", "OR", "NOT", "AND-NOT", "OR-HE", etc., placed on a printed circuit board using a well-known method to ensure the transmission of signals containing data between the said modules, as well as to ensure the processing of the received data.
[0037] Устройство 60 определения отклонений может быть реализовано на базе по меньшей мере одного вычислительного устройства и содержать: модуль 61 формирования уведомлений, модуль 62 управления правилами определения отклонений и модуль 63 определения отклонений. Упомянутые модули могут быть реализованы с использованием логических элементов на транзисторах, например, «И», «ИЛИ», «НЕ», «И-НЕ», «ИЛИ-HE» и пр., размещенных на печатной плате широко известным методом для обеспечения передачи между упомянутыми модулями сигналов, содержащих данные, а также для обеспечения обработки полученных данных. Для обеспечения дополнительной надежности может быть реализован кластер из двух и более устройств 60, расположенных в различных центрах обработки данных. [0037] The deviation detection device 60 can be implemented on the basis of at least one computing device and contain: a notification generation module 61, a deviation detection rule control module 62 and a deviation detection module 63. The mentioned modules can be implemented using logical elements on transistors, for example, "AND", "OR", "NOT", "AND-NOT", "OR-HE", etc., placed on a printed circuit board using a well-known method to ensure the transmission of signals containing data between the mentioned modules, as well as to ensure the processing of the received data. To ensure additional reliability, a cluster of two or more devices 60 located in different data processing centers can be implemented.
[0038] Устройство 70 информирования пользователей может быть реализовано на базе по меньшей мере одного вычислительного устройства, выполненного в программно-аппаратной части таким образом, чтобы обеспечить передачу сообщения о выявленном отклонении, либо об устранении отклонении в устройства пользователей системы 100 мониторинга АС. Также упомянутое устройство 70 может быть оснащено техническими средствами, например, ЖК-панелями, для отображения информации, например, сохраненной в системе 40 хранения данных в реальном времени. [0038] The user informing device 70 can be implemented on the basis of at least one computing device, implemented in the software and hardware part in such a way as to ensure the transmission of a message about the detected deviation, or about the elimination of the deviation to the devices of the users of the AS monitoring system 100. Also, the mentioned device 70 can be equipped with technical means, for example, LCD panels, for displaying information, for example, stored in the data storage system 40 in real time.
[0039] В качестве автоматизированной системы (АС), мониторинг которой осуществляется упомянутой системой мониторинга АС, может быть любая система, предназначенная для автоматизации процессов производственной деятельности. Каждая АС оснащается объектом 1 мониторинга, под которым далее по тексту понимается информационная система, либо ее подсистема или отдельный компонент, предназначенным для сбора и хранения данных о метриках, которые могут быть представлены, например, в виде числовой характеристики, по величие которой можно судить о состоянии АС или процессах, протекающих в АС.
[0040] Например, объект 1 мониторинга может быть размещен в системе телефонии, а в качестве метрики может служить количество входящих или исходящих звонков за заданное единицу времени. Резкое снижение или увеличение количества звонков может говорить о потенциальных проблемах в работе АС. Данные о метриках могут быть собраны широко известными способами в ручном или автоматизированном режиме и сохранены в объекте 1 мониторинга. [0041] Соответственно, в зависимости от заданного разработчиком модуля 11 управления режимом работы упомянутый модуль 11 формирует команду на подключение к объекту 1 мониторинга для извлечения данных о метриках за заданный разработчиком временной интервал, преимущественно извлекаются данные о текущем состоянии объекте мониторинга, т.е. значение метрик в момент извлечения, либо за последнюю минуту. Сформированная команда направляется упомянутым модулем 11 в модуль 12 извлечения данных, который посредством проводной или беспроводной связи осуществляет подключение к объекту 1 мониторинга и направляет запрос данных о метриках за заданный временной интервал к объекту 1 мониторинга для извлечения данных о метриках из памяти упомянутого объекта 1. Данные о метриках могут содержать идентификатор (ID) АС или ID объекта мониторинга, список ID метрик, значения метрик и значения временного интервала, характеризующие время получения метрик объектом 1 мониторинга. [0039] Any system intended for automation of production processes may be used as an automated system (AS) monitored by the said AS monitoring system. Each AS is equipped with a monitoring object 1, which is hereinafter referred to as an information system, or its subsystem or separate component, intended for collecting and storing data on metrics that may be presented, for example, in the form of a numerical characteristic, the value of which can be used to judge the state of the AS or the processes occurring in the AS. [0040] For example, the monitoring object 1 can be placed in a telephony system, and the metric can be the number of incoming or outgoing calls for a given unit of time. A sharp decrease or increase in the number of calls can indicate potential problems in the operation of the AS. Data on metrics can be collected by widely known methods in manual or automated mode and stored in the monitoring object 1. [0041] Accordingly, depending on the operating mode control module 11 specified by the developer, said module 11 generates a command to connect to the monitoring object 1 to extract data on metrics for a time interval specified by the developer, mainly data on the current state of the monitoring object are extracted, i.e. the value of metrics at the time of extraction, or for the last minute. The generated command is sent by the mentioned module 11 to the data extraction module 12, which, via wired or wireless communication, connects to the monitoring object 1 and sends a request for data on metrics for a specified time interval to the monitoring object 1 to extract data on metrics from the memory of the mentioned object 1. The data on metrics may contain an identifier (ID) of the AS or an ID of the monitoring object, a list of ID metrics, metric values and time interval values characterizing the time of receipt of metrics by the monitoring object 1.
[0042] Извлеченные данные о метриках, например, в виде пакета данных, направляются упомянутым модулем 12 в модуль 13 преобразования данных, который преобразует данные к заданному разработчиком модуля 13 формату, в частности пригодному для обработки на следующих этапах, а также расчета агрегатов. Например, в упомянутый модуль 13 могут поступить данные о метриках, характеризующие перечень всех звонков, которые поступили за прошедшую минуту, где ID метрики будет указывать на то, что метрика является метрикой звонка, а значение метрики может характеризовать длительность звонка. На основе полученных данных о метриках, в частности перечня всех звонков, модуль 13 может определить количество поступивших звонков за прошедшую минуту, после чего упомянутое количество может быть включено в данные о метриках в виде дополнительной метрики. Дополнительно в рамках упомянутого преобразования данных из полученных данных о метриках могут быть удалены лишние атрибуты, например, характеризующие тематики звонков, либо, наоборот, все входящие звонки могут быть сгруппированы по тематикам и переданы на
дальнейшие этапы в виде отдельных метрик - числа звонков по конкретным тематикам за прошедшую минуту. [0042] The extracted metric data, for example, in the form of a data packet, is sent by said module 12 to a data conversion module 13, which converts the data to a format specified by the developer of module 13, in particular suitable for processing at subsequent stages, as well as for calculating aggregates. For example, said module 13 may receive metric data characterizing a list of all calls that have been received over the past minute, where the metric ID will indicate that the metric is a call metric, and the metric value may characterize the duration of the call. Based on the received metric data, in particular the list of all calls, module 13 may determine the number of calls received over the past minute, after which said number may be included in the metric data as an additional metric. Additionally, as part of the above-mentioned data transformation, unnecessary attributes can be removed from the received metric data, for example, those characterizing the topics of calls, or, conversely, all incoming calls can be grouped by topics and transferred to further stages in the form of individual metrics - the number of calls on specific topics over the past minute.
[0043] В альтернативном варианте реализации представленного решения данные о метриках могут быть извлечены модулем 12 извлечения данных из модуля 24 хранения данных, полученных от объекта 1 мониторинга. Загрузка данных о метриках в модуль 24 может быть выполнена объектом 1 мониторинга в соответствии с заложенным в его память программным алгоритмом. [0043] In an alternative embodiment of the presented solution, the metric data may be extracted by the data extraction module 12 from the data storage module 24 received from the monitoring object 1. The loading of the metric data into the module 24 may be performed by the monitoring object 1 in accordance with a software algorithm stored in its memory.
[0044] Преобразованные данные о метриках модулем 13 преобразования данных записываются в модуль 21 памяти промежуточного хранения данных устройства 20 потоковой передачи данных, в котором данные о метриках хранятся заданный интервал времени, после чего упомянутые данные удаляются. Команда на удаление данных может быть получена упомянутым модулем 21 , например, от соответствующего контроллера, которым модуль 21 может быть оснащен, выполненного с возможностью назначения записанным данным временной метки, указывающей на время, когда они были записаны, и удаления данных, записанных в модуле 21 , после истечения заданного, например, разработчиком модуля 21 , интервала времени. Например, команда на удаление данных может указывать на то, что из модуля 21 необходимо удалить все данные, временная метка которых указывает на то, что с момента сохранения этих данных прошло 6 часов. В альтернативном варианте реализации представленного решения команда на удаление данных упомянутым контроллером может поступать при достижении модулем 21 заданного лимита объема данных. [0044] The converted metric data is recorded by the data conversion module 13 in the intermediate data storage memory module 21 of the data streaming device 20, in which the metric data is stored for a specified time interval, after which the said data is deleted. The command to delete the data can be received by the said module 21, for example, from a corresponding controller, with which the module 21 can be equipped, configured to assign a time stamp to the recorded data indicating the time when they were recorded, and to delete the data recorded in the module 21 after the expiration of a time interval specified, for example, by the developer of the module 21 . For example, the command to delete the data can indicate that it is necessary to delete from the module 21 all data, the time stamp of which indicates that 6 hours have passed since the storage of this data. In an alternative embodiment of the presented solution, the command to delete the data by the said controller can be received when the module 21 reaches a specified data volume limit.
[0045] Далее посредством модуля 22 управления данными определяются данные о метриках, в отношении которых необходимо провести процесс валидации данных о метриках, причем список данных о метриках (например, список ID АС или объектов мониторинга), валидацию которых необходимо выполнить, может быть задан разработчиком упомянутого модуля 22, либо получен от модуля 31 управления валидацией. Для определения необходимости проведения валидации данных о метриках упомянутый модуль 22 сравнивает сохраненные в модуле 21 данные о метриках с упомянутым списком данных о метриках, например, ID АС или объекта мониторинга - со списком ID АС или объектов мониторинга, и если модуль 22 определил, что данные о метриках требуют валидации (например, ID АС или объекта мониторинга содержатся в списке ID АС или объектов мониторинга), то модуль 22 извлекает данные о метриках из модуля 21 и направляет их в модуль 31 управления валидацией. Если модуль 22 определил, что данные о метриках не
требуют валидации (например, ID АС или объекта мониторинга не содержатся в списке ID АС или объектов мониторинга), то модуль 22 извлекает данные о метриках из модуля 21 и направляет их в модуль 23 хранения данных, предназначенных для передачи. [0045] Next, the data on metrics, in relation to which it is necessary to carry out the process of validation of the data on metrics, are determined by means of the data management module 22, wherein the list of data on metrics (for example, the list of IDs of the AS or monitoring objects), the validation of which must be performed, can be specified by the developer of said module 22, or received from the validation management module 31. In order to determine the need to perform validation of the data on metrics, said module 22 compares the data on metrics stored in the module 21 with said list of data on metrics, for example, the ID of the AS or monitoring object - with the list of IDs of the AS or monitoring objects, and if the module 22 has determined that the data on metrics require validation (for example, the ID of the AS or monitoring object is contained in the list of IDs of the AS or monitoring objects), then the module 22 extracts the data on metrics from the module 21 and sends them to the validation management module 31. If module 22 has determined that the metric data is not require validation (for example, the AS or monitoring object ID is not contained in the list of AS or monitoring object IDs), then module 22 extracts the metric data from module 21 and sends it to module 23 for storing data intended for transmission.
[0046] При получении модулем 31 управления валидацией данных о метриках упомянутый модуль проверят их на соответствие установленным требованиям. Для определения установленных требований для данных о метриках упомянутый модуль 31 обращается к модулю 32 хранения правил валидации, в который упомянутые требования могут быть занесены разработчиком модуля или его оператором. Например, в рамках валидации модулем 31 могут быть валидированы следующие атрибуты метрик каждой записи, содержащиеся в данных о метриках:[0046] When the validation control module 31 receives the metric data, said module checks it for compliance with the established requirements. In order to determine the established requirements for the metric data, said module 31 refers to the validation rule storage module 32, into which said requirements can be entered by the module developer or its operator. For example, as part of the validation, the following attributes of the metrics of each record contained in the metric data can be validated by the module 31:
- ID метрики (например, имя); - Metric ID (eg name);
- Временная метка создания\получения метрики; - Timestamp of creation/receipt of metric;
- Значение метрики; - The value of the metric;
- Наименование источника метрики; - Name of the metric source;
- Идентификатор объекта мониторинга (наименование автоматизированной системы); - Monitoring object identifier (name of the automated system);
- И другие - And others
[0047] Реализованный в модуле 31 валидатор метрик сконфигурирован для проведения проверки как каждого поля всех записей, содержащихся в данных о метриках, по отдельности, так и для проверки заданных разработчиком полей, например, проверки наличия значения метрики в поле «Значение метрики» (т.е. поле не пустое) и проверки того, что «Идентификатор объекта мониторинга» входит в множество допустимых значений. Справочник допустимых значений идентификаторов объектов 1 мониторинга может храниться в памяти модуля 32. [0047] The metric validator implemented in module 31 is configured to perform a check of each field of all records contained in the metric data individually, as well as to check the fields specified by the developer, for example, checking for the presence of a metric value in the "Metric Value" field (i.e., the field is not empty) and checking that the "Monitoring Object Identifier" is included in the set of acceptable values. The directory of acceptable values of identifiers of monitoring objects 1 can be stored in the memory of module 32.
[0048] В частности, для каждого поля в записи модулем 31 могут быть выполнены следующие проверки: [0048] In particular, for each field in the record, the following checks may be performed by module 31:
- Проверка на соответствие значения регулярному выражению; - Checking whether a value matches a regular expression;
- Ненулевое значение (для любого типа поля); - Non-zero value (for any field type);
- Соответствие значения атрибута одному из значений в заданном справочнике или перечислении. - Matching the attribute value to one of the values in the specified reference book or enumeration.
[0049] Например, данные о метриках, полученные модулем 31 , могут содержать поле, характеризующее время получения метрики (date_arrival), которое может содержать следующую информацию: "date_arrival": "2022-12-08 10:35:00", где ID поля характеризует атрибут "date_arrival", а значение поля "2022-12-08 10:35:00".
Соответственно, модуль 31 при проведении валидации данных о метриках извлекает ID поля "date_arrival" и обращается к данным, характеризующим требования к данным о метриках, полученных от модуля 32, для определения алгоритма валидации данных. [0049] For example, the metric data received by module 31 may contain a field that characterizes the time of receipt of the metric (date_arrival), which may contain the following information: "date_arrival": "2022-12-08 10:35:00", where the field ID characterizes the "date_arrival" attribute, and the field value is "2022-12-08 10:35:00". Accordingly, module 31, when validating metric data, extracts the ID of the "date_arrival" field and accesses the data characterizing the requirements for metric data received from module 32 to determine the data validation algorithm.
[0050] Например, алгоритм валидации данных может указывать на то, что упомянутому модулю 31 следует проверить наличие значения поля, характеризующее время получения метрики, в данных о метриках. Если модулем 31 определено, что значение поля отсутствует (т.е. значение поля пустое), то модуль 31 принимает решение о том, что данные о метриках не соответствуют установленным требованиям, после чего данные о метриках удаляются из буфера модуля 31. Таким образом, в дальнейшем данные о метриках, не прошедшие процедуру валидации, будут удалены из модуля 21 памяти промежуточного хранения данных согласно описанному ранее алгоритму. Дополнительно данные о метриках, непрошедшие процедуру валидацию, могут помещаться в область памяти устройства 20 для дальнейшего анализа причин, по которым данные не прошли валидацию. [0050] For example, the data validation algorithm may indicate that the mentioned module 31 should check the presence of a field value characterizing the time of receipt of the metric in the metric data. If the module 31 determines that the field value is absent (i.e. the field value is empty), then the module 31 decides that the metric data does not meet the established requirements, after which the metric data is deleted from the buffer of the module 31. Thus, in the future, the metric data that has not passed the validation procedure will be deleted from the intermediate data storage memory module 21 according to the algorithm described earlier. In addition, the metric data that has not passed the validation procedure can be placed in the memory area of the device 20 for further analysis of the reasons why the data did not pass validation.
[0051] Если модулем 31 определено, что значение поля присутствует в данных о метриках, то модуль 31 извлекает значение поля "2022-12-08 10:35:00" из данных о метриках и сравнивает упомянутое значение с установленными требованиями, полученными от модуля 32. Установленные требования могут указывать, например, за то, что запись значения поля должна соответствовать установленному формату, например, "yyyy-MM-dd HH:mm:ss", а само значение поля должно соответствовать заданному интервалу значений поля, например, значение поля, характеризующее время получения данных, не может быть старше 6 часов, не может быть позже текущего времени. Для определения текущего времени упомянутый модуль 31 может быть оснащен соответствующим таймером, широко известным из уровня техники. [0051] If module 31 determines that the field value is present in the metric data, module 31 extracts the field value "2022-12-08 10:35:00" from the metric data and compares said value with the established requirements received from module 32. The established requirements may indicate, for example, that the field value recording must comply with the established format, for example, "yyyy-MM-dd HH:mm:ss", and the field value itself must comply with a specified range of field values, for example, the field value characterizing the time of data receipt cannot be older than 6 hours, cannot be later than the current time. To determine the current time, module 31 may be equipped with a corresponding timer, widely known in the prior art.
[0052] Если модулем 31 определено, что значение поля не соответствует установленному формату или интервалу значений метрики, то модуль 31 принимает решение о том, что данные о метрики не соответствуют установленным требованиям, после чего данные о метриках удаляются из буфера модуля 31. Таким образом, в дальнейшем данные о метриках, не прошедшие процедуру валидации, будут удалены из модуля 21 памяти промежуточного хранения данных согласно описанному ранее алгоритму. Дополнительно данные о метриках, непрошедшие процедуру валидацию, могут помещаться в область памяти
устройства 20 для дальнейшего анализа причин, по которым данные не прошли валидацию. Если модулем 31 определено, что данные о метриках соответствуют установленным требованиям, то модуль 31 записывает данные о метриках в модуль 23 хранения данных, предназначенных для передачи. [0052] If module 31 determines that the field value does not correspond to the established format or range of metric values, then module 31 decides that the metric data does not correspond to the established requirements, after which the metric data is deleted from the buffer of module 31. Thus, in the future, the metric data that has not passed the validation procedure will be deleted from the intermediate data storage memory module 21 according to the algorithm described earlier. Additionally, the metric data that has not passed the validation procedure can be placed in the memory area devices 20 for further analysis of the reasons why the data did not pass validation. If module 31 determines that the metric data meets the established requirements, module 31 records the metric data in module 23 for storing data intended for transmission.
[0053] Аналогичные процессы валидации модулем 31 могут быть проведены в отношении полей, содержащих информацию, характеризующую: [0053] Similar validation processes by module 31 can be carried out in relation to fields containing information characterizing:
- время создания метрики, которое может быть представлено в виде: "date_created": "2022-12-08 10:33:05", где ID поля характеризует атрибут "date_created", а значение поля - "2022-12-08 10:33:05"; - the time of metric creation, which can be represented as: "date_created": "2022-12-08 10:33:05", where the field ID characterizes the "date_created" attribute, and the field value is "2022-12-08 10:33:05";
- имя метки, которое может быть представлено в виде: "metric name": "Avaya CRM.PB: Active Calls VTotaIV V'TotalV", где ID поля характеризует атрибут "metric_name", а значение поля - "Avaya CRM.PB : Active Calls V'TotalV V'TotalV";- the name of the label, which can be represented as: "metric name": "Avaya CRM.PB: Active Calls VTotaIV V'TotalV", where the field ID characterizes the "metric_name" attribute, and the field value is "Avaya CRM.PB: Active Calls V'TotalV V'TotalV";
- имя агента, которое может быть представлено в виде: "agent_host": "10.111.0.39", где ID поля характеризует атрибут "agent_host", а значение поля - "10.111.0.39"; - the agent name, which can be represented as: "agent_host": "10.111.0.39", where the field ID characterizes the "agent_host" attribute, and the field value is "10.111.0.39";
- имя источника, которое может быть представлено в виде: "source_host": "aggregate. data. mpp", где ID поля характеризует атрибут "source_host", а значение поля - "aggregate. data. mpp"; - the source name, which can be represented as: "source_host": "aggregate. data. mpp", where the field ID characterizes the "source_host" attribute, and the field value is "aggregate. data. mpp";
- тип метрики, который может быть представлен в виде: "metric type": "арр", где ID поля характеризует атрибут source host", а значение поля - "арр"; - the metric type, which can be represented as: "metric type": "app", where the field ID characterizes the "source host" attribute, and the field value is "app";
- имя АС, которое может быть представлено в виде: "as name": "esgr", где ID поля характеризует атрибут "as_name", а значение поля - "esgr"; - the name of the AS, which can be represented in the form: "as name": "esgr", where the field ID characterizes the "as_name" attribute, and the field value is "esgr";
- uuid процесс, который может быть представлен в виде: "process_uuid": "476331 b8-b773-401c-bcce-84d74eac6ef4", где ID поля характеризует атрибут "process uuid", а значение поля - "47b331b8-b773-401c-bcce-84d74eac6ef4"; - uuid process, which can be represented as: "process_uuid": "476331 b8-b773-401c-bcce-84d74eac6ef4", where the field ID characterizes the "process uuid" attribute, and the field value is "47b331b8-b773-401c-bcce-84d74eac6ef4";
- значение метрики, которое может быть представлено в виде: "value int": 844, где ID поля характеризует атрибут "valuejnt", а значение поля - 844. - the metric value, which can be represented as: "value int": 844, where the field ID characterizes the "valuejnt" attribute, and the field value is 844.
[0054] Соответственно, информация о времени создания метрики упомянутым модулем 31 может быть проверена описанным выше способом на соответствие установленному формату и установленному порогу значений; информация о имени метки может быть проверена на наличие значения поля, причем это значение не может быть значением «null»; информация о имени агента может быть проверена на наличие значения поля и на соответствие значения поля заданному формату, например, формату ip или dns; информация о имени источника может быть проверена на наличие значения поля и на соответствие значения поля заданному
формату, например, формату ip или dns, либо url; информация о типе метрики может быть проверена на наличие значения поля и на соответствие значения поля, например, одному из следующих значений: "арр", "regex", "business", "synt", "infra", "logs", "sql", "unknown"; информация о имени AC может быть проверена на наличие значения поля, причем значение поля должно совпадать с заранее заданными в установленных требованиях значений; информация о uuid процесса может быть проверена на наличие значения поля, причем это значение не может быть значением «null»; значение метрики может быть проверено на наличие значения поля, причем это значение не может быть значением «null». [0054] Accordingly, the information about the time of creation of the metric by the mentioned module 31 can be checked in the above-described manner for compliance with the established format and the established threshold of values; the information about the label name can be checked for the presence of a field value, and this value cannot be the value "null"; the information about the agent name can be checked for the presence of a field value and for compliance of the field value with a specified format, for example, the ip or dns format; the information about the source name can be checked for the presence of a field value and for compliance of the field value with a specified format, such as ip or dns or url format; metric type information can be checked for the presence of a field value and for the field value to match, for example, one of the following values: "app", "regex", "business", "synt", "infra", "logs", "sql", "unknown"; AC name information can be checked for the presence of a field value, and the field value must match the values preset in the established requirements; process uuid information can be checked for the presence of a field value, and this value cannot be the value "null"; metric value can be checked for the presence of a field value, and this value cannot be the value "null".
[0055] Сохраненные в модуле 23 данные о метриках, прошедшие процедуру валидации, далее могут быть считаны модулем 34 определения отклонений, а также модулем 41 памяти для хранения данных о метриках. Считывание данных упомянутыми модулями может осуществляться как в реальном времени, так и согласно расписаниям, заданным разработчиками модулей, причем данные о метриках извлекаются с момента получения предыдущей порции данных. Модуль 23 также, как и модуль 21 , хранит данные о метриках заданный интервал времени, после чего упомянутые данные удаляются. [0055] The metric data stored in module 23, which have undergone the validation procedure, can then be read by deviation detection module 34, as well as by memory module 41 for storing metric data. Data reading by said modules can be performed both in real time and according to schedules specified by module developers, with metric data being retrieved from the moment of receiving the previous portion of data. Module 23, like module 21, also stores metric data for a specified time interval, after which said data is deleted.
[0056] Из полученных данных о метриках модуль 34 определения отклонений извлекает значение метрики, после чего сравнивает извлеченное значение метрики с пороговым значением данной метрики. Пороговое значение метрики упомянутым модулем 34 может быть определено посредством обращения к модулю 33 хранения правил определения отклонений, в котором для каждой метрики сохранено ее пороговое значение и инструкции по обработке данных для определения отклонения. Упомянутые пороговые значения могут быть записаны в модуль 33 посредством модуля 62 управления правилами определения отклонений согласно заложенному разработчиком упомянутого модуля 62 алгоритму обновления пороговых значений, в связи с чем исключается возможность несанкционированного внесения изменений в данные, сохраненные в модуле 33, оператором или разработчиком. Также в модуль 33 могут быть записаны модулем 62 инструкции по обработке данных о метриках для определения отклонений. [0056] From the received metric data, the deviation determination module 34 extracts the metric value, after which it compares the extracted metric value with the threshold value of this metric. The threshold value of the metric can be determined by said module 34 by accessing the deviation determination rule storage module 33, in which the threshold value and instructions for processing the data for determining the deviation are stored for each metric. The mentioned threshold values can be written to the module 33 by means of the deviation determination rule management module 62 according to the threshold value update algorithm embedded by the developer of said module 62, in connection with which the possibility of unauthorized changes to the data stored in the module 33 by the operator or the developer is excluded. Instructions for processing the metric data for determining deviations can also be written to the module 33 by the module 62.
[0057] Если модулем 34 определено, что значение метрики не соответствует пороговым значениям, например, значение метрики, характеризующее количество звонков за минуту, равно «0» или превышает заданное пороговое значение «1000», то упомянутый модуль 34 фиксирует наличие отклонения в данных о метриках и направляет в модуль 61 формирования уведомлений команду для формирования
уведомления о выявленном отклонении в значении метрики, которое далее направляется в устройство 70 информирования пользователей для оповещения о выявленном отклонении заинтересованных лиц, после чего модуль 34 считывает следующую порцию данных из модуля 23, содержащих данные о метриках, для их анализа. Если модулем 34 определено, что значение метрики соответствует пороговым значениям, то упомянутый модуль 34 считывает следующую порцию данных из модуля 23, содержащих данные о метриках, для их анализа. [0057] If module 34 determines that the metric value does not correspond to the threshold values, for example, the metric value characterizing the number of calls per minute is equal to “0” or exceeds the specified threshold value “1000”, then said module 34 records the presence of a deviation in the metric data and sends a command to notification generation module 61 to generate notifications of the detected deviation in the metric value, which is then sent to the user notification device 70 to notify interested persons of the detected deviation, after which the module 34 reads the next portion of data from the module 23 containing the metric data for their analysis. If the module 34 determines that the metric value corresponds to the threshold values, then the said module 34 reads the next portion of data from the module 23 containing the metric data for their analysis.
[0058] Если в процессе сравнения следующей порции данных модулем 34 определено, что значение метрики не превышает заданное пороговое значение, и при этом ранее было выявлено отклонение, то модуль 34 фиксирует устранение отклонения, после чего направляет в модуль 61 формирования уведомлений команду для формирования уведомления о устранении отклонения в значении метрики, которое далее направляется в устройство 70 информирования пользователей для оповещения об устранении отклонения заинтересованных лиц после чего модуль 34 считывает следующую порцию данных из модуля 23, содержащих данные о метриках, для их анализа. [0058] If, in the process of comparing the next portion of data, module 34 determines that the metric value does not exceed a specified threshold value, and a deviation was previously detected, then module 34 records the elimination of the deviation, after which it sends a command to notification generation module 61 for generating a notification about the elimination of the deviation in the metric value, which is then sent to user notification device 70 for notifying interested persons about the elimination of the deviation, after which module 34 reads the next portion of data from module 23 containing data about the metrics for their analysis.
[0059] Считанные модулем 41 памяти данные о метриках из модуля 23 сохраняются в БД, например, в виде временного ряда, после чего данные о метриках могут быть извлечены из БД для их анализа и обработки. Например, данные о метриках могут быть извлечены устройством 50 прогнозирования посредством модуля 52 обработки данных по команде, полученной от модуля 51 управления. Упомянутая команда может быть сформирована и направлена модулем 51 согласно расписанию, заданному разработчиком модуля 51 , в котором также может быть определен временной период, за который следует извлечь данные о метриках. [0059] The data on metrics read by the memory module 41 from the module 23 are stored in the DB, for example, in the form of a time series, after which the data on metrics can be extracted from the DB for their analysis and processing. For example, the data on metrics can be extracted by the prediction device 50 via the data processing module 52 according to a command received from the control module 51. The mentioned command can be formed and sent by the module 51 according to a schedule specified by the developer of the module 51, in which the time period for which the data on metrics should be extracted can also be determined.
[0060] Извлеченные модулем 52 данные о метриках за заданные период времени сохраняются в модуль 53 памяти, предназначенной для оперативной работы с данными, после чего модуль 51 управления формирует команду для запуска модели 54 машинного обучения для получения данных прогнозирования за заданный период времени. Модель 54 машинного обучения при получении упомянутой команды от модуля 51 извлекает данные о метриках из модуля 53 памяти и известными методами осуществляет определение прогнозных значений метрик за заданный период времени. [0060] The data on metrics extracted by module 52 for a given period of time are stored in memory module 53 intended for operational work with data, after which control module 51 generates a command for starting machine learning model 54 for obtaining forecasting data for a given period of time. Machine learning model 54, upon receiving said command from module 51, extracts data on metrics from memory module 53 and, using known methods, determines forecast values of metrics for a given period of time.
[0061] Например, данные о метриках, сохраненные в модуле 53 памяти, могут содержать значения, характеризующие число звонков за каждую минуту, за три
предыдущих месяца, а моделью 54 машинного обучения известными методами может быть определены прогнозные значения метрик, характеризующих число звонков за каждую минуту, на ближайшие сутки. Также вместе с упомянутыми прогнозными значениями модулем 54 могут быть определены верхние и нижние границы (коридоры) значений метрик, в которые с вероятностью 95% должны попадать в конкретную минуту определенные ранее прогнозные значения метрик. [0061] For example, the metric data stored in memory module 53 may contain values that represent the number of calls per minute, per three previous months, and the model 54 machine learning by known methods can determine the predicted values of metrics characterizing the number of calls per minute for the next 24 hours. Also, together with the said predicted values, module 54 can determine the upper and lower boundaries (corridors) of the metric values, into which, with a probability of 95%, the previously determined predicted metric values should fall in a specific minute.
[0062] Для определения упомянутых выше прогнозных значений метрик и границ значений метрик упомянутая модель 54 может быть заранее обучена известными методами на обучающем наборе данных метрик и границ упомянутых метрик. Прогнозные значения метрик и данные о границах значений метрик сохраняются в модуль 53 памяти, после чего извлекаются модулем 52 и сохраняются в модуль 42 памяти для хранения спрогнозированных данных. После того, как прогнозные значения метрик и данные о границах значений метрик сохранены, они могут быть извлечены модулем 43 визуализации данных вместе с данными о метриках и направлены в модуль 61 формирования уведомлений, который формирует соответствующее уведомление, в которое включаются упомянутые полученные данные, например, в виде графика, после чего сформированное уведомление направляется в устройство 70 информирования пользователей для оповещения заинтересованных лиц. [0062] In order to determine the above-mentioned predicted metric values and metric value boundaries, the said model 54 can be trained in advance using known methods on a training set of metric data and metric value boundaries. The predicted metric values and metric value boundary data are stored in the memory module 53, after which they are retrieved by the module 52 and stored in the memory module 42 for storing predicted data. After the predicted metric values and metric value boundary data are stored, they can be retrieved by the data visualization module 43 together with the metric data and sent to the notification generation module 61, which generates a corresponding notification, which includes the said obtained data, for example, in the form of a graph, after which the generated notification is sent to the user notification device 70 for notifying interested persons.
[0063] Для определения отклонений в данных о метриках, сохраненных в системе 40 хранения данных, с учетом прогнозные значения метрик, система 100 мониторинга АС оснащается устройством 60 определения отклонений, которое выявляет отклонения в упомянутых данных по более сложным инструкциям в соответствии с заложенным разработчиком алгоритмом. [0063] In order to determine deviations in the metric data stored in the data storage system 40, taking into account the predicted values of the metrics, the AC monitoring system 100 is equipped with a deviation detection device 60, which detects deviations in the said data according to more complex instructions in accordance with an algorithm laid down by the developer.
[0064] В частности, в соответствии с заложенным алгоритмом модуль 63 определения отклонений обращается к модулю 62 управления правилами определения отклонений для извлечения инструкций для определения отклонений. Упомянутые инструкции, сохраненные в модуле 62, как правило, содержат следующие параметры: [0064] In particular, in accordance with the embedded algorithm, the deviation determination module 63 refers to the deviation determination rule management module 62 to extract instructions for determining deviations. Said instructions stored in the module 62 typically contain the following parameters:
- Уникальный ID инструкций (формируется модулем 62 автоматически известными методами при получении данных с инструкциями на основании алгоритма, заложенного в память модуля 62); - Unique instruction ID (generated by module 62 automatically using known methods when receiving data with instructions based on the algorithm stored in the memory of module 62);
- Наименование инструкций; - Name of instructions;
- ID метрики или набор ID метрик, которые следует обработать;
- По меньшей мере одно пороговое значение - численное значение, с которым будут сравниваться значения метрик; - The metric ID or set of metric IDs to be processed; - At least one threshold value - a numerical value with which the metric values will be compared;
- По меньшей мере одна инструкция по обработке данных для определения отклонения - операция сравнения, которая будет применяться для сравнения метрики и порогового значения. Например, «Больше», «Меньше», «Больше или равно», «Равно», «Не равно» и т.д.; - At least one data processing instruction for determining the deviation - a comparison operation that will be used to compare the metric and the threshold value. For example, "Greater than", "Less than", "Greater than or equal to", "Equal to", "Not equal to", etc.;
- Телефон и email получателей информации о выявленном на основании инструкций отклонении с указанием каналов оповещения (смс, электронная почта, мессенджер), по которым будут доставляться сообщения. - Telephone and email of recipients of information about the deviation identified based on the instructions, indicating the notification channels (SMS, email, messenger) through which messages will be delivered.
[0065] Указанные инструкции для определения отклонений могут быть заданы разработчиком или оператором устройства 60 определения отклонений посредством специализированного канала связи с модулем 62 или посредством устройств ввода/вывода данных. Инструкция по обработке данных может представлять собой: [0065] The specified instructions for determining deviations may be specified by the developer or operator of the deviation determination device 60 via a dedicated communication channel with the module 62 or via data input/output devices. The data processing instruction may be:
- простую инструкцию, предписывающую модулю 63 выполнить операцию сравнения значения метрики с по меньшей мере одним пороговым значением для определения наличия или отсутствия отклонения. Например, для количества входящих звонков пороговое значение может быть установлено «2000», а значение метрики, характеризующее количество водящих звонков за минуту, не должно превышать 2000. Упомянутые инструкции автоматически записываются в модуль 32 хранения правил определения отклонений; - a simple instruction instructing module 63 to perform an operation of comparing the metric value with at least one threshold value to determine the presence or absence of a deviation. For example, for the number of incoming calls, the threshold value may be set to "2000", and the metric value characterizing the number of incoming calls per minute should not exceed 2000. The said instructions are automatically recorded in module 32 for storing deviation determination rules;
- составные инструкцию, предписывающую модулю 63 выполнить операцию сравнения более одного значения метрик с по меньшей мере одним пороговым значением, заданным для всех метрик для определения наличия или отсутствия отклонения. Например, в рамках составной инструкции значение метрики, характеризующее количество входящих звонков за минуту, и значение метрики, характеризующее количество исходящих звонков за эту же минуту, может быть сравнено модулем 63 с пороговым значением «2000», причем наличие отклонения будет определено в том случае, если одно из значений метрик будет превышать пороговое значение; - a composite instruction instructing module 63 to perform the operation of comparing more than one metric value with at least one threshold value specified for all metrics to determine the presence or absence of a deviation. For example, within the framework of a composite instruction, a metric value characterizing the number of incoming calls per minute and a metric value characterizing the number of outgoing calls per the same minute may be compared by module 63 with the threshold value "2000", and the presence of a deviation will be determined if one of the metric values exceeds the threshold value;
- инструкцию по постобработке данных, предписывающую модулю 63 выполнить гибкую агрегацию и корреляцию данных с использованием исторических данных для предписывающую модулю 63 выполнить. В рамках данной постобработки для определения наличия отклонения данные о метриках могут быть сравнены с прогнозированными значениями метрик и границами значений метрик, например,
количество входящих звонков может быть сравнено с верхней и нижними границами значений метрик за заданную минуту. Гибкая агрегация и корреляция данных может быть реализована через оснащение устройства 63 специализированными счетчиками: счетчиком для определения количества отклонений за заданный период времени, счетчиком для определения разности значений различных метрик в единицу времени, счетчиком определения разности значений метрики в разное время наблюдения, счетчиком суммы значений метрики за определенный интервал времени и другими счетчиками, основанными на математических и логических операциях над значениями метрик. - a data post-processing instruction instructing module 63 to perform flexible data aggregation and correlation using historical data to instruct module 63 to perform. As part of this post-processing, metric data may be compared with predicted metric values and metric value boundaries to determine whether there is a deviation, for example, the number of incoming calls can be compared with the upper and lower limits of metric values for a given minute. Flexible aggregation and correlation of data can be implemented by equipping the device with 63 specialized counters: a counter for determining the number of deviations for a given period of time, a counter for determining the difference in the values of various metrics per unit of time, a counter for determining the difference in metric values at different observation times, a counter for the sum of metric values for a certain time interval, and other counters based on mathematical and logical operations on metric values.
[0066] Что касается простых инструкций, то согласно заложенному разработчиком расписанию они записываются модулем 62 в модуль 32 хранения правил определения отклонений. Остальные инструкции, в частности составные и по постобработке данных направляются упомянутым модулем 62 в модуль 63 определения отклонений, который в соответствии с полученными инструкциями выполняет проверку данных о метриках, сохраненных в модуле 41 хранения. [0066] As for simple instructions, according to the schedule set by the developer, they are recorded by module 62 in module 32 for storing deviation rules. The remaining instructions, in particular composite and data post-processing instructions, are sent by said module 62 to module 63 for determining deviations, which, in accordance with the received instructions, checks the data on metrics stored in storage module 41.
[0067] Дополнительно модуль 63 определения отклонений может быть оснащен счетчиком отклонений и выполнен с возможностью определения количества отклонений за заданный период времени в соответствии с инструкциями по обработке данных для определения отклонений. Например, в соответствии с упомянутыми инструкциями модуль 63 может извлечь из модуля 41 памяти значение метрики, например, характеризующее количество звонков за конкретную минуту, и из модуля 42 памяти верхние и нижние границы значений метрики, определенные для упомянутой метрики, после чего выполнить сравнение значения метрики и упомянутыми границами значений. [0067] Additionally, the deviation determination module 63 may be equipped with a deviation counter and configured to determine the number of deviations for a given period of time in accordance with instructions for processing data for determining deviations. For example, in accordance with said instructions, the module 63 may extract from the memory module 41 a metric value, for example, characterizing the number of calls for a specific minute, and from the memory module 42 the upper and lower limits of the metric values determined for said metric, and then perform a comparison of the metric value and said value limits.
[0068] Если значение метрики не выходит за упомянутые границы значений, то модуль 63 переходит к анализу других значений метрик, сохраненных в модуле 41 хранения. Если значение метрики выходит за упомянутые границы значений, то модуль 63 фиксирует наличие отклонения и направляет в модуль 61 формирования уведомлений команду для формирования уведомления о выявленном отклонении в значении метрики, которое далее направляется в устройство 70 информирования пользователей для оповещения о выявленном отклонении заинтересованных лиц, после чего модуль 63 считывает следующую порцию данных из модуля 41 , содержащих данные о метриках, для их анализа, и из модуля 42 памяти верхние и нижние границы значений метрики, определенные для упомянутой метрики.
[0069] Если в процессе сравнения следующей порции данных модулем 63 определено, что значение метрики не выходит за упомянутые границы, и при этом ранее было выявлено отклонение, то модуль 63 фиксирует устранение отклонения, после чего направляет в модуль 61 формирования уведомлений команду для формирования уведомления о устранении отклонения в значении метрики, которое далее направляется в устройство 70 информирования пользователей для оповещения об устранении отклонения заинтересованных лиц после чего модуль 63 считывает следующую порцию данных из модуля 41 , содержащих данные о метриках, для их анализа, и из модуля 42 памяти верхние и нижние границы значений метрики, определенные для упомянутой метрики, [0068] If the metric value does not exceed the said value limits, then the module 63 proceeds to analyze other metric values stored in the storage module 41. If the metric value exceeds the said value limits, then the module 63 records the presence of a deviation and sends a command to the notification generation module 61 for generating a notification about the detected deviation in the metric value, which is then sent to the user notification device 70 for notifying interested persons about the detected deviation, after which the module 63 reads the next portion of data from the module 41 containing data about the metrics for their analysis, and from the memory module 42 the upper and lower limits of the metric values determined for the said metric. [0069] If, during the comparison of the next portion of data, module 63 determines that the metric value does not exceed the said limits, and a deviation was previously detected, then module 63 records the elimination of the deviation, after which it sends a command to notification generation module 61 to generate a notification about the elimination of the deviation in the metric value, which is then sent to user notification device 70 to notify interested persons about the elimination of the deviation, after which module 63 reads the next portion of data from module 41 containing data on metrics for their analysis, and from memory module 42 the upper and lower limits of the metric values determined for the said metric,
[0070] Дополнительно модуль 63 определения отклонений может быть оснащен счетчиками для определения количества отклонений за заданный период времени, для определения разности значений различных метрик в единицу времени, для определения разности значений метрии в разное время наблюдения, для определения суммы значений метрики за определенный интервал времени и пр. [0070] Additionally, the deviation determination module 63 may be equipped with counters for determining the number of deviations over a given period of time, for determining the difference in the values of various metrics per unit of time, for determining the difference in metric values at different observation times, for determining the sum of metric values over a certain time interval, etc.
[0071] Например, в соответствии с полученными от модуля 62 инструкциями модуль 63 может извлечь данные о метриках за заданный промежуток времени, например, характеризующие количество звонков за последние 5 минут, и из модуля 42 памяти верхние и нижние границы значений метрик, определенные для упомянутых метрик, после чего сравнить каждое значение метрики, характеризующее количество звонков за минуту, с упомянутыми границами значений метрик. Если значение метрики выходит за упомянутые границы значений, то модуль 63 увеличивает показатель счетчика, в частности для определения количества отклонений за заданный период времени, на 1. [0071] For example, in accordance with the instructions received from the module 62, the module 63 can extract data on metrics for a given period of time, for example, characterizing the number of calls for the last 5 minutes, and from the memory module 42 the upper and lower limits of the metric values determined for the said metrics, and then compare each metric value characterizing the number of calls per minute with the said limits of the metric values. If the metric value goes beyond the said limits of values, then the module 63 increases the counter indicator, in particular for determining the number of deviations for a given period of time, by 1.
[0072] После сравнения всех значений метрик с упомянутыми границами значений метрик модуль 63 извлекает показатель счетчика и сравнивает его с пороговым значением счетчика, например, которое может представлять собой значение 4 и содержаться в данных с инструкциями. [0072] After comparing all metric values with the said metric value boundaries, module 63 extracts the counter value and compares it with the counter threshold value, for example, which may be the value 4 and contained in the instruction data.
[0073] Если показатель счетчика не превышает заданное пороговое значение счетчика, т.е. показатель счетчика представляет собой значение от 1 до 3, то модуль 63 переходит к извлечению из модуля 41 памяти следующей порции данных о метриках. [0073] If the counter value does not exceed a specified counter threshold value, i.e. the counter value is a value from 1 to 3, then module 63 proceeds to extract the next portion of metric data from memory module 41.
[0074] Если показатель счетчика соответствует заданному пороговому значению счетчика, например, показатель счетчика равен 4 (т.е. четыре значения метрики из 5 не соответствуют верхним или нижним границам значений метрик), то модуль 63
направляет в модуль 61 формирования уведомлений команду для формирования уведомления о выявленном отклонении в значении метрики, которое далее направляется в устройство 70 информирования пользователей для оповещения о выявленном отклонении заинтересованных лиц. [0074] If the counter value meets the specified counter threshold value, for example, the counter value is 4 (i.e., four metric values out of 5 do not meet the upper or lower metric value limits), then module 63 sends a command to the notification generation module 61 to generate a notification about the detected deviation in the metric value, which is then sent to the user notification device 70 to notify interested parties about the detected deviation.
[0075] Также модуль 63 может быть выполнен с возможностью фиксации наличия отклонения в данных о метриках, причем данные о наличии отклонения в данных о метриках заносится модулем 63 в оперативную память, которой он может быть оснащен, или в соответствующий регистр. После того, как наличие отклонение зафиксировано, модуль 63 извлекает из памяти модуля 41 следующую порцию данных о метрике за следующую минуту или данные о метриках за прошедшие 5 минут, которые обрабатываются описанным выше образом посредством их сравнения с верхними и нижними границами значений метрик. Если при анализе следующей порции данных упомянутым выше способом модуль 63 зафиксирует наличие отклонения в значении метрики и при этом в соответствующем регистре оперативной памяти будут содержаться данные о наличии отклонении, то модуль 63 не будет передавать в модуль 61 формирования уведомления повторную команду для формирования уведомления о выявленном отклонении. [0075] Module 63 can also be configured to record the presence of a deviation in the metric data, wherein the data on the presence of a deviation in the metric data is entered by module 63 into the RAM, with which it can be equipped, or into the corresponding register. After the presence of a deviation is recorded, module 63 retrieves from the memory of module 41 the next portion of metric data for the next minute or metric data for the past 5 minutes, which are processed in the manner described above by comparing them with the upper and lower limits of the metric values. If, when analyzing the next portion of data in the manner mentioned above, module 63 records the presence of a deviation in the metric value and at the same time the corresponding register of the RAM contains data on the presence of a deviation, then module 63 will not transmit to notification generation module 61 a repeated command for generating a notification on the detected deviation.
[0076] Если в процессе сравнения модулем 63 определено, что данные о метрике, полученные за следующую минуту, или по результатам обработки данных о метриках за прошедшие 5 минут показатель счетчика не превышает заданное пороговое значение, то модуль 63 фиксирует устранение отклонения, после чего направляет в модуль 61 формирования уведомлений команду для формирования уведомления о устранении отклонения в значении метрики, которое далее направляется в устройство 70 информирования пользователей для оповещения об устранении отклонения заинтересованных лиц, после чего модуль 63 переходит к извлечению из модуля 41 памяти следующей порции данных о метриках. [0076] If, during the comparison process, module 63 determines that the metric data received for the next minute, or based on the results of processing the metric data for the past 5 minutes, the counter value does not exceed a specified threshold value, then module 63 records the elimination of the deviation, after which it sends a command to notification generation module 61 for generating a notification about the elimination of the deviation in the metric value, which is then sent to user notification device 70 for notifying interested persons about the elimination of the deviation, after which module 63 proceeds to extracting the next portion of metric data from memory module 41.
[0077] Дополнительно упомянутый модуль 63 может извлечь, например, значение метрики, характеризующие количество звонков за минуту, и значение метрики, характеризующее количество звонков за минуту, в заданный момент времени в прошлом, например, 3 минуты назад. Далее модуль 63 посредством счетчика для определения разности значений различных метрик в разное время наблюдения рассчитывает значение разницы в извлеченных значениях метрик и сравнить полученное значение разницы с установленным пороговым значением в соответствии с инструкцией. Если определенное значение разницы, определенное упомянутым счетчиком, превышает установленное пороговое значение, например,
разница превышает 300 единиц, то модуль 63 направляет в модуль 61 формирования уведомлений команду для формирования уведомления о выявленном отклонении в значении упомянутого счетчика, которое далее направляется в устройство 70 информирования пользователей для оповещения о выявленном отклонении заинтересованных лиц. [0077] Additionally, said module 63 can extract, for example, a metric value characterizing the number of calls per minute, and a metric value characterizing the number of calls per minute, at a given point in time in the past, for example, 3 minutes ago. Then, module 63, using a counter for determining the difference in the values of various metrics at different observation times, calculates the difference value in the extracted metric values and compares the obtained difference value with a set threshold value in accordance with the instruction. If a certain difference value determined by said counter exceeds the set threshold value, for example, if the difference exceeds 300 units, then module 63 sends a command to notification generation module 61 to generate a notification about the detected deviation in the value of said counter, which is then sent to user notification device 70 to notify interested persons about the detected deviation.
[0078] Дополнительно упомянутый модуль 63 может извлечь значения метрик за заданный интервал времени и сравнить каждое значение метрики с верхними или нижними границами значений метрик, рассчитанными для упомянутого интервала времени для определения значений разницы между упомянутыми значениями, причем определенные значения разницы записываются модулем 63 в счетчик для определения суммы значений метрики за определенный интервал времени. Например, модулем 63 могут быть сравнены значения метрик, характеризующие количество звонков за минуту, за интервал времени в последние 5 минут с нижними границами значений этих метрик. Соответственно, модуль 63 определяет для каждой минуты из выбранного интервала значение разности между нижней границей и значением метрики, обновляя значение счетчика на определенное значение разности. После того, как все значения метрик за заданный интервал времени проанализированы, модуль 63 сравнивает показатель упомянутого счетчика с установленным пороговым значением в соответствии с инструкцией. Если показатель счетчика превышает установленное пороговое значение, например, разница превышает 200 единиц, то модуль 63 направляет в модуль 61 формирования уведомлений команду для формирования уведомления о выявленном отклонении в значении упомянутого счетчика, которое далее направляется в устройство 70 информирования пользователей для оповещения о выявленном отклонении заинтересованных лиц. [0078] Additionally, said module 63 may extract metric values for a given time interval and compare each metric value with upper or lower limits of metric values calculated for said time interval to determine the difference values between said values, wherein the determined difference values are recorded by module 63 in a counter to determine the sum of metric values for a given time interval. For example, module 63 may compare metric values characterizing the number of calls per minute for a time interval in the last 5 minutes with lower limits of the values of these metrics. Accordingly, module 63 determines for each minute of the selected interval the difference value between the lower limit and the metric value, updating the counter value by the determined difference value. After all metric values for a given time interval have been analyzed, module 63 compares the indicator of said counter with a set threshold value in accordance with the instruction. If the counter value exceeds the set threshold value, for example, the difference exceeds 200 units, then module 63 sends a command to notification generation module 61 to generate a notification about the detected deviation in the value of said counter, which is then sent to user notification device 70 to notify interested persons about the detected deviation.
[0079] Дополнительно упомянутый модуль 63 может определить разницу заданных значений метрик в заданную единицу времени. Например, модуль 63 может посредством счетчика определить разницу между количеством звонком, принятых оператором, и ботом и если эта разница меньше порогового значения, например, меньше 50, то модуль 63 направляет в модуль 61 формирования уведомлений команду для формирования уведомления о выявленном отклонении, которое далее направляется в устройство 70 информирования пользователей для оповещения о выявленном отклонении заинтересованных лиц. [0079] Additionally, said module 63 can determine the difference of specified metric values in a specified unit of time. For example, module 63 can determine the difference between the number of calls received by the operator and the bot using a counter, and if this difference is less than a threshold value, for example, less than 50, then module 63 sends a command to notification generation module 61 to generate a notification about the detected deviation, which is then sent to user informing device 70 to notify interested persons about the detected deviation.
[0080] Дополнительно модуль 34 и модуль 63 могут быть выполнены с возможностью не направлять в заданный интервал времени в модуль 61 команду
для формирования уведомления в отношении тех отклонений, которые ранее были ими уже зафиксированы, но не устранены. [0080] Additionally, module 34 and module 63 may be configured to not send a command to module 61 during a specified time interval. to generate a notification regarding those deviations that had previously been recorded by them but not corrected.
[0081] Таким образом, за счет наличия в системе 100 мониторинга АС устройства (20) потоковой передачи данных, содержащего: модуль (21) памяти промежуточного хранения данных, модуль (22) управления данными для валидации и модуль (23) хранения данных, предназначенных для передачи, обеспечивается фильтрация данных о метриках, требующих валидацию, от данных, не требующих валидацию, в связи с чем исключаются ошибки, которые могут возникнуть при обработке упомянутой системой невалидированных данных. Также за счет наличия устройства (30) потоковой обработки данных и устройства (60) определения отклонений повышается надежность в выявлении отклонений, если одно из устройств выйдет из строя. [0081] Thus, due to the presence in the AS monitoring system 100 of a device (20) for streaming data transmission, comprising: a module (21) for intermediate data storage, a module (22) for managing data for validation and a module (23) for storing data intended for transmission, filtering of data on metrics requiring validation from data not requiring validation is ensured, in connection with which errors that may arise when processing non-validated data by the said system are eliminated. Also, due to the presence of a device (30) for streaming data processing and a device (60) for determining deviations, the reliability in detecting deviations is increased if one of the devices fails.
[0082] В общем виде (см. фиг. 2) вычислительное устройство (200) содержит объединенные общей шиной информационного обмена один или несколько процессоров (201), средства памяти, такие как ОЗУ (202) и ПЗУ (203), интерфейсы ввода/вывода (204), устройства (средства) ввода/вывода (205), и устройство (средство) для сетевого взаимодействия (206). [0082] In general form (see Fig. 2), the computing device (200) comprises one or more processors (201), memory means such as RAM (202) and ROM (203), input/output interfaces (204), input/output devices (means) (205), and a device (means) for network interaction (206), united by a common information exchange bus.
[0083] Процессор (201) (или несколько процессоров, многоядерный процессор и т.п.) может выбираться из ассортимента устройств, широко применяемых в настоящее время, например, таких производителей, как: Intel™, AMD™, Apple™, Samsung Exynos™, MediaTEK™, Qualcomm Snapdragon™ и т.п. Под процессором или одним из используемых процессоров в устройстве (200) также необходимо учитывать графический процессор, например, GPU NVIDIA с программной моделью, совместимой с CUDA, или Graphcore, тип которых также является пригодным для полного или частичного выполнения способа, а также может применяться для обучения и применения моделей машинного обучения в различных информационных системах. [0083] The processor (201) (or several processors, a multi-core processor, etc.) can be selected from a range of devices that are widely used at present, for example, from manufacturers such as: Intel™, AMD™, Apple™, Samsung Exynos™, MediaTEK™, Qualcomm Snapdragon™, etc. The processor or one of the processors used in the device (200) must also include a graphics processor, for example, an NVIDIA GPU with a software model compatible with CUDA, or Graphcore, the type of which is also suitable for the full or partial implementation of the method, and can also be used for training and applying machine learning models in various information systems.
[0084] ОЗУ (202) представляет собой оперативную память и предназначено для хранения исполняемых процессором (201) машиночитаемых инструкций для выполнения необходимых операций по логической обработке данных. ОЗУ (202), как правило, содержит исполняемые инструкции операционной системы и соответствующих программных компонент (приложения, программные модули и т.п.). При этом, в качестве ОЗУ (202) может выступать доступный объем памяти графической карты или графического процессора.
[0085] ПЗУ (203) представляет собой одно или более устройств постоянного хранения данных, например, жесткий диск (HDD), твердотельный накопитель данных (SSD), флэш-память (EEPROM, NAND и т.п.), оптические носители информации (CD-R/RW, DVD-R/RW, BlueRay Disc, MD) и др. [0084] RAM (202) is a random access memory and is intended for storing machine-readable instructions executable by the processor (201) for performing the necessary operations for logical data processing. RAM (202), as a rule, contains executable instructions of the operating system and the corresponding software components (applications, software modules, etc.). In this case, the available memory capacity of the graphic card or graphic processor can act as RAM (202). [0085] The ROM (203) represents one or more permanent data storage devices, such as a hard disk drive (HDD), a solid-state drive (SSD), flash memory (EEPROM, NAND, etc.), optical storage media (CD-R/RW, DVD-R/RW, BlueRay Disc, MD), etc.
[0086] Для организации работы компонентов устройства (200) и организации работы внешних подключаемых устройств применяются различные виды интерфейсов В/В (204). Выбор соответствующих интерфейсов зависит от конкретного исполнения вычислительного устройства, которые могут представлять собой, не ограничиваясь: PCI, AGP, PS/2, IrDa, FireWire, LPT, COM, SATA, IDE, Lightning, USB (2.0, 3.0, 3.1 , micro, mini, type C), TRS/Audio jack (2.5, 3.5, 6.35), HDMI, DVI, VGA, Display Port, RJ45, RS232 и т.п. [0086] To organize the operation of the components of the device (200) and to organize the operation of external connected devices, various types of I/O interfaces (204) are used. The selection of the corresponding interfaces depends on the specific design of the computing device, which may be, without limitation: PCI, AGP, PS/2, IrDa, FireWire, LPT, COM, SATA, IDE, Lightning, USB (2.0, 3.0, 3.1, micro, mini, type C), TRS/Audio jack (2.5, 3.5, 6.35), HDMI, DVI, VGA, Display Port, RJ45, RS232, etc.
[0087] Для обеспечения взаимодействия пользователя с вычислительным устройством (200) применяются различные средства (205) В/В информации, например, клавиатура, дисплей (монитор), сенсорный дисплей, тач-пад, джойстик, манипулятор мышь, световое перо, стилус, сенсорная панель, трекбол, динамики, микрофон, средства дополненной реальности, оптические сенсоры, планшет, световые индикаторы, проектор, камера, средства биометрической идентификации (сканер сетчатки глаза, сканер отпечатков пальцев, модуль распознавания голоса) и т.п. [0087] To ensure user interaction with the computing device (200), various I/O information means (205) are used, for example, a keyboard, a display (monitor), a touch display, a touchpad, a joystick, a mouse, a light pen, a stylus, a touch panel, a trackball, speakers, a microphone, augmented reality means, optical sensors, a tablet, light indicators, a projector, a camera, biometric identification means (retina scanner, fingerprint scanner, voice recognition module), etc.
[0088] Средство сетевого взаимодействия (206) обеспечивает передачу данных посредством внутренней или внешней вычислительной сети, например, Интранет, Интернет, ЛВС и т.п. В качестве одного или более средств (206) может использоваться, но не ограничиваться: Ethernet карта, GSM модем, GPRS модем, LTE модем, 5G модем, модуль спутниковой связи, NFC модуль, Bluetooth и/или BLE модуль, Wi-Fi модуль и др. [0088] The network interaction means (206) provides data transmission via an internal or external computer network, for example, an Intranet, the Internet, a LAN, etc. One or more means (206) may be, but are not limited to: an Ethernet card, a GSM modem, a GPRS modem, an LTE modem, a 5G modem, a satellite communication module, an NFC module, a Bluetooth and/or BLE module, a Wi-Fi module, etc.
[0089] Дополнительно могут применяться также средства спутниковой навигации в составе устройства (200), например, GPS, ГЛОНАСС, BeiDou, Galileo. [0089] Additionally, satellite navigation means may also be used as part of the device (200), for example, GPS, GLONASS, BeiDou, Galileo.
[0090] Конкретный выбор элементов устройства (200) для реализации различных программно-аппаратных архитектурных решений может варьироваться с сохранением обеспечиваемого требуемого функционала. [0090] The specific selection of elements of the device (200) for the implementation of various software and hardware architectural solutions may vary while maintaining the required functionality provided.
[0091] Модификации и улучшения вышеописанных вариантов осуществления настоящего технического решения будут ясны специалистам в данной области техники. Предшествующее описание представлено только в качестве примера и не несет никаких ограничений. Таким образом, объем настоящего технического решения ограничен только объемом прилагаемой формулы изобретения.
[0091] Modifications and improvements of the above-described embodiments of the present technical solution will be clear to those skilled in the art. The preceding description is presented only as an example and does not carry any limitations. Therefore, the scope of the present technical solution is limited only by the scope of the appended claims.
Claims
1. Система (100) мониторинга автоматизированных систем (АС), содержащая:1. A system (100) for monitoring automated systems (AS), containing:
- устройство (10) сбора данных, содержащее: модуль (11) управления, модуль (12) извлечения данных из объекта (1) мониторинга и модуль (13) преобразования данных; - a data collection device (10) comprising: a control module (11), a module (12) for extracting data from the monitoring object (1), and a data conversion module (13);
- устройство (20) потоковой передачи данных, содержащее: модуль (21) памяти промежуточного хранения данных, модуль (22) управления данными для валидации и модуль (23) хранения данных, предназначенных для передачи; - a device (20) for streaming data transmission, comprising: a module (21) for intermediate data storage memory, a module (22) for managing data for validation and a module (23) for storing data intended for transmission;
- устройство (30) потоковой обработки данных, содержащее: модуль (31) управления валидацией, модуль (32) хранения правил определения отклонений, модуль (33) хранения правил валидации и модуль (34) определения отклонений; - a device (30) for streaming data processing, comprising: a validation control module (31), a module (32) for storing deviation rules, a module (33) for storing validation rules, and a module (34) for determining deviations;
- систему (40) хранения данных, содержащая: модуль (41) памяти для хранения данных о метриках и модуль (42) памяти для хранения спрогнозированных данных; - a data storage system (40) comprising: a memory module (41) for storing metric data and a memory module (42) for storing predicted data;
- устройство (50) прогнозирования; - forecasting device (50);
- устройство (60) определения отклонений, содержащее: модуль (61) формирования уведомлений, модуль (62) управления правилами определения отклонений и модуль (63) определения отклонений; - a device (60) for determining deviations, comprising: a module (61) for generating notifications, a module (62) for managing deviation determination rules, and a module (63) for determining deviations;
- устройство (70) информирования пользователей; причем модуль (11) управления соединен с модулем (12) извлечения данных, модуль (12) извлечения данных соединен с объектом мониторинга и модулем (13) преобразования данных, модуль (21) памяти промежуточного хранения данных соединен с модулем (13) преобразования данных и модулем (22) управления данными для валидации, модуль (22) управления данными для валидации соединен с модулем (31) управления валидацией и модулем (23) хранения данных, модуль (31) управления валидацией соединен с модулем (33) хранения правил валидации и модулем (23) хранения данных, модуль (23) соединен с модулем (34) определения отклонений и модулем (41) памяти для хранения данных о метриках, модуль (34) определения отклонений соединен с модулем (32) хранения правил определения отклонений и модулем (61) формирования уведомлений, модуль (62) управления правилами определения отклонений соединен с модулем (32) хранения правил определения отклонений, модуль (63) определения отклонений соединен с модулем (41) памяти для хранения данных о метриках, модулем (42) памяти для хранения спрогнозированных данных, модулем (62) управления - device (70) for informing users; wherein the control module (11) is connected to the data extraction module (12), the data extraction module (12) is connected to the monitoring object and the data conversion module (13), the intermediate data storage memory module (21) is connected to the data conversion module (13) and the validation data management module (22), the validation data management module (22) is connected to the validation control module (31) and the data storage module (23), the validation control module (31) is connected to the validation rule storage module (33) and the data storage module (23), the module (23) is connected to the deviation detection module (34) and the metric data storage memory module (41), the deviation detection module (34) is connected to the deviation detection rule storage module (32) and the notification generation module (61), the deviation detection rule management module (62) is connected to the deviation detection rule storage module (32), the deviation detection module (63) is connected to a memory module (41) for storing metric data, a memory module (42) for storing predicted data, a control module (62)
25
правилами определения отклонений и модулем (61) формирования уведомлений, модуль (61) формирования уведомлений соединен с устройством (70) информирования пользователей. 25 rules for determining deviations and a module (61) for generating notifications, the module (61) for generating notifications is connected to a device (70) for informing users.
2. Система по п. 1 , характеризующаяся тем, что устройство (20) потоковой передачи данных дополнительно содержит модуль (24) хранения данных, соединенный с объектом 1 мониторинга и модулем (12) извлечения данных. 2. The system according to claim 1, characterized in that the device (20) for streaming data transmission additionally contains a data storage module (24) connected to the monitoring object 1 and the data extraction module (12).
3. Система по п. 1 , характеризующаяся тем, что устройство (50) прогнозирования содержит соединенные между собой: модуль (51) управления, модуль (52) обработки данных, модуль (53) памяти, предназначенной для оперативной работы с данными, и модель (54) машинного обучения; причем модуль (52) обработки данных соединен с модулем (41) памяти для хранения данных о метриках и модулем (42) памяти для хранения спрогнозированных данных. 3. The system according to claim 1, characterized in that the forecasting device (50) comprises interconnected: a control module (51), a data processing module (52), a memory module (53) intended for operational work with data, and a machine learning model (54); wherein the data processing module (52) is connected to a memory module (41) for storing data on metrics and a memory module (42) for storing predicted data.
4. Система по п. 1 , характеризующаяся тем, что она дополнительно содержит модуль (43) визуализации данных, соединенный с модулем (41) памяти для хранения данных о метриках, модулем (42) памяти для хранения спрогнозированных данных и модулем (61) формирования уведомлений. 4. The system according to claim 1, characterized in that it additionally comprises a data visualization module (43) connected to a memory module (41) for storing metric data, a memory module (42) for storing predicted data, and a notification generation module (61).
5. Система по п. 1 , характеризующаяся тем, что модуль (63) определения отклонений оснащен счетчиками для определения количества отклонений за заданный период времени, для определения разности значений различных метрик в единицу времени, для определения разности значений метрии в разное время наблюдения, для определения суммы значений метрики за определенный интервал времени. 5. The system according to item 1, characterized in that the deviation determination module (63) is equipped with counters for determining the number of deviations over a given period of time, for determining the difference in the values of various metrics per unit of time, for determining the difference in metric values at different observation times, for determining the sum of metric values over a certain time interval.
6. Система по п. 1 , характеризующаяся тем, что устройство (20) потоковой передачи данных дополнительно содержит область памяти, предназначенную для хранения данных о метриках, непрошедших процедуру валидации. 6. The system according to claim 1, characterized in that the device (20) for streaming data transmission additionally contains a memory area intended for storing data on metrics that have not passed the validation procedure.
7. Способ автоматического мониторинга АС, выполняемый модулем (63) определения отклонений, содержащий этапы, на которых: 7. A method for automatic monitoring of an AS, performed by a deviation detection module (63), comprising the steps of:
- получают инструкции для определения отклонений; - receive instructions for identifying deviations;
- извлекают из памяти, согласно упомянутым инструкциям, данные о метриках за заданный промежуток времени; - retrieve from memory, in accordance with the mentioned instructions, data on metrics for a specified period of time;
- извлекают из памяти, согласно упомянутым инструкциям, верхние и нижние границы значений метрик, определенные для упомянутых метрик;
- сравнивают каждое значение метрики с упомянутыми границами значений метрик, причем если значение метрики выходит за упомянутые границы значений, то модуль (63) увеличивает показатель счетчика на 1 ; - extract from memory, in accordance with the said instructions, the upper and lower boundaries of the metric values determined for the said metrics; - compare each metric value with the mentioned metric value boundaries, and if the metric value goes beyond the mentioned value boundaries, then module (63) increases the counter value by 1;
- после сравнения всех значений метрик с упомянутыми границами значений метрик извлекают показатель счетчика и сравнивают его с пороговым значением счетчика, заданным в инструкции, причем если показатель счетчика превышает или соответствует заданному пороговому значению счетчика, то формируют в модуль (61) формирования уведомлений команду для формирования уведомления о выявленном отклонении в значении метрики. - after comparing all metric values with the said metric value limits, the counter value is extracted and compared with the counter threshold value specified in the instruction, and if the counter value exceeds or corresponds to the specified counter threshold value, then a command is generated in the notification generation module (61) for generating a notification about the detected deviation in the metric value.
8. Способ по п. 7, характеризующийся тем, что дополнительно выполняют этап фиксации наличия отклонения в данных о метриках. 8. The method according to paragraph 7, characterized in that the step of recording the presence of a deviation in the metric data is additionally performed.
9. Способ по п. 8, характеризующийся тем, что дополнительно выполняют этапы, на которых: 9. The method according to item 8, characterized in that the following steps are additionally performed:
- извлекают из памяти, согласно упомянутым инструкциям, данные о метриках за следующий промежуток времени; - retrieve from memory, in accordance with the mentioned instructions, data on metrics for the next period of time;
- извлекают из памяти, согласно упомянутым инструкциям, верхние и нижние границы значений метрик, определенные для упомянутых метрик; - extract from memory, in accordance with the said instructions, the upper and lower boundaries of the metric values determined for the said metrics;
- сравнивают каждое значение метрики с упомянутыми границами значений метрик, причем если значение метрики выходит за упомянутые границы значений, то модуль (63) увеличивает показатель счетчика на 1 ; - compare each metric value with the mentioned metric value boundaries, and if the metric value goes beyond the mentioned value boundaries, then module (63) increases the counter value by 1;
- после сравнения всех значений метрик с упомянутыми границами значений метрик извлекают показатель счетчика и сравнивают его с пороговым значением счетчика, заданным в инструкции, причем если показатель счетчика не превышает заданное пороговое значение счетчика, то фиксируют устранение отклонения и формируют в модуль (61) формирования уведомлений команду для формирования уведомления о устранении отклонения в значении метрики.
- after comparing all metric values with the mentioned metric value limits, the counter value is extracted and compared with the counter threshold value specified in the instruction, and if the counter value does not exceed the specified counter threshold value, then the elimination of the deviation is recorded and a command is generated in the notification generation module (61) for generating a notification about the elimination of the deviation in the metric value.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2023105770 | 2023-03-13 | ||
RU2023105770A RU2809254C9 (en) | 2023-03-13 | Method and system for monitoring automated systems |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2024191315A1 true WO2024191315A1 (en) | 2024-09-19 |
Family
ID=92756206
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/RU2023/000069 WO2024191315A1 (en) | 2023-03-13 | 2023-03-13 | Method and system for monitoring automated systems |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2024191315A1 (en) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040117185A1 (en) * | 2002-10-18 | 2004-06-17 | Robert Scarano | Methods and apparatus for audio data monitoring and evaluation using speech recognition |
US20090306984A1 (en) * | 2003-08-22 | 2009-12-10 | Ser Solutions, Inc. | System for and method of automated quality monitoring |
US8996350B1 (en) * | 2011-11-02 | 2015-03-31 | Dub Software Group, Inc. | System and method for automatic document management |
US20160018991A1 (en) * | 2007-12-06 | 2016-01-21 | Intelligent Intellectual Property Holdings 2 Llc | Apparatus, system, and method for coordinating storage requests in a multi-processor/multi-thread environment |
US20200065390A1 (en) * | 2018-08-21 | 2020-02-27 | Language Line Services, Inc. | Monitoring and management configuration for agent activity |
-
2023
- 2023-03-13 WO PCT/RU2023/000069 patent/WO2024191315A1/en unknown
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040117185A1 (en) * | 2002-10-18 | 2004-06-17 | Robert Scarano | Methods and apparatus for audio data monitoring and evaluation using speech recognition |
US20090306984A1 (en) * | 2003-08-22 | 2009-12-10 | Ser Solutions, Inc. | System for and method of automated quality monitoring |
US20160018991A1 (en) * | 2007-12-06 | 2016-01-21 | Intelligent Intellectual Property Holdings 2 Llc | Apparatus, system, and method for coordinating storage requests in a multi-processor/multi-thread environment |
US8996350B1 (en) * | 2011-11-02 | 2015-03-31 | Dub Software Group, Inc. | System and method for automatic document management |
US20200065390A1 (en) * | 2018-08-21 | 2020-02-27 | Language Line Services, Inc. | Monitoring and management configuration for agent activity |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108959564B (en) | Data warehouse metadata management method, readable storage medium and computer device | |
US11531909B2 (en) | Computer system and method for machine learning or inference | |
US10922164B2 (en) | Fault analysis and prediction using empirical architecture analytics | |
US8516499B2 (en) | Assistance in performing action responsive to detected event | |
CN110088744B (en) | Database maintenance method and system | |
WO2020237877A1 (en) | Log monitoring method and apparatus, terminal, and storage medium | |
CN112101803A (en) | Business process monitoring method, device, system, equipment and medium | |
US9860109B2 (en) | Automatic alert generation | |
CN111209153B (en) | Abnormity detection processing method and device and electronic equipment | |
CN113946499A (en) | Micro-service link tracking and performance analysis method, system, equipment and application | |
CN110650137A (en) | Coal mine network abnormal behavior early warning method, system, equipment and readable storage medium | |
CN114201328A (en) | Fault processing method and device based on artificial intelligence, electronic equipment and medium | |
CN110063042A (en) | A kind of response method and its terminal of database failure | |
CN111045849A (en) | Method, device, server and storage medium for identifying reason of checking abnormality | |
RU2809254C9 (en) | Method and system for monitoring automated systems | |
RU2809254C1 (en) | Method and system for monitoring automated systems | |
WO2024191315A1 (en) | Method and system for monitoring automated systems | |
CN118053125A (en) | Project progress visualization image supervision method, device, equipment and medium | |
EA047460B1 (en) | METHOD AND SYSTEM FOR MONITORING AUTOMATED SYSTEMS | |
US20220083320A1 (en) | Maintenance of computing devices | |
CN117194382A (en) | Middle-stage data processing method and device, electronic equipment and storage medium | |
CN116932324A (en) | Memory bank fault prediction method and device and electronic equipment | |
CN114064510A (en) | Function testing method and device, electronic equipment and storage medium | |
CN113900902A (en) | Log processing method and device, electronic equipment and storage medium | |
CN118260294B (en) | Manufacturing pain signal summarizing method, system, medium and equipment based on AI |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 23927752 Country of ref document: EP Kind code of ref document: A1 |