With the rapid expansion of TCP usage in CICS, management tools have lagged grossly behind CICS needs, until now. Unicenter NetMaster Socket Management for CICS provides detailed CICS information side by side with TCP connection information. No longer are you stuck with only knowing the CICS region name and port number, which just limits the connection down to one of 10,000 for the day. Now with Unicenter NetMaster Socket Management for CICS-an add-on product to Unicenter NetMaster Network Management for TCP/IP-CICS TCP/IP connections can be managed by CICS transaction name, CICS transaction number and even USERID. This mission critical CICS information is placed side by side with the wealth of TCP information already available with the base Unicenter NetMaster Network Management for TCP/IP. Without CICS transaction name and CICS transaction number it is simply impossible to debug any CICS TCP issue.
How is Socket Management configured
For a CICS region to be managed under Unicenter NetMaster, it firstly requires Unicenter NetMaster Socket Management for CICS to be installed. The Socket Management Exit which is distributed with Unicenter NetMaster Socket Management for CICS is then placed into a library accessible by the CICS region.
CICS regions will then be dynamically added to the Unicenter NetMaster IP Resource Monitor as CICMON resources. From these resources CICS-specific commands can be entered to the Socket Management server (Socket Management installed in the CICS region).
Entering? against a CICMON resource will show you the Commands available.
Information Provided by Socket Management
You can see EZASOKET and Socket Management for CICS servers and sessions by selecting the CL (Connection List) command from the command list presented. The EZASOKET interface is a feature of Socket Management that allows programs written to the IBM CICS sockets API to run over Socket Management for CICS.
At this point, we can see the unique session identifiers (SMID) for Servers (the port they are listening on) and sessions (and their remote IP and port addresses).
A server handles all new connection requests on a specific Local Port for new sessions. In this Socket Management display each server is identified by a Connection Type of LISTENER. Each new session handled by the server will have a Connection Type of INBOUND.
Whenever you see a Connection Type of OUTBOUND we know this session is connecting to a remote server on the Remote Port and Remote IP Address.
We see the CICS terminals, userids, Local Port, Remote Host and Remote Port associated with each inbound or outbound session.
More information can be displayed by hitting PF11 (RIGHT).
Notice by going right (PF11) we still have our unique session identifier (SMID) but we see information about the originating transaction and task number. Then we see the current transaction, task number, Session Type and VTAM LU. Sessions can be passed from one CICS task to another. The unique session identifier (SMID) allows us to focus in on a session regardless of which task it is currently running on.
There are two types of sessions being displayed. A Session Type of CPT identifies a session or server which utilizes the API with the Unicenter Socket Management for CICS product. A Session Type of EZASOCKET identifies a session or server which utilizes either the EZASOKET or EZACICAL APIs.
Sessions can be passed from task to task
More information can be displayed by hitting PF11 (RIGHT).
Notice by going right (PF11) we still have our unique session identifier (SMID) but we see information about the last call made by the session or server.
The Response Last field is a very important field. Any time it is set to 'In Progress' we know the CICS transaction is processing an API call. When the Response Last field contains a time it is the amount of time since a call to the API was made (I.E. Any problems with the session might be bad code inside the transaction which isn't calling the API to process work for the session).
Finally we have some session averages, the number of calls issued for the session or server and the time of day the last call was made.
Here we decide to see what is going on with session SMID 11488 which connected to remote server port 3022 on IP address 184.108.40.206 on CICS terminal LT42.
At this point, we have drilled down on the current session fields and statistics. We see the number of calls made by the session and the number of network bytes sent and received by the session and transaction.
Notice, the last API call made by session 11488 (SMID) using CICS task 97188 was a RECVFROM which received 48 bytes of data (EZA Return Code).
If a session is passed from task to task then the Transaction Statistics may have smaller total values than the Session Statistics. The Session Statistics total are cumulative for all the tasks that may have utilized a session. The Transaction Statistic totals are reset each time a new session takes control of a session.
By using PF8 (Forward) the next screen we will get to will be the statistics for the individual calls for this session.
Now we see the last response time for call, average response time, the number of calls made and the number of errors that have occurred. We can see the last time an event occurred.
We can now look at a CICS server on port 1026 to see what we can find out for the server.
Examining the server associated with port 1026 tells us that it is using transaction IPTL under task 261. It currently is in a SELECT waiting for new sessions. Any server is identified as the mother of all the inbound daughter sessions that it processed.
Notice under server statistics we see the total number of sends, receives and the total amount of bytes transferred over the network for all of the servers daughter sessions.
By using PF8 (Forward) the next screen we will get to will be the statistics for the individual calls by the daughter sessions.
Here under the Server Verbs we see all the calls made by daughter sessions of the server. We have the Last Response time, the average response time, the number of calls and the number of errors, and the time the last call was made.
By using PF8 (Forward) the next screen we will get to will be the statistics for the individual calls by the server.
Under the Session Verbs we have all the calls made by the server itself. We have the Last Response time, the average response time, the number of calls and the number of errors, and the time the last call was made.
The Calls total of 901 for the accept verb means that the server on port 1026 has handled 901 new sessions between 15:34 (time of the single bind call to port 1026) and the time of the last accept call at 17:19.
After more than 30 years, CICS still lies at the heart of enterprise transaction and messaging operations. Today's business-focused world also views CICS as the most internet-enabled application of all mainframe-based applications. The Internet enablement of CICS has introduced issues regarding the effective management of the associated IP network connections. Other existing IP management products may provide visibility of the IP connections, but see these connections as no different from any other. The ability to manage these connections with greater context in regards to their CICS usage allows for both heightened awareness of the service they provide and improved diagnosis of CICS network connection problems. Unicenter NetMaster Socket Management for CICS lets the you easily achieve these objectives.