From: Tom Hughes Date: Thu, 23 Jul 2020 07:25:23 +0000 (+0100) Subject: Fix compound network traffic graphs for www X-Git-Url: https://git.openstreetmap.org./chef.git/commitdiff_plain/1f0523d2dcc5b205c34ef641715065106a1b13a6 Fix compound network traffic graphs for www --- diff --git a/cookbooks/munin/recipes/server.rb b/cookbooks/munin/recipes/server.rb index 881b7d5d8..bd1576680 100644 --- a/cookbooks/munin/recipes/server.rb +++ b/cookbooks/munin/recipes/server.rb @@ -46,8 +46,12 @@ munin_plugin "rrdcached" expiry_time = 14 * 86400 clients = search(:node, "recipes:munin\\:\\:default").sort_by(&:name) -frontends = search(:node, "recipes:web\\:\\:frontend").reject { |n| Time.now - Time.at(n[:ohai_time]) > expiry_time }.map(&:name).sort -backends = search(:node, "recipes:web\\:\\:backend").reject { |n| Time.now - Time.at(n[:ohai_time]) > expiry_time }.map(&:name).sort +frontends = search(:node, "recipes:web\\:\\:frontend").reject { |n| Time.now - Time.at(n[:ohai_time]) > expiry_time }.sort_by(&:name).map do |n| + { :name => n.name.split(".").first, :interface => n.interfaces(:role => :external).first[:interface].tr(".", "_") } +end +backends = search(:node, "recipes:web\\:\\:backend").reject { |n| Time.now - Time.at(n[:ohai_time]) > expiry_time }.sort_by(&:name).map do |n| + { :name => n.name.split(".").first } +end tilecaches = search(:node, "roles:tilecache").reject { |n| Time.now - Time.at(n[:ohai_time]) > expiry_time }.sort_by(&:name).map do |n| { :name => n.name.split(".").first, :interface => n.interfaces(:role => :external).first[:interface].tr(".", "_") } end diff --git a/cookbooks/munin/templates/default/munin.conf.erb b/cookbooks/munin/templates/default/munin.conf.erb index cd41a7ac8..e8c2cc1e6 100644 --- a/cookbooks/munin/templates/default/munin.conf.erb +++ b/cookbooks/munin/templates/default/munin.conf.erb @@ -157,201 +157,205 @@ unknown_limit 144 apache_accesses.graph_vlabel accesses / ${graph_period} apache_accesses.graph_category apache apache_accesses.graph_args --lower-limit 0 - apache_accesses.accesses80.sum <%= Chef::Munin.expand "%%:apache_accesses.accesses80", @frontends %> + apache_accesses.accesses80.sum <%= Chef::Munin.expand "%%name%%:apache_accesses.accesses80", @frontends %> apache_accesses.accesses80.label port 80 apache_accesses.accesses80.min 0 apache_volume.graph_title Apache volume apache_volume.graph_vlabel bytes per ${graph_period} apache_volume.graph_category apache apache_volume.graph_args --lower-limit 0 - apache_volume.volume80.sum <%= Chef::Munin.expand "%%:apache_volume.volume80", @frontends %> + apache_volume.volume80.sum <%= Chef::Munin.expand "%%name%%:apache_volume.volume80", @frontends %> apache_volume.volume80.label port 80 apache_volume.volume80.min 0 - if_eth0.graph_title eth0 traffic - if_eth0.graph_vlabel bits in (-) / out (+) per ${graph_period} - if_eth0.graph_category network - if_eth0.graph_order down up - if_eth0.down.sum <%= Chef::Munin.expand "%%:if_eth0.down", @frontends %> - if_eth0.down.label received - if_eth0.down.cdef down,8,* - if_eth0.up.sum <%= Chef::Munin.expand "%%:if_eth0.up", @frontends %> - if_eth0.up.label sent - if_eth0.up.cdef up,8,* - if_eth1.graph_title eth1 traffic - if_eth1.graph_vlabel bits in (-) / out (+) per ${graph_period} - if_eth1.graph_category network - if_eth1.graph_order down up - if_eth1.down.sum <%= Chef::Munin.expand "%%:if_eth1.down", @frontends %> - if_eth1.down.label received - if_eth1.down.cdef down,8,* - if_eth1.up.sum <%= Chef::Munin.expand "%%:if_eth1.up", @frontends %> - if_eth1.up.label sent - if_eth1.up.cdef up,8,* + network_in.graph_title Inbound network traffic + network_in.graph_vlabel bits in per ${graph_period} + network_in.graph_category network + network_in.graph_order <%= Chef::Munin.expand "%%%name%%%=%%name%%.openstreetmap.org:if_%%interface%%.down", @frontends %> + network_in.graph_total total + network_in.graph_args --lower-limit 0 +<% @frontends.each do |fe| -%> + network_in.<%= fe[:name].tr("-", "_") %>.label <%= fe[:name] %> + network_in.<%= fe[:name].tr("-", "_") %>.cdef <%= fe[:name].tr("-", "_") %>,8,* + network_in.<%= fe[:name].tr("-", "_") %>.draw AREASTACK + network_in.<%= fe[:name].tr("-", "_") %>.min 0 +<% end -%> + network_out.graph_title Outbound network traffic + network_out.graph_vlabel bits out per ${graph_period} + network_out.graph_category network + network_out.graph_order <%= Chef::Munin.expand "%%%name%%%=%%name%%.openstreetmap.org:if_%%interface%%.up", @frontends %> + network_out.graph_total total + network_out.graph_args --lower-limit 0 +<% @frontends.each do |fe| -%> + network_out.<%= fe[:name].tr("-", "_") %>.label <%= fe[:name] %> + network_out.<%= fe[:name].tr("-", "_") %>.cdef <%= fe[:name].tr("-", "_") %>,8,* + network_out.<%= fe[:name].tr("-", "_") %>.draw AREASTACK + network_out.<%= fe[:name].tr("-", "_") %>.min 0 +<% end -%> api_calls_www.graph_title Active requests api_calls_www.graph_vlabel Number of requests api_calls_www.graph_category api api_calls_www.graph_order map upload amf history full trkpts web other - api_calls_www.web.sum <%= Chef::Munin.expand "%%:api_calls_%%%.web", @frontends %> + api_calls_www.web.sum <%= Chef::Munin.expand "%%name%%:api_calls_%%%name%%%.web", @frontends %> api_calls_www.web.label Web site traffic - api_calls_www.upload.sum <%= Chef::Munin.expand "%%:api_calls_%%%.upload", @frontends %> + api_calls_www.upload.sum <%= Chef::Munin.expand "%%name%%:api_calls_%%%name%%%.upload", @frontends %> api_calls_www.upload.label Changeset diff uploads - api_calls_www.other.sum <%= Chef::Munin.expand "%%:api_calls_%%%.other", @frontends %> + api_calls_www.other.sum <%= Chef::Munin.expand "%%name%%:api_calls_%%%name%%%.other", @frontends %> api_calls_www.other.label Other API calls - api_calls_www.amf.sum <%= Chef::Munin.expand "%%:api_calls_%%%.amf", @frontends %> + api_calls_www.amf.sum <%= Chef::Munin.expand "%%name%%:api_calls_%%%name%%%.amf", @frontends %> api_calls_www.amf.label AMF API calls - api_calls_www.history.sum <%= Chef::Munin.expand "%%:api_calls_%%%.history", @frontends %> + api_calls_www.history.sum <%= Chef::Munin.expand "%%name%%:api_calls_%%%name%%%.history", @frontends %> api_calls_www.history.label Element history fetches - api_calls_www.full.sum <%= Chef::Munin.expand "%%:api_calls_%%%.full", @frontends %> + api_calls_www.full.sum <%= Chef::Munin.expand "%%name%%:api_calls_%%%name%%%.full", @frontends %> api_calls_www.full.label Full element fetches - api_calls_www.map.sum <%= Chef::Munin.expand "%%:api_calls_%%%.map", @frontends %> + api_calls_www.map.sum <%= Chef::Munin.expand "%%name%%:api_calls_%%%name%%%.map", @frontends %> api_calls_www.map.label Map API calls - api_calls_www.trkpts.sum <%= Chef::Munin.expand "%%:api_calls_%%%.trkpts", @frontends %> + api_calls_www.trkpts.sum <%= Chef::Munin.expand "%%name%%:api_calls_%%%name%%%.trkpts", @frontends %> api_calls_www.trkpts.label GPX trackpoints calls api_calls_error.graph_title HTTP errors api_calls_error.graph_vlabel Number of errors per ${graph_period} api_calls_error.graph_category api api_calls_error.graph_order http401 http422 http500 http502 http503 http509 - api_calls_error.http401.sum <%= Chef::Munin.expand "%%:api_calls_status.http401", @frontends %> + api_calls_error.http401.sum <%= Chef::Munin.expand "%%name%%:api_calls_status.http401", @frontends %> api_calls_error.http401.label 401 Unauthorized api_calls_error.http401.warning :0.5 - api_calls_error.http422.sum <%= Chef::Munin.expand "%%:api_calls_status.http422", @frontends %> + api_calls_error.http422.sum <%= Chef::Munin.expand "%%name%%:api_calls_status.http422", @frontends %> api_calls_error.http422.label 422 Unprocessable Entity api_calls_error.http422.warning :0.5 - api_calls_error.http500.sum <%= Chef::Munin.expand "%%:api_calls_status.http500", @frontends %> + api_calls_error.http500.sum <%= Chef::Munin.expand "%%name%%:api_calls_status.http500", @frontends %> api_calls_error.http500.label 500 Internal Server Error api_calls_error.http500.warning :0.5 - api_calls_error.http502.sum <%= Chef::Munin.expand "%%:api_calls_status.http502", @frontends %> + api_calls_error.http502.sum <%= Chef::Munin.expand "%%name%%:api_calls_status.http502", @frontends %> api_calls_error.http502.label 502 Bad Gateway api_calls_error.http502.warning :0.5 - api_calls_error.http503.sum <%= Chef::Munin.expand "%%:api_calls_status.http503", @frontends %> + api_calls_error.http503.sum <%= Chef::Munin.expand "%%name%%:api_calls_status.http503", @frontends %> api_calls_error.http503.label 503 Service Unavailable api_calls_error.http503.warning :0.5 - api_calls_error.http509.sum <%= Chef::Munin.expand "%%:api_calls_status.http509", @frontends %> + api_calls_error.http509.sum <%= Chef::Munin.expand "%%name%%:api_calls_status.http509", @frontends %> api_calls_error.http509.label 509 Bandwidth Limit Exceeded api_calls_error.http509.warning :5 api_calls_num.graph_title Requests processed api_calls_num.graph_vlabel Number of requests per ${graph_period} api_calls_num.graph_category api api_calls_num.graph_order map upload amf history full trkpts web other - api_calls_num.web.sum <%= Chef::Munin.expand "%%:api_calls_num.web", @frontends %> + api_calls_num.web.sum <%= Chef::Munin.expand "%%name%%:api_calls_num.web", @frontends %> api_calls_num.web.label Web site traffic - api_calls_num.upload.sum <%= Chef::Munin.expand "%%:api_calls_num.upload", @frontends %> + api_calls_num.upload.sum <%= Chef::Munin.expand "%%name%%:api_calls_num.upload", @frontends %> api_calls_num.upload.label Changeset diff uploads - api_calls_num.other.sum <%= Chef::Munin.expand "%%:api_calls_num.other", @frontends %> + api_calls_num.other.sum <%= Chef::Munin.expand "%%name%%:api_calls_num.other", @frontends %> api_calls_num.other.label Other API calls - api_calls_num.amf.sum <%= Chef::Munin.expand "%%:api_calls_num.amf", @frontends %> + api_calls_num.amf.sum <%= Chef::Munin.expand "%%name%%:api_calls_num.amf", @frontends %> api_calls_num.amf.label AMF API calls - api_calls_num.history.sum <%= Chef::Munin.expand "%%:api_calls_num.history", @frontends %> + api_calls_num.history.sum <%= Chef::Munin.expand "%%name%%:api_calls_num.history", @frontends %> api_calls_num.history.label Element history fetches - api_calls_num.full.sum <%= Chef::Munin.expand "%%:api_calls_num.full", @frontends %> + api_calls_num.full.sum <%= Chef::Munin.expand "%%name%%:api_calls_num.full", @frontends %> api_calls_num.full.label Full element fetches - api_calls_num.map.sum <%= Chef::Munin.expand "%%:api_calls_num.map", @frontends %> + api_calls_num.map.sum <%= Chef::Munin.expand "%%name%%:api_calls_num.map", @frontends %> api_calls_num.map.label Map API calls - api_calls_num.trkpts.sum <%= Chef::Munin.expand "%%:api_calls_num.trkpts", @frontends %> + api_calls_num.trkpts.sum <%= Chef::Munin.expand "%%name%%:api_calls_num.trkpts", @frontends %> api_calls_num.trkpts.label GPX trackpoints calls api_waits_www.graph_title Wait times for active requests api_waits_www.graph_vlabel Average time of requests api_waits_www.graph_category api api_waits_www.graph_order map upload amf history full trkpts web other - api_waits_www.web.sum <%= Chef::Munin.expand "%%:api_waits_%%%.web", @frontends %> + api_waits_www.web.sum <%= Chef::Munin.expand "%%name%%:api_waits_%%%name%%%.web", @frontends %> api_waits_www.web.label Web site traffic api_waits_www.web.cdef web,2,/ - api_waits_www.upload.sum <%= Chef::Munin.expand "%%:api_waits_%%%.upload", @frontends %> + api_waits_www.upload.sum <%= Chef::Munin.expand "%%name%%:api_waits_%%%name%%%.upload", @frontends %> api_waits_www.upload.label Changeset diff uploads api_waits_www.upload.cdef upload,2,/ - api_waits_www.other.sum <%= Chef::Munin.expand "%%:api_waits_%%%.other", @frontends %> + api_waits_www.other.sum <%= Chef::Munin.expand "%%name%%:api_waits_%%%name%%%.other", @frontends %> api_waits_www.other.label Other API calls api_waits_www.other.cdef other,2,/ - api_waits_www.amf.sum <%= Chef::Munin.expand "%%:api_waits_%%%.amf", @frontends %> + api_waits_www.amf.sum <%= Chef::Munin.expand "%%name%%:api_waits_%%%name%%%.amf", @frontends %> api_waits_www.amf.label AMF API calls api_waits_www.amf.cdef amf,2,/ - api_waits_www.history.sum <%= Chef::Munin.expand "%%:api_waits_%%%.history", @frontends %> + api_waits_www.history.sum <%= Chef::Munin.expand "%%name%%:api_waits_%%%name%%%.history", @frontends %> api_waits_www.history.label Element history fetches api_waits_www.history.cdef history,2,/ - api_waits_www.full.sum <%= Chef::Munin.expand "%%:api_waits_%%%.full", @frontends %> + api_waits_www.full.sum <%= Chef::Munin.expand "%%name%%:api_waits_%%%name%%%.full", @frontends %> api_waits_www.full.label Full element fetches api_waits_www.full.cdef full,2,/ - api_waits_www.map.sum <%= Chef::Munin.expand "%%:api_waits_%%%.map", @frontends %> + api_waits_www.map.sum <%= Chef::Munin.expand "%%name%%:api_waits_%%%name%%%.map", @frontends %> api_waits_www.map.label Map API calls api_waits_www.map.cdef map,2,/ - api_waits_www.trkpts.sum <%= Chef::Munin.expand "%%:api_waits_%%%.trkpts", @frontends %> + api_waits_www.trkpts.sum <%= Chef::Munin.expand "%%name%%:api_waits_%%%name%%%.trkpts", @frontends %> api_waits_www.trkpts.label GPX trackpoints calls api_waits_www.trkpts.cdef trkpts,2,/ memcached_multi_commands.graph_title Commands memcached_multi_commands.graph_vlabel Commands per ${graph_period} memcached_multi_commands.graph_category memcached memcached_multi_commands.graph_order cmd_get cmd_set cmd_touch get_hits get_misses delete_hits delete_misses incr_hits incr_misses decr_hits decr_misses touch_hits touch_misses - memcached_multi_commands.cmd_get.sum <%= Chef::Munin.expand "%%:memcached_multi_commands.cmd_get", @backends %> + memcached_multi_commands.cmd_get.sum <%= Chef::Munin.expand "%%name%%:memcached_multi_commands.cmd_get", @backends %> memcached_multi_commands.cmd_get.label Gets - memcached_multi_commands.cmd_set.sum <%= Chef::Munin.expand "%%:memcached_multi_commands.cmd_set", @backends %> + memcached_multi_commands.cmd_set.sum <%= Chef::Munin.expand "%%name%%:memcached_multi_commands.cmd_set", @backends %> memcached_multi_commands.cmd_set.label Sets - memcached_multi_commands.cmd_touch.sum <%= Chef::Munin.expand "%%:memcached_multi_commands.cmd_touch", @backends %> + memcached_multi_commands.cmd_touch.sum <%= Chef::Munin.expand "%%name%%:memcached_multi_commands.cmd_touch", @backends %> memcached_multi_commands.cmd_touch.label Touches - memcached_multi_commands.get_hits.sum <%= Chef::Munin.expand "%%:memcached_multi_commands.get_hits", @backends %> + memcached_multi_commands.get_hits.sum <%= Chef::Munin.expand "%%name%%:memcached_multi_commands.get_hits", @backends %> memcached_multi_commands.get_hits.label Get Hits - memcached_multi_commands.get_misses.sum <%= Chef::Munin.expand "%%:memcached_multi_commands.get_misses", @backends %> + memcached_multi_commands.get_misses.sum <%= Chef::Munin.expand "%%name%%:memcached_multi_commands.get_misses", @backends %> memcached_multi_commands.get_misses.label Get Misses - memcached_multi_commands.delete_hits.sum <%= Chef::Munin.expand "%%:memcached_multi_commands.delete_hits", @backends %> + memcached_multi_commands.delete_hits.sum <%= Chef::Munin.expand "%%name%%:memcached_multi_commands.delete_hits", @backends %> memcached_multi_commands.delete_hits.label Delete Hits - memcached_multi_commands.delete_misses.sum <%= Chef::Munin.expand "%%:memcached_multi_commands.delete_misses", @backends %> + memcached_multi_commands.delete_misses.sum <%= Chef::Munin.expand "%%name%%:memcached_multi_commands.delete_misses", @backends %> memcached_multi_commands.delete_misses.label Delete Misses - memcached_multi_commands.incr_hits.sum <%= Chef::Munin.expand "%%:memcached_multi_commands.incr_hits", @backends %> + memcached_multi_commands.incr_hits.sum <%= Chef::Munin.expand "%%name%%:memcached_multi_commands.incr_hits", @backends %> memcached_multi_commands.incr_hits.label Increment Hits - memcached_multi_commands.incr_misses.sum <%= Chef::Munin.expand "%%:memcached_multi_commands.incr_misses", @backends %> + memcached_multi_commands.incr_misses.sum <%= Chef::Munin.expand "%%name%%:memcached_multi_commands.incr_misses", @backends %> memcached_multi_commands.incr_misses.label Increment Misses - memcached_multi_commands.decr_hits.sum <%= Chef::Munin.expand "%%:memcached_multi_commands.decr_hits", @backends %> + memcached_multi_commands.decr_hits.sum <%= Chef::Munin.expand "%%name%%:memcached_multi_commands.decr_hits", @backends %> memcached_multi_commands.decr_hits.label Decrement Hits - memcached_multi_commands.decr_misses.sum <%= Chef::Munin.expand "%%:memcached_multi_commands.decr_misses", @backends %> + memcached_multi_commands.decr_misses.sum <%= Chef::Munin.expand "%%name%%:memcached_multi_commands.decr_misses", @backends %> memcached_multi_commands.decr_misses.label Decrement Misses - memcached_multi_commands.touch_hits.sum <%= Chef::Munin.expand "%%:memcached_multi_commands.touch_hits", @backends %> + memcached_multi_commands.touch_hits.sum <%= Chef::Munin.expand "%%name%%:memcached_multi_commands.touch_hits", @backends %> memcached_multi_commands.touch_hits.label Touch Hits - memcached_multi_commands.touch_misses.sum <%= Chef::Munin.expand "%%:memcached_multi_commands.touch_misses", @backends %> + memcached_multi_commands.touch_misses.sum <%= Chef::Munin.expand "%%name%%:memcached_multi_commands.touch_misses", @backends %> memcached_multi_commands.touch_misses.label Touch Misses memcached_multi_conns.graph_title Connections memcached_multi_conns.graph_vlabel Connections per ${graph_period} memcached_multi_conns.graph_category memcached memcached_multi_conns.graph_order max_conns curr_conns avg_conns - memcached_multi_conns.curr_conns.sum <%= Chef::Munin.expand "%%:memcached_multi_conns.curr_conns", @backends %> + memcached_multi_conns.curr_conns.sum <%= Chef::Munin.expand "%%name%%:memcached_multi_conns.curr_conns", @backends %> memcached_multi_conns.curr_conns.label Current Connections - memcached_multi_conns.max_conns.sum <%= Chef::Munin.expand "%%:memcached_multi_conns.max_conns", @backends %> + memcached_multi_conns.max_conns.sum <%= Chef::Munin.expand "%%name%%:memcached_multi_conns.max_conns", @backends %> memcached_multi_conns.max_conns.label Max Connections - memcached_multi_conns.avg_conns.sum <%= Chef::Munin.expand "%%:memcached_multi_conns.avg_conns", @backends %> + memcached_multi_conns.avg_conns.sum <%= Chef::Munin.expand "%%name%%:memcached_multi_conns.avg_conns", @backends %> memcached_multi_conns.avg_conns.label Avg Connections memcached_multi_evictions.graph_title Evictions memcached_multi_evictions.graph_vlabel Evictions per ${graph_period} memcached_multi_evictions.graph_category memcached - memcached_multi_evictions.evictions.sum <%= Chef::Munin.expand "%%:memcached_multi_evictions.evictions", @backends %> + memcached_multi_evictions.evictions.sum <%= Chef::Munin.expand "%%name%%:memcached_multi_evictions.evictions", @backends %> memcached_multi_evictions.evictions.label Evictions - memcached_multi_evictions.evicted_nonzero.sum <%= Chef::Munin.expand "%%:memcached_multi_evictions.evicted_nonzero", @backends %> + memcached_multi_evictions.evicted_nonzero.sum <%= Chef::Munin.expand "%%name%%:memcached_multi_evictions.evicted_nonzero", @backends %> memcached_multi_evictions.evicted_nonzero.label Evictions prior to Expire - memcached_multi_evictions.reclaimed.sum <%= Chef::Munin.expand "%%:memcached_multi_evictions.reclaimed", @backends %> + memcached_multi_evictions.reclaimed.sum <%= Chef::Munin.expand "%%name%%:memcached_multi_evictions.reclaimed", @backends %> memcached_multi_evictions.reclaimed.label Reclaimed Items memcached_multi_items.graph_title Items memcached_multi_items.graph_vlabel Items in Memcached memcached_multi_items.graph_category memcached memcached_multi_items.graph_order curr_items total_items - memcached_multi_items.curr_items.sum <%= Chef::Munin.expand "%%:memcached_multi_items.curr_items", @backends %> + memcached_multi_items.curr_items.sum <%= Chef::Munin.expand "%%name%%:memcached_multi_items.curr_items", @backends %> memcached_multi_items.curr_items.label Current Items - memcached_multi_items.total_items.sum <%= Chef::Munin.expand "%%:memcached_multi_items.total_items", @backends %> + memcached_multi_items.total_items.sum <%= Chef::Munin.expand "%%name%%:memcached_multi_items.total_items", @backends %> memcached_multi_items.total_items.label New Items memcached_multi_memory.graph_title Memory Usage memcached_multi_memory.graph_vlabel Bytes Used memcached_multi_memory.graph_category memcached memcached_multi_memory.graph_order limit_maxbytes bytes - memcached_multi_memory.limit_maxbytes.sum <%= Chef::Munin.expand "%%:memcached_multi_memory.limit_maxbytes", @backends %> + memcached_multi_memory.limit_maxbytes.sum <%= Chef::Munin.expand "%%name%%:memcached_multi_memory.limit_maxbytes", @backends %> memcached_multi_memory.limit_maxbytes.label Maximum Bytes Allocated - memcached_multi_memory.bytes.sum <%= Chef::Munin.expand "%%:memcached_multi_memory.bytes", @backends %> + memcached_multi_memory.bytes.sum <%= Chef::Munin.expand "%%name%%:memcached_multi_memory.bytes", @backends %> memcached_multi_memory.bytes.label Current Bytes Used memcached_multi_bytes.graph_title Network Traffic memcached_multi_bytes.graph_args --base 1000 memcached_multi_bytes.graph_vlabel bits in (-) / out (+) memcached_multi_bytes.graph_category memcached memcached_multi_bytes.graph_order bytes_read bytes_written - memcached_multi_bytes.bytes_read.sum <%= Chef::Munin.expand "%%:memcached_multi_bytes.bytes_read", @backends %> + memcached_multi_bytes.bytes_read.sum <%= Chef::Munin.expand "%%name%%:memcached_multi_bytes.bytes_read", @backends %> memcached_multi_bytes.bytes_read.label Network Traffic coming in (-) memcached_multi_bytes.bytes_read.cdef bytes_read,8,* memcached_multi_bytes.bytes_read.graph no - memcached_multi_bytes.bytes_written.sum <%= Chef::Munin.expand "%%:memcached_multi_bytes.bytes_written", @backends %> + memcached_multi_bytes.bytes_written.sum <%= Chef::Munin.expand "%%name%%:memcached_multi_bytes.bytes_written", @backends %> memcached_multi_bytes.bytes_written.negative bytes_read memcached_multi_bytes.bytes_written.label Traffic in (-) / out (+) memcached_multi_bytes.bytes_written.cdef bytes_written,8,*