System Description

Monitor provides easy and comprehensive monitoring of software licenses and computing hardware. This section gives an overview of Monitor's functionality.

Features

  • Web Interface: The main interface for viewing information gathered by Monitor is a browser interface viewable on any web browser that supports JavaScript, CSS, and AJAX. Generally, Monitor works with any modern browser.
  • Centralized Monitoring of Licenses: Monitor supports monitoring of FlexNet Publisher licenses, as well as other license managers. For software that does not utilize license manager software, Monitor can be used to provide basic licensing capabilities.
  • Database Driven: A high-performance, highly-scalable relational database server is fully integrated and managed by Monitor. The database is SQL-based, allowing for complete access to all data.
  • Distributed Monitoring of Hosts and Processes: By starting an agent program on each host to be monitored, Monitor gains the ability to monitor machine statistics.
  • License Management: Remotely perform start/stop/reread of license servers, as well as manage licensing files, all from within the web interface.

Editions

Monitor is available in two editions, each of which is enabled by a different license:

  • Monitor: Complete monitoring and reporting capabilities.
  • Monitor Basic: Monitoring capability only, typically used in conjunction with Accelerator to provide license availability data to its job scheduler. This edition encrypts historical data so that it can be decrypted and used in case a full license is acquired at some point in the future.

Licensing

Monitor is licensed per the number of concurrent unique users that are detected across all of the monitoring that is being performed. As with all Altair Accelerator products, a server license is also required.

Theory of Operation

For monitoring live license servers, data collection jobs, such as lmstat, are executed periodically (every 30 seconds as a default, but configurable). When a checkout is detected in the data collection job output, it is stored in the Monitor server memory. The checkout remains active as long as it is detected in subsequent samples that are taken. Once the checkout disappears from the job output, it is considered checked-in by the server and is written to a checkout data file for the current day. As new data is written to the data file, it is loaded into the database to use for historical reporting.

For debug log parsing (supported for FlexNet Publisher only), parsing jobs are executed periodically (every 12 hours as a default) and denial data is extracted and written to a denial data file for the current day, organized in a tag/daemon/server directory structure. Optionally, checkout data can also be obtained from the debug log, which will be stored in the checkouts data directory (licmon.swd/data/checkouts), also organized in a tag/daemon/server directory structure. In both cases, the server portion of the structure will be "master" by default, unless a specific host was configured for the debug log parsing job.

There are two different methods for monitoring unlicensed tools. The first method utilizes a wrapper script or binary to interact with Monitor to perform license counting and restriction, while the second method utilizes a monitoring agent running on every machine that may execute the unlicensed tool. The agent sends information about the processes running on the machine, which is used to detect running tools that have been configured to be monitored.

Interfaces

The primary interface for Monitor is the web interface. The home page, located at the default URL of http://<HOSTNAME>:5555/cgi/ftlm.cgi shows an overview of current license activity. The default port requires the user to login. If login is not wanted or needed, a read-only port is also provided that allows for anonymous access. The default read-only port is 5556. The interface utilizes a tab-based interface, which can be used to navigate to a number of views and reports of both current and historical usage, as well as to perform administration of the Monitor implementation.

Monitor also includes a command line interface (CLI), as well as a Tcl-based application programming interface (API). The CLI can be used to obtain license availability and utilization data, as well as create and execute batch-mode reports. The API can be used in any custom application where license availability and utilization data may be needed.

Monitor System Diagram

The following diagram illustrates the Monitor system and data paths.


Figure 1.

Monitor Components

All Altair Accelerator products are based on a client/server architecture, provided by the "VOV" framework. The server component of this architecture is called vovserver, which provides the Monitor server functionality (web server, job scheduler, etc.) by running a VOV project named licmon. The server makes use of a server working directory (SWD) to store its configuration, state and output files. For Monitor, the default location of the SWD is $VOVDIR/../../licmon/licmon.swd. The server component is licensed. In addition to the server, the following components are employed:

  • vovlmd: A daemon that creates data collection jobs that are managed by the job scheduler based on the configuration entered by the administrator.
  • vovtasker: Processes that execute jobs for the Monitor job scheduler. To minimize latency issues, the workload is distributed amongst multiple vovtaskers. Monitor launches the following vovtaskers on the primary host, by default:
    • batchreporter: responsible for completing any background reporting tasks.
    • logparser: reads debug logs from license daemons.
    • maintainer: completes various tasks as assigned by the vovserver.
    • parser: runs status on defined license daemons and collects feature, expiration, capacity, checkout, and denial information.

    If needed, additional parser taskers can be added on a remote host to increase the scalability of the implementation.

  • vovnotifyd: A daemon that runs system health checks and e-mails the administrator, and in certain cases, users who trigger events, to provide notification of events.
  • vovdbd: A daemon that is responsible for monitoring Altair Accelerator product data files for changes and loading them into the database.
  • periodic jobs: Scheduled jobs that are responsible for automating tasks. These jobs can be configured to run at a specific interval and/or a certain day/time, similar to UNIX cron. Periodic jobs can be configured via the Configuration Information page. For a list of periodic jobs that are part of Monitor, see Maintenance Tasks.
  • agents: Monitor agents (Monitor-Agents) add functionality to Monitor in a number of areas, including:
    • Control: License server management facility with full daemon control, license file management, editing, and version tracking.
    • Network Monitoring: Monitoring of license server hosts and host processes.