Overview
Gain insights into the performance of your InterSystems IRIS instances. View metrics and events in context with your OneAgent collected data in the Dynatrace UI. Make use of powerful charting and dashboarding features. Allow the Davis® AI causation engine to generate baselines and alert you when anomalies are detected in designated metrics.
Compatibility information
Connects to and collects data from the InterSystems IRIS REST API.
Details
Assets
An InterSystems IRIS overview dashboard is included with the extension. This includes links to access the IRIS instance entities detected.

Metrics
Metrics are associated with different feature sets that can be enabled or disabled as needed. Metrics will be collected once per minute.
Default
Cannot be disabled.
- IRIS availability: The availability of the configured API as seen by the extension
- CPU percent used: Percent of CPU usage by InterSystems IRIS process type
- CPU overall usage: Percent of CPU usage for all programs on the operating system
- Physical memory used: Percent of physical memory (RAM) currently in use
- Percent used of max page file space: Percent of maximum allocated page file space used
- Physical database blocks read from disk rate: Physical database blocks read from disk per second
- Physical database blocks written to disk rate: Physical database blocks written to disk per second
- Active IRIS process count: Total number of active InterSystems IRIS processes
- System state: Current reported system state (GREEN, RED, YELLOW, or HUNG)
- Open transactions: Number of open transactions on the current instance
- Average duration of open transactions: Average duration of open transactions on the current instance
- IRIS cache efficiency: Ratio of global references to physical reads and writes, as a percent
- Longest open transaction duration: Duration of longest currently open transaction on the current instance
Cache server pages
- Web requests: Number of web requests served by the Web Gateway Server
- Current web server gateway connections: Number of current connections to this server by the Web Gateway Server
- Current connections processing a request: Number of current connections to this server by the Web Gateway Server that are processing a web request
- Connections reserved for state-aware apps: Number of current connections to this server by the Web Gateway Server that are reserved for state-aware applications (Preserve mode 1)
- Web gateway server latency: Amount of time to obtain a response from the Web Gateway Server when fetching iris_csp_ metrics
- Active web sessions:
Number of currently active web session IDs on this server
Database
- Amount to expand database: Amount by which to expand database
- Free space: Free space available in database (updated once per day)
- IRIS DB latency: Amount of time to complete a random read from database
- Database max size: Maximum size to which database can grow
- Database size: Size of database
- Database directory space free: Free space available on the database directory’s storage volume
- IRIS disk percent full: Percent of space filled on the database directory’s storage volume
Enterprise cache protocol
- Current ECP active client connections: Total number of active client connections on this ECP application server
- Max client connections from this ECP app server: Maximum active client connections from this ECP application server
- ECP active client connections rate: Total active client connections to this ECP data server per second
- Synchronized ECP servers: Number of servers synchronized when this ECP application server synchronizes with its configured ECP data servers
- ECP server latency: Latency between the ECP application server and the ECP data server
- Max client connections to this ECP data server: Maximum active client connections to this ECP data server
Global resource
- Aseizes on global resource rate: Number of Aseizes on the global resource per second
- Nseizes on global resource rate: Number of Nseizes on the global resource per second
- Refs to globals on local DBs rate: Number of references to globals located on local databases per second
- Refs to globals on remote DBs rate: Number of references to globals located on remote databases per second
- Seizes on global resource rate: Number of seizes on the global resource per second
- Updates to globals on local DBs rate: Number of updates (SET and KILL commands) to globals located on local databases per second
- Updates to globals on remote DBs rate: Number of updates (SET and KILL commands) to globals located on remote databases per second
Journal
- Journal block write rate: Journal blocks written to disk per second
- Journal entries per second: Journal entries per second
- Free space on journal directory: Free space available on each journal directory's storage volume, in megabytes
- Journal file size: Current size of each journal file, in megabytes
License
- Licenses not in use: Number of licenses not currently in use
- Licenses in use: Number of licenses currently in use
- Licenses percent used: Percent of licenses currently in use
Object
- Asiezes on object resource rate: Number of Aseizes on the object resource per second
- Objects deleted rate: Number of objects deleted per second
- Objects referenced rate: Number of object references per second, in process memory
- Objects loaded from disk rate: Number of objects loaded from disk per second, not in shared memory
- Number of objects loaded from disk per second, not in shared memory: Number of object references not found in memory per second
- Initialized objects rate: Number of objects initialized per second
- Siezes on object resource rate: Number of seizes on the object resource per second
Routine
- Asiezes on routine resource rate: Number of Aseizes on the routine resource per second
- Routine calls to globals on remote DBs rate: Number of local routine calls per second to globals located on remote databases per second
- Routine call memory misses rate: Number of routines calls not found in memory per second
- Remote routine calls rate: Number of remote routine calls per second
- Routines locally loaded or saved to disk rate: Number of routines locally loaded from or saved to disk per second
- Routines remotely loaded or saved to disk rate: Number of routines remotely loaded from or saved to disk per second
- Seizes on the routine resource rate: Number of seizes on the routine resource per second
System alerting & monitoring
- Time to collect iris_db sensors: Amount of time it took to collect iris_db* sensors
- Time to collect iris_jrn sensors: Amount of time it took to collect iris_jrn* sensors
- Time to collect iris_sql sensors: Amount of time it took to collect iris_sql* sensors
- Time to collect iris_wqm sensors: Amount of time it took to collect iris_wqm* sensors
System alerts
Note: this feature set will also cause alerts on the alerts API endpoint to be reported in Dynatrace as log events.
- Alerts posted to messages log: The number of alerts posted to the messages log
- New system alerts available: Whether new alerts are available on the /api/monitor/alerts endpoint
Work queue management
- Average running worker jobs: Average number of worker jobs running logic that are not blocked
- Average commands in WQM category rate: Average number of commands executed in this Work Queue Management category, per second
- Average global references in WQM category rate: Average number of global references run in this Work Queue Management category, per second
- Max active workers since last log entry: Maximum number of active workers since the last log entry was recorded
- Max entries in MQM queue since last log: Maximum number of entries in the queue of this Work Queue Management category since the last log
- Average idle worker jobs: Average number of idle worker jobs waiting for a group to connect to and do work for
Write daemon
- DB buffers written in current cycle and also prior: Number of database buffers the write daemon wrote during the most recent cycle that were also written in prior cycle
- DB buffers written in recent cycle: Number of database buffers the write daemon wrote during its most recent cycle
- Write daemon cycle completion time: Amount of time the most recent write daemon cycle took to complete
- Processes holding global buffers: Number of processes actively holding global buffers at start of the most recent write daemon cycle
- Size of database buffers written in recent cycle:
Size of database buffers the write daemon wrote during its most recent cycle
- Write daemon inactive time before cycle: Amount of time that the write daemon was inactive before its most recent cycle began
- In-memory buffers used: Number of in-memory buffers the write daemon used at the start of its most recent cycle
- In-memory buffers written: Number of in-memory buffers the write daemon wrote during its most recent cycle
- Time writing to WIJ file: Amount of time the write daemon spent writing to the WIJ file during its most recent cycle
- Time writing buffers to DBs:
Amount of time the write daemon spent writing buffers to databases during its most recent cycle
Write image journal
- WIJ physical block writes per second: WIJ physical block writes per second
Undocumented metrics
The list of 'known' or 'documented' metrics in IRIS is available in the InterSystems documentation. It is possible that there will be additional metrics on the Prometheus style page that we collect these metrics from.
If you enable this feature set, these undocumented metrics will be collected and reported but without any metadata (e.g. display name and unit). They will still be available for charting and alerting as needed. If you would like to configure metadata for these you can do so by editing them in the Metrics page.
Log events
Potential expansion issue
A database may enter a corrupted state if it attempts to expand beyond it's maximum size. A log event with the title "Database <database> will be unable to expand!" will be reported if we detect the difference between the current size and the maximum size is less than the expansion size of the database.
Collection issues
If there is an error when collecting the metrics/events a log event/record will be reporting and visible on the IRIS instance entity with details on the error.
System alerts
If you have the 'system-alerts' feature set enabled, the alerts API endpoint will be polled and the alerts reported in Dynatrace as log events.
Installation
Requirements
- IRIS
/api/monitor
endpoint reachable
- User credentials to reach metrics and alerts endpoints (if authentication enabled)
Dynatrace configuration
Find 'InterSystems IRIS' in the in-product Extensions or Hub page and activate (if offline you can download the extension from this Hub page in the 'Versions' section and install as a custom extension).
Monitoring configurations
Once activated in your environment you can create monitoring configurations. Each monitoring configuration can have up to 100 IRIS instances configured.
First select the desired ActiveGate group that will run the monitoring configuration.
For each cluster configure a IRIS Instance Endpoint:
- URL: Full url to OnTap monitor REST API (e.g. http://<iris_instance>:80/api/monitor/)
- Alias: An alias for this instance (default is hostname from URL)
- Username: Optional username for authentication
- Password: Optional password for authentication
At the monitoring configuration level the following configurations will apply to all endpoints:
- Proxy
- Address: address to reach the proxy
- Proxy username: If authentication required
- Proxy password: If authentication required
- Verify SSL certificate: If connection to an HTTPS endpoint, should we verify the certificate?
The Log level will be set at the monitoring configuration level and will apply to all endpoints. INFO by default. DEBUG logging is only needed when investigating issues with support.
Finally, enable the desired feature sets (refer to the Details tab for what metrics are associated with which feature sets).

FAQ
How do I configure metadata for custom metrics?
If the 'undocumented-metrics' feature set is enabled, the extension will collect custom and any undocumented IRIS metrics available on the metrics API page. As these metrics are unknown in advance they will be missing metadata such as a display name, description, and unit. They will be usable as-is but if you'd like you can configure metadate for these yourself.
Refer to the Metrics browser documentation page for details on how to do this.
Licensing
Licensing
There is no charge for obtaining the extension, only for the data (metrics & events) that the extension ingests. The details of license consumption will depend on which licensing model you are using. This will either be Dynatrace classic licensing or the Dynatrace Platform Subscription (DPS) model.
Metrics
License consumption is based on the number of metric data points ingested. The following formula will provide approximate annual data points ingested assuming all feature sets are enabled:
(64 + (1 x processTypes) + (5 x ipAddress:port) + (7 x databases) + (2 x journalTypes) + (3 x smhPurpose) + (7 x namespaces) + (6 x wqmCategories)) x 60 min x 24 h x 365 days data points/year
Classic licensing
In the classic licensing model, metric ingestion will consume Davis Data Units (DDUs) at the rate of .001 DDUs per metric data point.
Multiply the above formula for annual data points by .001 to estimate annual DDU usage.
Log records
This extension will report log events in 2 situations:
- When there are alerts available on the IRIS API alerts endpoint and the 'system alerts' feature set is enabled
- When the extension cannot connect to the configured IRIS API endpoint
- Each minute will have another event reported until the issue is resolved and a successful connection occurs
Log management and analytics (powered by Grail)
License consumption is based on the size (in bytes) of data ingested & processed, retained, and queried so there is not a single formula to estimate the total consumption from this extension. Consult the log management and analytics documentation for details on the other dimensions that will effect license consumption.
Classic licensing
In the classic licensing model, log record ingestion will consume Davis Data Units (DDUs) at the rate of 100 DDUs per Gigabyte of log records ingested.
Log monitoring classic
In log monitoring classic, license consumption is based on the number of ingested log records.
Classic licensing
In the classic licensing model, log record ingestion will consume Davis Data Units (DDUs) at the rate of .0005 DDUs per ingested log record.
Multiply estimated ingested log records by .0005 to estimate DDU usage from log records.