ZMON Python Worker
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
tests
zmon_worker_extras
zmon_worker_monitor
.dockerignore
.gitignore
.travis.yml
.zappr.yaml
Dockerfile
LICENSE
MAINTAINERS
MANIFEST.in
README.rst
config.yaml
create_squashed.sh
delivery.yaml
requirements.txt
setup.cfg
setup.py
test_requirements.txt
tox.ini

README.rst

ZMON Worker

Build Status Coverage Status Latest PyPI version OpenTracing enabled License

ZMON's Python worker is doing the heavy lifting of executing tasks against entities, and evaluating all alerts assigned to check. Tasks are picked up from Redis and the resulting check values plus alert state changes are written back to Redis.

Local Development

Start Redis on localhost:6379:

$ docker run -p 6379:6379 -it redis

Install the required development libraries:

Ubuntu/Debian:

$ sudo apt-get install build-essential python2.7-dev libpq-dev libldap2-dev libsasl2-dev libsnappy-dev libev4 libev-dev freetds-dev
$ sudo pip2 install -r requirements.txt

macOS:

$ brew install python snappy
$ sudo pip install -r requirements.txt

Start the ZMON worker process:

$ python2 -m zmon_worker_monitor

You can query the worker monitor via the REST API:

$ curl http://localhost:8080/status

You can also query the worker monitor via RPC:

$ python2 -m zmon_worker_monitor.rpc_client http://localhost:23500/zmon_rpc list_stats

Running Unit Tests

Run tests via Tox.

$ tox

You can also pass args to pytest via tox, for instance to run specific test case:

$ tox tests/test_kairosdb.py::test_kairosdb_query

Alternative way of running unit tests within Docker:

$ export WORKER_IMAGE=registry.opensource.zalan.do/stups/zmon-worker:cd166
$ docker run -it -u $(id -u) -v $(pwd):/workdir -w /workdir $WORKER_IMAGE python setup.py flake8
$ docker run -it -u $(id -u) -v $(pwd):/workdir -w /workdir $WORKER_IMAGE python setup.py test

Building the Docker Image

$ docker build -t zmon-worker .
$ docker run -it zmon-worker

Running the Docker image

The Docker image supports many configuration options via environment variables. Configuration options are explained in the ZMON Documentation.