Release Notes 0.39
The new features of version 0.39 of WOCU Monitoring, a tool that continues to advance and adapt to market and customer needs, are presented below.
In this new version, our priority has been to continue working on streamlining processes and making the configuration and management of any element as tedious as possible. Among many other new features, widgets have been included to simplify and streamline operations in the Advanced Aggregator Configuration module, along with an updated style, with a more attractive and clearer design for the user.
Likewise, new filtering options have been added according to the type and current status of assets in the Alarm inventories. Keeping the view as clean and uncluttered as possible, for the orderly processing of elements.
In relation to the WOCU Public API, as a novelty, the full documentation has been added to our User Manual , in a separate chapter. Similarly, the aesthetics of this same information served in Swagger has been improved, bringing the design closer to our tool.
But without a doubt, one of the new features we are most proud of, is the full migration to Python 3.7 of the WOCU code. This includes the backends of the aggregator, the import-tool, the python-wocu common library and the checks used in the monitoring packs. All in all, this migration has been successfully handled by our development team.
In parallel, we continue to continuously update both our Monitoring Packs catalogue, adding new packs and new associated services, as well as refactoring numerous WOCU components to REACT technology.
Last but not least, the scope of the BP Trace function available in the modal has been extended. In particular, support has been added for processing and painting the tree with Business Processes (BPs) that integrate other BPs among their members, i.e. formed by several nested BPs.
But there’s more, read on for a full list of what’s new in this version of WOCU and get the most out of all our latest features.
WOCU code ported to Python3
Python is the programming language of choice for WOCU developers for the development of our application backends and integration scripts. As of early 2020, Python version 2.7 will no longer receive updates (neither performance, bug fixes, nor security bugs). WOCU was compatible with Python 2.7 but only some components were compatible with version 3. For this reason, if we wanted WOCU to be a long-lived project, we needed to tackle the complete migration to Python 3 of all its modules.
In this release we have finished porting all code written in Python to Python 3.7. This includes the backends of the aggregator, the import-tool, the common python-wocu library and the checks used in the monitoring packs. Applications can also run using a Python 2.7 interpreter (although they will not do so by default), but presumably this support will be phased out over time in future versions of WOCU.
To avoid code regressions (introducing code not compatible with Python 3), our Continuous Integration processes have been greatly improved by adding more thorough automatic code review and analysis jobs.
This work will allow us in future versions to update certain dependencies used by WOCU that will reduce the code base of our applications, and therefore make it increasingly maintainable.
Improvements in the configuration
New complex macro selection buttons in pack settings
Two new buttons have been added in the Monitoring Packs configuration window, which allow to quickly select (Select All) or deselect (Deselect All) all the complex macros associated to that pack. This will help the user to speed up this process, especially when the number of macros is high.
Non-mandatory completion of unchecked macros in the pack configuration
In previous versions, the standard behaviour during the configuration of Monitoring Packs was that in complex, unselected macros, it was necessary to complete all their parameters in order to advance and confirm new configurations.
The obligation to fill in macros that have not been selected has been corrected in this new version, simplifying and speeding up the manual modification of macros, which can sometimes involve a large number of macros.
In conclusion, the absence of an entry shall not prevent confirmation of the implementation of the configuration.
Ability to include or exclude services to be monitored from a host
WOCU allows you to monitor different types of hosts by applying Monitoring Packs. A Monitoring Pack is a predefined configuration model or profile that performs a specific monitoring function. Each one of them includes a specific set of predefined services to be monitored, but sometimes, the use of all the services monitored by a specific pack is not required.
Important
See the WOCU Monitoring Packs catalogue, which details the services managed by each Pack.
For this reason, we have included the option to exclude services to be monitored for each host by means of the service_excludes property. This option is applicable to both hosts and host templates, being possible for now its configuration only from the administration backend.
As an analogous case, we have also included the possibility of including services to be monitored without the need to apply the pack that contains it, by means of the service_includes property.
In future versions, these properties will be configurable from the WOCU interface without having to access the administration backend.
Ability to overwrite parameters of a service on a particular host
The possibility of configuring the parameters of the services assigned to a host individually has been implemented. In this way, it will be possible to adapt the checks carried out by these services to the requirements of each of these hosts.
For this purpose, the service_overrides
property has been implemented, which allows to include the list with the directives of the services to be configured.
This functionality will allow, for example, to modify the check interval of a certain service for a specific host, regardless of the value predefined by the pack that distributes that service.
This listing must be composed of a single service directive per line, maintaining the format: service,directive value
.
In future versions, these properties will be configurable from the WOCU interface without having to access the administration backend.
Improved usability of the Aggregator’s Advanced Configuration module.
New widget types have been created for the Foreign key and Many to many fields of the Configuration, (supported in Django).
With these new integrations, the usability of this module, which manages deeper configurations of the assets that are part of the infrastructure monitored in WOCU, continues to increase significantly. Therefore, it is essential to simplify and streamline, as far as possible, any operation available in this administration module.
Updating styles in the Aggregator Advanced Settings module
New aesthetic and visual change of the Configuration module, adapting it to the current design of the tool.
This administration environment integrates deeper configurations of the elements that are part of the technological infrastructure monitored in WOCU. Due to its relevance, it was of great importance to unify and update the view with a more attractive and clearer design for the user.
Important
Remember that not all users with access to WOCU have access to the Advanced Configuration mode. To access it, you must be logged in as an Administrator in the system.
API
New endpoints for availability information
Two new endpoints have been added to the WOCU API, for querying the availability of Hosts in a given period of time.
Endpoint for single Host query:
GET /api/status/{realm_type}/{realm_name}/host/availability/{host}/
Endpoint for querying a set of Hosts (Realms or Hostgroup):
GET /api/status/{realm_type}/{realm_name}/hosts/availability/
Note
Access the full WOCU API documentation at: Public API documentation
Aesthetic improvement of API documentation in Swagger
Swagger is the standard tool of choice for generating WOCU API documentation. Previously, the information was presented in the default Swagger theme. As a measure of approximation to WOCU, its appearance has been updated and renewed, with the aim of homogenising the API view with that of our tool and achieving a more attractive design for the user.
To access the web view of the API documentation, enter the following URL in your browser:
http://<host>/aggregator/api-docs
Important
This documentation is also available in a separate chapter of the User Manual: Public API documentation.
Interface
Filtering by asset type and status in Problems inventories
WOCU shows in both Problems listings, those elements that are not in a normal operating state (UP/OK). In complex environments, a large number of alarms can occur, which must be examined and dealt with by the operator. For this reason, in addition to the filters linked to the common alarm operation tasks: Active Problems, Disabled checks, Acknowledged, Downtime and Massive Actions, the following new options have been added:
A set of selectable checkboxes that act as a filter of assets by status type.
Filtering by asset type, differentiating between individual assets (Hosts and Services) and business processes (BP Hosts and BP Services).
These options modify the display of assets according to their current status or type.
For ease of understanding and selection, the boxes use the same colours associated with the different status types. However, by placing the cursor over the checkbox, a reminder of the status to be selected will be displayed. More information on states and associated colours can be found in: Statements of Assets in WOCU.
The operation is simple, by clicking on a box you can activate/deactivate this option. Note that once selected, the box marked with a tick (✓) will appear inside it.
In addition, there is an option for multiple selection of list items. It is represented by the icon of an open hand when it is activated, or closed otherwise. Checking the box will select all the assets visible in the list on which to apply any of the Mass Actions available.
Regarding the filtering by asset type, it follows the same methodology as the rest. Applied filters have a blue background with the text On (Active), while inactive filters have a light grey background with the text Off (Inactive).
WOCU works by integrating new functionalities that streamline daily operations and keep the view of inventories and tables as clean and uncluttered as possible, allowing the user to concentrate on the orderly processing of items.
Note
More information can be found at: Inventory Operational Options: Filters and Export.
Representation of nested Business Processes in BP trace view
The view BP Trace , shows a tree traced from the Business Rule (BP Rule) associated to a given Business Process (BP). In this new version, the scope of this functionality has been extended by adding support for processing and displaying Business Processes (BP) that integrate other BPs among their members, either BP Host or BP Services.
These elements will be represented on the tree with the symbol of a house.
In conclusion, the tree painted in this view can consist of several nested Business Processes (BPs).
Remember that thanks to the representation with nodes and logical relationships, in addition to knowing the state of the BP, the user will be able to analyse and locate the root cause of an anomalous monitoring state.
Note
More information can be found at BP Trace.
Refactorings
Migration of various interface components to REACT technology
The non-visible part of several widgets in the Status tab of the Detailed view of Hosts and Business Processes tab has been simplified by migrating them to REACT technology.
Documentation
Integration of the WOCU API documentation into the user manual
A new section has been added to the User Manual, where the full and detailed documentation of the WOCU API is provided. This documentation is similar to that shown in the Swagger tool.
Note
More information can be found at: Public API documentation.
Monitoring packs
Check out our catalogue of WOCU Monitoring Packs at the following link: Monitoring Packs.
Monitoring scripts ported to Python3
All monitoring scripts (written in Python) have been reviewed and ported to Python3, fixing potential bugs along the way that were previously undiscovered and unaddressed. For this reason, the continuous integration process has been improved to avoid regressions in the code.
New process checking service in the call-manager-cisco-snmp package
A new service has been added to the pack specifically for Cisco Call Manager. This service allows you to select the processes you want to monitor. We will be able to choose the critical processes from the list that appears as a result of the Discover
action.
Note
Check out the WOCU Monitoring Packs catalogue at the following link: Monitoring Packs.
New packs for monitoring the health of WOCU components
New wocu-health packs have been developed for monitoring WOCU applications, APIs and backends. In addition to solving the problem of Who watches the watchman?, these packs will help to monitor and optimise the performance of WOCU’s own infrastructures.
New wocu-realm pack
With this pack you get asset status statistics per realm. That is, it is able to discover all the realms configured and monitored by the WOCU instance and generate alarms when the percentage of Hosts, Services, BP Host or BP Services that are not in OK status exceeds the defined thresholds.
Minor bug fixes and continuous improvement
Minor or purely cosmetic bugs in the packs have been fixed:
dell-server-hw-info
linux-ssh
sbc-acmepacket
cisco-interfaces-advanced-health
os_resources
infinera-edu