I did not succeed in defining the plugin. It apparently fails in finding a protobuf-c compiler ("protoc-c" compiler?)
I am not sure if that protoc-c is even installed with our protobuf-c package.
The change I tried:
perus@ub2304:/Openwrt/e8450/feeds/packages$ git diff
diff --git a/utils/collectd/Makefile b/utils/collectd/Makefile
index 308a4dc22..70c7b0789 100644
--- a/utils/collectd/Makefile
+++ b/utils/collectd/Makefile
@@ -122,7 +122,6 @@ COLLECTD_PLUGINS_DISABLED:= \
write_kafka \
write_log \
write_mongodb \
- write_prometheus \
write_redis \
write_riemann \
write_sensu \
@@ -209,7 +208,8 @@ COLLECTD_PLUGINS_SELECTED:= \
vmem \
wireless \
write_graphite \
- write_http
+ write_http \
+ write_prometheus
PKG_CONFIG_DEPENDS:= \
$(patsubst %,CONFIG_PACKAGE_collectd-mod-%,$(subst _,-,$(COLLECTD_PLUGINS_SELECTED))) \
@@ -365,6 +365,10 @@ else
CONFIGURE_ARGS+= --without-libudev
endif
+ifneq ($(CONFIG_PACKAGE_collectd-mod-write-prometheus),)
+ CONFIGURE_ARGS+= --with-protoc_c="$(STAGING_DIR)/usr/bin/protoc"
+endif
+
define Package/collectd/conffiles
/etc/collectd.conf
/etc/config/collectd
@@ -548,6 +552,7 @@ $(eval $(call BuildPlugin,vmem,virtual memory usage input,vmem,))
$(eval $(call BuildPlugin,wireless,wireless status input,wireless,))
$(eval $(call BuildPlugin,write-graphite,Carbon/Graphite output,write_graphite,+PACKAGE_collectd-mod-write-graphite:libpthread))
$(eval $(call BuildPlugin,write-http,HTTP POST output,write_http,+PACKAGE_collectd-mod-write-http:libcurl))
+$(eval $(call BuildPlugin,write-prometheus,Prometheus output,write_prometheus,+PACKAGE_collectd-mod-write-prometheus:libmicrohttpd +PACKAGE_collectd-mod-write-prometheus:libprotobuf-c))
$(eval $(call BuildScriptPlugin,sqm,SQM/qdisc collection,sqm_collectd,+PACKAGE_collectd-mod-sqm:collectd-mod-exec))
$(eval $(call BuildScriptLuaPlugin,ltq-dsl,Lantiq DSL collection,dsl,@ltq-dsl-app +PACKAGE_collectd-mod-ltq-dsl:collectd-mod-lua +libubus-lua))
If you want the plugin, please test compiling it yourself, and get the protoc-c compiler defined/built/included/found.