George Mocanu пре 6 година
родитељ
комит
3720f87dd2
6 измењених фајлова са 122 додато и 0 уклоњено
  1. BIN
      agents/windows/plugins/pending_reboot.ps1
  2. +25
    -0
      checkman/pending_reboot
  3. +48
    -0
      checks/pending_reboot
  4. +17
    -0
      info
  5. BIN
      pending_reboot-1.1.mkp
  6. +32
    -0
      web/plugins/wato/pending_reboot.py

BIN
agents/windows/plugins/pending_reboot.ps1 Прегледај датотеку


+ 25
- 0
checkman/pending_reboot Прегледај датотеку

@@ -0,0 +1,25 @@
title: Check for pending reboot state of Windows machines
agents: windows
catalog: os/windows
license: GPL
distribution:
description:
This check checks for machines in pending reboot.
You need to install the plugin {pending_reboot.ps1}
into the {plugins} directory of your windows agent.
This check was tested with Windows 2008 Server and Windows 7
and must have PowerShell installed. On Windows x64 is
recommended to use x64 agent. As always you must set
"set-executionpolicy remotesigned" on monitored host.

The check gets critical if the pending reboot status have 24
hours age and warning if the pending reboot status has more
than 12 hour age.
Both limits are definable in Wato under "Parameters for
Inventorized Checks", "Applications, Processes & Services".

inventory:
One service will be created for each host running the plugin.

perfdata:
None.

+ 48
- 0
checks/pending_reboot Прегледај датотеку

@@ -0,0 +1,48 @@
#!/usr/bin/python
# Author: George Mocanu <george.mocanu@sphs.ro>

# EXAMPLE DATA FROM:
# fomat: pendingReboot 0 8
#
#<<<pending_reboot>>>
#pendingReboot 0 8

factory_settings["pending_reboot_default_values"] = {
"levels": (12, 24),
}

def inventory_pending_reboot(info):
inventory = []
for line in info:
checkName = line[0]
inventory.append( (checkName, {} ) )
return inventory


def check_pending_reboot(item, params, info):
if type(params) != dict:
params = { "levels": params }
warn, crit = params["levels"]
for line in info:
if line[0] == item:
status = int(line[1])
status_time = int(line[2])
if status == 1:
if status_time > crit:
return (2, "Computer in pending reboot for %d Hours" %status_time)
elif status_time > warn:
return (1, "Computer in pending reboot for %d Hours" %status_time)
else:
return (0, "Computer in pending reboot for %d Hours" %status_time)
else:
return (0, "Computer not expecting reboot")
return(3, "Plugin not running on host")

check_info["pending_reboot"] = {
"check_function" :check_pending_reboot,
"inventory_function" :inventory_pending_reboot,
"service_description" :"%s",
"default_levels_variable" :"pending_reboot_default_values",
"has_perfdata" :False,
"group" :"pending_reboot",
}

+ 17
- 0
info Прегледај датотеку

@@ -0,0 +1,17 @@
{'author': 'SpearHead Systems george.mocanu@sphs.ro',
'description': 'Pending reboot status check',
'download_url': 'https://github.com/spearheadsys/check_mk-pending_reboot',
'files': {'agents': ['windows/plugins/pending_reboot.ps1'],
'checkman': ['pending_reboot'],
'checks': ['pending_reboot'],
'doc': [],
'inventory': [],
'notifications': [],
'pnp-templates': [],
'web': ['plugins/wato/pending_reboot.py']},
'name': 'pending_reboot',
'num_files': 4,
'title': 'Package of pending_reboot check',
'version': '1.1',
'version.min_required': '1.2.6b5',
'version.packaged': '1.2.6b5'}

BIN
pending_reboot-1.1.mkp Прегледај датотеку


+ 32
- 0
web/plugins/wato/pending_reboot.py Прегледај датотеку

@@ -0,0 +1,32 @@
#!/usr/bin/python
# 2015 george.mocanu@sphs.ro

register_check_parameters(
subgroup_applications,
"pending_reboot",
_("Windows Pending Reboot Status"),
Dictionary(
elements = [
("levels", # Name of your parameters
Tuple(
title = "Levels for pending reboot check", # Specify a title for this parameters
elements = [
Integer(
title = _("Warning if above"),
unit = _("Hours"),
default_value = 10
),
Integer(
title = _("Critical if above"),
unit = _("Hours"),
default_value = 20
),
]
)
),
],
optional_keys = None, # Always show this subgroup
),
TextAscii( title = "Service name"),
"dict"
)

Loading…
Откажи
Сачувај