Ottomata has submitted this change and it was merged.

Change subject: Puppetizing jmxtrans for analytics udp2log kafka producers
......................................................................


Puppetizing jmxtrans for analytics udp2log kafka producers

Change-Id: I70682fa9226bc420df24ef894eb2c5fc7c9f4054
---
M manifests/misc/analytics.pp
M manifests/role/analytics.pp
2 files changed, 50 insertions(+), 9 deletions(-)

Approvals:
  Ottomata: Verified; Looks good to me, approved
  jenkins-bot: Verified



diff --git a/manifests/misc/analytics.pp b/manifests/misc/analytics.pp
index 86a02b1..488cbbb 100644
--- a/manifests/misc/analytics.pp
+++ b/manifests/misc/analytics.pp
@@ -34,11 +34,46 @@
 #
 # Usage:
 #   misc::analytics::monitoring::kafka::producer { 'webrequest-mobile':
-#      warning  => 1,
-#      critical => 5,
+#      jmx_port                => 9951,
+#      ganglia                 => '239.192.1.32:8649,
+#      produce_events_warning  => 1000000
+#      produce_events_critical => 2000000,
 #   }
 #
-define misc::analytics::monitoring::kafka::producer($warning, $critical) {
+define misc::analytics::monitoring::kafka::producer(
+    $jmx_port,
+    $ganglia,
+    $produce_events_warning,
+    $produce_events_critical
+)
+{
+    # Set up a jmxtrans instance sending stats from the Kafka JVM to ganglia.
+    jmxtrans::metrics { "kafka-producer-${title}":
+        jmx                => "${::fqdn}:${jmx_port}",
+        ganglia            => $ganglia,
+        ganglia_group_name => 'kafka',
+        objects            => [
+            {
+                'name'        => 'kafka:type=kafka.KafkaProducerStats',
+                'resultAlias' => "udp2log_kafka_producer_${title}",
+                'attrs'       => {
+                    'AvgProduceRequestsMs'       => { 'units' => 'ms', 'dmax'  
=> $dmax },
+                    'MaxProduceRequestsMs'       => { 'units' => 'ms', 'dmax'  
=> $dmax },
+                    'NumProduceRequests'         => { 'units' => 'requests', 
'slope' => 'positive', 'dmax'  => $dmax },
+                },
+            },
+            {
+                'name'        => 
'kafka.producer.Producer:type=AsyncProducerStats',
+                'resultAlias' => "udp2log_kafka_producer_${title}",
+                'attrs'       => {
+                    'AsyncProducerEvents'        => { 'units' => 'events', 
'slope' => 'positive', 'dmax'  => $dmax },
+                    'AsyncProducerDroppedEvents' => { 'units' => 'events', 
'slope' => 'positive', 'dmax'  => $dmax },
+                },
+            },
+        ],
+    }
+
+
        # Set up icinga monitoring of Kafka producer async produce events per 
second.
        # If this drops too low, trigger an alert.
        monitor_service { "kafka-producer-${title}.AsyncProducerEvents":
diff --git a/manifests/role/analytics.pp b/manifests/role/analytics.pp
index bf821cb..8015d8c 100644
--- a/manifests/role/analytics.pp
+++ b/manifests/role/analytics.pp
@@ -145,8 +145,10 @@
        }
 
        misc::analytics::monitoring::kafka::producer { 'webrequest-mobile':
-               warning  => 2000000,
-               critical => 1000000,
+               jmx_port                => 9951,
+               ganglia                 => '239.192.1.32:8649',
+               produce_events_warning  => 2000000,
+               produce_events_critical => 1000000,
        }
 }
 
@@ -174,8 +176,10 @@
        }
 
        misc::analytics::monitoring::kafka::producer { 
'webrequest-wikipedia-mobile':
-               warning  => 2000000,
-               critical => 1000000,
+               jmx_port                => 9951,
+               ganglia                 => '239.192.1.32:8649',
+               produce_events_warning  => 2000000,
+               produce_events_critical => 1000000,
        }
 }
 
@@ -204,7 +208,9 @@
        }
 
        misc::analytics::monitoring::kafka::producer { 
'webrequest-all-sampled-1000':
-               warning  => 80,
-               critical => 40,
+               jmx_port                => 9954,
+               ganglia                 => '239.192.1.32:8649',
+               produce_events_warning  => 80,
+               produce_events_critical => 40,
        }
 }

-- 
To view, visit https://gerrit.wikimedia.org/r/72943
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I70682fa9226bc420df24ef894eb2c5fc7c9f4054
Gerrit-PatchSet: 2
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: Ottomata <o...@wikimedia.org>
Gerrit-Reviewer: Ottomata <o...@wikimedia.org>
Gerrit-Reviewer: jenkins-bot

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to