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