About the StackState Agent
StackState Self-hosted v5.0.x
This page describes StackState version 5.0.
Overview
The StackState Agent functions as a collector and gateway. It connects to external systems to retrieve data and pushes this to StackState.
About the Agent
Architecture
StackState Agent V2 can be run on Linux or Windows systems or inside a Docker container. It is not necessary to deploy the StackState Agent on every machine to retrieve data. Each deployed StackState Agent can run multiple checks to collect data from different external systems.
In Docker Swarm mode, the Cluster Agent is deployed on the manager node and one Agent on each node.
On Kubernetes or OpenShift clusters, a single Cluster Agent is deployed per cluster and one Agent on each node. The ClusterCheck Agent can optionally be deployed to run checks that are configured on the Cluster Agent.
The API Integration Agent (Legacy) can be run on Linux.
Integrations
In StackState, the StackState Agent V2 StackPack includes all the settings required to integrate with a number of external systems. Data from other external systems can be retrieved by installing additional StackPacks in StackState.
To integrate with an external system, an Agent must be deployed in a location that can connect to both the external system and StackState. An Agent check configured on the Agent can then connect to the external system to retrieve data.
Documentation for the available StackState integrations, including how to configure the associated Agent checks, can be found on the StackPacks > Integrations pages.
Open source
StackState Agent V2 is open source and can be found on GitHub at: https://github.com/StackVista/stackstate-agent.
Processes and overhead
StackState Agent V2 consists of up to four different processes - stackstate-agent
, trace-agent
, process-agent
and cluster-agent
. To run the basic Agent, the resources named below are required. These were observed running StackState Agent V2 v2.13.0 on a c5.xlarge instance with 4 vCPU cores and 8GB RAM. They give an indication of the overhead for the most simple set up. Actual resource usage will increase based on the Agent configuration running. This can be impacted by factors such as the Agent processes that are enabled, the number and nature of checks running, whether network connection tracking and protocol inspection are enabled, and the number of Kubernetes pods from which metrics are collected on the same host as the Agent.
Resource | Usage |
---|---|
CPU | ~0.18% |
Memory | 95-100MB RAM |
Disk space | 416MB (includes |
On Kubernetes, limits are placed on CPU and memory usage of the Agent, Cluster Agent and Cluster checks. These can be configured in the Agent Helm chart (github.com).
Running the Agent
Deployment
Deployment instructions, commands to work with StackState Agent V2 and other platform-specific details can be found on the pages listed below:
Connect to StackState
Receiver API address
StackState Agent connects to the StackState Receiver API at the configured address.
For StackState running on Kubernetes, the Receiver API is hosted by default at:
https://<STACKSTATE_BASE_URL>/receiver/stsAgent
The <STACKSTATE_BASE_URL>
is set during StackState installation. For details see Kubernetes install - configuration parameters.
Receiver API key
StackState Agent requires the StackState Receiver API key to communicate with the StackState Receiver API.
For StackState running on Kubernetes, the Receiver API Key is set during installation. For details see StackState Kubernetes install - configuration parameters
Troubleshooting
Log files and debug mode
For details of how to set the Agent log level to debug and access the Agent logs, see the platform-specific Agent pages:
Support knowledge base
Troubleshooting steps for any known issues can be found in the StackState support knowledge base.
Release notes
Release notes for StackState Agent V2 can be found on GitHub at: https://github.com/StackVista/stackstate-agent/blob/master/stackstate-changelog.md
See also
Last updated