Skip to main content

Zabbix-EPICS for Python

Project description

Zabbix sender for EPICS-CA

This package allows to send metrics to a Zabbix server from EPICS records via Channel Access.

See docmentation

Installing

Simple install is below.

pip install zabbix-epics-py

Or clone this package and install it.

# clone the repository
git clone https://github.com/sasaki77/zabbix-epics-py
cd zabbix-epics-py
# install zabbix-epics-py
pip install -e .

Usage

Before using this program, you should create hosts and items in Zabbix. Type of the items must be set to Zabbix trapper.

Below is a simple example usage. Values of TEST:PV are sent to a Zabbix server at 30 sec intervals and metrics are stored to zabbix-epics-py-test.item key of dummyHost.

>>> from zbxepics import ZabbixSenderCA
>>> server_ip = '127.0.0.1'
>>> port = 10051
>>> config = False
>>> items = [dict(host='dummyHost', pv='TEST:PV', interval=30, item_key='zabbix-epics-py-test.item', func='last')]
>>> sender = ZabbixSenderCA(server_ip, port, config, items)
>>> sender.run()

interval is an interval in seconds between sending metrics to Zabbix. If interval is set to monitor, metrics are sent every monitor update.

func determines a function to be applied to a monitored value buffer.

Avalilable funcs are below.

  • last
  • min
  • max
  • avg

For example, a monitored pv is processed 3 times and its value changed to 1, 2 and 3. Then the value sent to Zabbix is 2 if func is set to avg.

Test

Some part of tests run HTTP server on 30051 port to emulate a Zabbix server.

You should concern localhost http access to test correctly. (e.g. HTTP proxy settings)

Run without coverage:

pip install pytest
pytest

Run with coverage:

pip install pytest pytest-cov
pytest --cov zbxepics
coverage report -m

Build Documentation

pip install sphinx m2r sphinx_rtd_theme
cd doc/_build/html
make html

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

zabbix-epics-py-1.0.0.tar.gz (13.6 kB view hashes)

Uploaded Source

Built Distribution

zabbix_epics_py-1.0.0-py3-none-any.whl (21.3 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page