{"id":381180,"date":"2024-06-29T03:31:27","date_gmt":"2024-06-29T03:31:27","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=381180"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=381180","title":{"rendered":"<span>New features of the hybrid monitoring AIOps system Monq<\/span>"},"content":{"rendered":"<div><!--[--><!--]--><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-1\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/ij\/r5\/hv\/ijr5hvus3okzdvfagk2zksuw3ri.png\" data-src=\"https:\/\/habrastorage.org\/webt\/ij\/r5\/hv\/ijr5hvus3okzdvfagk2zksuw3ri.png\"\/><\/p>\n<p>  In one of the previous articles, I\u2019ve already written about the hybrid monitoring system from Monq. Almost two years have passed since then. During this time, Monq has significantly updated its functionality, a free version has appeared, and the licensing policy has been updated. If monitoring systems in your company start to get out of control, and their number rushes somewhere beyond the horizon, we suggest you take a look at Monq to take control of monitoring. Welcome under the cut.<br \/>  <a name=\"habracut\"><\/a>  <\/p>\n<h2>Licensing has become more flexible<\/h2>\n<p>  I\u2019d like to start the review with good news \u2014 the appearance of a free version of the solution. In the new version of the licensing policy, the previous monolithic Monq was divided into three subproducts, each one with an individual license:<\/p>\n<ul>\n<li>Collector \u2014 collection and analysis of logs,<\/li>\n<li>AIOps \u2014 hybrid monitoring and incident management,<\/li>\n<li>TestForge \u2014 functional testing of information systems and services.<\/li>\n<\/ul>\n<p>  You could eagerly <a href=\"https:\/\/monqlab.com\/monqcollector\">download<\/a> Monq Collector for free from the vendor&#8217;s website. Later in the article, you could learn how to use it. AIOps and TestForge are provided in the extended version of the product and licensed according to the number of configuration units and to the number of runs of test scripts per day, respectively.<\/p>\n<h2>Simplified installation<\/h2>\n<p>  Since the last publication of the article in 2019, the Monq deployment procedure has undergone many changes. First, the architecture of the deployed solution now doesn\u2019t com-prise four servers but only one. Secondly, now the administrator has no need to manually prepare the infrastructure, install Kubernetes, run playbooks, and stuff. From now on, the product is delivered in the form of a virtual machine image, which can be simply imported into the virtualization environment, connected to the console, and assigned network settings that provide name resolution and Internet access. All other actions are performed in the graphical interface.<\/p>\n<p>  The IP address set on the virtual machine, you can go to the RUNDECK web interface.<\/p>\n<p>  <a href=\"https:\/\/youtu.be\/ldtUOw_vQ6Y\">In this video<\/a>, you can see the taken steps. There are three scenarios available for the administrator:<\/p>\n<ul>\n<li>infra install \u2014 it\u2019s executed in the first place, the script will install all the necessary infrastructure services.<\/li>\n<li>monq install \u2014 the script is run after the infrastructure\u2019s prepared. This will install the components. We run the Monq install script, that will install all the microservices of the system.<\/li>\n<li>monq erase \u2014 the script is optional to run, we need it in non-standard cases when you cry for removing the application software.<\/li>\n<\/ul>\n<p>  The final point of installation is the issuance of a login and password to enter the platform.<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/-n\/yr\/v8\/-nyrv83qc_ddpcyveogkbjkmeku.png\" data-src=\"https:\/\/habrastorage.org\/webt\/-n\/yr\/v8\/-nyrv83qc_ddpcyveogkbjkmeku.png\"\/><\/p>\n<h2>Operation became easier and new possibilities appeared<\/h2>\n<p>  <\/p>\n<h3>Updated interface<\/h3>\n<p>  After logging into the system, as before, the sections \u00abWorkgroups\u00bb and \u00abUsers\u00bb require configuration. You need as well to configure the mail plugin: specify the mail server, username, and password. Newly created users will not receive their generated passwords without this setting.<\/p>\n<p>  The old graphical interfaces of workgroups and users have changed likewise: the UI has changed, which is now based on Angular. Several screens are still on the same front (VueJS), but as the vendor says, they will soon be a thing of the past ditto.<\/p>\n<p>  For demonstration purposes, I created a workgroup called \u00abHabrahabr\u00bb and a user called \u00abHabr\u00bb in the monq space for further work.<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/xl\/d0\/b3\/xld0b3g7s3cfzuhhtrtqcmjncpm.png\" data-src=\"https:\/\/habrastorage.org\/webt\/xl\/d0\/b3\/xld0b3g7s3cfzuhhtrtqcmjncpm.png\"\/><\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/lz\/tj\/pd\/lztjpdk2nnfhosy0h7lyk7vathg.png\" alt=\"image\" data-src=\"https:\/\/habrastorage.org\/webt\/lz\/tj\/pd\/lztjpdk2nnfhosy0h7lyk7vathg.png\"\/><\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/ys\/9h\/cv\/ys9hcvk2tejfway-nfrqemyjegc.png\" alt=\"image\" data-src=\"https:\/\/habrastorage.org\/webt\/ys\/9h\/cv\/ys9hcvk2tejfway-nfrqemyjegc.png\"\/><\/p>\n<p>  In the workgroups, there were not only interface changes but also functional ones. Let&#8217;s try to figure out what new features the vendor has added.<\/p>\n<p>  A section for managing workgroup policies has been added to the administrative panel. In a specific case, the policies are global for the space for setting up workgroup management capabilities for ordinary users. While administrators still have access to any changes, for ordinary users, the ability to create or delete groups is determined by policies.<br \/>  The platform user can now have several different roles in the same group at the same time. This makes it possible to configure user access rights more flexibly to various objects and functions of the system. Instead of the \u201cPublic group\u201d mark, the following types of privacy for working groups have been introduced:<\/p>\n<ul>\n<li>Public \u2014 visible to all users, users can join the group themselves,<\/li>\n<li>Closed \u2014 visible to all users, users on their own cannot join the group,<\/li>\n<li>Private \u2014 groups are visible only to members of these groups.<\/li>\n<\/ul>\n<p>  The user section, consisting of the user profile and the platform user management page, was also transferred to Angular, while retaining all the previous functionality, but there were also improvements. Now available:<\/p>\n<ul>\n<li>mass addition of users,<\/li>\n<li>adding a user to a workgroup upon creation,<\/li>\n<li>notifying the user by email about registration, blocking, unblocking,<\/li>\n<li>viewing notifications the user is subscribed to,<\/li>\n<li>management of teams and teams and roles from the user page.<\/li>\n<\/ul>\n<p>  The interface is now available in two languages: Russian and English.<\/p>\n<h3>Resource-service models (RSM) are updated<\/h3>\n<p>  The RSM configuration has been rethought practically from scratch. However, all functionality has been retained.<\/p>\n<p>  Here are screenshots of the RSM panel interface:<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/dp\/ug\/gn\/dpuggnzuujacc-ft13mfhexuvrq.png\" alt=\"image\" data-src=\"https:\/\/habrastorage.org\/webt\/dp\/ug\/gn\/dpuggnzuujacc-ft13mfhexuvrq.png\"\/><\/p>\n<p>  Creating influence and dependence links, as well as deleting and viewing basic data on CIs are performed from a pop-up menu. For example, the state of health of one of the CIs:<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/wb\/sy\/tw\/wbsytwpnaahj4tm8csd2usdtuc0.png\" alt=\"image\" data-src=\"https:\/\/habrastorage.org\/webt\/wb\/sy\/tw\/wbsytwpnaahj4tm8csd2usdtuc0.png\"\/><\/p>\n<p>  In order to bind triggers to a particular CI, you need to open the panel with related triggers and select the necessary ones: <\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/yr\/ox\/f4\/yroxf4z-abjqrfdfb35obt0qzp8.png\" alt=\"image\" data-src=\"https:\/\/habrastorage.org\/webt\/yr\/ox\/f4\/yroxf4z-abjqrfdfb35obt0qzp8.png\"\/><\/p>\n<p>  The new panel gives the opportunity to work with such a parameter of CI as its health. This parameter is a composite one and, first of all, it serves to visually assess the state of the RSM. The user can clearly see which CI has the most serious effect on the health of the problematic CI, based on the value of its negative impact coefficient. Here is an example of the CI health panel:<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/67\/rs\/1z\/67rs1z0eouldu6ztgbkjjnduel4.png\" alt=\"image\" data-src=\"https:\/\/habrastorage.org\/webt\/67\/rs\/1z\/67rs1z0eouldu6ztgbkjjnduel4.png\"\/><\/p>\n<h3>Updates for integration settings<\/h3>\n<p>  In the 6th version of the Monq, the overview of which I demonstrate here, a significant modification has been made to the module of integration with external systems. From the time when the first article was written, the interface of the integration module also, like many other screens, was moved to Angular.<\/p>\n<p>  \u00abIntegration type\u00bb was transformed into \u00abconfiguration template\u00bb, and the integrations themselves were redefined as data streams.<\/p>\n<p>  The following system templates for the configuration of data streams are available from the box: Zabbix, MS SCOM, Prometheus, Ntopng, Nagios.<\/p>\n<p>  Integration with other monitoring and logging systems can be done through the \u00abAnyStream\u00bb configuration template. Starting with version 6.0 you can write your own handlers where you can parse the RAW stream into JSON and enrich the resulting events with customized labels.<br \/>  The screenshot below shows a parser of incoming events from Prometheus that converts the date format:<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/ow\/mq\/wp\/owmqwpn5hm3sowgszimhszrfqpu.png\" alt=\"image\" data-src=\"https:\/\/habrastorage.org\/webt\/ow\/mq\/wp\/owmqwpn5hm3sowgszimhszrfqpu.png\"\/><\/p>\n<h2>A free version for analyzing logs is now available<\/h2>\n<p>  Logs Screen is the main tool of the free version for analyzing logs. This module appeared about a year ago. The plug-ins subsystem has become available to users in the same release. Plugins allow you to collect data from various sources.<\/p>\n<p>  The main goal of the screen of primary events is to provide users with a tool for visualization and centralized search, analysis, and processing of logs stored in the ClickHouse database.<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/cw\/sx\/mh\/cwsxmhqpxjh8ditvax3_mdbra7w.png\" alt=\"image\" data-src=\"https:\/\/habrastorage.org\/webt\/cw\/sx\/mh\/cwsxmhqpxjh8ditvax3_mdbra7w.png\"\/><\/p>\n<p>  Let&#8217;s try to figure out how to use this tool.<\/p>\n<p>  At the top of the screen, there is a search bar in which the native MQL syntax is used that outwardly is somewhat similar to Lucene. I\u2018ll give examples of search queries taken from the vendor&#8217;s website. <\/p>\n<div class=\"scrollable-table\">\n<table>\n<tr>\n<td><b>Type of query<\/b><\/td>\n<td><b>Example<\/b><\/td>\n<td><b>Comments<\/b><\/td>\n<\/tr>\n<tr>\n<td>Search by term (exact match, no special characters)<\/td>\n<td><code>stream.name:Messages<\/code><\/td>\n<td>The query is not case sensitive.<\/td>\n<\/tr>\n<tr>\n<td>Search by phrase with spaces, numeric, negative values, dates (exact match) <\/td>\n<td><code>_stream.name:\"CIT Messages\" source.text:\"what happened\\?\" source.text:happened\\?<\/code><\/td>\n<td>Escaping is done using quotes.<br \/>  For symbols <code>? * \\ \"<\/code> inside double quotes you have to do internal escaping with <code>\\<\/code>, if you want to find an exact match.<br \/>  Also if there are no escape quotes, but there are characters <code>? * \\ \"<\/code>, they also need to be escaped with <code>\\<\/code>.  <\/td>\n<\/tr>\n<tr>\n<td>Value is not equal to<\/td>\n<td><code>!_stream.name:\"CIT Messages\"<br \/>  _stream.name:\"CIT Messages\"<\/code><\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>Prefix search <\/td>\n<td><code>_stream.name:Pr*<\/code><\/td>\n<td>The query will return all events which have values of the <code>_stream.name<\/code> field beginning with <code>\"Pr\"<\/code>. For example, Prometheus.<\/p>\n<p>  Query <code>!_stream.name:Pr*<\/code> \u2014 will return events where the value of the <code>_stream.name<\/code> field does not start with <code>\"Pr\"<\/code>.  <\/td>\n<\/tr>\n<tr>\n<td>Full-text search<\/td>\n<td><code>_stream.name:*bb*<\/code><\/td>\n<td>The query will return all events where the values of the <code>_stream.name<\/code> field contain consecutive characters <code>\"bb\"<\/code>. For example, Zabbix.<\/p>\n<p>  Symbols can appear anywhere in the value.<\/p>\n<p>  Query <code>!_stream.name:*bb*<\/code> will return events that do not contain <code>\"bb\"<\/code> in <code>_stream.name<\/code>.<\/p>\n<p>  If you are searching using a phrase with spaces, you must enclose it in quotation marks. For example, query <code>_stream.name:\"*IT Messag*\"<\/code> will return events in which the <code>_stream.name<\/code> field contains <code>\"IT Messag\"<\/code>, as in <code>\"CIT Messages\"<\/code>.   <\/td>\n<\/tr>\n<tr>\n<td>Postfix search<\/td>\n<td><code>_stream.name:*ges<\/code><\/td>\n<td>The query will return all events where <code>_stream.name<\/code> field values end with <code>\"ges\"<\/code>. For example, <code>\u201cmessages\u201d<\/code>.<\/p>\n<p>  Query <code>!_stream.name:*ges<\/code> will return events with <code>_stream.name<\/code> not ending in <code>\"ges\"<\/code>.  <\/td>\n<\/tr>\n<tr>\n<td>BooleanQuery (boolean conditions)<\/td>\n<td><code>_stream.name:Messages AND (source.Type:UserLeft OR source.Type:UserJoin)<\/code><\/td>\n<td>Expressions can be joined using the <code>OR<\/code> or <code>AND<\/code> operators, which are separated by one space on the right and left.<\/p>\n<p>  A query (also a bracketed expression) cannot start with an operator.<\/p>\n<p>  The number of operators must be 1 less than the number of expressions.<\/p>\n<p>  Expressions and operators must be interleaved.<\/p>\n<p>  Also, expressions can be combined through parentheses, the number of opening and closing parentheses must be the same. Expression precedence as in mathematics, where <code>AND<\/code> is multiplication, <code>OR<\/code> is addition.   <\/td>\n<\/tr>\n<tr>\n<td>Escaping characters<\/td>\n<td><code>source.text:\"what happened\\?\" source.text:happened\\? source.password:\"asd(\\\\\\?) sd\"<\/code> will search for an exact match <code>\u201casd(\\?) sd\u201d<\/code><\/td>\n<td>Parentheses, colons, and spaces must be escaped with double quotes. Also symbols <code>? * \\ \"<\/code> need to be escaped with <code>\\<\/code>.  <\/td>\n<\/tr>\n<tr>\n<td>Finding events with a particular field non-empty<\/td>\n<td><code>source.text:exists()<\/code><\/td>\n<td>Works with any type of field.<\/td>\n<\/tr>\n<tr>\n<td>Exclude events in which a particular field is present<\/td>\n<td><code>!source.text:exists()<br \/>  source.text:exists()<\/code><\/td>\n<td>Works with any type of field<\/td>\n<\/tr>\n<\/table>\n<\/div>\n<p>  In addition to search queries, there is an analytical tool that helps to determine the number of unique values for any of the fields and their respective percentages within the rest of the values. All values in primary events are active elements on which you can immediately configure filtering.<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/3l\/ct\/u0\/3lctu0qjk0ghipx5otyo-bibxca.png\" alt=\"image\" data-src=\"https:\/\/habrastorage.org\/webt\/3l\/ct\/u0\/3lctu0qjk0ghipx5otyo-bibxca.png\"\/><\/p>\n<h3>New options in settings for monitoring and alerting<\/h3>\n<p>  In recent versions of Monq, it is possible to create your own alert plugins. Plugin subsystem allows space administrators to create and add their own notification plugins to the Monq system.<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/-w\/fh\/0j\/-wfh0jwf3dlyjltensyyqmxilzo.png\" alt=\"image\" data-src=\"https:\/\/habrastorage.org\/webt\/-w\/fh\/0j\/-wfh0jwf3dlyjltensyyqmxilzo.png\"\/><\/p>\n<p>  As a reminder, Monq has the ability to create escalation chains with advanced logic.<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/ip\/jk\/kr\/ipjkkr5ytsb5gfu2i1lezfnilc0.png\" alt=\"image\" data-src=\"https:\/\/habrastorage.org\/webt\/ip\/jk\/kr\/ipjkkr5ytsb5gfu2i1lezfnilc0.png\"\/><\/p>\n<h3>Availability reports are implemented<\/h3>\n<p>  Availability reports have replaced SLA reports. This is a completely new tool for calculating the availability of information systems.<\/p>\n<p>  The \u00abAvailability\u00bb section allows you to:<\/p>\n<ol>\n<li>Work with availability information of:<br \/> \n<ul>\n<li>configuration items and their impact on IS availability,<\/li>\n<li>information systems that consist of a selected number of CIs,<\/li>\n<li>complex ISs, consisting of many subsystems with the ability to determine the value of the influence for each of them.<\/li>\n<\/ul>\n<\/li>\n<li>Configure parameters for generating an availability report and save them as a template. The templates for the new report received a wider range of settings:<br \/> \n<ul>\n<li>Using PCM maps as a filter \u2014 to generate a report there is no need to create and update a list of KEs, it is enough to select an already saved PCM map.<\/li>\n<li>More functional filter for alerts.<\/li>\n<li>The Recovery Time Objective (RTO) indicator is the maximum time during which a CI can have problem status. This parameter allows you not to take into account unstable statuses of CIs in the calculation.<\/li>\n<li>Service time (working time) \u2014 not to be confused with the service modes for CI, it allows to take into account non-working hours in the calculation in a proper way.<\/li>\n<\/ul>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/od\/_i\/ff\/od_iffo-fbb9iezlumkpxcx4am4.png\" alt=\"image\" data-src=\"https:\/\/habrastorage.org\/webt\/od\/_i\/ff\/od_iffo-fbb9iezlumkpxcx4am4.png\"\/><\/li>\n<li>Manage templates and multi-templates (report templates for complex information systems):<br \/> \n<ul>\n<li>create personal and group templates,<\/li>\n<li>edit template parameters,<\/li>\n<li>delete templates. <\/li>\n<\/ul>\n<\/li>\n<li>Quickly configure parameters and generate a report using them without saving the template.<\/li>\n<\/ol>\n<p>  More details about the methodology for calculating availability can be found on Habr in <a href=\"https:\/\/dev.to\/nikolaygan\/availability-of-it-services-and-how-to-calculate-sla-2ain\">this article (in Russian)<\/a>.<\/p>\n<h2>Updated module for functional tests (Monq TestForge)<\/h2>\n<p>  The heading of the article is about AIOps, but I also want to make a brief overview of another important tool for complex business monitoring.<\/p>\n<p>  The Monq TestForge product, provided under a separate license, has functionality allowing you to abandon the mandatory use of external systems for configuring and running tests. It also makes it possible managing of projects from a common interface.<\/p>\n<p>  There are two types of functional testing projects: managed and stand-alone. Standalone projects are managed from the environment in which they are launched, and managed projects are directly managed by TestForge.<\/p>\n<p>  The projects screen is divided into several views:<\/p>\n<p>  Project management panel. It lists all the available projects in the system with different labels and a very nice interface.<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/xf\/-z\/u2\/xf-zu2lpdjbyd4survnmng6fvca.png\" alt=\"image\" data-src=\"https:\/\/habrastorage.org\/webt\/xf\/-z\/u2\/xf-zu2lpdjbyd4survnmng6fvca.png\"\/><\/p>\n<p>  Configuration templates are provided for the convenience of quickly creating and configuring new managed projects. Templates contain a set of project environment variables and job codes. You can create a new template based on an existing project.<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/4e\/ye\/a5\/4eyea5lhlpxycty6o17foq91o4i.png\" alt=\"image\" data-src=\"https:\/\/habrastorage.org\/webt\/4e\/ye\/a5\/4eyea5lhlpxycty6o17foq91o4i.png\"\/><\/p>\n<p>  The management of the schedule for running tests looks very good. The scheduler starts the execution of the task code based on: <\/p>\n<ul>\n<li>the general timetable and the results of the previous task execution,<\/li>\n<li>user actions: execute now or execute at a specific time.<\/li>\n<\/ul>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/45\/3d\/aa\/453daakqvazaanzymy-tpnpvsd0.png\" alt=\"image\" data-src=\"https:\/\/habrastorage.org\/webt\/45\/3d\/aa\/453daakqvazaanzymy-tpnpvsd0.png\"\/><\/p>\n<p>  History of builds. For managed projects it is possible to manually start the build with additional features:<\/p>\n<ul>\n<li>the setting of startup variables,<\/li>\n<li>viewing the test execution log.<\/li>\n<li>viewing the broadcast of the test execution in real-time. <\/li>\n<\/ul>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/vw\/yq\/b7\/vwyqb75tmwnrek5u30dzqrc0jgs.png\" alt=\"image\" data-src=\"https:\/\/habrastorage.org\/webt\/vw\/yq\/b7\/vwyqb75tmwnrek5u30dzqrc0jgs.png\"\/><\/p>\n<h2>Agents and coordinators of agents are introduced in Monq<\/h2>\n<p>  In 2021, the system expanded its presence with agents. Agents are installed on systems running Linux or Windows and is able to:<\/p>\n<ul>\n<li>get information about the system and transfer it to the data stream,<\/li>\n<li>tail the log file and send raw data to the data stream,<\/li>\n<li>tail the log file, parse it and send JSON to the data stream,<\/li>\n<li>run TestForge scripts and send the execution result to the TestForge preprocessor,<\/li>\n<li>fetch data from PostgreSQL without permanently establishing a connection and send it to the data stream,<\/li>\n<li>forward messages from brokers (RabbitMQ, Kafka) to the data stream,<\/li>\n<li>connect to Zabbix database and check for changes in triggers.<\/li>\n<\/ul>\n<p>  From the side of the platform, agents&#8217; work is managed and monitored by agent coordinators. An agent processes a set of tasks coming from a coordinator and generates outputs and the execution log.<\/p>\n<p>  There are two types of agents in Monq:<\/p>\n<ul>\n<li>static \u2014 agents monitored by the system,<\/li>\n<li>dynamic \u2014 agents whose state is not monitored by the system.<\/li>\n<\/ul>\n<p>  Agent coordinators are responsible for identifying agents in the system and configuring access to information received from the agents.<\/p>\n<p>  By managing the coordinators you can:<\/p>\n<ul>\n<li>create or remove a coordinator,<\/li>\n<li>stop or start the coordinator,<\/li>\n<li>configure access rights to the coordinator,<\/li>\n<li>re-issue a token for connecting agents,<\/li>\n<li>add or remove labels for agents,<\/li>\n<li>configure coordinator parameters.<\/li>\n<\/ul>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/yi\/b4\/sv\/yib4svnqnb5xyg9qt50qb_pgvvq.png\" alt=\"image\" data-src=\"https:\/\/habrastorage.org\/webt\/yi\/b4\/sv\/yib4svnqnb5xyg9qt50qb_pgvvq.png\"\/><\/p>\n<p>  The list of connected agents is presented with the following information:<\/p>\n<ul>\n<li>agent type (static or dynamic),<\/li>\n<li>agent name,<\/li>\n<li>agent state,<\/li>\n<li>labels,<\/li>\n<li>the version of the installed agent,<\/li>\n<li>the agent&#8217;s task execution log,<\/li>\n<li>date and time of the last processed job,<\/li>\n<li>technical data of the agent.<\/li>\n<\/ul>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/bg\/8k\/ey\/bg8keyswfdrpwrjwah5vggeixmy.png\" alt=\"image\" data-src=\"https:\/\/habrastorage.org\/webt\/bg\/8k\/ey\/bg8keyswfdrpwrjwah5vggeixmy.png\"\/><\/p>\n<h2>Conclusions<\/h2>\n<p>  In this article, we talked about the new and updated features of the Monq hybrid monitoring AIOps system. The product is in continuous development and in the near future, we\u2019ll receive many new improvements. You can follow the updates on the <a href=\"https:\/\/monqlab.com\/\">vendor&#8217;s website<\/a>, as well as subscribe to a special <a href=\"https:\/\/t.me\/monq_dev\">telegram channel<\/a>.<\/p>\n<p>  It should be noted that Monq is not limited to integrations with Zabbix, MS SCOM, Prometheus, Ntopng, and Nagios. If necessary, it is possible to develop your own integration modules and take data or events from somewhere else.<\/p>\n<p>  If you would like to test the solution in your environment or get trial licenses, please leave your data in the <a href=\"https:\/\/gals.software\/solutions\/monq\">feedback form<\/a> on our website or <a href=\"https:\/\/gals.software\/contacts\">contact us<\/a> in any other convenient way.<\/div>\n<\/div>\n<\/div>\n<p><!----><!----><\/div>\n<p><!----><!----><br \/> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/articles\/573978\/\"> https:\/\/habr.com\/ru\/articles\/573978\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<div><!--[--><!--]--><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-1\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/ij\/r5\/hv\/ijr5hvus3okzdvfagk2zksuw3ri.png\" data-src=\"https:\/\/habrastorage.org\/webt\/ij\/r5\/hv\/ijr5hvus3okzdvfagk2zksuw3ri.png\"\/><\/p>\n<p>  In one of the previous articles, I\u2019ve already written about the hybrid monitoring system from Monq. Almost two years have passed since then. During this time, Monq has significantly updated its functionality, a free version has appeared, and the licensing policy has been updated. If monitoring systems in your company start to get out of control, and their number rushes somewhere beyond the horizon, we suggest you take a look at Monq to take control of monitoring. Welcome under the cut.  <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-381180","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/381180","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=381180"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/381180\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=381180"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=381180"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=381180"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}