]>
Commit | Line | Data |
---|---|---|
55c28321 MT |
1 | #!/usr/bin/python |
2 | ############################################################################### | |
3 | # # | |
4 | # collecty - A system statistics collection daemon for IPFire # | |
5 | # Copyright (C) 2012 IPFire development team # | |
6 | # # | |
7 | # This program is free software: you can redistribute it and/or modify # | |
8 | # it under the terms of the GNU General Public License as published by # | |
9 | # the Free Software Foundation, either version 3 of the License, or # | |
10 | # (at your option) any later version. # | |
11 | # # | |
12 | # This program is distributed in the hope that it will be useful, # | |
13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of # | |
14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # | |
15 | # GNU General Public License for more details. # | |
16 | # # | |
17 | # You should have received a copy of the GNU General Public License # | |
18 | # along with this program. If not, see <http://www.gnu.org/licenses/>. # | |
19 | # # | |
20 | ############################################################################### | |
21 | ||
22 | import os | |
23 | ||
24 | import base | |
25 | ||
26 | ENTROPY_FILE = "/proc/sys/kernel/random/entropy_avail" | |
27 | ||
28 | class PluginEntropy(base.Plugin): | |
29 | name = "entropy" | |
30 | description = "Entropy Plugin" | |
31 | ||
32 | rrd_schema = [ | |
33 | "DS:entropy:GAUGE:120:0:U", | |
34 | "RRA:AVERAGE:0.5:1:2160", | |
35 | "RRA:AVERAGE:0.5:5:2016", | |
36 | "RRA:AVERAGE:0.5:15:2880", | |
37 | "RRA:AVERAGE:0.5:60:8760", | |
38 | ] | |
39 | ||
40 | @classmethod | |
41 | def autocreate(cls, collecty, **kwargs): | |
42 | if not os.path.exists(ENTROPY_FILE): | |
43 | self.log.debug(_("Entropy kernel interface does not exist.")) | |
44 | return | |
45 | ||
46 | return cls(collecty, **kwargs) | |
47 | ||
48 | def read(self): | |
49 | data = "%s" % self.now | |
50 | ||
51 | f = open(ENTROPY_FILE) | |
52 | entropy = f.readline() | |
53 | f.close() | |
54 | ||
55 | data += ":%s" % entropy.strip() | |
56 | self.data.append(data) |