Software /
code /
prosody-modules
Annotate
misc/munin/prosody_.lua @ 1547:e98c335c6554
mod_mam_muc: Limit search to groupchat messages (we use the internal 'with' field stanza types)
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Sat, 08 Nov 2014 15:46:47 +0100 |
parent | 1429:3f85aaca8282 |
child | 2355:513332854531 |
rev | line source |
---|---|
1429
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
1 #!/usr/bin/env lua |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
2 |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
3 local print = print; |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
4 local pairs = pairs; |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
5 local socket = require"socket"; |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
6 |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
7 local stats = {}; |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
8 |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
9 stats.c2s = { |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
10 graph_title = "Prosody C2S Connections"; |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
11 graph_vlabel = "users"; |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
12 graph_category = "Prosody"; |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
13 all_client_connections = { |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
14 label = "client connections"; |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
15 _key = "total_c2s"; |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
16 } |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
17 } |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
18 |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
19 stats.s2s = { |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
20 graph_title = "Prosody S2S Connections"; |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
21 graph_vlabel = "servers"; |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
22 graph_category = "Prosody"; |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
23 outgoing_connections = { |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
24 label = "outgoing connections"; |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
25 _key = "total_s2sout"; |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
26 }; |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
27 incoming_connections = { |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
28 label = "incoming connections"; |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
29 _key = "total_s2sin"; |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
30 } |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
31 } |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
32 |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
33 stats.mem = { |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
34 graph_title = "Prosody Memory Usage"; |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
35 graph_vlabel = "Bytes"; |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
36 graph_args = "--base 1024 -l 0"; |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
37 graph_category = "Prosody"; --memory_unused |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
38 graph_order = "memory_total memory_rss memory_allocated memory_used memory_lua memory_returnable"; |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
39 |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
40 memory_allocated = { label = "Allocated", draw = "AREA" }; |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
41 memory_lua = { label = "Lua", draw = "AREA" }; |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
42 memory_rss = { label = "RSS", draw = "AREA" }; |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
43 memory_total = { label = "Total", draw = "AREA" }; |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
44 -- memory_unused = { label = "Unused", draw = "AREA" }; |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
45 memory_used = { label = "Used", draw = "AREA" }; |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
46 memory_returnable = { label = "Returnable", draw = "AREA" }; |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
47 } |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
48 |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
49 stats.cpu = { |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
50 graph_title = "Prosody CPU Usage"; |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
51 graph_category = "Prosody"; |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
52 graph_args = "-l 0"; |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
53 graph_vlabel = "CPU time used in milliseconds"; |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
54 |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
55 cpu_total = { label = "CPU"; type = "DERIVE"; min = 0; }; |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
56 } |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
57 |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
58 stats.auth = { |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
59 graph_title = "Prosody Authentications"; |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
60 graph_category = "Prosody"; |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
61 graph_args = "--base 1000"; |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
62 |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
63 c2s_auth = { |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
64 label = "Logins"; |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
65 type = "DERIVE"; |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
66 min = 0; |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
67 }; |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
68 c2s_authfail = { |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
69 label = "Failed logins"; |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
70 type = "DERIVE"; |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
71 min = 0; |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
72 }; |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
73 } |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
74 |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
75 local function onerror(msg, err, exit) |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
76 io.stderr:write(msg, '\n'); |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
77 if err then |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
78 io.stderr:write(err, '\n'); |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
79 end |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
80 os.exit(exit or 1); |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
81 end |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
82 |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
83 |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
84 local function connect() |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
85 local conn, err = socket.connect(os.getenv"host" or "localhost", os.getenv"port" or 5782); |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
86 if not conn then onerror("Could not connect to prosody", err); end |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
87 conn:settimeout(1); |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
88 return conn; |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
89 end |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
90 |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
91 local function get_config(item) |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
92 for k,v in pairs(item) do |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
93 if type(v) == "string" then |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
94 print(k .. " " .. v); |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
95 elseif type(v) == "table" then |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
96 for sk,v in pairs(v) do |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
97 if not sk:match("^_") then |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
98 print(k.."."..sk.." "..v); |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
99 end |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
100 end |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
101 end |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
102 end |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
103 end |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
104 |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
105 local function get_stats(item) |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
106 local labels = {}; |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
107 for key, val in pairs(item) do |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
108 if type(val) == "table" and val.label then |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
109 labels[val._key or key] = key; |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
110 end |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
111 end |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
112 |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
113 local conn = connect(); |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
114 local line, err = conn:receive("*l"); |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
115 local stat, value, label; |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
116 while line and line ~= "" and next(labels) ~= nil do |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
117 stat, value = line:match('^STAT%s+"([^"]*)"%s*(%b())'); |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
118 label = stat and labels[stat]; |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
119 if label then |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
120 print(label..".value "..tonumber(value:sub(2,-2))); |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
121 labels[stat] = nil; |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
122 end |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
123 line, err = conn:receive("*l"); |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
124 end |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
125 if err then onerror(err); end |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
126 end |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
127 |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
128 local function main(stat, mode) |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
129 if mode == "suggest" then |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
130 for available_stat in pairs(stats) do |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
131 print(available_stat); |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
132 end |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
133 elseif mode == "config" then |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
134 return get_config(stats[stat]); |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
135 elseif stats[stat] then |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
136 return get_stats(stats[stat]); |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
137 end |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
138 end |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
139 |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
140 if arg then return main(arg[0]:match("prosody_(%w*)"), ...); end |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
141 |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
142 return { |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
143 stats = stats, |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
144 get_stats = get_stats, |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
145 get_config = get_config, |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
146 } |
3f85aaca8282
misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
147 |