Updating Provider Based Monitoring Agents

The first step in updating provider based agents is to add the new version to the agent definition as explained here. The next step is the testing of the existing providers against the new version of the application. If they work as expected without requiring modification, just assign them to the new version of the application. You can do it fro m within the application, using the Provider Instance Manager ("Tools" > "Provider Manager") or you can modify the definition of the provider instance in the config/repository/<agent-id>/agent.pi.

Updating a provider instance


Using the Provider Instance Manager

Select the agent you are testing and from the list of providers select the provider you are looking at updating. The steps are illustrated in the figure below.


Select the provider instance, click on "Edit" which opens the "Provider Instance Editor" dialog and then click on the ellipsis button in the "Assign Agent Versions" field. This brings out the "Select Agent Versions" dialog. From here, select the new version of the agent and click "Ok". This makes the provider instance available for the new agent version.

   

Modifying the provider instance definition file

Open the config/repository/<agent-id>/agent.pi file. Find the definition of the provider instance and edit the contents of the <agentVersions> tag by adding an <agentVersion> tag for the new agent version as shown in the example below.

<providerInstance class="com.ixora.rms.repository.ProviderInstance">
    <providerName>providers.sql.name</providerName>
    <instanceName>Databases</instanceName>
        ... data omitted for clarity
    <agentVersions>
        <agentVersion>8.3</agentVersion>
        <agentVersion>9.0</agentVersion>
    </agentVersions>
</providerInstance>

Make sure you select the correct version of the provider instance to update. The unique key for a provider instance is the provider instance name AND the list of supported agent versions. Using the example above, you can have another completely different provider instance with the same name but a different list of supported agent versions, like in the example below.

<providerInstance class="com.ixora.rms.repository.ProviderInstance">
    <providerName>providers.sql.name</providerName>
    <instanceName>Databases</instanceName> <--- the same provider instance name
        ... data omitted for clarity
    <agentVersions>
        <agentVersion>7.3</agentVersion> <--- different list of supported agent versions
    </agentVersions>
</providerInstance>

When you are happy whith the changes you made, make sure you change back the custom flag in the agent's definition file.

Creating a new provider instance


If none of the existing provider instances can be used for the new agent version, create a new one. If the new provider is similar to an existing one, you can use the "Create Like..." action  on the  "Provider Instance Manager" dialog. This creates a new provider instance in the "Provider Instance Editor" dialog with a definition similar to the originating provider instance. Adjust the definition, assign the new agent version (don't forget to remove the existing agent version assignments) and press "Ok".