Agent communication settings
Network & security
WhaTap transfers monitoring data after TCP connection between the server and the agent.
The agent handles data transfer and server control requests through a single TCP session. The node agent does not use UDP communication. Open the firewall from the node agent to the WhaTap collection server.
Collection server address and port
WhaTap servers are divided into data region servers, front servers, and Eureka. The data regions include Proxy, Yard, Keeper, etc. Among them, the agent communicates with the proxy server.
Set the proxy server address of the Whatap server in the Node agent (e.g. whatap.server.host=10.0.3.1/10.0.3.2). When setting the server address, enter as many addresses as the proxy server count. WhaTap server can use one or multiple proxy servers depending on the installation method.
WhaTap Proxy server listens on the port 6600. If there is no separate setting in the agent, the agent attempts to connect the port 6600.
whatap.server.port=6600
wo proxy servers cannot use different ports. When using multiple proxy servers, the listening port must be the same.
Communication connectivity and security
WhaTap is designed on the premise of collecting monitoring data from public networks. Accordingly, all monitoring data is encrypted and transmitted to the server. When lots of encrypted data is sent, it may cause overhead. WhaTap selectively encrypts data. The communication procedure between agents and the server is as follows:
-
Generate and copy the access key from the project creation menu.
-
The access key includes the private key. Be careful not to be disclosed.
-
Restart the Node.js application server.
-
The WhaTap agent establishes the TCP session with the server.
-
Request a security key for a new session by encrypting data with the private key for communication included in the access key.
-
The server creates a new security key for the session requested by the agent and sends it down to the agent.
-
The security key of the session has two encryption keys. They are encryption keys for the ASC algorithm and the simple password.
-
Afterwards, the agent uses the ASC secret key for sensitive data such as text and control data. Relatively secure data such as numeric value undergoes simple encryption before transmission to the server.
Agent communication buffer
The agent may cause failures when TCP connection between servers is delayed. Accordingly, the collected performance data is not transmitted directly to the network.
The agent has two internal communication buffers for communication.
net_send_queue1_size=512
net_send_queue2_size=1024
Queue1 buffers most of the performance data that is especially sent on a regular basis, and Queue2 separately buffers the transaction trace (ProfilePack) and ActiveStackPack.
The agent communicates with the server based on queues. When the server is down, part of the memory is consumed by the agent. No more problems occur.
Reconnecting the agent
If the agent is disconnected from the server, it attempts to reconnect 3 times every 5-10 seconds. After that, reconnection attempt is not made.
Network configuration options
The following explains how to configure the network to transmit the data collected by agents from the application servers to the server. The major configuration options are the collection server host, port, timeout value, network transfer size, and data transfer queue size, which are important to ensure the agent's efficient data management and reliable server communication.
-
whatap_server_host ip_address
Default
127.0.0.1,127.0.0.1
Specify the server to transfer the data collected by the agent. If there are multiple IP addresses for collection server redundancy, use comma (,) as the delimiter. The proxy of the collection server must be in listening state for the set IP address.
-
whatap_server_port tcp_port
Default
6600
Set the collection server port. Because only one port can be set, the collection servers set in the
whatap_server_host
option must use the same port. -
tcp_so_timeout MiliSecond
Default
60000
Set the socket time out of the TCP session that communicates with the collection server.
-
tcp_connection_timeout MiliSecond
Default
5000
Set the connection time out of the TCP session that communicates with the collection server.
-
net_send_max_bytes Byte
Default
5242880
Maximum data size in bytes the agent can collect and transfer over the network at a time.
-
net_send_queue1_size Int
Default
512
It sets the size of the queue to be used for data transmission except for trace data.
-
net_send_queue2_size Int
Default
1024
It sets the size of the queue to be used for trace data transmission.