Fw: [ITM6] Monitoring Agent for Microsoft SQL Server / Problem Running Multiple Agents

John Alvord <jalvord-r/[email protected]>
Newsgroups gmane.comp.sysutils.tivoli.general
Message-ID <OF9A51DBF3.1B92C54F-ON88257B1B.00517250-88257B1B.005297CC__5952.8928403326$1361631913$gmane$org@us.ibm.com>
EPHEMERAL:Y is the way to go. You can run as many agents as you want 
because in the mode there is *NO* explicit agent listening port.

The historical data collection is influenced and you have three choices.

1) no historical data
2) Configure historical data collection on the TEMS
3) Configure historical data collection on the TEMS and run WPA on the 
same system as the TEMS

Several large customer have assured me that (3) is the very best way to 
get scalability and reliability - with or without EPHEMERAL:Y.

I really don't think a complicated set of  SKIPs and COUNTs is a good way 
to proceed, it is too fragile.... one thing goes wrong and they call fall 
down.

Incidently, you can just put one or two agents on EPHEMERAL:Y and that 
frees up listening ports.

Another interesting way to go is if you have two separate interfaces [ip 
addresses] on the server.

You can have up to 16 agents on each interface. In that case you need to 
do a

KDEB_INTERFACELIST=!<ip_address or name>

for the agents running on that interface.  Depending on the platform you 
may also need

KDEB_INTERFACELIST_IPV6=-

to remove conflicts with the IPV6 interfaces,

Anyway - lots of options.

I used to think the customer would have to be crazy to run so many agents. 
Then I worked with a customer who had two LARGE unix boxes that typically 
ran 20,000 to 25,000 processes in production.

Regards, 

  



John Alvord - Ph: 1-720-396-2788    Cell: none 
Customer Support - Tivoli Software - jalvord-r/[email protected]
Advisory Engineer - Tivoli Monitoring - ITM infrastructure
Follow us on Twitter! @Tivolisupport and Facebook
Personalize your support needs with the IBM Support Portal
Use Service Request to get assistance!
For emails regarding a PMR, copy [email protected]
For secure browser uploads: https://www.ecurep.ibm.com/app/upload
For Customer Support guidance: IBM Software Support Handbook






----- Forwarded by John Alvord/Menlo Park/IBM on 02/23/2013 06:49 AM -----

From:   "[email protected]" <[email protected]>
To:     "Discussion list for Tivoli product and Tivoli Ready products." 
<[email protected]>, 
Date:   02/22/2013 07:29 PM
Subject:        Re: [TME10] [ITM6] Monitoring Agent for Microsoft SQL 
Server /        Problem Running Multiple Agents
Sent by:        [email protected]



Martin: You have your logical bases covered on this, and I think you're 
correct about the root cause being socket contention.  The easy solution 
would be to setup "EPHEMERAL:Y" in the KDC_FAMILIES string in each agent 
instance's koqenv file--this parameter gets around the max-15-agent 
limitation. Thus, if that really is the issue, this would address it. You 
could also just specify "EPHEMERAL:inbound" just once in the *ms*config 
file of the TEMS these agents connect to.  However, given that there are 
some additional configuration items to be wary of using this parameter 
(you'll either need to locate the  Warehouse Proxy agent on the TEMS these 
agents connect to, or if not, you'll need to use the KDE Gateway feature 
to route data exports correctly), I think the following is 
preferable--plus it's more interesting from a investigative perspective.

a) Edit each instance's %CANDLE_HOME%\tmaitm6\koqenv file (might be under 
..\tmaitm6_x64) to hardcode the KDC_FAMILIES variable going sequentially 
up the SKIP chain and using "COUNT:1" in each as well just to ensure they 
only ever try RPC bindings on the one port--we'll place the COUNT/SKIP 
parameters to make them apply to IP.SPIPE first since that's your 
preferred protocol:

NOTE1: SKIP:1 is the default so we don't need to add it in the first one
NOTE2: In the below lines, both PIPE and SPIPE are enabled, but SPIPE is 
always used first to talk to the TEMS

KOQ Agent Instance 1
KDC_FAMILIES=IP.PIPE PORT:1918 IP use:n SNA use:n IP.SPIPE COUNT:1 
PORT:3660

KOQ Agent Instance 2
KDC_FAMILIES=IP.PIPE PORT:1918 IP use:n SNA use:n IP.SPIPE COUNT:1 SKIP:2 
PORT:3660

KOQ Agent Instance 3
KDC_FAMILIES=IP.PIPE PORT:1918 IP use:n SNA use:n IP.SPIPE COUNT:1 SKIP:3 
PORT:3660
....
KOQ Agent Instance 12
KDC_FAMILIES=IP.PIPE PORT:1918 IP use:n SNA use:n IP.SPIPE COUNT:1 SKIP:12 
PORT:3660

b) Once complete ensure that not only all KOQ agents, but also any 
ITM-related agents/components on the Windows host are stopped.

c) Run the following command from a command prompt and make certain no 
lines are returned--we want to be sure nothing is listening on any of the 
IP.SPIPE ports that the 12 KOQ agents might occupy.  NOTE: when you pass 
'findstr' a series of text in quotation marks, it doesn't treat it as a 
literal string but instead treats each space-separate string as a distinct 
item to search for, basically OR'ing the whole thing:

netstat -abn | findstr LISTEN | findstr "7756 11852 15948 20044 24140 
28236 32332 36428 40524 44620 48716 52812 56908 61004 65100"

d) Beginning with one KOQ agent, start it up from the MTEMS UI.  Wait up 
to 10 seconds and repeat the command from step c) and ensure you see 7756 
as a LISTENER.  It's okay if you see it twice bound to both "0.0.0.0" and 
"[::}"

e) Repeat step d) 11 more times for the remaining KOQ agent instances, 
ensuring you continue to see the subsequent higher LISTENER port show up 
in the netstat output.

f) Login to the TEPS and see whether they have all come online and that 
you can view real-time data for each by navigating to a workspace 
underneath the particular agent in the navigator tree.

This should work, but if the problem is something other than socket 
contention, then we'll just have to goto the koq RAS1 logs for a look.  
You can then start the KNT and custom agents without problem as well, but 
you might also want to edit their KDC_FAMILIES lines to add in "COUNT:1 
SKIP:13" and "COUNT:1 SKIP:14" to allow their startup to proceed more 
quickly, otherwise they'll try each of the first 12 ports before finally 
binding to 56908 and 61004, respectively.

Good luck and let us know the result...

Toben

On Fri, Feb 22, 2013 at 5:26 PM, Martin Butler <[email protected]> wrote:

I have a Windows 2003 (64 bit) server with three varieties of MSSQL
running, and 17 unique instances, all of which have to be monitored.

I have a [standard] base OS agent and a custom OS agent installed on this
server.

After remotely pushing the SQL agent to 12 instances (SQL 2005 & 2008), 
all
of which worked perfectly, the thirteenth installation completed but never
showed up on the TEMS/TEPS despite running locally on the server.
The only way to get this (and any subsequent) agents to connect to the hub
was to change the protocol to ip.pipe  (I want to use ip.spipe for all
agents if possible)

I think I am hitting a network port contention (baseport + N*4096) 
although
I expcected that on agent number 17 (not 15).

I have since tried stopping/starting agents using the MTEMS and the 
Service
Control Panel with varying results.  In some cases, changing the protocol
from ip.spipe to ip.pipe (and back again) resolved my problem. In other
cases, this had no bearing.

Of the 12 instance agents that I originally had working, I can now only 
run
7 fully functional.

Is it possible that I have locked ports up ?  If so, for how long ?

I have read about SKIP and COUNT modifiers to control the port search
algorithm.  Has anyone had success using this on a similar scale ?


Target server:
Operating System:  Windows 2003 (64 bit)
SQL Server 2000 (32 bit)
SQL Server 2005 (32 & 64 bit)
SQL Server 2008 (64 bit)


Agents
Monitoring Agent for Windows OS  / 06.22.04.00  (64 bit)
Monitoring Agent for Microsoft SQL Server  / 06.30.00.00


Appreciate any help.







   Martin                                         410 Albert Street       
  (Embedded
   (M.A.)                                                             
 image moved to
   Butler                                                                 
      file:
                                                                        
pic00325.gif)

   Senior IT                                      Waterloo, Ontario
   Services                                      N2L 3V3
   Professional
   - Tivoli on
   Demand
   Services

   T7Z                                            Canada

   DM

   Phone:       +1-519-880-2920

   e-mail:      [email protected]
















_______________________________________________
TME10 mailing list
[email protected]
Unsubscribe:[email protected]




-- 
"Sometimes I think that's the only right thing to do:
To dream. to live in the world of dreams.
But it doesn't last forever--wakefulness always comes to take me back..." 
_______________________________________________
TME10 mailing list
[email protected]
Unsubscribe:[email protected]

_______________________________________________
TME10 mailing list
[email protected]
Unsubscribe:[email protected]
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.