net-mgmt/rubygem-riemann-*: new ports for the riemann.io suite

Riemann [net-mgmt/riemann] is a streaming event monitoring system
designed for monitoring distributed systems in real time.

This commit introduces the following gems:

- rubygem-riemann-client
- rubygem-riemann-dash
- rubygem-riemann-rabbitmq
- rubygem-riemann-tail
- rubygem-riemann-tools

Which allows connecting to riemann, to set & query events and the index,
to view event status in real-time, whether as a dashboard of events, or
as a classic tail in the terminal. An additional comprehensive set of
integrations for popular tools such as Varnish, Haproxy, nginx,
RabbitMQ, and more, are included in the riemann-tools gem.

More information about Riemann in general is at https://riemann.io/

Reviewed by:	romain
Approved by:	jrm (mentor)
Differential Revision:	https://reviews.freebsd.org/D17710
This commit is contained in:
Dave Cottlehuber 2019-05-24 07:18:19 +00:00
parent bd7906540b
commit 059320610e
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=502425
21 changed files with 392 additions and 0 deletions

View file

@ -347,6 +347,11 @@
SUBDIR += rubygem-oxidized
SUBDIR += rubygem-oxidized-script
SUBDIR += rubygem-oxidized-web
SUBDIR += rubygem-riemann-client
SUBDIR += rubygem-riemann-dash
SUBDIR += rubygem-riemann-rabbitmq
SUBDIR += rubygem-riemann-tail
SUBDIR += rubygem-riemann-tools
SUBDIR += rubygem-snmp
SUBDIR += rubygem-visage-app
SUBDIR += sblim-wbemcli

View file

@ -0,0 +1,23 @@
# $FreeBSD$
PORTNAME= riemann-client
DISTVERSION= 0.2.6
CATEGORIES= net-mgmt rubygems
MASTER_SITES= RG
MAINTAINER= dch@FreeBSD.org
COMMENT= Client for the distributed event system Riemann
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE
RUN_DEPENDS= rubygem-beefcake>=1.2:net/rubygem-beefcake \
rubygem-mtrc>=0.0.4:math/rubygem-mtrc \
rubygem-trollop>=2.9:devel/rubygem-trollop
USES= gem
USE_RUBY= yes
NO_ARCH= yes
.include <bsd.port.mk>

View file

@ -0,0 +1,3 @@
TIMESTAMP = 1540513080
SHA256 (rubygem/riemann-client-0.2.6.gem) = 28ba11bd2bf7cecaeb1fa94ef486796f7b2feae313b1d42beac140e44547370b
SIZE (rubygem/riemann-client-0.2.6.gem) = 15360

View file

@ -0,0 +1,26 @@
--- riemann-client.gemspec.orig 2018-12-12 11:07:07 UTC
+++ riemann-client.gemspec
@@ -25,20 +25,20 @@ Gem::Specification.new do |s|
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
s.add_development_dependency(%q<bundler>.freeze, [">= 1.3"])
s.add_development_dependency(%q<bacon>.freeze, [">= 0"])
- s.add_runtime_dependency(%q<beefcake>.freeze, [">= 0.3.5", "<= 1.0.0"])
+ s.add_runtime_dependency(%q<beefcake>.freeze, [">= 1.2.0"])
s.add_runtime_dependency(%q<trollop>.freeze, [">= 1.16.2"])
s.add_runtime_dependency(%q<mtrc>.freeze, [">= 0.0.4"])
else
s.add_dependency(%q<bundler>.freeze, [">= 1.3"])
s.add_dependency(%q<bacon>.freeze, [">= 0"])
- s.add_dependency(%q<beefcake>.freeze, [">= 0.3.5", "<= 1.0.0"])
+ s.add_dependency(%q<beefcake>.freeze, [">= 1.2.0"])
s.add_dependency(%q<trollop>.freeze, [">= 1.16.2"])
s.add_dependency(%q<mtrc>.freeze, [">= 0.0.4"])
end
else
s.add_dependency(%q<bundler>.freeze, [">= 1.3"])
s.add_dependency(%q<bacon>.freeze, [">= 0"])
- s.add_dependency(%q<beefcake>.freeze, [">= 0.3.5", "<= 1.0.0"])
+ s.add_dependency(%q<beefcake>.freeze, [">= 1.2.0"])
s.add_dependency(%q<trollop>.freeze, [">= 1.16.2"])
s.add_dependency(%q<mtrc>.freeze, [">= 0.0.4"])
end

View file

@ -0,0 +1,9 @@
Submit custom events and query aggregated events across all your
infrastructure, using Riemann, a powerful real-time event stream
processor for monitoring all your distributed systems.
Only plain UDP and TCP connections are provided, TLS is not available.
Thus, either use a TLS proxy (haproxy or nginx), or a tool such as
spiped, to add encryption to your Riemann servers.
WWW: https://github.com/riemann/riemann-ruby-client

View file

@ -0,0 +1,35 @@
# $FreeBSD$
PORTNAME= riemann-dash
DISTVERSION= 0.2.14
CATEGORIES= net-mgmt rubygems
MASTER_SITES= RG
MAINTAINER= dch@FreeBSD.org
COMMENT= Configurable websocket/javascript based dashboard for net-mgmt/riemann
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE
RUN_DEPENDS= rubygem-multi_json>=0:devel/rubygem-multi_json \
rubygem-sass>=0:textproc/rubygem-sass \
rubygem-erubis>=0:www/rubygem-erubis \
rubygem-sinatra>=0:www/rubygem-sinatra
USES= gem
NO_ARCH= yes
USE_RUBY= yes
post-install:
# move the public HTML files into DATADIR for webservers
# even when the package version & path changes
${MKDIR} ${STAGEDIR}${DATADIR}
${MV} ${STAGEDIR}${PREFIX}/${GEM_LIB_DIR}/lib/riemann/dash/public \
${STAGEDIR}${DATADIR}/www
# the eruby template is valid HTML so drop it into public dir
# and it can all be served directly via your webserver
${CP} ${WRKSRC}/lib/riemann/dash/views/index.erubis \
${STAGEDIR}${DATADIR}/www/index.html
.include <bsd.port.mk>

View file

@ -0,0 +1,3 @@
TIMESTAMP = 1545758428
SHA256 (rubygem/riemann-dash-0.2.14.gem) = 79338bf9e13d02aa0446d021422a59eb18b2b4c8ee5e4314a1a5efb0ec3466c0
SIZE (rubygem/riemann-dash-0.2.14.gem) = 335360

View file

@ -0,0 +1,28 @@
--- riemann-dash.gemspec.orig 2018-12-25 17:47:00 UTC
+++ riemann-dash.gemspec
@@ -24,23 +24,10 @@ Gem::Specification.new do |s|
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
s.add_runtime_dependency(%q<erubis>.freeze, [">= 2.7.0"])
- s.add_runtime_dependency(%q<sinatra>.freeze, ["~> 1.4.5"])
+ s.add_runtime_dependency(%q<sinatra>.freeze, [">= 1.4.5"])
s.add_runtime_dependency(%q<sass>.freeze, [">= 3.1.14"])
- s.add_runtime_dependency(%q<webrick>.freeze, ["~> 1.3.1"])
- s.add_runtime_dependency(%q<multi_json>.freeze, ["= 1.3.6"])
- else
- s.add_dependency(%q<erubis>.freeze, [">= 2.7.0"])
- s.add_dependency(%q<sinatra>.freeze, ["~> 1.4.5"])
- s.add_dependency(%q<sass>.freeze, [">= 3.1.14"])
- s.add_dependency(%q<webrick>.freeze, ["~> 1.3.1"])
- s.add_dependency(%q<multi_json>.freeze, ["= 1.3.6"])
+ s.add_runtime_dependency(%q<multi_json>.freeze, [">= 1.3.6"])
end
- else
- s.add_dependency(%q<erubis>.freeze, [">= 2.7.0"])
- s.add_dependency(%q<sinatra>.freeze, ["~> 1.4.5"])
- s.add_dependency(%q<sass>.freeze, [">= 3.1.14"])
- s.add_dependency(%q<webrick>.freeze, ["~> 1.3.1"])
- s.add_dependency(%q<multi_json>.freeze, ["= 1.3.6"])
end
end

View file

@ -0,0 +1,6 @@
Wraps a pretty HTTP console around the Riemann real-time streaming event
system, enabling dashboards from any web browser. Uses javascripts and
websockets under the hood, and can be served from any static file HTTP
server, or via ruby to allow users to edit and save the configuration.
WWW: https://github.com/riemann/riemann-dash

View file

@ -0,0 +1,78 @@
bin/riemann-dash
@comment relocated public web files
@dir(root,wheel,755) %%DATADIR%%/www
%%DATADIR%%/www/clock.js
%%DATADIR%%/www/dash.js
%%DATADIR%%/www/eventPane.js
%%DATADIR%%/www/favicon.ico
%%DATADIR%%/www/format.js
%%DATADIR%%/www/index.html
%%DATADIR%%/www/keys.js
%%DATADIR%%/www/persistence.js
%%DATADIR%%/www/profile.js
%%DATADIR%%/www/sounds/beep.wav
%%DATADIR%%/www/sounds/geiger.wav
%%DATADIR%%/www/strings.js
%%DATADIR%%/www/subs.js
%%DATADIR%%/www/toolbar.js
%%DATADIR%%/www/util.js
%%DATADIR%%/www/vendor/PriorityQueue.js
%%DATADIR%%/www/vendor/backbone.js
%%DATADIR%%/www/vendor/flot/jquery.colorhelpers.js
%%DATADIR%%/www/vendor/flot/jquery.colorhelpers.min.js
%%DATADIR%%/www/vendor/flot/jquery.flot.canvas.js
%%DATADIR%%/www/vendor/flot/jquery.flot.canvas.min.js
%%DATADIR%%/www/vendor/flot/jquery.flot.categories.js
%%DATADIR%%/www/vendor/flot/jquery.flot.categories.min.js
%%DATADIR%%/www/vendor/flot/jquery.flot.crosshair.js
%%DATADIR%%/www/vendor/flot/jquery.flot.crosshair.min.js
%%DATADIR%%/www/vendor/flot/jquery.flot.errorbars.js
%%DATADIR%%/www/vendor/flot/jquery.flot.errorbars.min.js
%%DATADIR%%/www/vendor/flot/jquery.flot.fillbetween.js
%%DATADIR%%/www/vendor/flot/jquery.flot.fillbetween.min.js
%%DATADIR%%/www/vendor/flot/jquery.flot.image.js
%%DATADIR%%/www/vendor/flot/jquery.flot.image.min.js
%%DATADIR%%/www/vendor/flot/jquery.flot.js
%%DATADIR%%/www/vendor/flot/jquery.flot.min.js
%%DATADIR%%/www/vendor/flot/jquery.flot.navigate.js
%%DATADIR%%/www/vendor/flot/jquery.flot.navigate.min.js
%%DATADIR%%/www/vendor/flot/jquery.flot.pie.js
%%DATADIR%%/www/vendor/flot/jquery.flot.pie.min.js
%%DATADIR%%/www/vendor/flot/jquery.flot.resize.js
%%DATADIR%%/www/vendor/flot/jquery.flot.resize.min.js
%%DATADIR%%/www/vendor/flot/jquery.flot.selection.js
%%DATADIR%%/www/vendor/flot/jquery.flot.selection.min.js
%%DATADIR%%/www/vendor/flot/jquery.flot.stack.js
%%DATADIR%%/www/vendor/flot/jquery.flot.stack.min.js
%%DATADIR%%/www/vendor/flot/jquery.flot.symbol.js
%%DATADIR%%/www/vendor/flot/jquery.flot.symbol.min.js
%%DATADIR%%/www/vendor/flot/jquery.flot.threshold.js
%%DATADIR%%/www/vendor/flot/jquery.flot.threshold.min.js
%%DATADIR%%/www/vendor/flot/jquery.flot.time.js
%%DATADIR%%/www/vendor/flot/jquery.flot.time.min.js
%%DATADIR%%/www/vendor/flot/jquery.flot.tooltip.js
%%DATADIR%%/www/vendor/flot/jquery.flot.tooltip.min.js
%%DATADIR%%/www/vendor/gauge.min.js
%%DATADIR%%/www/vendor/jquery.gauge.js
%%DATADIR%%/www/vendor/jquery/jquery-1.9.1.min.js
%%DATADIR%%/www/vendor/jquery/jquery-1.9.1.min.map
%%DATADIR%%/www/vendor/jquery/jquery-ui-1.10.2.custom.min.js
%%DATADIR%%/www/vendor/jquery/jquery.quickfit.js
%%DATADIR%%/www/vendor/jquery/jquery.simplemodal.1.4.4.min.js
%%DATADIR%%/www/vendor/lodash.min.js
%%DATADIR%%/www/vendor/smoothie.js
%%DATADIR%%/www/vendor/toastr/toastr.css
%%DATADIR%%/www/vendor/toastr/toastr.js
%%DATADIR%%/www/view.js
%%DATADIR%%/www/views/dial.js
%%DATADIR%%/www/views/flot.js
%%DATADIR%%/www/views/gauge.js
%%DATADIR%%/www/views/geiger.js
%%DATADIR%%/www/views/grid.js
%%DATADIR%%/www/views/help.js
%%DATADIR%%/www/views/iframe.js
%%DATADIR%%/www/views/list.js
%%DATADIR%%/www/views/log.js
%%DATADIR%%/www/views/timeseries.js
%%DATADIR%%/www/views/title.js
%%DATADIR%%/www/x.png

View file

@ -0,0 +1,37 @@
# $FreeBSD$
PORTNAME= riemann-rabbitmq
DISTVERSION= 0.1.3
CATEGORIES= net-mgmt rubygems
MASTER_SITES= RG
MAINTAINER= dch@FreeBSD.org
COMMENT= Send your RabbitMQ metrics to Riemann
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE
RUN_DEPENDS= rubygem-riemann-tools>=0.2.14:net-mgmt/rubygem-riemann-tools \
rubygem-faraday>=0.8.5:www/rubygem-faraday
USES= gem
USE_RUBY= yes
NO_ARCH= yes
post-patch:
# hide sensitive command-line parameters from casual users
@${SED} -i -e $$'/^#!.*ruby.*/a\\\nProcess.setproctitle($$0)\n' \
${WRKSRC}/bin/riemann-*
PORTDOCS= README.md
PLIST_FILES= bin/riemann-rabbitmq
OPTIONS_DEFINE= DOCS
post-install-DOCS-on:
@${MKDIR} ${STAGEDIR}${DOCSDIR}
${INSTALL_DATA} ${PORTDOCS:S,^,${WRKSRC}/,} ${STAGEDIR}${DOCSDIR}
.include <bsd.port.mk>

View file

@ -0,0 +1,3 @@
TIMESTAMP = 1542099738
SHA256 (rubygem/riemann-rabbitmq-0.1.3.gem) = ea47168299dc5f5c5fb3ab89fe36057b8e12e25e323cc38b3dc9ed9f046b8ee8
SIZE (rubygem/riemann-rabbitmq-0.1.3.gem) = 7168

View file

@ -0,0 +1,5 @@
Submit detailed metrics from your RabbitMQ server or cluster, to the
Riemann streaming event monitoring system, to allow monitoring and
alerting of many rabbitmq internals from a central point.
WWW: https://github.com/riemann/riemann-tools

View file

@ -0,0 +1,33 @@
# $FreeBSD$
PORTNAME= riemann-tail
DISTVERSION= 0.0.1
CATEGORIES= net-mgmt rubygems
MASTER_SITES= RG
MAINTAINER= dch@FreeBSD.org
COMMENT= Tail Riemann event streams from the console
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE.txt
RUN_DEPENDS= rubygem-colorize>=0:devel/rubygem-colorize \
rubygem-faye-websocket>=0:www/rubygem-faye-websocket \
rubygem-thor>=0:devel/rubygem-thor
USES= gem
USE_RUBY= yes
NO_ARCH= yes
PORTDOCS= README.md
PLIST_FILES= bin/riemann-tail
OPTIONS_DEFINE= DOCS
post-install-DOCS-on:
@${MKDIR} ${STAGEDIR}${DOCSDIR}
${INSTALL_DATA} ${PORTDOCS:S,^,${WRKSRC}/,} ${STAGEDIR}${DOCSDIR}
.include <bsd.port.mk>

View file

@ -0,0 +1,3 @@
TIMESTAMP = 1542101401
SHA256 (rubygem/riemann-tail-0.0.1.gem) = 93269c731b50c94b8426dfc34f2fed4ed2424e99e71666d50612ee27ff3fe3de
SIZE (rubygem/riemann-tail-0.0.1.gem) = 6656

View file

@ -0,0 +1,5 @@
Allow streaming in real-time monitoring events from your distributed
systems, using the Riemann streaming event monitoring system, to your
terminal console.
WWW: https://github.com/wkf/riemann-tail

View file

@ -0,0 +1,36 @@
# $FreeBSD$
PORTNAME= riemann-tools
DISTVERSION= 0.2.14
CATEGORIES= net-mgmt rubygems
MASTER_SITES= RG
MAINTAINER= dch@FreeBSD.org
COMMENT= Collection of utilities which submit events to Riemann
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE
RUN_DEPENDS= rubygem-json>=1.8:devel/rubygem-json \
rubygem-optimist>=3.0:devel/rubygem-optimist \
rubygem-riemann-client>=0.2:net-mgmt/rubygem-riemann-client
USES= gem
USE_RUBY= yes
NO_ARCH= yes
post-patch:
# hide sensitive command-line parameters from casual users
@${SED} -i -e $$'/^#!.*ruby.*/a\\\nProcess.setproctitle($$0)\n' \
${WRKSRC}/bin/riemann-*
PORTDOCS= README.markdown
OPTIONS_DEFINE= DOCS
post-install-DOCS-on:
@${MKDIR} ${STAGEDIR}${DOCSDIR}
${INSTALL_DATA} ${PORTDOCS:S,^,${WRKSRC}/,} ${STAGEDIR}${DOCSDIR}
.include <bsd.port.mk>

View file

@ -0,0 +1,3 @@
TIMESTAMP = 1540515593
SHA256 (rubygem/riemann-tools-0.2.14.gem) = 5df2624d3ff4d442b2f698aea02946e7846d81ddc3d054f5bffc8bc1e3e8891f
SIZE (rubygem/riemann-tools-0.2.14.gem) = 18944

View file

@ -0,0 +1,22 @@
--- riemann-tools.gemspec.orig 2018-12-12 11:20:36 UTC
+++ riemann-tools.gemspec
@@ -26,16 +26,16 @@ Gem::Specification.new do |s|
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
s.add_runtime_dependency(%q<riemann-client>.freeze, ["~> 0.2", ">= 0.2.6"])
s.add_runtime_dependency(%q<optimist>.freeze, ["~> 3.0", ">= 3.0.0"])
- s.add_runtime_dependency(%q<json>.freeze, ["~> 1.8"])
+ s.add_runtime_dependency(%q<json>.freeze, [">= 1.8"])
else
s.add_dependency(%q<riemann-client>.freeze, ["~> 0.2", ">= 0.2.6"])
s.add_dependency(%q<optimist>.freeze, ["~> 3.0", ">= 3.0.0"])
- s.add_dependency(%q<json>.freeze, ["~> 1.8"])
+ s.add_dependency(%q<json>.freeze, [">= 1.8"])
end
else
s.add_dependency(%q<riemann-client>.freeze, ["~> 0.2", ">= 0.2.6"])
s.add_dependency(%q<optimist>.freeze, ["~> 3.0", ">= 3.0.0"])
- s.add_dependency(%q<json>.freeze, ["~> 1.8"])
+ s.add_dependency(%q<json>.freeze, [">= 1.8"])
end
end

View file

@ -0,0 +1,9 @@
Collection of utilities which submit events to Riemann, the real-time
streaming event monitoring system for your distributed infrastructure.
Includes comprehensive support out-of-the-box for Apache, Memcache,
Haproxy, Varnish, CouchDB, Nginx, Zookeeper, Consul, as well as various
OS-level statistics such as CPU, memory, disk, load, network interfaces,
and open TCP ports.
WWW: https://github.com/riemann/riemann-tools

View file

@ -0,0 +1,20 @@
bin/riemann-apache-status
bin/riemann-bench
bin/riemann-cloudant
bin/riemann-consul
bin/riemann-dir-files-count
bin/riemann-dir-space
bin/riemann-diskstats
bin/riemann-fd
bin/riemann-freeswitch
bin/riemann-haproxy
bin/riemann-health
bin/riemann-kvminstance
bin/riemann-memcached
bin/riemann-net
bin/riemann-nginx-status
bin/riemann-ntp
bin/riemann-portcheck
bin/riemann-proc
bin/riemann-varnish
bin/riemann-zookeeper