altair Ellexus Mistral Live system Telemetry monitoring User Manual

June 5, 2024
ALTAIR

Table of Contents

Ellexus Mistral Live system Telemetry monitoring
User Manual

Introduction

Mistral is a tool used to report on and resolve I/O performance issues when running complex Linux applications on high-performance compute clusters.
Mistral allows you to monitor application I/O patterns in real-time, and log undesirable behavior using rules defined in a configuration file called a contract.

Installation

Extract the Mistral product archive that has been provided to you somewhere sensible. Please make sure that you use the appropriate version of Mistral (32 or 64bit) for the  machine you want to run it on.
Mistral requires a license, please contact Altair if you do not already have a valid Mistral license.
The environment variable MISTRAL_LICENSE must be set to the location of your license, which can be one of:

  1. : for your network Altair license server.
  2. The pathname of a specific license file, for a legacy Ellexus license file.
  3. The pathname of a directory that contains one or more legacy Ellexus license files.

Mistral will attempt to detect the installation directory correctly on start up however some job schedulers, e.g. Univa Grid Engine, use a spool directory that can break this detection. In this case, the environment variable MISTRAL_INSTALL_DIRECTORY must be set to the directory used for installation.
There are two flavors of Mistral, designed to be used with either /bin/bash or /bin/[t]csh as interpreter.
If Mistral is intended to be used with a job scheduler all required environment variables must be available in all interactive and non-interactive shells. It is recommended that global environment variable settings be added to /etc/bashrc or /etc/cshrc and individual user settings to the user’s .bashrc or .cshrc file.

Configuring Mistral

Configuring contract and log locations
Mistral determines what events to log and/or throttle by using contract files. Mistral uses two types of contracts, local and global.
This enables administrators to define global settings for the entire system while also allowing for the creation of tuned settings for specific workloads. The following environment variables configure the locations Mistral uses for contract and log files.
It is not necessary to configure both global and local contracts but at least one valid contract/log pair must be defined. When testing it may be preferable to just use one  contract, either local or global, for simplicity.

MISTRAL_CONTRACT_MONITOR_GLOBAL
MISTRAL_CONTRACT_MONITOR_LOCAL
MISTRAL_CONTRACT_THROTTLE_GLOBAL
MISTRAL_CONTRACT_THROTTLE_LOCAL
MISTRAL_LOG_MONITOR_GLOBAL
MISTRAL_LOG_MONITOR_LOCAL
MISTRAL_LOG_THROTTLE_GLOBAL
MISTRAL_LOG_THROTTLE_LOCAL
MISTRAL_TRAFFIC_LIGHT_LOG
MISTRAL_TRAFFIC_LIGHT_PER_PROCESS| The path of the global monitoring contract file.
The path of the local monitoring contract file.
The path of the global throttling contract file.
The path of the local throttling contract file.
The path of the file in which Mistral will log violations of global contract rules.
The path of the file in which Mistral will log violations of local contract rules.
The path of the file in which Mistral will log throttling events triggered by a violation of a global contract rule.
The path of the file in which Mistral will log throttling events triggered by a violation of a local contract rule.
The path of the file in which Mistral will log traffic light numbers at the end of a run.
1: Log per-process traffic light entries.
Unset – don’t log per-process traffic light entries (default).
---|---

Contract specification
Contracts are configuration files that specify I/O limits for a process. This section describes the syntax and semantics of contract files.
If any monitoring rule limit is exceeded a log message is output indicating which process broke the limit and by how much.
If a throttling rule limit is exceeded a log message is output indicating the process that contributed most to breaking the limit and all job processes are rate limited until the job falls within the defined rule.
Contract Header
The first line of the file specifies the contract type and the time frame in the format ,,, where:
VERSION is the contract format version number which must be 2 for this release of Mistral;
CONTRACT-TYPE is either monitor timeframes or throttle time frame;
TIMEFRAME-PERIOD is the length of the time frame for all rules in this contract, specified as an integer, followed by; TIMEFRAME-UNIT which must be ms for milliseconds or s for seconds.
For example:
2, monitor timeframes, 15s 3.2.2 Comment Lines and Whitespace Blank lines and lines starting with # are ignored and can be used for adding comments to a contract file.
Whitespace is permitted before or after any item in a contract file.

Contract Rules
Each remaining line specifies a rule in the format

Related Manuals