The OpsClarity agent is the primary source for collection of application and infrastructure data from your hosts. If AWS is used as the infrastructure cloud platform, then the data collected via AWS 3rd party account access acts as a secondary source.
Internally, there are four major parts to the OpsClarity agent:
- OpsClarity collectd plugins
- OS & Network Data Collector
The forwarder does most of the work by forwarding the collected data back to the OpsClarity cloud service at a frequency of once every 30 seconds. It only ever initiates an outbound connection and never listens for any inbound connection, so there is no need to reconfigure your firewall. It sends metrics, events, and meta data back to the cloud and receives configuration updates back from the cloud as necessary.
Inside the agent, the forwarder launches collectd and it's associated plugins, as well as the OS & network data collectors. It also interfaces with custom apps through a statsd API as well as custom metric REST API.
The forwarder may also be restarted by the watchdog if it ever fails or otherwise stops running.
There is only one thing the watchdog needs to do, and that is keep the forwarder running. It is a cron job that watches the health of the forwarder, and will restart it whenever needed to ensure the continued data collection.
OpsClarity collectd plugins
We use collectd (and many of its plugins) to gather statistics about the supported integrations running on the system as well as standard OS metrics such as those related to CPU, memory, disk and network activity.
OS & network data collector
For those things that collectd doesn't access (such as certain network data and some operating system information) we have our OS & network data collector. This collector is responsible for collecting process data (by running a variant of the "ps" unix command) and network data (by running a variant of the "netstat" unix command).
Start the agent
service opsclarity-agent start
Stop the agent
service opsclarity-agent stop
Check status of the agent
service opsclarity-agent status
Default logs directory
Uninstall the agent
/opt/opsclarity/agent/current/scripts/agent-installer.sh -c uninstall
For help on integrating your own custom metrics, head on over to our custom metric API section.
Routing agent traffic through a HTTP Proxy
In case the individual hosts are not connected to the Internet, a HTTP proxy can be used to route agent traffic from your environment to the OpsClarity Cloud. At the outset, following domains need to be whitelisted.
1. For agent to communicate with the OpsClarity Cloud - https://platform.prod.opsclarity.com:443
2. For downloading agent installer - http://repo.opsclarity.com
Thereafter, following command can be used to download the agent installer onto a given host.
http_proxy=http://<proxy-host>:<proxy-port> wget --user=<from-your-opsclarity-welcome-email> --password=<from-your-opsclarity-welcome-email> -N "http://repo.opsclarity.com/archives/agent/release/linux_amd64/agent-installer.sh" && bash ./agent-installer.sh -k "<your-opsclarity-license-key>"
Final step is to install the agent using the following command.
sudo bash ./agent-installer.sh -k "<your-license-key" -q http://<proxy-host>:<proxy-port> -r http://<proxy-host>:<proxy-port>
Collecting host tags through configuration
The agent collects hosts tags available in a YAML-formatted "opsclarity.conf" file. The location of this config file can be either of the following:
3 special tags can be used to automatically split services on the Application Topology
If you have any questions or comments about this article, feel free to contact us at firstname.lastname@example.org.