JBoss ON agents are automatically included in high availability in order to assign them to servers for management. Agent-server preferences are assigned through affinity groups (Section 5.2, “Creating Affinity Groups”
). The agent high availability settings show its affinity groups, the server currently managing it, and any servers available for failover.
The first server that an agent contacts is defined in its
agent-configuration.xml file, and that is the server that the agent sends its initial registration request. After registration, the agent joins the high availability cloud, and it sends its updates — monitoring information, resource changes — to any server in the cloud. At registration, the agent gets its first affinity group assignment. If its primary server is different than its registration server, then the agent switches communication over to the primary server.
The high availability server cloud helps define the relationships between servers and agents once the agent is running normally.
The group of servers that an agent sends updates to can be loosely restricted by defining an affinity group. The affinity group creates a list of servers that the agent prefers to access. This list is ordered; the first server entry is the primary server that the agent connects to. If that primary server is unavailable, then the agent cycles through the other servers in the list in order. This allows the agent to connect to defined servers in the high availability cloud gracefully and automatically, without interrupting JBoss ON performance.
If the agent cannot connect to any server in the failover list, then the agent temporarily stops communication and spools its messages. After a period of time, it will run through the failover list again, beginning with its primary server.
An agent always try to ensure that it is connected to its primary server. Once an hour, by default, it checks its connection to verify that the server it is using is its primary server. If it is not, then the agent tries to reconnect to its primary server.
The actual failover list for an agent is generated by the server and edited in the affinity group configuration for the server. Any changes to the affinity group, like new servers or agents, changed server priority, or new group assignments, are sent to the agent hourly when the agent polls the server for configuration changes.
To view the agent's failover list from the agent command prompt:
> failover --list localhost.localdomain:7080/7443 server2.example.com:7080/7443 126.96.36.199:7080/7443
To view the failover list from the UI:
Click the Administration tab in the top menu.
The agent high availability page shows information about the agents, including items that are relevant for high availability:
The JBoss ON server that the agent is currently connected to (or the one it was most recently connected to).
The time that the last agent availability report was sent to the server.
The affinity group that the agent is assigned to.
Click the name of the agent. This opens the agent's server failover list. The first server listed is the primary server for the agent; all other servers are available in the high availability cloud. The connected server is usually also the primary server, unless the primary is offline.