Changeset 41c873beb1e655d59d2e0180251df2ea983eda6b

Show
Ignore:
Timestamp:
08/04/10 12:55:46 (8 years ago)
Author:
Theo Schlossnagle <jesus@omniti.com>
git-committer:
Theo Schlossnagle <jesus@omniti.com> 1280926546 +0000
git-parent:

[ded7f9be97ffc5c1a25be601ed9c61b0f65e7523]

git-author:
Theo Schlossnagle <jesus@omniti.com> 1280926546 +0000
Message:

make this a little more robust and add the plugin list as a metric

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • src/modules-lua/noit/module/munin.lua

    rded7f9b r41c873b  
    8888  local rv, err = e:connect(check.target, check.config.port or 4949) 
    8989 
    90   e:read("\n") -- munin banner 
    91   if plugins == nil then 
    92     e:write("list\r\n") 
    93     plugins = e:read("\n") 
     90  check.bad() 
     91  check.unavailable() 
     92 
     93  if rv ~= 0 then 
     94    check.status(err or "connect failed") 
     95    return 
    9496  end 
    9597 
     98  str = e:read("\n") -- munin banner 
     99  if str == nil or str == "" then 
     100    check.status("no banner, ACL issue?") 
     101    return 
     102  end 
     103 
     104  e:write("list\r\n") 
     105  local rplugins = e:read("\n") 
     106  if rplugins == nil or rplugins == "" then 
     107    check.status("no plugins") 
     108    return 
     109  end 
     110 
     111  rplugins = string.gsub(rplugins, "[\r\n]+$", "") 
     112  check.metric_string("remote_plugins", rplugins) 
     113  if plugins == nil then plugins = rplugins end 
     114 
     115  check.available() 
    96116  local i = 0 
    97117  for p in string.gmatch(plugins, "%s*(%S+)%s*") do 
     
    108128  end 
    109129 
    110   if rv ~= 0 then 
    111     check.bad() 
    112     check.unavailable() 
    113     check.status(err or str or "unknown error") 
    114     return 
    115   end 
    116  
    117130  check.status(string.format("%d stats", i)) 
    118131  check.good()