Skip to content
Permalink
Browse files

7927 Fujitsu ETERNUS DX200 storage systems: Thin provisioning pool

fjdarye200_pools: For monitoring the capacity of thin provisioning pools for your Fujitsu storage system

Change-Id: I754752f1518e7d1346d8e2d0336b865ed8abfafe
  • Loading branch information...
Jonas Kluger
Jonas Kluger committed Jul 8, 2019
1 parent 6b4214e commit 769ec1f9e97718e225196be4e5a7f44cbc3a4d0b
Showing with 133 additions and 0 deletions.
  1. +10 −0 .werks/7927
  2. +16 −0 checkman/fjdarye200_pools
  3. +78 −0 checks/fjdarye200_pools
  4. +29 −0 tests/unit/checks/generictests/datasets/fjdarye200_pools.py
@@ -0,0 +1,10 @@
Title: fjdarye200_pools: Monitor capacity of thin provisioning pools
Level: 1
Component: checks
Compatible: compat
Edition: cre
Version: 1.7.0i1
Date: 1562590163
Class: feature

For monitoring the capacity of thin provisioning pools for your Fujitsu storage system
@@ -0,0 +1,16 @@
title: Fujitsu ETERNUS DX200 storage systems: Thin provisioning pool
agents: snmp
catalog: hw/storagehw/fujitsu
license: GPLv2
distribution: none
description:
This check monitors the capacity of thin provisioning pools
for storage systems from Fujitsu which support the
FJDARY-E150.MIB like the ETERNUS DX200.
Limits can be configured through WATO by "Filesystems (used space and growth)".

item:
The index of the thin provisioning pool.

inventory:
One item per pool will be discovered.
@@ -0,0 +1,78 @@
#!/usr/bin/python
# -*- encoding: utf-8; py-indent-offset: 4 -*-
# +------------------------------------------------------------------+
# | ____ _ _ __ __ _ __ |
# | / ___| |__ ___ ___| | __ | \/ | |/ / |
# | | | | '_ \ / _ \/ __| |/ / | |\/| | ' / |
# | | |___| | | | __/ (__| < | | | | . \ |
# | \____|_| |_|\___|\___|_|\_\___|_| |_|_|\_\ |
# | |
# | Copyright Mathias Kettner 2019 mk@mathias-kettner.de |
# +------------------------------------------------------------------+
#
# This file is part of Check_MK.
# The official homepage is at http://mathias-kettner.de/check_mk.
#
# check_mk is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
# the Free Software Foundation in version 2. check_mk is distributed
# in the hope that it will be useful, but WITHOUT ANY WARRANTY; with-
# out even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE. See the GNU General Public License for more de-
# tails. You should have received a copy of the GNU General Public
# License along with GNU Make; see the file COPYING. If not, write
# to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
# Boston, MA 02110-1301 USA.

PoolEntry = collections.namedtuple(
"EternusProvisioningPool",
["capacity", "usage", "available"],
)


def parse_fjdarye200_pools(info):
parsed = {}
for pool_id, capacity, usage in info:
try:
# input unit in MB
parsed[str(pool_id)] = PoolEntry(
capacity=int(capacity),
usage=int(usage),
available=int(capacity) - int(usage),
)
except ValueError:
pass
return parsed


@get_parsed_item_data
def check_fjdarye200_pools(item, params, entry):
return df_check_filesystem_single(
item,
entry.capacity,
entry.available,
0,
None,
None,
params,
)


check_info["fjdarye200_pools"] = {
"parse_function": parse_fjdarye200_pools,
"inventory_function": discover(),
"check_function": check_fjdarye200_pools,
"service_description": "Thin Provisioning Pool %s",
"snmp_info": (
".1.3.6.1.4.1.211.1.21.1.150.14.5.2.1",
[
"1", # fjdaryMgtTpPoolNumber
"3", # fjdaryMgtTpPoolTotalCapacity
"4", # fjdaryMgtTpPoolUsedCapacity
]),
"snmp_scan_function": lambda oid: oid(".1.3.6.1.2.1.1.2.0") == ".1.3.6.1.4.1.211.1.21.1.150",
"includes": ["size_trend.include", "df.include"],
"default_levels_variable": "filesystem_default_levels",
"group": "filesystem",
"has_perfdata": True,
}
@@ -0,0 +1,29 @@
# -*- encoding: utf-8
# yapf: disable


checkname = 'fjdarye200_pools'


info = [[u'0', u'117190584', u'105269493']]


discovery = {'': [('0', {})]}


checks = {'': [('0',
{'inodes_levels': (10.0, 5.0),
'levels': (80.0, 90.0),
'levels_low': (50.0, 60.0),
'magic_normsize': 20,
'show_inodes': 'onlow',
'show_levels': 'onmagic',
'show_reserved': False,
'trend_perfdata': True,
'trend_range': 24},
[(1,
'89.8% used (100.39 of 111.76 TB), (warn/crit at 80.0%/90.0%), trend: 0.00 B / 24 hours',
[('0', 105269493, 93752467.2, 105471525.6, 0, 117190584),
('fs_size', 117190584, None, None, None, None),
('growth', 0.0, None, None, None, None),
('trend', 0, None, None, 0, 4882941)])])]}

0 comments on commit 769ec1f

Please sign in to comment.
You can’t perform that action at this time.