The StackState agent gathers telemetry and topology for StackState.
Python Shell Ruby HTML
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
checks
ci
conf.d
dogstream
packaging
tests
utils
win32
.gitignore
.pylintrc
.rubocop.yml
.travis.yml
CHANGELOG.md
CONTRIBUTING.md
Gemfile
LICENSE
README.md
Rakefile
agent.py
aggregator.py
appveyor.yml
config.py
connbeat.sh
connbeat.yml
daemon.py
emitter.py
graphite.py
jmxfetch.py
modules.py
requirements-opt.txt
requirements-test.txt
requirements.txt
setup.py
stackstate.conf.example
sts-check-naming.sh
stsagent.py
stsstatsd.py
supervisord.dev.conf
tox.ini
transaction.py
util.py

README.md

Build Status

The StackState Agent collects events and metrics and brings them to your StackState instance for further analysis.

It includes telemetry information from various sources, as well as topology information based on connbeat.

Integration SDK

All checks have been moved to the Integration SDK. Please look there to submit related issues, PRs, or review the latest changes.

Setup your environment

Required:

  • python 2.7
  • bundler (to get it: gem install bundler)
# Clone the repository
git clone git@github.com:StackVista/sts-agent.git

# Create a virtual environment and install the dependencies:
cd sts-agent
bundle install
rake setup_env
# NOTE: on mac osx python2 might be missing as an exectuable, failing the setup_env. Add this as a symlink

# Activate the virtual environment
source venv/bin/activate

# Lint
bundle exec rake lint

# Run a flavored test
bundle exec rake ci:run[apache]

# Start agent locally
# Assumes integrations in ../integrations and configurations in ./conf.d
rake run

Test suite

More about how to write tests and run them here

How to configure the Agent

If you are using packages on linux, the main configuration file lives in /etc/sts-agent/stackstate.conf. Per-check configuration files are in /etc/sts-agent/conf.d. We provide an example in the same directory that you can use as a template.

How to write your own checks

Writing your own checks is easy using our checks.d interface. Read more about how to use it on our Guide to Agent Checks.