Skip to main contentInstana Thinklab 1201

Think Lab 1201 Introduction to IBM Observability By Instana APM for z/OS


IBM Observability by Instana APM for z/OS (Instana for z/OS) provides transaction tracing information and resource monitoring metrics from z/OS subsystems to Instana, IBM’s APM/Observability solution. Instana for z/OS can be implemented on z/OS purely as a feed to Instana for transaction tracing data of key z/OS subsystems, or may be combined with existing OMEGAMON z/OS system monitoring to provide additional resource monitoring and metrics for z/OS subsystems. The objective of this set of lab exercises is to introduce the capabilities of IBM Instana for z/OS, and to demonstrate the ability of Instana for z/OS to highlight and identify z/OS transaction issues in an end to end manner.
The lab environment is running in a live z/OS environment and is passing information to a live Instana server.

2-1: Getting Started

Begin by logging into the Soleil lab environment. You should see a picture of a desktop system. Click on the system to login. After logging in, launch the Chrome browser. The browser will open with 3 tabs

browsertab
  • The first tab is the lab guide.
  • The 2nd tab is the Instana user interface
  • The 3rd tab is a file that contains the username and password that you will use to login to Instana

Use the username and password from the 3rd tab to login to the Instana user interface. You should now be looking at the home panel for Instana. The focus of these lab exercises will be on the monitoring information in the ‘Applications’ portion of the display.

Instana

Note the middle portion of the home panel lists applications currently being monitored by Instana, including applications with z/OS components.

Instana apps

To see all the Applications being observed Click on ‘All Applications’

Instana allapps

You should now be looking at the Applications panel that shows application performance and availability across the various applications in the lab environment. This panel shows a summary by application name, with number of calls and call latency. Note that you may sort this display. Click twice to the right of Name to sort the display in descending order

Instana zapps

You should now be looking at the Applications display sorted in descending order by Application Name. The application of interest for this lab section is zHybridApp. Click on zHybridApp to drill down for more detail on the sample z/OS application.

Instana zhybridapp

You should now be looking at an overview display for the zHybridApp application. This display provides a wealth of information about the zHybridApp application, including call counts, processing time, call counts by status and call latency.

Note that you may look at information about zHybridApp for various time frames. For purposes of this exercise it is recommended you look at information for the Last Hour.

Click in the upper right area of the display and select ‘Last Hour’ if it has not already been specified

Instana lasthour

Note that in the bottom center portion of the display you will see the ‘Top Services’ portion of the display. In z/OS context the Top Services will include key mainframe resources, such as CICS regions, Db2 on z/OS databases and z/OS Connect regions.

Instana zhybriddetail

Click on ‘View All Services’ under Top Services

Instana topservices

You should now be looking at a display that shows the various Services, as identified by Instana, that make up the zHybridApp sample application.

Instana zhybridtopservices

In the Services display you will see information on the various resources that make up the zHybridApp. Some of these Services will be off the mainframe, such as zapm2-nginx and SimpleProxy. In addition, you will see various z/OS specific Services, such as CICS, Db2 and z/OS Connect. CICS is one of the transaction managers used commonly on z/OS. In the zHybrid application you see three CICS regions, CICSTIVA, CICSTIVB and CICSAOR1. Db2 is part of the zHybridApp and the display above you see a Db2 subsystem called DSNA. You will also see a reference to z/OS Connect region, zceebill. z/OS Connect is an API enablement capability for z/OS. In the above example z/OS Connect functions as an API enablement interface to CICS region CICSAOR1. In the Services display you will see a list of the relevant services for zHybridApp, the type of Service (CICS, database, z/OS Connect and more), the call counts for each of the services, and latency information for each Service.


2-2: Analyzing zHybridApp

From the Services display you may drill down to see more information on how these Services are being utilized within zHybridApp. Click on CICS Region CICSTIVA

Instana cics

You should now be looking at the summary display for CICS CICSTIVA. This display will show call counts, rates, processing time and latency. Under the Top Endpoints you will see the transaction being executed within CICSTVA called CPIH.

Instana cicsdetail

The zHybridApp originates on the HTTP tier. The SimpleProxy Tomcat application issues Web Services calls to CICS region CICSTIVA. CICSTIVA invokes transaction CPIH in the CICSTIVA region running on z/OS. CPIH initiates the business transaction LGICUS01 which accesses VSAM files, performs a CICS MRO connection to CICS region CICSTIVB to access another VSAM file. LGICUS01 also makes calls to Db2 subsystem DSNA. From here you may drill down to see call detail and get a better understanding of the flow of the application. Click on ‘Analyze Calls’ in the upper left area of the display

Instana analyzecalls

You should now be looking at a display that shows call counts, erroneous call counts and call latency. Towards the bototm of the display you will calls by call group. In this application component you see one transaction, CPIH (a standard CICS Pipeline Handler transaction).

Instana calldetails

From here you may drill down to see call detail. Click on cics/CPIH to see a list of individual requests.

Instana requests

You now see the display expand to show individual transactions listed towards the bottom of the display. This display will show the transaction code, the Service name and the latency time for the transactions on the right.

Instana requestdetails

Click on cics/CPIH to see detail for an individual request

Instana indivrequest

You should now be looking at the detail for a selected transaction.

Instana transaction

Scroll the display to see the call information summarized towards the bottom. This portion of the display will show the sequence of calls that make up the chosen application flow.

Instana callsequence

In the Calls display you can see that the call originated in a Service called zapm2-nginx, then went through a proxy service called SimpleProxy. The call next went to the mainframe (esysmvs1.ztec.dmz), and then ultimately was sent to CICS region CICSTIVA. You can see the relative latency times for each step on the way.

Instana callsequencedetail

Note that on the right portion of the display you see information about the CICS transaction. This includes the call type, and the CICS Task Number. The Task Number is an important item of information to identify the specific CICS task that executed the transaction.

Instana callsequencemarkers

Note that underneath the cics/CPIH call you see other call information, including a call to read a VSAM file, a call to a Db2 database (DSNA), and a CSMI transaction call to another CICS Region (CICSTIVB). You may click on other items in the call sequence for more information Click on VSAM File

Instana callsequenceconcl

You will see that this portion of the transaction flow is a call to a VSAM file allocated to the CICS Region. Click on CSMI You should now see detailed information about the call being executed in the second CICS Region, CICSTIVB. Note you see the CICS Region name and the CICS Task Number.

Instana cicstask

Feel free to explore other items in the transaction call sequence. There is another portion of the zHybridApp you may examine in more detail. This application flow is a z/OS Connect Enterprise Edition (ZCEE) application. The application originates again in the HTTP tier, issues REST API calls to a ZCEE instance running on z/OS called ZCEEBILL, ZCEE invokes a CICS transaction in CICS region CICSAOR1, and CICSAOR1 reads a VSAM file as part of the CICS transaction execution. Click on the Applications icon on the left of the display Click on the Name header and sort descending Click on zHybridApp

Instana cicsapp2

You should again be looking at the Summary display for zHybridApp you were looking at earlier. Click on the Services tab You should again be looking at the Services display for zHybridApp you were looking at earlier. Click on zceebill this is the z/OS Connect instance running on the mainframe You are now looking at the Summary view for the z/OS Connect Service. This shows call counts, latency information and the Top Endpoints referenced by the Service.

Instana zosconnect

Click on Analyze Calls

Instana zosconnectcalls

You should now be looking at the call overview for the z/OS Connect Service.

Instana zosconnectcalloverview

This display shows call counts, erroneous calls (if any), call latency and Endpoint Names referenced by the application. In this example z/OS Connect is invoking an endpoint called catalog. Click on catalog under Endpoint Name

Instana inquire

You will see the display expand to show individual transaction executions and the latency time for each transaction on the right of the display. Click on GET/inquireSingle

Instana inquirydetail

Scroll the display as you did earlier to see the Call detail You should now see the detail for the z/OS Connect call. This includes request path, API Name and Request ID, as shown on the right. This also will show the call sequence in the middle.

Instana inquirecallstack

Click on CSMI

Instana csmi

You should now be able to see the CICS task detail for the underlying CICS transaction invoked by z/OS Connect.

Instana csmidetail

This display will show the CICS Region Name and the CICS Task Number for the transaction request. Note that the application will also make a call to a VSAM file, similar to the other example application flow.

2-3: Problem Analysis Using IBM Instana for z/OS

IBM Instana for z/OS provides information that allows the user to identify and isolate transaction issues. This is whether the issue is at the http server tier, at another distributed tier, or at the z/OS, CICS, Db2, IMS, z/OS Connect or MQ on z/OS tier. As shown in the prior section, Instana provides ongoing information on transaction performance/latency and breaks down that information by the various tiers of the application. This section of the lab will outline how to view and analyze application performance. A good place to begin with problem analysis using Instana for z/OS is the Overview display for zHybridApp.

Click on the Applications icon on the left of the display Click on the Name header and sort descending Click on zHybridApp

Instana applications

You should again be looking at the Summary display for zHybridApp you were looking at earlier.

Instana zhybridappdetail2

The Summary display for zHybridApp shows an overview of call counts, erroneous call counts, processing time and latency time plotted over a time interval. The time interval is customizable based on the options button on the top right of the display. Note – it is recommended for this exercise to start with a time interval of One Hour You should note the latency plot chart for zHybridApp shows an occasional increase in latency time for the application. You may also notice an increase in Processing time in the same time interval.

Instana 1hinterval

Position the cursor over the plot line for Latency Note how you will see a flyover popup that shows the latency time and a percentile.

Instana flyover

Click on the plot chart line (where the latency is high) Click on ‘Zoom to time range’

Instana timezoom

You should now be looking at the Summary display for the selected time range with the high latency issue. Note how the time range for the display has changed in the upper right.

Instana latency

Click on Analyze calls

Instana latency analyze

You should now be in an Analytics display for zHybridApp.

Instana latency analysis

The bottom portion of the display by default shows Service Name listed by Call Count descending. To focus on high latency, sort the display by latency. Click on the box to the right of ‘Select metrics’

Instana select metrics

Click on Latency

Instana latency metric

You should now see a display listing Service Names for zHybridApp sorted by latency time in a descending order. Click on the line with the highest latency time

Instana highest latency

You should now see a listing of transactions that employ this Service for the time interval in question. If you look to the right you should see some transactions with high latency time.

Instana latency report

Click on one of the high latency calls You should now be looking at detailed information for the chosen call, including overall latency time and the various subcalls.

Instana latencystack

Scroll the display down You should now be looking at the subcall detail for the selected transaction.

Instana latency stack drilld

Notice that in the example transaction the vast majority of latency time is in the database, in this example a Db2 subsystem on z/OS called DSNA. From here you can determine that the cause of the latency is an issue within the database.

2-4: Understanding Dependencies Using IBM Instana for z/OS

IBM Instana for z/OS provides information that shows the interrelationships of the Services that compose an application, such as zHybridApp. This section will demonstrate an example. Click on the Applications icon on the left of the display Click on the Name header and sort descending Click on zHybridApp

Instana zhybridapp2

You should again be looking at the Summary display for zHybridApp you were looking at earlier. Verify that your time range in the upper right corner is for the Last Hour You should now be in the Summary display for zHybridApp. Click on the Dependencies tab

Instana zhybrid dependencies

You should now be looking at a Dependencies view, similar to the following.

Instana dependency graph

The Dependencies view shows the interrelationships of the Services that compose an application, such as zHybridApp in this example. From here you may drill down to see more information on specific component flows of the zHybridApp.
For example you may drill down on the z/OS Connect portion of the application. Click on zceebill in the graphic Click on ‘Go to flow’

Instana goflow

You should now be looking at another graphic view that focuses on the flow of a portion of the zHybridApp, in this example the z/OS Connect portion. Note that the call orginates from a request coming from zapm2-nginx. The API call then goes to a z/OS Connect task named zceebill. z/OS Connect then issues a transaction request to a CICS Region, CICSAOR1. CICSAOR1 will process the transaction and send back the requested information. Note that in the display there may be a green + sign next to CICSAOR1. Click on the Green + sign

Instana cicsaor1

You should now be looking at additional information on the application flow. In the example below you see an additional icon that shows ‘Unspecified’. Unspecified is a reference to a VSAM file access by CICS.

Instana vsam cics

Note that each icon shows call counts, latency time and error percentage for the selected application flow. Click on the icon to the left to see animated flows.

Instana animated flow

From the dependencies display you may want to drill down to see call detail for the application flow. Click on ‘Analyze calls’

Instana dependency analyze

You are now looking at the Analytics display. Note on this display you see call counts and latency information for the transaction requests.
Note that in the Groups section of the display you will see one endpoint name, in this example it is catalog.

Instana endpoint

Click on catalog in the Endpoint name section to see calls

Instana endpoint calls

You should now see a listing of the individual transaction calls to the catalog API. You may click on a selected call to see more detail, as has been demonstrated in prior sections of this document. Thank you! This concludes the Instana for z/OS portion of the lab exercise.

2-5: Summary

In this exercise you have explored some of capabillities of Instana to extend observability into the legacy mainframe applications. You used Instana to get an understanding of the dependencies in a hybrid application making use of some mainframe backend. Using the Analysis you found the root cause of a problem in this hybrid application context.