1 |
root |
1.1 |
#!/bin/bash |
2 |
|
|
# Crossfire metaserver statistics generator script |
3 |
|
|
# Copyright (c) 2005 Heikki Hokkanen <heikki.hokkanen@tut.fi> |
4 |
|
|
# License: GPLv2 |
5 |
|
|
|
6 |
|
|
# the stats file format is: |
7 |
|
|
# updatehits:requesthits:totalservers:totalplayers |
8 |
|
|
|
9 |
|
|
statsfile=/var/tmp/meta_xfire.stats |
10 |
|
|
rrdfile=cfstats.rrd |
11 |
|
|
|
12 |
|
|
if [ ! -f ${rrdfile} ]; then |
13 |
|
|
# daily (5min), weekly (30min), monthly (2h), yearly (1d) |
14 |
|
|
# (24*3600)/300 = 288 |
15 |
|
|
# (7*24**3600)/(300*6) = 336 |
16 |
|
|
# (5*7*24*3600)/(7200) = 420 |
17 |
|
|
rrdtool create ${rrdfile} \ |
18 |
|
|
DS:updates:COUNTER:600:0:U \ |
19 |
|
|
DS:requests:COUNTER:600:0:U \ |
20 |
|
|
DS:servers:GAUGE:600:0:U \ |
21 |
|
|
DS:players:GAUGE:600:0:U \ |
22 |
|
|
RRA:AVERAGE:0.5:1:288 \ |
23 |
|
|
RRA:AVERAGE:0.5:6:336 \ |
24 |
|
|
RRA:AVERAGE:0.5:24:420 \ |
25 |
|
|
RRA:AVERAGE:0.5:288:3650 \ |
26 |
|
|
RRA:MAX:0.5:1:288 \ |
27 |
|
|
RRA:MAX:0.5:6:336 \ |
28 |
|
|
RRA:MAX:0.5:24:420 \ |
29 |
|
|
RRA:MAX:0.5:288:3650 |
30 |
|
|
fi |
31 |
|
|
|
32 |
|
|
# update |
33 |
|
|
def=" |
34 |
|
|
DEF:updates=${rrdfile}:updates:AVERAGE |
35 |
|
|
DEF:requests=${rrdfile}:requests:AVERAGE |
36 |
|
|
DEF:servers=${rrdfile}:servers:AVERAGE |
37 |
|
|
DEF:players=${rrdfile}:players:AVERAGE |
38 |
|
|
" |
39 |
|
|
|
40 |
|
|
gfx=" |
41 |
|
|
LINE1:updates#00CC00:updates |
42 |
|
|
LINE1:requests#0000CC:hits |
43 |
|
|
LINE1:servers#00FFFF:servers |
44 |
|
|
LINE1:players#FF0000:players |
45 |
|
|
" |
46 |
|
|
|
47 |
|
|
if [ "$1" == "graph" ]; then |
48 |
|
|
rrdtool graph stats-day.png $def $gfx |
49 |
|
|
rrdtool graph stats-week.png $def $gfx -s '-8days' |
50 |
|
|
rrdtool graph stats-month.png $def $gfx -s '-1month' |
51 |
|
|
rrdtool graph stats-year.png $def $gfx -s '-1year' |
52 |
|
|
else |
53 |
|
|
rrdtool update ${rrdfile} N:$(cat ${statsfile}) |
54 |
|
|
fi |
55 |
|
|
|