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
Metadata
Release files for zabbix-epics-py 1.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| zabbix_epics_py-1.1.0.tar.gz | 8.7 kB | Without provenance | Details for zabbix_epics_py-1.1.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| zabbix_epics_py-1.1.0-py3-none-any.whl | Python 3 | none | any | Details for zabbix_epics_py-1.1.0-py3-none-any.whl |
Total release size: 18.5 kB
Release files / zabbix_epics_py-1.1.0.tar.gz
| Download URL | zabbix_epics_py-1.1.0.tar.gz |
|---|---|
| Size | 8.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
0b88b53614fe984a849540bb52736792223225d6466de41e3f3b097e496ca201
|
|
BLAKE2b-256 checksum How to use checksums |
fdb171bdb0d97f8a9129a05eb123b1fae45e611a821b8d7ae6985ee20291a264
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.0.1 CPython/3.12.3
|
Release files / zabbix_epics_py-1.1.0-py3-none-any.whl
| Download URL | zabbix_epics_py-1.1.0-py3-none-any.whl |
|---|---|
| Size | 9.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b0109e325010ddcc5976260970ba36c70d8e0759aa209c34f077bb4d109b8fc7
|
|
BLAKE2b-256 checksum How to use checksums |
d0eaea6ab4a661483478d358d67b61304dd5bde2f8942831b715b8463c7f3768
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.0.1 CPython/3.12.3
|
Security for zabbix-epics-py 1.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.