Data Collection Configuration (Agent Configuration)
To do the server configuration setup refer Server Configuration (server-config.json)
Agents are the tools data collectors of Insights. These are python snippets which connects to DevOps tools and collect data using REST protocol. Each agents needs to be registered in system (Postgres DB, agent_configuration table) to start collecting data. Agent Management section under 'Configuration' helps to Add / Change Status / Edit / Delete Agents.
When Insights is installed, one of the important steps is to install Agent Daemon. This is daemon process running on server where you want to run your tools agents. Daemon Agents helps Insights in Adding / Changing Status / Editing / Deleting Agents.
Daemon Agent needs connectivity to RabbitMQ. It is essential to ensure that agent Daemon is running (preferably on server 2, or as per the requirement) prior to registering an Agent from Insights UI (Under Configuration).
We recommend to take latest artifacts for PlatformService.war , PlatformEngine.jar and UI app.
NOTE - Current out-of-box agent daemon and agents support Windows, RHEL 7.x, CentOS 7.5.x and Ubuntu 16.04 OS. For other OS flavors, one need to follow specific instructions given below in Other OS section.
Agent Daemon is available in doc root at - https://github.com/CognizantOneDevOps/Insights/releases/download/v9.5/agentdaemon.zip
Follow below installation instructions for Daemon agent configuration.
Daemon Agent Configuration and Execution
On Agent server
- Create a folder at desired location to hold AgentDaemon and Tools agent code. For Example - On Windows D:\\Agents
- Set up environment variable INSIGHTS_AGENT_HOME pointing to above folder
- Create the following folders under the environment variable path $INSIGHTS_AGENT_HOME
AgentDaemon and
PlatformAgents - For example - D:\\Agents\\AgentDaemon and D:\\Agents\\PlatformAgents
- Provide executable and write permissions to these folders
- Download agentdaemon.zip from https://github.com/CognizantOneDevOps/Insights/releases/download/v9.5/agentdaemon.zip and extract it inside AgentDaemon folder. Make sure folder structure starts with "com" and not "agentdaemon"
- Update config.json for following highlighted fields
{
"baseExtractionPath": "%Path%(INSIGHTS_AGENT_HOME)/PlatformAgents",
"insightsTimeZone": "Asia/Kolkata",
"loggingSetting": {
"logLevel": "WARN"
},
"mqConfig": {
"host": "127.0.0.1",
"password": "guest",
"user": "guest",
"exchange": "iSight",
"agentExchange":"iAgent"
},
"publish": {
"health": "AGENT.DAEMON.HEALTH"
},
"isDebugAllowed": false,
"subscribe": {
"agentPkgQueue": "INSIGHTS.AGENTS.PACKAGE"
},
"timeStampFormat": "%Y-%m-%dT%H:%M:%SZ",
"toolsTimeZone": "GMT"
}
Create AgentDaemon as service -
RHEL 7.x/Ubuntu/CentOS OS
- Use installdaemonagent.sh to create OS specific AgentDaemon service and provide OS input while running the script.
- Service name is "InSightsDaemonAgent"
installdaemonagent.sh currently supports RHEL 7.x, Ubuntu 16.04 and CentOS 7.5.x, might need to update it based on other OS types and versions.
Windows OS
- Install nssm utility on Agent server (which is part of Insights installation package )
- Run installdaemonagent.bat provided inside ..\\Agents\\AgentDaemon folder
- It will create Windows daemon agent service with name "DaemonAgent"
- Validate whether service has been installed and started successfully
Once agent daemon start running successfully, it should have creates a queue in RabbitMQ with name 'INSIGHTS.AGENTS.PACKAGE'
Other OS
Running an application as a OS service differs based on Unix flavor. For example, Linux RHEL it runs from /etc/init.d folder, in Ubunut it runs from /etc/systemd/system. Hence to run agent daemon and agents on OS other than Insights supported OS version, follow below steps.
- Once agent daemon is downloaded and extracted in $INSIGHTS_AGENT_HOME\AgentDaemon folder, modify installagentdaemon.sh for OS specific steps.
- Follow offline agent registration steps given above
- Once agent packages are downloaded in offlineAgentpath, modify individual agent's installagent.sh for OS specific steps.
If you have successfully run agents on OS other than currently supported OS version, we will encourage you to check-in those files in Github repository to help others.
©2021 Cognizant, all rights reserved. US Patent 10,410,152