Refactoring: Changed all check parameters starting with an 'o' to the new rulespec...
[check_mk.git] / checks / vmstat_aix
blob3578f297a99a1a3e07bc76849a5ec20ccb80791f
1 #!/usr/bin/python
2 # -*- encoding: utf-8; py-indent-offset: 4 -*-
3 # +------------------------------------------------------------------+
4 # | ____ _ _ __ __ _ __ |
5 # | / ___| |__ ___ ___| | __ | \/ | |/ / |
6 # | | | | '_ \ / _ \/ __| |/ / | |\/| | ' / |
7 # | | |___| | | | __/ (__| < | | | | . \ |
8 # | \____|_| |_|\___|\___|_|\_\___|_| |_|_|\_\ |
9 # | |
10 # | Copyright Mathias Kettner 2014 mk@mathias-kettner.de |
11 # +------------------------------------------------------------------+
13 # This file is part of Check_MK.
14 # The official homepage is at http://mathias-kettner.de/check_mk.
16 # check_mk is free software; you can redistribute it and/or modify it
17 # under the terms of the GNU General Public License as published by
18 # the Free Software Foundation in version 2. check_mk is distributed
19 # in the hope that it will be useful, but WITHOUT ANY WARRANTY; with-
20 # out even the implied warranty of MERCHANTABILITY or FITNESS FOR A
21 # PARTICULAR PURPOSE. See the GNU General Public License for more de-
22 # tails. You should have received a copy of the GNU General Public
23 # License along with GNU Make; see the file COPYING. If not, write
24 # to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
25 # Boston, MA 02110-1301 USA.
27 # Output of vmstat on AIX:
28 # System configuration: lcpu=8 mem=6144MB ent=4.00
30 # kthr memory page faults cpu
31 # ----- ----------- ------------------------ ------------ -----------------------
32 # r b avm fre re pi po fr sr cy in sy cs us sy id wa pc ec
33 # 2 1 669941 89605 0 0 0 3 12 0 12 531 240 0 0 99 0 0.02 0.5
34 # 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
37 def check_vmstat_aix(item, params, info):
38 try:
39 if item == 'cpuperc':
40 us, sy, id_, wa = [int(x) for x in info[0][13:17]]
41 perfdata = [('us', "%d%%" % us, '', '', '0', '100'),
42 ('sy', "%d%%" % sy, '', '', '0', '100'),
43 ('id', "%d%%" % id_, '', '', '0', '100'),
44 ('wa', "%d%%" % wa, '', '', '0', '100')]
45 return (0, "%d%%(us) %d%%(sy) %d%%(id) %d%%(wa)" % (us, sy, id_, wa), perfdata)
46 return (3, "item %s not defined" % item)
47 except:
48 return (3, "invalid output from plugin")
51 check_info["vmstat_aix"] = {
52 'check_function': check_vmstat_aix,
53 'service_description': 'vmstat %s',
54 'has_perfdata': True,