GUI CSS: Deployed view styles for layouts (CMK-1171)
[check_mk.git] / checks / poseidon_inputs
bloba982c49f560ba565689616a63737764658fa6fb7
1 #!/usr/bin/python
2 # -*- encoding: utf-8; py-indent-offset: 4 -*-
5 def parse_poseidon_inputs(info):
6 parsed = {}
7 if info:
8 for line_number, line in enumerate(info, 1):
9 input_value, input_name, input_alarm_setup, input_alarm_state = line
10 if input_name == '':
11 input_name = 'Eingang %d' % line_number
12 try:
13 input_value = int(input_value)
14 except ValueError:
15 input_value = 3
16 try:
17 input_alarm_setup = int(input_alarm_setup)
18 except ValueError:
19 input_alarm_setup = 3
20 try:
21 input_alarm_state = int(input_alarm_state)
22 except ValueError:
23 input_alarm_state = 3
24 parsed[input_name] = {
25 'input_value': input_value,
26 'input_alarm_setup': input_alarm_setup,
27 'input_alarm_state': input_alarm_state,
29 return parsed
32 @get_parsed_item_data
33 def check_poseidon_inputs(item, params, data):
34 alarm_setup = {0: 'inactive', 1: 'activeOff', 2: 'activeOn', 3: 'unkown'}
35 input_values = {0: 'off', 1: 'on', 3: 'unkown'}
36 alarm_states = {0: 'normal', 1: 'alarm', 3: 'unkown'}
37 txt = '%s: AlarmSetup: %s' % (item, alarm_setup[data.get('input_alarm_setup', 3)])
38 yield 0, txt
40 state = data.get('input_alarm_state', 3)
41 txt = 'Alarm State: %s' % alarm_states[state]
42 if state == 1:
43 state = 2
44 yield state, txt
46 yield 0, "Values %s" % input_values.get(data.get('input_value', 3), 'unknown')
49 check_info["poseidon_inputs"] = {
50 "parse_function": parse_poseidon_inputs,
51 "check_function": check_poseidon_inputs,
52 "inventory_function": discover(),
53 "service_description": "%s",
54 "has_perfdata": False,
55 "snmp_scan_function": lambda oid: oid(".1.3.6.1.2.1.1.2.0").startswith('.1.3.6.1.4.1.21796.3'),
56 "snmp_info": (".1.3.6.1.4.1.21796.3.3.1.1", ['2', '3', '4', '5']),