Updating Non-Provider Based Monitoring Agents

After adding the new version to the agent definition as explained here, the next step is to test if the latest existing agent version works against the new version of the monitored system. 

The following outcomes are covered below:

One of the existing agent versions works with the latest version of the target system

In this case, follow these steps:
  • Add the new version to the list of agent versions in the agent definition file in config/agent/<agent-id>/agent (see the example below).
<agent>
  <class>com.ixora.rms.agents.providerhost.ProviderHostAgent</class>
  <version>1.0.0</version>
  <name>agents.postgresql</name>
  <description>postgresql.description</description>
  <custom>true</custom>
  <category>databases</category>
  <versions>
    <version>8.3</version>
    <version>9.0</version>
  </versions>
  • Update all agent artifacts (data views and dashboards). If you think that most of the artifacts for the existing agent versions are likely to be a close match (requiring none or little modifications) for the new agent version, you can modify the definition of these artifacts by adding the new version to the list of assigned versions. This makes them accessible in the monitoring session during the testing of the new agent version. The definition files for data views is located at config/repository/<agent-id>/agent.dv and entity.dv. The definition files for dashboards are in config/repository/<agent-id>/agent.db and entity.db. The following is an example of a modified data view definition:
<view class="com.ixora.rms.ui.dataviewboard.tables.definitions.TableDef">
    <name>Processes</name>
    <description>Processes statistics</description>
    ... content removed for clarity
    <agentVersions>
        <agentVersion>8.3</agentVersion>
        <agentVersion>9.0</agentVersion>
    </agentVersions>

You can now load the artifacts in the application and test it. If it works as expected that's it. If it requires changes then make the changes, copy the XML definition of the artifact, but do not save it. You now need to remove from the artifact definition file the support for the new agent version and restart the application. After this step you should not see the artifact in the monitoring session tree. However you can now create using the artifact editor ("Import Like XML..." facility) a new artifact with the same name (Processes using the example above) but assign it the new agent version.


    A new agent version is required and the new version cannot make use of the agent templates provided by IxoraRMS (Process, SQL, JMX JSR160...)


    In this case, a new version of the agents needs to be coded. The recommended way to do this is to create a new package in the agent's project and create all coding artifacts for the new version in there. See the example below from the JBoss agent.


    The next step is to update the agent definition file to include the new version. This can be done directly by editing the file config/agents/<agent-id>/agent or by using the Agent Installer tool. In order to use the Agent Installer to edit the built-in agents you need to run the application in developer mode (-Dapplication.dev=true).  



    A new agent version is required and one of the existing agent templates can be used