Skip to main content

Monitoring InterSystems IRIS Using the Management Portal

You can monitor many aspects of your InterSystems IRIS® data platform instance starting at the System Dashboard of the Management Portal. From the dashboard you can view performance indicators and then, for selected indicators, navigate to more detailed information.

For an overview of general InterSystems IRIS monitoring tools, see System Monitoring Tools.

Note:

To access the System Operation tools described on this page, a user must be a member of a role with privileges to the %Admin_Operate resource. For more information, refer to this section of our guide to using the Management Portal.

Monitoring System Dashboard Indicators

The System Operation > System Dashboard page of the Management Portal groups the status of key system performance indicators into the following categories. Each category is described in one of the tables that follow.

In most cases, you can click an indicator listed in one of these categories to display a description of the indicator in the bottom detail box at the lower left corner of the page.

System Performance Indicators
Indicator Definition
Globals/Second Most recently measured number of global references per second.
Global Refs Number of global references since system startup.
Global Sets Number of global Set and Kill operations since system startup.
Routine Refs Number of routine loads and saves since system startup.
Logical Requests Number of logical block requests since system startup.
Disk Reads Number of physical block read operations since system startup.
Disk Writes Number of physical block write operations since system startup.
Cache Efficiency Most recently measured cache efficiency (Global references / (physical reads + writes)).

Click the ... more details link in the bottom detail box to display the System Operation > System Usage page. See Monitoring System Performance for details.

ECP Indicators
Indicator Definition
Application Servers Summary status of ECP (Enterprise Cache Protocol) application servers connected to this system.
Application Server Traffic Most recently measured ECP application server traffic in bytes per second.
Data Servers Summary status of ECP data servers to which this system is connected.
Data Server Traffic Most recently measured ECP data server traffic in bytes per second.

For more information on the ECP indicators, see Horizontally Scaling Systems for User Volume with InterSystems Distributed Caching.

System Time Indicators
Indicator Definition
System Up Time Elapsed time since this system was started.
Last Backup Date and time of last system backup.

You can run backups or view the backup history from the System Operation > Backup page. For more information on developing a backup plan, see Backup and Restore.

System Usage Indicators
Indicator Definition
Database Space Indicates whether there is a reasonable amount of disk space available for database files. Clicking ... more details displays the System Operation > Databases page.
Database Journal Indicates the current status of the database journal. Clicking ... more details displays the System Operation > Journals page.
Journal Space Indicates whether there is a reasonable amount of disk space available for journal files. Clicking ... more details displays the System Operation > Journals page.
Journal Entries Number of entries written to the system journal. Clicking ... more details displays the System Operation > Journals page.
Lock Table Current status of the system Lock Table. Clicking ... more details displays the System Operation > Locks > Manage Locks page.
Write Daemon Current status of the system Write daemon.
Transactions Current status of open local and remote (ECP) transactions. If there are no open transactions, status is Normal; status may also be Warning (if the duration of the longest open local or remote transaction is greater than 10 minutes) and Troubled (if greater than 20 minutes). Clicking ... more details displays the Transactions page (System Operation > Transactions).
Processes Most recent number of running processes. Clicking ... more details displays the Processes page (System Operation > Processes).
Web Sessions Most recent number of web sessions. Clicking ... more details displays the Web Sessions page (System Operation > Web Sessions).
Most Active Processes Running processes with highest amount of activity (number of commands executed). Clicking ... more details displays the Processes page (System Operation > Processes).

For more information on any of these topics, click the Help link on the Portal page displayed when you click the ... more details link.

Errors and Alerts Indicators
Indicator Definition
Serious Alerts Number of serious alerts that have been raised. Clicking ... more details displays the View Messages Log page (System Operation > System Logs > Messages Log).
Application Errors Number of application errors that have been logged. Clicking ... more details displays the View Application Error Log page (System Operation > System Logs > Application Error Log).

See Monitoring Log Files for more details.

Licensing Indicators
Indicator Definition
License Limit Maximum allowed license units for this system.
Current License Use License usage as a percentage of available license units.
Highest License Use Highest license usage as a percentage of available license units.

Click the ... more details link in the bottom details box to display the System Operation > License Usage page. For more information on licensing, see Managing InterSystems IRIS Licenses.

Task Manager Upcoming Tasks
Indicator Definition
Upcoming Tasks Lists the next five tasks scheduled to run.
Task Name of the upcoming task.
Time Time the task is scheduled to run.
Status Task status—one of: scheduled, completed, running.

Click the ... more details link in the bottom details box to display the System Operation > Task Manager > Upcoming Tasks page. For details on the Task Manager, see Using the Task Manager.

Monitoring System Usage and Performance

System performance metrics are described in the following tables:

System Usage Table

To view the system usage statistics, navigate to the System Usage page (System Operation > System Usage).

System Usage Statistics
Statistic Definition
Global references (all) Logical count of accesses to globals, including Sets, Kills, $Data, $Order, $Increment, $Query, and global references in expressions.
Global update references Logical count of global references that are Set, Kill, or $Increment operations.
Routine calls Number of calls to a routine.
Routine buffer loads and saves Total number of routine loads and saves as a result of ZLoad, ZSave, and running routines. (In a well-tuned environment, this number increases slowly, since most routine loads are satisfied by the routine cache memory without accessing the disk. Each routine load or save transfers up to 32 KB of data (64 KB for Unicode).)
Logical block requests Number of database blocks read by the globals database code. (In a well-tuned environment, many of these reads are satisfied without disk access.)
Block reads Number of physical database blocks read from disk for both global and routine references.
Block writes Number of physical database blocks written to disk for both global and routine references.
WIJ writes Number of blocks written to the write image journal file.
Journal entries Number of journal records created—one for each database modification (Set , Kill, etc.) or transaction event (TStart, TCommit) or other event that is saved to the journal.
Journal block writes Number of 64-KB journal blocks written to the journal file.
Routine lines Number of routine lines executed since system startup.
Last update Date and time stamp of the displayed statistics.

See Gathering Global Activity Statistics with ^GLOSTAT for an alternative method of monitoring these statistics.

Shared Memory Heap Usage

To view the InterSystems IRIS’s shared memory heap (gmheap) usage, navigate to the System Usage page (System Operation > System Usage), and click the Shared Memory Heap Usage link.

Note:

To learn how to change the size of the shared memory heap (gmheap), see gmheap.

The column headings in the table on this page refer to the following:

  • Description — Purpose for which shared memory is allocated.

  • Allocated SMH/ST — Total shared memory heap (gmheap) and string table memory allocated to the purpose.

  • SMH/ST Available — Shared memory heap (gmheap) and string table memory allocated to the purpose that is still available.

  • SMH/ST Used — Shared memory heap (gmheap) and string table memory allocated to the purpose that is in use.

  • SMT Used — Static memory table memory in use by the purpose.

  • GST Used — General string table memory in use by the purpose.

  • All Used — Total combined memory in use by the purpose.

Shared Memory Heap Usage
Identifier Definition
Miscellaneous Shared memory allocated for the static memory table (SMT) and general string table (GST).
Audit System Shared memory used for system auditing.
Classes Instantiated Shared memory allocated/available/used for the class hash table and control blocks.
Database Encryption Key Change Shared memory allocated/available/used for database encryption key changes.
Semaphore Objects Shared memory allocated/available/used for semaphore objects.
Event System Shared memory allocated/available/used for the event system.
Global Mapping Shared memory allocated/available/used for global mapping and subscript-level mapping (SLM).
License Upgrade Shared memory allocated/available/used for license upgrades.
Lock Table Shared memory allocated/available/used for the lock system.
National Language Support Shared memory allocated/available/used for National Language Support (NLS) tables.
Performance Monitor Shared memory allocated/available/used for the Performance Monitor (^PERFMON).
Process Table Shared memory allocated/available/used for the Process ID (PID) table.
Routine Buffer in Use Table Shared memory allocated/available/used for routine buffer-in-use tables.
Security System Shared memory allocated/available/used for the security system.
Shared Library Shared memory allocated/available/used for shared libraries.
TTY Hash Table Shared memory allocated/available/used for TTY hash tables.
DB Name & Directory Shared memory allocated/available/used for database names and directories.
iKnow Language Model Data Shared memory allocated/available/used for iKnow language models.
ECP Shared memory allocated/available/used for ECP.
Expand Daemon Shared memory allocated/available/used for expanding daemons.
Total

Total memory for each column.

Note:

Hover over the column headings for a description of each column.

Available SMT & GST Available memory in the static memory table (SMT) and general string table (GST).
Total SMT & GST Allocated Total used and available memory in the static memory table (SMT) and general string table (GST).
Total SMH Pages Allocated Total directly allocated shared memory heap (SMH) and string table allocated Shared memory, together with the total used/available memory in the static memory table (SMT) and the general string table (GST); the number of 64-KB pages is displayed parenthetically.

Monitoring SQL Activity

To inspect the SQL statements currently running on your IRIS system, navigate to the SQL Activity page (System Operation > SQL Activity). This page provides a table with the following information about each active SQL statement:

  • the Process ID associated with it

  • the ID of the User executing it

  • the Namespace containing the table or tables which the statement is querying

  • the statement’s Type (e.g. DynamicQuery for a Dynamic SQL query)

  • the Elapsed time since the statement began its execution

  • an excerpt from the text of the Statement itself.

Selecting any of the rows in this table reveals two further tables, which provide the following additional details about the corresponding SQL statement:

Selected statement details
Row label Value
Process The ID of the process associated with the statement. This field links to the Process Details page for this process.
Transaction? Whether or not the statement is active as part of an SQL transaction.
Start time The time at which the statement began its execution.
Parameters Where applicable, the first ten parameters that the statement is acting upon. For a Dynamic SQL query, this is a list of the literal values input as parameters into the query, replacing occurrences of the “?” character in the order listed. For commands such as INSERT or UPDATE, this is a list of values for the fields being inserted or updated for a record.
Statement The full text of the statement. Where applicable, this field also includes a link to the SQL Statement Details page for this statement.
Cached Query Where applicable, the name of the routine within which the statement is cached.
Execution statistics
Row label Value (overall and over the last week)
Times executed The number of times the statement has been executed.
Average rowcount The average number of rows the statement has returned upon each execution.
Average runtime The average runtime for this statement.
Standard deviation A measure of the degree of variation in runtimes for executions of the statement over the given interval.

Interoperability Usage

This page displays the number of different interfaces run by your system in the given namespace during the time span from Start Date to End Date. For example, if a specific business service is run multiple times, that counts as one inbound interface, while two business operations running once each count as two outbound interfaces.

Each row in the table represents a different type of interface.

Interoperability Usage Table
Column Description
Start Date The beginning of the date range. Defaults to the first day of the current month.
End Date The end of the date range. Defaults to the currrent date.
Type The type or category of interface. Categories include Inbound (business services), Outbound (business operations), and Web API.
Total The number of unique interfaces of the specified type that have run during the specified time range.

Monitoring Locks

InterSystems IRIS locks are created when an InterSystems IRIS process issues a LOCK command on an ObjectScript local variable or global variable, as long as the entity is not already locked by another process. Entities need not exist in the database to lock them. See Locking and Concurrency Control.

To display locks system-wide, navigate to the View Locks page (System Operation > Locks > View Locks). To delete selected locks system-wide, navigate to the Manage Locks page (System Operation > Locks > Manage Locks). In both cases, the displayed lock table lists one row for each held lock and for each waiting lock request, identifying the owner. A single row may identify multiple locks held by an owner on the same entity. For example, holding an incremented lock or holding both a Shared lock and an Exclusive lock. If more than one process holds a lock on the same entity, each owner has its own row.

Optionally select either or both of the following check boxes at the top of this page, to include additional information if needed. This information is not included by default, for performance reasons:

  • Owner’s routine information. This option adds the Routine column to the display.

  • SQL table name. This option adds the SQL table name column to the display.

The Lock Table has the following column entries.

Column Heading Definition
Owner The process ID of the process holding or waiting for the lock. Contains the client system name if it is a remote lock.
OS User Name Username assigned to the process holding or waiting for this lock.
Mode count Lock mode and lock increment count. If the lock count is 1 the count is not displayed. For a list of ModeCount values, refer to Lock Management.
Reference Lock reference string of the lock item (does not include the database name).
SQL table name The name of the SQL table, if any, associated with the lock reference. To see this column, you must select the SQL table name check box.
Directory The database location of the lock item.
System The system name of where the lock is located. If it is the local system the column is blank.
Routine The routine line currently being executed by the process holding or waiting for the lock. To see this column, you must select the Owner’s routine information check box.
Remove Manage Locks only: If this lock is removable, this option along with the Remove all locks for process option (for local locks) or the Remove all locks from remote client option (for remote locks) appears in the row. Click the appropriate option to remove the lock. remove all locks for the process, or remove all locks from the remote client. If a lock you are removing is part of an open transaction, you are warned before confirming the removal.

In most cases, the only time you need to remove locks is as a result of an application problem.

For a more in-depth description of the LOCK command and its features, see LOCK.

You may need to enlarge the size of the lock table if your system uses a large number of locks. You can do this using the Management Portal; for instructions, see locksiz.

For more detailed information and alternative ways to manage locks, see Lock Management.

Monitoring InterSystems IRIS Logs

InterSystems IRIS provides the following logs for monitoring various aspects of its operation:

You can also enable structured logging, which will write the same messages seen in messages.log to a machine-readable file that can be ingested by your choice of monitoring tool. See Setting Up Structured Logging.

Log Files in the install-dir\mgr Directory

The following log files are available in the install-dir\mgr directory. They are saved as plain text files and can be viewed using any text editor or viewer. The messages log and System Monitor log can be viewed using the Management Portal.

alerts log

Log Monitor scans the messages log at regular intervals for entries of the configured minimum severity and generates corresponding notifications, which it writes to the alerts log, install-dir\mgr\alerts.log, by default. Log Monitor can be configured to send email notifications instead; see Using Log Monitor.

initialization log

The initialization log, iboot.log, contains information about the initialization of the InterSystems IRIS instance.

journal history log

The journal history log, journal.log, contains a list of all journal files maintained by the InterSystems IRIS instance and is used by all journal-related functions, utilities, and APIs to locate journal files. See Journaling.

messages log

InterSystems IRIS reports a variety of messages to the messages log file (messages.log), including: general messages; startup/shutdown, license, and network errors; certain operating system errors; and the success or failure of jobs started remotely from other systems. System Monitor also writes notifications to the messages log. The directory for messages.log can be configured (see console), but the default location is install-dir\mgr.

On Windows-based platforms, all console messages are sent to the messages log file, messages.log. On UNIX®/Linux platforms, you can configure console messages to be sent to the messages log file, the console terminal, or both.

The size of the messages.log file is monitored by System Monitor. The file grows until it reaches the configured maximum size, at which point InterSystems IRIS saves the file and starts a new one. See MaxConsoleLogSize for information about configuring the maximum messages log size.

You can view the messages log from the View Messages Log page of the Management Portal (System Operation > System Logs > Messages Log). If the messages log is larger than 1 MB, only the most recent 1 MB portion is displayed by the Management Portal. Click the Show entire file link to display the entire file, which may require some time if the file is very large.

Note:

If you have trouble starting InterSystems IRIS, use any text editor or text viewer to view the messages log.

System Monitor log

Status messages about the functioning of System Monitor (see Using System Monitor) are written to the System Monitor log, install-dir\mgr\SystemMonitor.log.

The size of the SystemMonitor.log file is monitored by System Monitor. The file grows until it reaches the maximum size of 5 MB, at which point it is renamed to SystemMonitor.log.old, overwriting any existing SystemMonitor.log.old file, and a new SystemMonitor.log is created. The maximum number of megabytes used by the System Monitor log is therefore 10 MB.

You can view the messages log from the System Monitor Log page of the Management Portal (System Operation > System Logs > System Monitor Log). If the System Monitor log is larger than 1 MB, only the most recent 1 MB portion is displayed by the Management Portal. Click the Show entire file link to display the entire file, which may require some time if the file is very large.

Application and Database Driver Error Logs

The View Application Error Log page (System Operation > System Logs > Application Error Log) allows you to view application errors.

Likewise, the xDBC Error Log page (System Operation > System Logs > xDBC Error Log) allows you to view database driver errors.

InterSystems IRIS System Error Log

InterSystems IRIS sets aside a small portion of its shared memory to log items of interest. This table, which can contain important diagnostic information, is referred to by several different names, including the InterSystems IRIS system error log, errlog, SYSLOG, and the syslog table.

By default, the system error log contains the 500 most recent log items. For information about configuring the number of items in the system error log, see errlog.

To view the system error log, choose one of the following methods:

  • Open the Terminal, enter set $namespace = "%SYS" to switch to the %SYS namespace, and enter do ^SYSLOG. You can also enter do FILTER^SYSLOG, which has options to limit the output based on specific error codes or process ID.

  • Run a diagnostic report, as described in Using the Diagnostic Report.

  • Run the irisstat command with the –e1 option, as described in Running irisstat with Options.

  • Run the IRISHung script, as described in IRISHung Script.

You can configure InterSystems IRIS to write the system error log to the messages log during shutdown using the ShutDownLogErrors setting (see ShutDownLogErrors).

FeedbackOpens in a new tab