annotate misc/munin/prosody_.lua @ 3587:c24d43ababc6

mod_storage_xmlarchive: Try harder to limit range of time to check Fixes read of entire index in case where the time range is outside the range present in the archive.
author Kim Alvefur <zash@zash.se>
date Tue, 07 May 2019 17:10:07 +0200
parents 513332854531
children 235d986ac20f
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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
2355
513332854531 misc/munin/prosody_.lua: Add a line or two about usage
Kim Alvefur <zash@zash.se>
parents: 1429
diff changeset
3 -- Script for use with mod_statistics
513332854531 misc/munin/prosody_.lua: Add a line or two about usage
Kim Alvefur <zash@zash.se>
parents: 1429
diff changeset
4 -- Create symlinks to this named eg prosody_c2s in /etc/munin/plugins
513332854531 misc/munin/prosody_.lua: Add a line or two about usage
Kim Alvefur <zash@zash.se>
parents: 1429
diff changeset
5
1429
3f85aaca8282 misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff changeset
6 local print = print;
3f85aaca8282 misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff changeset
7 local pairs = pairs;
3f85aaca8282 misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff changeset
8 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
9
3f85aaca8282 misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff changeset
10 local stats = {};
3f85aaca8282 misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff changeset
11
3f85aaca8282 misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff changeset
12 stats.c2s = {
3f85aaca8282 misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff changeset
13 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
14 graph_vlabel = "users";
3f85aaca8282 misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff changeset
15 graph_category = "Prosody";
3f85aaca8282 misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff changeset
16 all_client_connections = {
3f85aaca8282 misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff changeset
17 label = "client connections";
3f85aaca8282 misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff changeset
18 _key = "total_c2s";
3f85aaca8282 misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff changeset
19 }
3f85aaca8282 misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff changeset
20 }
3f85aaca8282 misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff changeset
21
3f85aaca8282 misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff changeset
22 stats.s2s = {
3f85aaca8282 misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff changeset
23 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
24 graph_vlabel = "servers";
3f85aaca8282 misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff changeset
25 graph_category = "Prosody";
3f85aaca8282 misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff changeset
26 outgoing_connections = {
3f85aaca8282 misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff changeset
27 label = "outgoing connections";
3f85aaca8282 misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff changeset
28 _key = "total_s2sout";
3f85aaca8282 misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff changeset
29 };
3f85aaca8282 misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff changeset
30 incoming_connections = {
3f85aaca8282 misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff changeset
31 label = "incoming connections";
3f85aaca8282 misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff changeset
32 _key = "total_s2sin";
3f85aaca8282 misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff changeset
33 }
3f85aaca8282 misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff changeset
34 }
3f85aaca8282 misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff changeset
35
3f85aaca8282 misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff changeset
36 stats.mem = {
3f85aaca8282 misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff changeset
37 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
38 graph_vlabel = "Bytes";
3f85aaca8282 misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff changeset
39 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
40 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
41 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
42
3f85aaca8282 misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff changeset
43 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
44 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
45 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
46 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
47 -- 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
48 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
49 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
50 }
3f85aaca8282 misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff changeset
51
3f85aaca8282 misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff changeset
52 stats.cpu = {
3f85aaca8282 misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff changeset
53 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
54 graph_category = "Prosody";
3f85aaca8282 misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff changeset
55 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
56 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
57
3f85aaca8282 misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff changeset
58 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
59 }
3f85aaca8282 misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff changeset
60
3f85aaca8282 misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff changeset
61 stats.auth = {
3f85aaca8282 misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff changeset
62 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
63 graph_category = "Prosody";
3f85aaca8282 misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff changeset
64 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
65
3f85aaca8282 misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff changeset
66 c2s_auth = {
3f85aaca8282 misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff changeset
67 label = "Logins";
3f85aaca8282 misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff changeset
68 type = "DERIVE";
3f85aaca8282 misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff changeset
69 min = 0;
3f85aaca8282 misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff changeset
70 };
3f85aaca8282 misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff changeset
71 c2s_authfail = {
3f85aaca8282 misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff changeset
72 label = "Failed logins";
3f85aaca8282 misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff changeset
73 type = "DERIVE";
3f85aaca8282 misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff changeset
74 min = 0;
3f85aaca8282 misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff changeset
75 };
3f85aaca8282 misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff changeset
76 }
3f85aaca8282 misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff changeset
77
3f85aaca8282 misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff changeset
78 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
79 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
80 if err then
3f85aaca8282 misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff changeset
81 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
82 end
3f85aaca8282 misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff changeset
83 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
84 end
3f85aaca8282 misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff changeset
85
3f85aaca8282 misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff changeset
86
3f85aaca8282 misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff changeset
87 local function connect()
3f85aaca8282 misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff changeset
88 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
89 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
90 conn:settimeout(1);
3f85aaca8282 misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff changeset
91 return conn;
3f85aaca8282 misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff changeset
92 end
3f85aaca8282 misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff changeset
93
3f85aaca8282 misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff changeset
94 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
95 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
96 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
97 print(k .. " " .. v);
3f85aaca8282 misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff changeset
98 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
99 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
100 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
101 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
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 end
3f85aaca8282 misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff changeset
105 end
3f85aaca8282 misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff changeset
106 end
3f85aaca8282 misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff changeset
107
3f85aaca8282 misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff changeset
108 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
109 local labels = {};
3f85aaca8282 misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff changeset
110 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
111 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
112 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
113 end
3f85aaca8282 misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff changeset
114 end
3f85aaca8282 misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff changeset
115
3f85aaca8282 misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff changeset
116 local conn = connect();
3f85aaca8282 misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff changeset
117 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
118 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
119 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
120 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
121 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
122 if label then
3f85aaca8282 misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff changeset
123 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
124 labels[stat] = nil;
3f85aaca8282 misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff changeset
125 end
3f85aaca8282 misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff changeset
126 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
127 end
3f85aaca8282 misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff changeset
128 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
129 end
3f85aaca8282 misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff changeset
130
3f85aaca8282 misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff changeset
131 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
132 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
133 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
134 print(available_stat);
3f85aaca8282 misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff changeset
135 end
3f85aaca8282 misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff changeset
136 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
137 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
138 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
139 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
140 end
3f85aaca8282 misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff changeset
141 end
3f85aaca8282 misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff changeset
142
3f85aaca8282 misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff changeset
143 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
144
3f85aaca8282 misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff changeset
145 return {
3f85aaca8282 misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff changeset
146 stats = stats,
3f85aaca8282 misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff changeset
147 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
148 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
149 }
3f85aaca8282 misc/munin/prosody_.lua: Munin script for collecting statistics from mod_statistics
Kim Alvefur <zash@zash.se>
parents:
diff changeset
150