Currently I'm working at getting nice graphs in my icinga-web2 output, which requires graphite. Before I'm ready to submit graphite-web and icinga-web2-graphite I would like to get some things out so I can keep better focus.
Here's an update to databases/py-carbon. There's experimental support for python3, but I haven't included it here because of other dependencies which don't yet have python3 support in our tree. Only tested with carbon-cache. RC-scripts added for convenience. major release notes found here: https://graphite.readthedocs.io/en/latest/releases/1_1_1.html OK? martijn@ Index: Makefile =================================================================== RCS file: /cvs/ports/databases/py-carbon/Makefile,v retrieving revision 1.9 diff -u -p -r1.9 Makefile --- Makefile 1 Nov 2017 10:44:39 -0000 1.9 +++ Makefile 27 Nov 2018 10:57:35 -0000 @@ -2,12 +2,11 @@ COMMENT= backend data caching and persistence daemon for Graphite -MODPY_EGG_VERSION= 1.0.1 +MODPY_EGG_VERSION= 1.1.4 DISTNAME= carbon-${MODPY_EGG_VERSION} PKGNAME= py-${DISTNAME} CATEGORIES= databases -REVISION= 0 # Apache PERMIT_PACKAGE_CDROM= Yes @@ -17,10 +16,11 @@ MODPY_PI = Yes BUILD_DEPENDS= ${RUN_DEPENDS} RUN_DEPENDS= databases/py-whisper \ - devel/py-twisted + devel/py-twisted \ + www/py-urllib3 -BIN_FILES= carbon-aggregator.py carbon-cache.py carbon-client.py \ - carbon-relay.py validate-storage-schemas.py +BIN_FILES= carbon-aggregator.py carbon-aggregator-cache.py carbon-cache.py \ + carbon-client.py carbon-relay.py validate-storage-schemas.py .for b in ${BIN_FILES} MODPY_ADJ_FILES+= bin/$b Index: distinfo =================================================================== RCS file: /cvs/ports/databases/py-carbon/distinfo,v retrieving revision 1.3 diff -u -p -r1.3 distinfo --- distinfo 8 Jul 2017 16:09:46 -0000 1.3 +++ distinfo 27 Nov 2018 10:57:35 -0000 @@ -1,2 +1,2 @@ -SHA256 (carbon-1.0.1.tar.gz) = JbScsdVAFC38wAY4IwjGO5Ic+J0s2EhhHkmHTN1ciUU= -SIZE (carbon-1.0.1.tar.gz) = 61444 +SHA256 (carbon-1.1.4.tar.gz) = G3DjSsDwvTKgPuFOrx7SyFfiCJhPyXYfWalcIcUmRRM= +SIZE (carbon-1.1.4.tar.gz) = 71819 Index: patches/patch-bin_validate-storage-schemas_py =================================================================== RCS file: /cvs/ports/databases/py-carbon/patches/patch-bin_validate-storage-schemas_py,v retrieving revision 1.1.1.1 diff -u -p -r1.1.1.1 patch-bin_validate-storage-schemas_py --- patches/patch-bin_validate-storage-schemas_py 11 Oct 2012 18:00:30 -0000 1.1.1.1 +++ patches/patch-bin_validate-storage-schemas_py 27 Nov 2018 10:57:35 -0000 @@ -1,12 +1,13 @@ $OpenBSD: patch-bin_validate-storage-schemas_py,v 1.1.1.1 2012/10/11 18:00:30 jasper Exp $ ---- bin/validate-storage-schemas.py.orig Thu Oct 11 19:15:55 2012 -+++ bin/validate-storage-schemas.py Thu Oct 11 19:16:45 2012 -@@ -22,7 +22,7 @@ if len(sys.argv) == 2: +Index: bin/validate-storage-schemas.py +--- bin/validate-storage-schemas.py.orig ++++ bin/validate-storage-schemas.py +@@ -26,7 +26,7 @@ if len(sys.argv) == 2: SCHEMAS_FILE = sys.argv[1] - print "Loading storage-schemas configuration from: '%s'" % SCHEMAS_FILE + print("Loading storage-schemas configuration from: '%s'" % SCHEMAS_FILE) else: - SCHEMAS_FILE = realpath(join(dirname(__file__), '..', 'conf', 'storage-schemas.conf')) + SCHEMAS_FILE = '${SYSCONFDIR}/graphite/storage-schemas.conf' - print "Loading storage-schemas configuration from default location at: '%s'" % SCHEMAS_FILE + print("Loading storage-schemas configuration from default location at: '%s'" % SCHEMAS_FILE) config_parser = ConfigParser() Index: patches/patch-lib_carbon_conf_py =================================================================== RCS file: /cvs/ports/databases/py-carbon/patches/patch-lib_carbon_conf_py,v retrieving revision 1.3 diff -u -p -r1.3 patch-lib_carbon_conf_py --- patches/patch-lib_carbon_conf_py 8 Jul 2017 16:09:46 -0000 1.3 +++ patches/patch-lib_carbon_conf_py 27 Nov 2018 10:57:35 -0000 @@ -2,15 +2,16 @@ $OpenBSD: patch-lib_carbon_conf_py,v 1.3 Index: lib/carbon/conf.py --- lib/carbon/conf.py.orig +++ lib/carbon/conf.py -@@ -545,6 +545,7 @@ def read_config(program, options, **kwargs): +@@ -577,7 +577,7 @@ def read_config(program, options, **kwargs): + for name, value in kwargs.items(): settings.setdefault(name, value) - graphite_root = kwargs.get("ROOT_DIR") +- graphite_root = kwargs.get("ROOT_DIR") + graphite_root = '/var/graphite/' if graphite_root is None: graphite_root = os.environ.get('GRAPHITE_ROOT') if graphite_root is None: -@@ -555,7 +556,7 @@ def read_config(program, options, **kwargs): +@@ -588,7 +588,7 @@ def read_config(program, options, **kwargs): # 'GRAPHITE_CONF_DIR' environment variable. settings.setdefault("CONF_DIR", os.environ.get("GRAPHITE_CONF_DIR", Index: patches/patch-setup_py =================================================================== RCS file: /cvs/ports/databases/py-carbon/patches/patch-setup_py,v retrieving revision 1.3 diff -u -p -r1.3 patch-setup_py --- patches/patch-setup_py 8 Jul 2017 16:09:46 -0000 1.3 +++ patches/patch-setup_py 27 Nov 2018 10:57:35 -0000 @@ -2,20 +2,20 @@ $OpenBSD: patch-setup_py,v 1.3 2017/07/0 Index: setup.py --- setup.py.orig +++ setup.py -@@ -54,7 +54,7 @@ else: - storage_dirs = [ ('storage/ceres', []), ('storage/whisper',[]), - ('storage/lists',[]), ('storage/log',[]), - ('storage/rrd',[]) ] +@@ -61,7 +61,7 @@ else: + storage_dirs = [ ('storage/ceres/dummy.txt', []), ('storage/whisper/dummy.txt',[]), + ('storage/lists',[]), ('storage/log/dummy.txt',[]), + ('storage/rrd/dummy.txt',[]) ] -conf_files = [ ('conf', glob('conf/*.example')) ] +conf_files = [ ('${GRAPHITE_EGDIR}', glob('conf/*.example')) ] install_files = storage_dirs + conf_files -@@ -63,7 +63,6 @@ install_files = storage_dirs + conf_files +@@ -70,7 +70,6 @@ install_files = storage_dirs + conf_files init_scripts = [ ('examples/init.d', ['distro/redhat/init.d/carbon-cache', 'distro/redhat/init.d/carbon-relay', 'distro/redhat/init.d/carbon-aggregator']) ] -install_files += init_scripts + try: - setup( Index: pkg/PLIST =================================================================== RCS file: /cvs/ports/databases/py-carbon/pkg/PLIST,v retrieving revision 1.4 diff -u -p -r1.4 PLIST --- pkg/PLIST 1 Nov 2017 10:44:39 -0000 1.4 +++ pkg/PLIST 27 Nov 2018 10:57:35 -0000 @@ -1,6 +1,11 @@ @comment $OpenBSD: PLIST,v 1.4 2017/11/01 10:44:39 landry Exp $ @newgroup _graphite:706 @newuser _graphite:706:_graphite:daemon:Graphite and Carbon user:/nonexistent:/sbin/nologin +@rcscript ${RCDIR}/carbon_aggregator +@rcscript ${RCDIR}/carbon_aggregator_cache +@rcscript ${RCDIR}/carbon_cache +@rcscript ${RCDIR}/carbon_relay +bin/carbon-aggregator-cache.py bin/carbon-aggregator.py bin/carbon-cache.py bin/carbon-client.py @@ -40,6 +45,8 @@ lib/python${MODPY_VERSION}/site-packages lib/python${MODPY_VERSION}/site-packages/carbon/exceptions.pyc lib/python${MODPY_VERSION}/site-packages/carbon/hashing.py lib/python${MODPY_VERSION}/site-packages/carbon/hashing.pyc +lib/python${MODPY_VERSION}/site-packages/carbon/http.py +lib/python${MODPY_VERSION}/site-packages/carbon/http.pyc lib/python${MODPY_VERSION}/site-packages/carbon/instrumentation.py lib/python${MODPY_VERSION}/site-packages/carbon/instrumentation.pyc lib/python${MODPY_VERSION}/site-packages/carbon/log.py @@ -58,6 +65,8 @@ lib/python${MODPY_VERSION}/site-packages lib/python${MODPY_VERSION}/site-packages/carbon/regexlist.pyc lib/python${MODPY_VERSION}/site-packages/carbon/relayrules.py lib/python${MODPY_VERSION}/site-packages/carbon/relayrules.pyc +lib/python${MODPY_VERSION}/site-packages/carbon/resolver.py +lib/python${MODPY_VERSION}/site-packages/carbon/resolver.pyc lib/python${MODPY_VERSION}/site-packages/carbon/rewrite.py lib/python${MODPY_VERSION}/site-packages/carbon/rewrite.pyc lib/python${MODPY_VERSION}/site-packages/carbon/routers.py @@ -72,6 +81,8 @@ lib/python${MODPY_VERSION}/site-packages lib/python${MODPY_VERSION}/site-packages/carbon/util.pyc lib/python${MODPY_VERSION}/site-packages/carbon/writer.py lib/python${MODPY_VERSION}/site-packages/carbon/writer.pyc +lib/python${MODPY_VERSION}/site-packages/twisted/plugins/carbon_aggregator_cache_plugin.py +lib/python${MODPY_VERSION}/site-packages/twisted/plugins/carbon_aggregator_cache_plugin.pyc lib/python${MODPY_VERSION}/site-packages/twisted/plugins/carbon_aggregator_plugin.py lib/python${MODPY_VERSION}/site-packages/twisted/plugins/carbon_aggregator_plugin.pyc lib/python${MODPY_VERSION}/site-packages/twisted/plugins/carbon_cache_plugin.py Index: pkg/carbon_aggregator.rc =================================================================== RCS file: pkg/carbon_aggregator.rc diff -N pkg/carbon_aggregator.rc --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ pkg/carbon_aggregator.rc 27 Nov 2018 10:57:35 -0000 @@ -0,0 +1,26 @@ +#!/bin/ksh +# +# $OpenBSD: $ + +daemon="/usr/local/bin/carbon-aggregator.py" +daemon_user="_graphite" + +. /etc/rc.d/rc.subr + +rc_usercheck=NO + +rc_check() { + ${rcexec} "${daemon} ${daemon_flags} status" +} + +rc_reload=NO + +rc_start() { + ${rcexec} "${daemon} ${daemon_flags} start" +} + +rc_stop() { + ${rcexec} "${daemon} stop" +} + +rc_cmd $1 Index: pkg/carbon_aggregator_cache.rc =================================================================== RCS file: pkg/carbon_aggregator_cache.rc diff -N pkg/carbon_aggregator_cache.rc --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ pkg/carbon_aggregator_cache.rc 27 Nov 2018 10:57:35 -0000 @@ -0,0 +1,26 @@ +#!/bin/ksh +# +# $OpenBSD: $ + +daemon="/usr/local/bin/carbon-aggregator-cache.py" +daemon_user="_graphite" + +. /etc/rc.d/rc.subr + +rc_usercheck=NO + +rc_check() { + ${rcexec} "${daemon} ${daemon_flags} status" +} + +rc_reload=NO + +rc_start() { + ${rcexec} "${daemon} ${daemon_flags} start" +} + +rc_stop() { + ${rcexec} "${daemon} stop" +} + +rc_cmd $1 Index: pkg/carbon_cache.rc =================================================================== RCS file: pkg/carbon_cache.rc diff -N pkg/carbon_cache.rc --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ pkg/carbon_cache.rc 27 Nov 2018 10:57:35 -0000 @@ -0,0 +1,26 @@ +#!/bin/ksh +# +# $OpenBSD: $ + +daemon="/usr/local/bin/carbon-cache.py" +daemon_user="_graphite" + +. /etc/rc.d/rc.subr + +rc_usercheck=NO + +rc_check() { + ${rcexec} "${daemon} ${daemon_flags} status" +} + +rc_reload=NO + +rc_start() { + ${rcexec} "${daemon} ${daemon_flags} start" +} + +rc_stop() { + ${rcexec} "${daemon} stop" +} + +rc_cmd $1 Index: pkg/carbon_relay.rc =================================================================== RCS file: pkg/carbon_relay.rc diff -N pkg/carbon_relay.rc --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ pkg/carbon_relay.rc 27 Nov 2018 10:57:35 -0000 @@ -0,0 +1,26 @@ +#!/bin/ksh +# +# $OpenBSD: $ + +daemon="/usr/local/bin/carbon-relay.py" +daemon_user="_graphite" + +. /etc/rc.d/rc.subr + +rc_usercheck=NO + +rc_check() { + ${rcexec} "${daemon} ${daemon_flags} status" +} + +rc_reload=NO + +rc_start() { + ${rcexec} "${daemon} ${daemon_flags} start" +} + +rc_stop() { + ${rcexec} "${daemon} stop" +} + +rc_cmd $1