Ori.livneh has submitted this change and it was merged.
Change subject: Add brrd module
......................................................................
Add brrd module
`brrd` (operations/software/brrd) is a simple, carbon-like daemon that logs
Navigation Timing stats to RRD files.
Change-Id: Ie2ac403ce5dc3a504d93e45da49649369a9d1bbe
---
A manifests/role/brrd.pp
M manifests/role/deployment.pp
M manifests/site.pp
A modules/brrd/manifests/init.pp
A modules/brrd/templates/brrd.conf.erb
5 files changed, 79 insertions(+), 0 deletions(-)
Approvals:
Ori.livneh: Looks good to me, approved
jenkins-bot: Verified
diff --git a/manifests/role/brrd.pp b/manifests/role/brrd.pp
new file mode 100644
index 0000000..14945e8
--- /dev/null
+++ b/manifests/role/brrd.pp
@@ -0,0 +1,10 @@
+# == Class: role::brrd
+#
+# This role provisions brrd, a carbon-like daemon that stores Navigation
+# Timing data in RRD files.
+#
+class role::brrd {
+ class { '::brrd':
+ endpoint => 'tcp://eventlogging.eqiad.wmnet:8600',
+ }
+}
diff --git a/manifests/role/deployment.pp b/manifests/role/deployment.pp
index 636cd95..e84a8f2 100644
--- a/manifests/role/deployment.pp
+++ b/manifests/role/deployment.pp
@@ -79,6 +79,9 @@
'mwprof/mwprof' => {
'upstream' =>
'https://gerrit.wikimedia.org/r/operations/software/mwprof',
},
+ 'brrd/brrd' => {
+ 'upstream' =>
'https://gerrit.wikimedia.org/r/operations/software/brrd',
+ },
'reporter/reporter' => {
'upstream' =>
'https://gerrit.wikimedia.org/r/operations/software/mwprof/reporter',
},
diff --git a/manifests/site.pp b/manifests/site.pp
index 597b9ca..97e592e 100644
--- a/manifests/site.pp
+++ b/manifests/site.pp
@@ -965,6 +965,7 @@
include standard
include role::ipython_notebook
include role::logging::mediawiki::errors
+ include role::brrd
}
node 'fluorine.eqiad.wmnet' {
diff --git a/modules/brrd/manifests/init.pp b/modules/brrd/manifests/init.pp
new file mode 100644
index 0000000..5f9c1d5
--- /dev/null
+++ b/modules/brrd/manifests/init.pp
@@ -0,0 +1,48 @@
+# == Class: brrd
+#
+# This Puppet module provisions a set of client-side performance
+# monitoring scripts for Wikimedia sites.
+#
+# [*endpoint*]
+# URI of EventLogging event publisher to subscribe to.
+# For example, 'tcp://eventlogging.eqiad.wmnet:8600'.
+#
+class brrd( $endpoint ) {
+ require_package('python-cliff', 'python-rrdtool')
+
+ package { 'brrd':
+ provider => 'trebuchet',
+ notify => Service['brrd'],
+ }
+
+ group { 'brrd':
+ ensure => present,
+ }
+
+ user { 'brrd':
+ ensure => present,
+ gid => 'brrd',
+ shell => '/bin/false',
+ home => '/nonexistent',
+ system => true,
+ managehome => false,
+ }
+
+ file { [ '/var/lib/brrd', '/var/log/brrd' ]:
+ ensure => directory,
+ owner => 'brrd',
+ group => 'brrd',
+ mode => '0755',
+ before => Service['brrd'],
+ }
+
+ file { '/etc/init/brrd.conf':
+ content => template('webperf/brrd.conf.erb'),
+ notify => Service['brrd'],
+ }
+
+ service { 'brrd':
+ ensure => running,
+ provider => upstart,
+ }
+}
diff --git a/modules/brrd/templates/brrd.conf.erb
b/modules/brrd/templates/brrd.conf.erb
new file mode 100644
index 0000000..1017cce
--- /dev/null
+++ b/modules/brrd/templates/brrd.conf.erb
@@ -0,0 +1,17 @@
+# brrd
+
+description "NavigationTiming RRD logger"
+
+start on (local-filesystems and net-device-up IFACE!=lo)
+
+setuid brrd
+setgid brrd
+
+respawn
+respawn limit unlimited
+
+chdir /srv/deployment/brrd/brrd
+exec /srv/deployment/brrd/brrd/brrd-run \
+ --log-file "/var/log/brrd/brrd.log" \
+ "<%= @endpoint %>" \
+ "/var/lib/brrd/navtiming.rrd"
--
To view, visit https://gerrit.wikimedia.org/r/203948
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: Ie2ac403ce5dc3a504d93e45da49649369a9d1bbe
Gerrit-PatchSet: 2
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: Ori.livneh <[email protected]>
Gerrit-Reviewer: Ori.livneh <[email protected]>
Gerrit-Reviewer: jenkins-bot <>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits