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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for zabbix_epics_py-1.0.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 01d0b2011b163d0099ab125f8a6bc899e16aa21ebb79e897e3c2eabe4880014b |
|
MD5 | 8e6aa3b69b8c6b963bb599eeeef9d63f |
|
BLAKE2b-256 | 179366766a2159fd9e6caaff049cea7960341fa5888395f8e4c985656fff7f14 |