How Can We Help?
This section describes the Topology API for adding different types of Standard Agents and also adding customized
agent.
Heal Agents
You can add standard and customized agents using HEAL’s ‘agents’ API. Different types of Agents supported include:
API Name – agents
Format – POST /api/agents
JSON Format
The common format for the Agent is as follows. Format changes for different agents are provided in the Sample JSON.
Input Required
Name | Description | Default Value | Predefined Values | Mandatory | More Info |
mode | Mode of the Agent | Monitor | Monitor | Yes | Do not change the value. |
uniqueToken | Unique identifier token for the Agent | – | – | Yes | |
physicalAgentIdentifier | Unique identifier of the Physical Agent | – | – | Yes | Multiple agents of same type or different types configured for same host or different hosts can be mapped to either single physicalAgentIdentifier or multiple physicalAgentIdentifiers. If multiple logical agents must be grouped together, use the same identifier of the Physical agent. |
Name of the Agent | – | – | Yes | Unique name for the agent in the account. | |
description | Description for the Agent | – | – | Yes | |
subType | Agent type | – | ComponentAgent, JIMAgent, LogForwarder, ForensicAgent, Custom | Yes | Use only the values from the Predefined list. |
hostAddress | IP Address or Hostname of the server where the Agent is deployed. | – | – | Yes | |
status | Flag to identify the status of the Agent | 1 | 0, 1 | Yes | 0 – Inactive, 1 – Active |
Object – accountMappings | |||||
accountIdentifier | Identifier of the Account to which the agent belongs | – | – | Yes | Single-agent can be mapped to multiple Accounts. |
tags | |||||
identifier | Identifier of the Application or Service | – | – | Yes | |
subTypeName | Type of the Tag | – | Application, Services | Yes | Use only the values from the Predefined list. |
name | Controller | Controller | Controller | Yes | Do not change the value. |
layer | Layer to which the Service belong | – | user, app_server, web_server, db_server | No | |
Object – agentMappingDetails (Applicable only to Component Agent) | |||||
timeoutMultiplier | Value to be calculated for the Producer to timeout | 2 | – | Yes | The value provided here will be multiplied with the Collection interval of KPI to get the actual timeout value. |
configOperationMode | Operating mode for the Configuration details | Local | Yes | ||
dataOperationMode | Operating mode for the Data Collected | Remote | Local, Remote | Yes | |
status | Flag to indicate the Data Communication should be used. | 1 | 1 | Yes | 1 – Active. Do not change the value |
dataCommunication | |||||
protocol | Protocol to be used for the Data Communication | GRPC | GRPC | Yes | Do not change the value. |
port | Port number of the GRPC Server | – | – | Yes | |
name | Name for this Communication channel | – | – | Yes | |
host | IP Address or Hostname of the server where the GRPC Server is deployed. | – | – | Yes | |
description | Description of the GRPC Server | – | – | Yes | |
type | Type of data communication | Communication_Endpoint | Communication_Endpoint | Yes | |
status | Flag to identify if this data communication must be used. | 1 | 1 | Yes | 1 – Active. Do not change the value |
Object – compInstIdentifiers | |||||
accountId | Identifier of the Account to which the component instance belongs. | – | – | Yes | |
compInstIds | List of Component instance identifiers belonging to this agent | – | – | Yes | List to be separated by ‘,’ |
tags (Optional) | |||||
identifier | Identifier of the Account | – | – | Yes | |
subTypeName | Type of the tag | Account | Account | Yes | Do not change the value. |
name | Timezone | Timezone | Timezone | Yes |
Component Agent
Sample JSON, Success and Failure response to add Component Agents is as follows.
Sample JSON.
Success Rest Response { “message”: “Successfully Created”, “responseStatus”: “SUCCESS”, }
Failure Rest Response { “message”: “Invalid Application Identifier.”, “responseStatus”:
“FAILURE”, }
Custom Agent
Sample JSON, Success and Failure response to add a Custom Agent is as follows.
Sample JSON
{ “uniqueToken”: “e570de02-c585-4917-bbb7-5c97b35e-14”, “physicalAgentIdentifier”:”h270we02-c575-2117-def9-3d97b36e-53″, “name”: “XRCustomTravel”, “subType”: “Custom”, “status”: 1, “hostAddress”: “xrwebserver.node2”, “mode”: “MONITOR”, “description”: “Custom Agent to send the Error Code”, “compInstIdentifiers”: [ { “accountId”: “01c7a0ef-a3d5-47ca-b16f-3a1afe2821a7”, “compInstIds”: null, “tags”: [] } ], “agentMappingDetails”: null } ]
Success Rest Response “message”: “Successfully Created”, “responseStatus”: “SUCCESS”, }
Failure Rest Response { “message”: “Invalid Application Indentifier.”, “responseStatus”:
“FAILURE”, }
Forensic Agent
Sample JSON, Success and Failure response to add a Forensic Agent is as follows. Only one Forensic Agent must be
added per account.
Sample JSON
{ “uniqueToken”: “e570de02-c585-4917-bbb7-5c97b35e”, “physicalAgentIdentifier”:”c270de02-d585-2887-7-3d97a35d-53″, “name”: “XR_ForensicAgent”, “subType”: “ForensicAgent”, “status”: 1, “hostAddress”: “xrappnode1.com”, “mode”: “MONITOR”, “description”: “Forensic Agent for the XR Travel”, “compInstIdentifiers”: [ { “accountId”: “01c7a0ef-a3d5-47ca-b16f-3a1afe2821a7”, “compInstIds”: null, “tags”: [] } ], “agentMappingDetails”: null } ]
Success Rest Response { “message”: “Successfully Created”, “responseStatus”: “SUCCESS”, }
Failure Rest Response { “message”: “Invalid tag”, “responseStatus”: “FAILURE”, }
Java Agent
Sample JSON, Success and Failure response to add a Java Agent is as follows.
Sample JSON
{ “uniqueToken”: “e570de02-c585-4917-bbb7-5c97b35e-18”, “physicalAgentIdentifier”:”c270be02-d575-2117-bbc7-6d97b35e-43″, “name”: “XR_JAgent_App_Node1”, “subType”: “JIMAgent”, “status”: 1, “hostAddress”: “xrappserver.node2”, “mode”: “MONITOR”, “description”: “Java Agent for XR AppServer Node 1”, “accountMappings”: [ { “accountIdentifier”: “01c7a0ef-a3d5-47ca-b16f-3a1afe2821a7”, “tags”: [ { “identifier”: “Flights”, “subTypeName”: “Services”, “layer”: “app_service”, “name”: “Controller” } ] } ], “compInstIdentifiers”: [ { “accountId”: “01c7a0ef-a3d5-47ca-b16f-3a1afe2821a7”, “compInstIds”: [ “XR_WAS_App_Node1_Instance1” ], “tags”: [ { “identifier”: “(GMT+05:30) Chennai, Kolkata, Mumbai, New Delhi”, “subTypeName”: “Account”, “name”: “Timezone” } ] } ], “agentMappingDetails”: null } ]
Success Rest Response { “message”: “Successfully Created”, “responseStatus”: “SUCCESS”, }
Failure Rest Response { “message”: “Invalid tag”, “responseStatus”: “FAILURE”, }
Log Agent
Sample JSON, Success and Failure response to add a Log Agent is as follows.
Sample JSON
{ “uniqueToken”: “e570de02-c585-4917-bbb7-5c97b35e-18”, “physicalAgentIdentifier”:”c280de02-c575-2667-bcb7-4d97b35d-63″, “name”: “XR_LAgent_App_Node1”, “subType”: “LogForwarder”, “status”: 1, “hostAddress”: “xrappserver.node2”, “mode”: “MONITOR”, “description”: “Log Agent for XR AppServer Node 1”, “accountMappings”: [ { “accountIdentifier”: “01c7a0ef-a3d5-47ca-b16f-3a1afe2821a7”, “tags”: [ { “identifier”: “Flights”, “subTypeName”: “Services”, “layer”: “app_service”, “name”: “Controller” } ] } ], “compInstIdentifiers”: [ { “accountId”: “01c7a0ef-a3d5-47ca-b16f-3a1afe2821a7”, “compInstIds”: [ “XR_WAS_App_Node1_Instance1” ], “tags”: [ { “identifier”: “(GMT+05:30) Chennai, Kolkata, Mumbai, New Delhi”, “subTypeName”: “Account”, “name”: “Timezone” } ] } ], “agentMappingDetails”: null } ]
Success Rest Response { “message”: “Successfully Created”, “responseStatus”: “SUCCESS”, }
Failure Rest Response{ “message”: “Invalid tag”, “responseStatus”: “FAILURE”, }
PS Agent
Sample JSON, Success and Failure response to add a PS Agent is as follows.
Sample JSON
{ “uniqueToken”: “e570de02-c585-4917-bbb7-5c97b35e-18”, “physicalAgentIdentifier”:”c270ae02-c575-2117-dda9-3e97b65e-63″, “name”: “XR_PSA_App_Node1”, “subType”: “PSAgent”, “status”: 1, “hostAddress”: “xrappserver.node2”, “mode”: “MONITOR”, “description”: “PS Agent for XR AppServer Node 1”, “accountMappings”: [ { “accountIdentifier”: “01c7a0ef-a3d5-47ca-b16f-3a1afe2821a7”, “tags”: [ { “identifier”: “Flights”, “subTypeName”: “Services”, “layer”: “app_service”, “name”: “Controller” } ] } ], “compInstIdentifiers”: [ { “accountId”: “01c7a0ef-a3d5-47ca-b16f-3a1afe2821a7”, “compInstIds”: [ “XR_WAS_App_Node1_Instance1” ], “tags”: [ { “identifier”: “(GMT+05:30) Chennai, Kolkata, Mumbai, New Delhi”, “subTypeName”: “Account”, “name”: “Timezone” } ] } ], “agentMappingDetails”: null } ]
Success Rest Response { “message”: “Successfully Created”, “responseStatus”: “SUCCESS”, }
Failure Rest Response { “message”: “Invalid tag”, “responseStatus”: “FAILURE”, }