z/IRIS

Supported OS IBM Z/OS Linux

marketplace

Overview

Boost your enterprise observability practices with additional traces and metrics from your backend mainframe applications, and use the following benefits with z/IRIS:

  • Visualize relationships between services and applications hosted on cloud or servers, and mainframe.
  • Discover how mainframe applications contribute to the end user experience.
  • Reduce mean-time-to-restore (MTTR) by leveraging Datadog Watchdog to automatically detect anomalies in z/OS applications that impact digital business services.
  • Drastically improve communication between application teams and mainframe platform administrators by using shareable dashboards and interfaces to assist with cross-platform incident analysis.

z/IRIS sends telemetry (traces and metrics) from transactions and applications running on IBM System Z mainframes to Datadog.

Once activated:

  • The Datadog Service Map displays the integration with z/OS services such as CICS, MQ, and Db2.
  • Call rate, error rate, and latency are performance indicators enabled for mainframe services.
  • Flame graphs and span lists visualize the request’s flow into mainframe applications.
  • Trace pages contain error messages z/OS systems where relevant.

z/IRIS telemetry improves developer and operations experience by extending their visibility into the mainframe’s internal operations. Datadog users will be able to:

  • Activate z/IRIS dashboards to monitor z/OS systems and application health.
  • Create monitors to alert teams on SLO breaches in mainframe applications.
  • Analyze how mainframe applications contribute to total response time and overall availability.
  • Examine how changes inside and outside the mainframe change application behavior and stability.
  • Access error messages reported from mainframe applications that impact the end user experience.

Integration Methods

z/IRIS integrates with Datadog in two ways:

  • OpenTelemetry (OTEL): This observability framework standardizes APM integrations and is fully supported by Datadog. z/IRIS will stream traces and metrics to an OpenTelemetry Collector that is configured to export telemetry to your Datadog environment.
  • Datadog APIs (Beta): z/IRIS is able to stream traces using the Datadog Agent API as well as events using Datadog’s HTTP REST API. This integration is only available for trials and proof of concept (POC) projects to reduce administrative effort while evaluating z/IRIS and is not ideal for production use cases.

For more detailed information about the integration possibilities of z/IRIS, see the z/IRIS documentation.

Distributed Tracing

A span represents a unit of work or process. Spans are the building blocks for distributed traces which depict when a request was triggered and how the requests flowed through applications and services.

z/IRIS extends traces in Datadog with spans that represent processes and transactions from IBM Z mainframe applications. Extending traces provides users with new insights into how services on mainframe are consumed by cloud and server applications. Performance indicators, such as error rate, call rate, and request latency, for mainframe-based applications are enabled so you can identify the health of the mainframe integration.

Spans

z/IRIS creates spans for transactions and operations processed on the following mainframe systems:

This list is always growing. Contact ziris@mainstorconcept.com to request information about support for z/OS applications or subsystems not listed above.

Workflow Tracing

z/IRIS is able to identify when operations on mainframe were triggered by an external application request and will ensure that the generated spans are added to the trace for the application request. For example, a cloud application sends a request to a mainframe application for processing, z/IRIS will detect that the mainframe application processing is related to an external request and will ensure that the span from the mainframe application is added to the trace for the cloud application request.

The following request workflows are tracked by z/IRIS Workflow tracing:

  • REST API request -> z/OS Connect EE -> SOR (CICS TS, Db2 for z/OS, IMS or IBM MQ) -> Db2 for z/OS
  • JDBC -> Db2 for z/OS
  • IBM MQ (Linux, Windows, AIX) -> IBM MQ for z/OS -> CICS TS -> Db2 for z/OS
  • CICS TS -> Db2 for z/OS

Tags

Metadata about the request, its resource utilization, and the relevant z/OS system are provided through tags that you can use to make queries in the Trace Explorer, and this information is processed by Watchdog Insights to alert users to anomalies detected in mainframe services.

Below is a complete list of all tags created with z/IRIS.

Trace Tag NameDescription
db.db2.collection.idDb2 collection ID
db.db2.instance_nameDb2 instance name
db.systemDB system
db.userDB user
enduser.idEnd user ID
host.archHost architecture
host.nameHost name
http.client_ipHTTP client ip
http.methodHTTP method
http.request_content_lengthHTTP request content length
http.response_content_lengthHTTP response content length
http.status_codeHTTP status code
ibm-mq.managerIBM MQ manager
ibm.machine.logical_partitionIBM machine logical partition
ibm.machine.modelIBM machine model
ibm.machine.typeIBM machine type
messaging.conversation_idMessaging conversation ID
messaging.destinationMessaging destination
messaging.destination_kindMessaging destination kind
messaging.systemMessaging system
net.peer.ipNet peer IP
net.peer.portNet peer port
net.sock.peer.addrNet sock peer addr
net.sock.peer.cipherNet sock peer cipher
net.sock.peer.portNet sock peer port
os.typeOS type
ziris.job.identifierz/OS job identifier
zos.cf.callsCF calls
zos.cf.elapsed.time_msCF elapsed time
zos.cics.application.nameCICS application name
zos.cics.application.operationCICS application operation
zos.cics.application.platform_nameCICS application platform name
zos.cics.application.versionCICS application version
zos.cics.atom_service_nameCICS ATOM service name
zos.cics.bts.activity.idCICS BTS activity ID
zos.cics.bts.activity.nameCICS BTS activity name
zos.cics.bts.process.idCICS BTS process ID
zos.cics.bts.process.nameCICS BTS process name
zos.cics.bts.process.typeCICS BTS process type
zos.cics.connection.access_typeCICS connection access type
zos.cics.connection.nameCICS connection name
zos.cics.connection.typeCICS connection type
zos.cics.ipconn_nameCICS ipconn name
zos.cics.net.peer.nameCICS net peer name
zos.cics.nodejs_application_nameCICS nodejs application name
zos.cics.pipeline_nameCICS pipeline name
zos.cics.region_nameCICS region name
zos.cics.session.idCICS session ID
zos.cics.session.typeCICS session type
zos.cics.tcpipservice.nameCICS TCP/IP service name
zos.cics.tcpipservice.origin.client.ipCICS TCP/IP service origin client ip
zos.cics.tcpipservice.origin.client.portCICS TCP/IP service origin client port
zos.cics.tcpipservice.origin.nameCICS TCP/IP service origin name
zos.cics.tcpipservice.origin.portCICS TCP/IP service origin port
zos.cics.tcpipservice.portCICS TCP/IP service port
zos.cics.transaction.api.requestsCICS transaction API requests
zos.cics.transaction.auth.time_msCICS transaction auth time
zos.cics.transaction.classCICS transaction class
zos.cics.transaction.cpu.time_msCICS transaction CPU time
zos.cics.transaction.exception.wait.time_msCICS transaction exception wait time
zos.cics.transaction.gpu.time_msCICS transaction GPU time
zos.cics.transaction.group_idCICS transaction group ID
zos.cics.transaction.idCICS transaction ID
zos.cics.transaction.jvm.elapsed.time_msCICS transaction JVM elapsed time
zos.cics.transaction.jvm.init.time_msCICS transaction JVM init time
zos.cics.transaction.jvm.wait.time_msCICS transaction JVM wait time
zos.cics.transaction.numberCICS transaction number
zos.cics.transaction.origin.adapter.data1CICS transaction origin adapter data1
zos.cics.transaction.origin.adapter.data2CICS transaction origin adapter data2
zos.cics.transaction.origin.adapter.data3CICS transaction origin adapter data3
zos.cics.transaction.origin.adapter.productCICS transaction origin adapter product
zos.cics.transaction.origin.application.idCICS transaction origin application id
zos.cics.transaction.origin.idCICS transaction origin id
zos.cics.transaction.origin.network.idCICS transaction origin network id
zos.cics.transaction.origin.numberCICS transaction origin number
zos.cics.transaction.origin.user_idCICS transaction origin user ID
zos.cics.transaction.priorityCICS transaction priority
zos.cics.transaction.program.nameCICS transaction program name
zos.cics.transaction.program.return_code_currentCICS transaction program current return code
zos.cics.transaction.program.return_code_originalCICS transaction program original return code
zos.cics.transaction.remote.task.requestsCICS transaction remote task requests
zos.cics.transaction.rmi.elapsed.time_msCICS transaction RMI elapsed time
zos.cics.transaction.rmi.wait.time_msCICS transaction RMI wait time
zos.cics.transaction.routed.host.nameCICS transaction routed host name
zos.cics.transaction.start_typeCICS transaction start type
zos.cics.transaction.tcb.attachmentsCICS transaction TCB attachments
zos.cics.transaction.tcb.cpu.time_msCICS transaction TCB CPU time
zos.cics.transaction.tcb.elapsed.time_msCICS transaction TCB elapsed time
zos.cics.transaction.tcb.wait.time_msCICS transaction TCB wait time
zos.cics.transaction.user_idCICS transaction user ID
zos.cics.transaction.wait.time_msCICS transaction wait time
zos.cics.transaction.ziip.time_msCICS transaction ZIIP time
zos.cics.urimap.nameCICS urimap name
zos.cics.urimap.program_nameCICS urimap program name
zos.cics.webservice.nameCICS web service name
zos.cics.webservice.operation_nameCICS web service operation name
zos.connect.api.nameAPI name of z/OS Connect
zos.connect.api.versionAPI Version of z/OS Connect
zos.connect.request.idRequest ID
zos.connect.request.timed_outRequest time out
zos.connect.request.user_nameRequest user name
zos.connect.service.nameService name
zos.connect.service.versionService version
zos.connect.service_provider.nameService provider name
zos.connect.sor.identifierSOR identifier
zos.connect.sor.referenceSOR reference
zos.connect.sor.request.received_timeSOR request received
zos.connect.sor.request.sent_timeSOR request sent time
zos.connect.sor.resourceSOR resource
zos.correlation.idz/OS correlation ID
zos.cpu.time_msz/OS CPU time
zos.db2.abort.requestsDb2 abort request
zos.db2.aceDb2 ACE
zos.db2.client.application.nameDb2 client application name
zos.db2.client.auth.idDb2 client auth ID
zos.db2.client.platformDb2 client platform
zos.db2.connection.idDb2 connection ID
zos.db2.consistency.tokenDb2 consistency token
zos.db2.cpu.time_msDb2 CPU time
zos.db2.deadlock.resourcesDb2 deadlock resources
zos.db2.elapsed.time_msDb2 elapsed time
zos.db2.end.timestampDb2 end timestamp
zos.db2.location.nameDb2 location name
zos.db2.lock.durationDb2 lock duration
zos.db2.lock.requestDb2 lock request
zos.db2.lock.stateDb2 lock state
zos.db2.luw.idDb2 LUW ID
zos.db2.plan.nameDb2 plan name
zos.db2.product.idDb2 product ID
zos.db2.program.nameDb2 program name
zos.db2.received.bytesDb2 received bytes
zos.db2.remote.location.nameDb2 remote location name
zos.db2.response.time_msDb2 response time
zos.db2.sent.bytesDb2 sent bytes
zos.db2.sql.lock.statementsDb2 SQL lock statement
zos.db2.sql.open.statementsDb2 SQL open statement
zos.db2.sql.prepare.statementsDb2 SQL prepare statement
zos.db2.sql.storedprocedure.statementsDb2 SQL stored procedure
zos.db2.start.timestampDb2 start timestamp
zos.db2.statement.idDb2 statement ID
zos.db2.statement.typeDb2 statement type
zos.db2.su.factorDb2 su factor
zos.db2.thread.tokenDb2 thread token
zos.db2.uniqueness.valueDb2 uniqueness value
zos.db2.unlock.requestsDb2 unlock request
zos.db2.versionDb2 version
zos.db2.wait.time_msDb2 wait time
zos.db2.workload.service.class.nameDb2 workload service class name
zos.db2.ziip.time_msDb2 ZIIP time
zos.jes.job.correlatorJES job correlator
zos.job.classz/OS job class
zos.job.step.cpu.time_msz/OS job step CPU time
zos.job.step.cpu.unitsz/OS step CPU units
zos.job.step.endedz/OS job step ended
zos.job.step.namez/OS job step name
zos.job.step.numberz/OS job step number
zos.job.step.program_namez/OS job step program name
zos.job.step.return_codez/OS job step return code
zos.job.step.ziip.time_msz/OS job step ZIIP time
zos.lu.namez/OS LU name
zos.mq.accounting_tokenMQ accounting token
zos.mq.buffer_poolMQ buffer pool
zos.mq.callsMQ calls
zos.mq.cf_structureMQ CF structure
zos.mq.channel.connection_nameMQ channel connection name
zos.mq.channel.nameMQ channel name
zos.mq.connection.auth_idMQ connection auth ID
zos.mq.connection.nameMQ connection name
zos.mq.connection.typeMQ connection type
zos.mq.connection.user_idMQ connection user ID
zos.mq.context_tokenMQ context token
zos.mq.correlation_idMQ correlation ID
zos.mq.luw_idMQ LUW ID
zos.mq.messagesMQ messages
zos.mq.mqcb.callsMQ MQCb calls
zos.mq.mqcb.cpu.time_msMQ MQCb CPU time
zos.mq.mqcb.elapsed.time_msMQ MQCb elapsed time
zos.mq.mqclose.callsMQ MQClose calls
zos.mq.mqclose.cpu.time_msMQ MQClose CPU time
zos.mq.mqclose.elapsed.time_msMQ MQClose elapsed time
zos.mq.mqclose.suspended.callsMQ MQClose suspended calls
zos.mq.mqclose.wait.time_msMQ MQClose wait time
zos.mq.mqget.browse.specific.callsMQ MQGet browse specific calls
zos.mq.mqget.browse.unspecific.callsMQ MQGet browse unspecific calls
zos.mq.mqget.callsMQ MQGet calls
zos.mq.mqget.cpu.time_msMQ MQGet CPU time
zos.mq.mqget.destructive.specific.callsMQ MQGet destructive specific calls
zos.mq.mqget.destructive.unspecific.callsMQ MQGet destructive unspecific calls
zos.mq.mqget.elapsed.time_msMQ MQGet elapsed time
zos.mq.mqget.errorsMQ MQGet errors
zos.mq.mqget.expired.messagesMQ MQGet expired messages
zos.mq.mqget.log.forced.wait.time_msMQ MQGet log forced wait time
zos.mq.mqget.log.forced.writesMQ MQGet log forced writes
zos.mq.mqget.log.wait.time_msMQ MQGet log wait time
zos.mq.mqget.log.writesMQ MQGet log writes
zos.mq.mqget.message.max.size_bytesMQ MQGet message max size
zos.mq.mqget.messages.min.size_bytesMQ MQGet message min size
zos.mq.mqget.pageset.readsMQ MQGet pageset reads
zos.mq.mqget.pageset.wait.time_msMQ MQGet pageset wait time
zos.mq.mqget.persistent.messagesMQ MQGet persistent messages
zos.mq.mqget.skipped.messagesMQ MQGet skipped messages
zos.mq.mqget.skipped.pagesMQ MQGet skipped pages
zos.mq.mqget.successful_callsMQ MQGet successful calls
zos.mq.mqget.suspended.callsMQ MQGet suspended calls
zos.mq.mqget.wait.time_msMQ MQGet wait time
zos.mq.mqinq.callsMQ MQInq calls
zos.mq.mqinq.cpu.time_msMQ MQInq CPU time
zos.mq.mqinq.elapsed.time_msMQ MQInq elapsed time
zos.mq.mqopen.callsMQ MQOpen calls
zos.mq.mqopen.cpu.time_msMQ MQOpen CPU time
zos.mq.mqopen.elapsed.time_msMQ MQOpen elapsed time
zos.mq.mqopen.suspended.callsMQ MQOpen suspended calls
zos.mq.mqopen.wait.time_msMQ MQOpen wait time
zos.mq.mqput.callsMQ MQPut calls
zos.mq.mqput.cpu.time_msMQ MQPut CPU time
zos.mq.mqput.elapsed.time_msMQ MQPut elapsed time
zos.mq.mqput.log.forced.wait.time_msMQ MQPut log forced wait time
zos.mq.mqput.log.forced.writesMQ MQPut log forced writes
zos.mq.mqput.log.wait.time_msMQ MQPut log wait time
zos.mq.mqput.log.writesMQ MQPut log writes
zos.mq.mqput.message.max.size_bytesMQ MQPut message max size
zos.mq.mqput.message.min.size_bytesMQ MQPut message min size
zos.mq.mqput.pageset.elapsed.time_msMQ MQPut pageset elapsed time
zos.mq.mqput.pageset.writesMQ MQPut pageset writes
zos.mq.mqput.suspended.callsMQ MQPut suspended calls
zos.mq.mqput.wait.time_msMQ MQPut wait time
zos.mq.mqput1.callsMQ MQPut1 calls
zos.mq.mqput1.cpu.time_msMQ MQPut1 CPU time
zos.mq.mqput1.elapsed.time_msMQ MQPut1 elapsed time
zos.mq.mqput1.log.forced.wait.time_msMQ MQPut1 log forced wait time
zos.mq.mqput1.log.forced.writesMQ MQPut1 log forced writes
zos.mq.mqput1.log.wait.time_msMQ MQPut1 log wait time
zos.mq.mqput1.log.writesMQ MQPut1 log writes
zos.mq.mqput1.pageset.wait.time_msMQ MQPut1 pageset wait time
zos.mq.mqput1.pageset.writesMQ MQPut1 pageset writes
zos.mq.mqput1.suspended.callsMQ MQPut1 suspended calls
zos.mq.mqput1.wait.time_msMQ MQPut1 wait time
zos.mq.mqset.callsMQ MQSet calls
zos.mq.mqset.cpu.time_msMQ MQSet CPU time
zos.mq.mqset.elapsed.time_msMQ MQSet elapsed time
zos.mq.mqset.log.forced.wait.time_msMQ MQSet log forced wait time
zos.mq.mqset.log.forced.writesMQ MQSet log forced writes
zos.mq.mqset.log.wait.time_msMQ MQSet log wait time
zos.mq.mqset.log.writesMQ MQSet log writes
zos.mq.mqsub.selection.callsMQ MQSub selection calls
zos.mq.pagesetMQ pageset
zos.mq.put.delayed_messagesMQ Put delayed messages
zos.mq.put.errorsMQ Put errors
zos.mq.put.successful_callsMQ Put successful calls
zos.mq.qsg_typeMQ QSG type
zos.mq.queue.index_typeMQ queue index type
zos.mq.queue.max_depthMQ queue max depth
zos.mq.topic.mqclose.srb.cpu.time_msMQ Topic MQClose SRB CPU time
zos.mq.topic.mqopen.srb.cpu.time_msMQ Topic MQOpen SRB CPU time
zos.mq.topic.mqput.srb.cpu.time_msMQ Topic MQPut SRB CPU time
zos.mq.topic.mqput1.srb.cpu.time_msMQ Topic MQPut1 SRB CPU time
zos.mq.topic.published_messagesMQ Topic published messages
zos.network.idz/OS network ID
zos.racf.group.idz/OS RACF group ID
zos.subsystem.namez/OS subsystem name
zos.tape.mountsz/OS tape mounts
zos.uowz/OS UOW
zos.user.idz/OS user id
zos.user.namez/OS user name
zos.vtam.application.idVTAM application id
zos.wlm.report.class.nameWLM report class name
zos.wlm.service.class.nameWLM service class name
zos.ziip.time_msz/OS ZIIP time

Mainframe metrics

  • Infrastructure Metrics

    • Monitors resource utilization in the z/OS system. Infrastructure metrics support CPU (such as general processors and zIIP engines) utilization and contention.
  • z/OS Connect Metrics

    • Monitors the activity and performance of z/OS Connect servers including incoming requests, return codes, request methods, server latency, and service provider (such as SOR) latency.
  • MQ Metrics

    • Monitors the activity of MQ Queue Managers on z/OS and the health of their resources (such as storage, buffer pools, logs, and channels).

This isn’t the metric you’re looking for? Missing a critical feature for your organization? Send us a feature request at ziris@mainstorconcept.com.

Private enterprise offers

Licensing

After starting your trial period, we will provide your z/IRIS trial license through email within 24 hours.

Validation

Verify that the relevant components are available and meet the minimum requirements.

Support

For support or feature requests, contact z/IRIS through the following channels:

Further Reading

Additional helpful documentation, links, and articles:


This application is made available through the Marketplace and is supported by a Datadog Technology Partner. Click Here to purchase this application.