IBM Support

Learning more about Node Agent and Deployment Manager discovery

Troubleshooting


Problem

Learning more about Node Agent and Deployment Manager discovery is the first step in the troubleshooting process. This document provides you with educational information that can help you learn more about this topic.

Resolving The Problem


What is the Discovery Process?
The discovery process has a Sender and Receiver process. Each WebSphere Application Server process can act as either Sender or Receiver based on who is initially discovered.
  • Sender:
    • Listen on discovery port
    • Send Discovery Query Message to peer's discovery port:
      • Retry interval: 1, 2, 4, 8 minutes, and so on.
    • Sometime later, peer sends back Discovery Response Message to sender's discovery port
    • Process Discovery Response Message
      • Update routing table
      • Start process monitoring Note: process monitoring is done via PingThread code in RoutingTable code.
         
  • Receiver:
    • Listen on discovery port
    • Process Discovery Query Message
      • Update routing table
      • Start process monitoring
    • Send Discovery Response Message to sender's discovery port
       
  • Registered as RoutingListener to report discovery of parent or children in the SystemOut.log file:

    [6/28/04 11:58:54:903 EDT]  b875025 DiscoveryMBea I ADMD0023I: Process discovered (name: dmgr, type: DeploymentManager, pid: 4344)
    Note: If server enables Standalone under Administration Services, this disables discovery.

  • What are the Discovery Protocols?
  • TCP (recommend)
  • UDP
  • Multicast (Only Application Server) Note: The protocol in use is defined in the cell.xml, for example: cellDiscoveryProtocol="TCP".

What notifications are emitted?
  • Child discovered: TYPE_DISCOVERY_PROCESS_FOUND
  • Child lost: TYPE_DISCOVERY_PROCESS_LOST
  • Parent discovered: TYPE_DISCOVERY_AGENT_FOUND
  • No notification for parent lost

Discovery Ports:
  • Cell Discovery Address:
    • Used by dmgr to discover NodeAgent.
    • Defined in the serverindex.xml file of the dmgr.

      For example:
      <specialEndpoints xmi:id="NamedEndPoint_1"endPointName="CELL_DISCOVERY_ADDRESS">
      <endPoint xmi:id="EndPoint_1" host="websphere.ibm.com" port="7277"/>
      </specialEndpoints>
  • Node Discovery Address:
    • Used by NodeAgent to discover dmgr.
    • Defined in the serverindex.xml file of the node.

      For example:
      <specialEndpoints xmi:id="NamedEndPoint_1089504933396" endPointName="NODE_DISCOVERY_ADDRESS">
      <endPoint xmi:id="EndPoint_1089504933407" host="websphere.ibm.com" port="7272"/>
      </specialEndpoints>
  • Node Multicast Discovery Address:
    • Used by application servers and NodeAgent to discover each other.
    • Type D address
      • Information can be found on page 96 of the V6.0 System Management and Configuration IBM® Redbooks.
      • Multicast host addresses must be within a special range (224.0.0.0 to 239.255.255.255) defined by the IP standards and must never be a host name value. The default for WebSphere node agents is 232.133.104.73.
    • Defined in node's serverindex.xml file:

      For example:
      <specialEndpoints xmi:id="NamedEndPoint_1107918362368" endPointName="NODE_MULTICAST_DISCOVERY_ADDRESS">
      <endPoint xmi:id="EndPoint_1107918362369" host="232.133.104.73" port="5000"/>
      </specialEndpoints>
      • A unique port can be used to avoid crosstalk with other nodes.
  • Message Breakdown:
    There are two major messages passed between the Sender and Receiver:
    • Discovery Query Message
    • Discovery Response Message

Each message is broken down into multiple information components and is represented in memory as ServerInfo and on the wire as XML.

The following list shows the message breakdown:
  • Discovery Query Message:
    • Query id
    • Peer Advertisements
    • Target cell, node, role
       
  • Discovery Response Message:
    • Query id
    • Peer advertisement
    • Target cell, node, role
       
  • Peer advertisement:
    • Cell, node, role
       
  • Services:
    • Information about connectors to access AdminService: RMI, SOAP
  • EndPoints:
    • Location of discovery port
       
  • query id:
    • Sequence number used by sender to keep track of messages
       
  • role:
    • Whether it is a cell manager, NodeAgent, or managed process

[{"Product":{"code":"SSEQTP","label":"WebSphere Application Server"},"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Component":"System Management\/Repository","Platform":[{"code":"PF002","label":"AIX"},{"code":"PF010","label":"HP-UX"},{"code":"PF016","label":"Linux"},{"code":"PF027","label":"Solaris"},{"code":"PF033","label":"Windows"}],"Version":"8.5.5;8.5;8.0;7.0;6.1;6.0","Edition":"Base;Network Deployment","Line of Business":{"code":"LOB45","label":"Automation"}},{"Product":{"code":"SSNVBF","label":"Runtimes for Java Technology"},"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Component":"Java SDK","Platform":[{"code":"","label":""}],"Version":"","Edition":"","Line of Business":{"code":"LOB36","label":"IBM Automation"}}]

Document Information

Modified date:
08 October 2019

UID

swg21237705