4.3. Silently Installing an Agent

All of the agent configuration is written to and loaded from the agent-configuration.xml file. During installation, there are some parameters that are predefined and others that are environment-specific and must be provided. The agent setup prompts request this environment or instance-specific information.
However, it is possible to supply that required information before running the agent for the first time. Since all of the required information is supplied, the agent does not prompt for it; it simply starts.
  1. Copy the agent-configuration.xml file to a working directory. For example:
    [root@server ~]# cp agentRoot/rhq-agent/conf/agent-configuration.xml /tmp/files/
  2. Uncomment (if necessary) and edit the desired agent parameters.
    Any agent parameters (such as SSL connections and other advanced configuration) can be defined in agent-configuration.xml. At a minimum, the entry keys listed in Table 4.3, “Configuration File Keys for Agent Setup” for the agent and server have to be set in the file.
    [root@server ~]# vim /tmp/files/agent-configuration.xml
    <!-- agent properties -->
    <entry key="rhq.agent.name" value="agent.example.com"/>
    <entry key="rhq.communications.connector.bind-address"     value="" />	
    <entry key="rhq.communications.connector.bind-port"        value="16163" />	
    <!-- server properties -->
    <entry key="rhq.agent.server.bind-address"     value="" />
    <entry key="rhq.agent.server.bind-port"        value="7080" />
    <entry key="rhq.agent.disable-native-system" value="false"/>
  3. Set the rhq.agent.configuration-setup-flag key to true so that the agent loads it as initial configuration.
    <entry key="rhq.agent.configuration-setup-flag" value="true" />
  4. Start the agent, specifying the edited configuration file with the --config option>.
    [jbossadmin@server !]$ agentRoot/rhq-agent/bin/rhq-agent.sh --config /tmp/files/agent-configuration.xml

Table 4.3. Configuration File Keys for Agent Setup

Installer Prompt Text Key Name Description
rhq.agent.configuration-setup-flag Tells the installer that the agent configuration is already in the configuration file. This must be set to true for the installer to load the configuration file.
[Agent Name] rhq.agent.name Gives a unique name to identify the agent to the server.
[Agent Hostname or IP Address] rhq.communications.connector.bind-address Gives the hostname or IP address that the server will use to connect to the agent. This <entry> line may need to be uncommented before it is set.
[Agent Port] rhq.communications.connector.bind-port Gives the port for the server to use to communicate with the agent. The default (16163) can be used in most cases.
[RHQ Server Hostname or IP Address] rhq.agent.server.bind-address Gives the hostname or IP address that the agent will use to connect to the server to register itself. If this is a hostname, it must be resolvable by the agent.
[RHQ Server Port] rhq.agent.server.bind-port Gives the port for the agent to use to communicate with the server. The default (7080) can be used, assuming the server was configured with the default values.
native rhq.agent.disable-native-system Enables the JNI libraries used by the agent. This enables the agent to discover and manage some types of resources using the system native libraries.