Request an SVC Dump be taken when TCP connections to a particular port exceed a certain threshold.
For example when more than 50 Established TCP connections are made to Port xxx, trigger a Slip Trap to produce an SVC Dump. Note the port is in use by only one application and is a server port in Listening mode. TCP connections can be in established, timewait or finwait states.
Release : 12.2
Component : CA NetMaster Network Management for TCP/IP
Created NCL code that listens for connection start events and uses a call to EZBNMIFR to determine if the current active connection count is over the threshold. It relies on a /IPAPPLS definition that would deliver the SMF connection start events to NetMaster. (Deliver Records = INIT or BOTH).
The procedure would be tailored for the port and jobname of interest and the threshold. The action taken in the sample is to issue a system display time command. This would be replaced with the SLIP command.
See attached CON# file.
Details of NCL Sample:
-* Sample connection count monitor
-* /IPAPPLS required to have Deliver Records set to INIT or BOTH
-* for connections using the port specified
&jobname = NMCS81 -* Filter connection events for this job
&monport = 8011
&threshold = 4
&conactive = 0 -* wait til first connection event
&intcmd PROFILE EDS ENABLE=CONN TYPE=APPLICATION +
NAME=$IP.CONNECT.START RESOURCE=&jobname
&intread set
&DOWHILE &conactive < &threshold
&intread type=any mdo=conn.
&assign vars=cn@* generic from mdo=conn.
&IF &cn@lclport = &monport &then +
&do
&call proc=$IPCALL +
SHARE=($IPDATA.) +
PARMS=(ACTION=GET,CLASS=LSTNRLST,LPORT=&monport)
-*
-* connection.{1}.jobname ................. NMCS81
-* connection.{1}.connId .................. 0039F5CA
-* connection.{1}.lclHost ................. *
-* connection.{1}.lclPort ................. 8011
-* connection.{1}.active .................. 4
-* connection.{1}.accept .................. 9
-* connection.{1}.backlog ................. 0
-* connection.{1}.blmax ................... 20
-* connection.{1}.blExceed ................ 0
-* connection.{1}.idle .................... 0:00:00
-*
-* Assume not shared port and only one listener
-*
&IF &retcode eq 0 &THEN +
&DO
&Assign vars=conactive from mdo=$ipdata.connection.{1}.active
&DOEND
&DOEND
&DOEND
&write data=CON# &conactive gt &threshold !!!
&intcmd SYSCMD D T
&INTREAD STRING &MSG
&write data=CON# &MSG
&INTREAD STRING &MSG
&write data=CON# &MSG
&write data=CON# Mission accomplished
&RETURN