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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file zabbix_epics_py-1.1.0.tar.gz.
File metadata
- Download URL: zabbix_epics_py-1.1.0.tar.gz
- Upload date:
- Size: 8.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0b88b53614fe984a849540bb52736792223225d6466de41e3f3b097e496ca201
|
|
| MD5 |
732a74f1cb63ec433be32d220b1ad2e0
|
|
| BLAKE2b-256 |
fdb171bdb0d97f8a9129a05eb123b1fae45e611a821b8d7ae6985ee20291a264
|
File details
Details for the file zabbix_epics_py-1.1.0-py3-none-any.whl.
File metadata
- Download URL: zabbix_epics_py-1.1.0-py3-none-any.whl
- Upload date:
- Size: 9.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b0109e325010ddcc5976260970ba36c70d8e0759aa209c34f077bb4d109b8fc7
|
|
| MD5 |
86988d687026b6d10f2fc419b3907da6
|
|
| BLAKE2b-256 |
d0eaea6ab4a661483478d358d67b61304dd5bde2f8942831b715b8463c7f3768
|