diff --git a/CHANGELOG.md b/CHANGELOG.md
index 5a0e3977..ed359833 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -58,6 +58,7 @@ Monitoring Plugins:
* about-me: Add Moodle detection
* dhcp-scope-usage: Ignore PercentageInUse fractions
* disk-io: Re-add support for Windows after last rewrite
+* disk-usage: Add `--list-fstypes` and `--fstype` for specifying the file system type
* fail2ban: More compact output (closes #141)
* fs-inodes: Check inode usage on real and different disks. `--mount` parameter is deprecated.
* librenms-alerts, librenms-health: Compact output is the new default and shows non-OK only
diff --git a/check-plugins/disk-usage/README.rst b/check-plugins/disk-usage/README.rst
index a59a817c..477dfe93 100644
--- a/check-plugins/disk-usage/README.rst
+++ b/check-plugins/disk-usage/README.rst
@@ -4,11 +4,15 @@ Check disk-usage
Overview
--------
-Measures the usage of all mounted disk *partitions* on physical disks only (e.g. hard disks, CD-ROM drives, USB keys) found. It does not check the usage on the raw disks, because for example in LVM more than one disk can be a member of a logical volume, and some of the disks might be full - which is ok as long as the LVM has some space available. The check also ignores all other partition types (e.g. memory partitions such as ``/dev/shm``).
+Measures the usage of all mounted disk *partitions*. It does not check the usage on the raw disks, because in LVM for example, more than one disk can be a member of a logical volume, and some of the disks might be full - which is fine as long as LVM has some space available.
+
+By default, this plugin only checks physical devices (e.g. hard disks, CD-ROM drives, USB keys) and ignores all others (e.g. pseudo, memory, duplicate, inaccessible file systems). You can override this behaviour by using the ``--fstype`` parameter and specifying which file system types should be checked explicitly.
+
+To get a list of file system types you can specify, run ``disk-usage --list-fstype`` first (as file system types are machine dependent).
.. note::
- UNIX usually reserves 5% of the total disk space for the root user. ``total`` and ``used`` fields on UNIX refer to the overall total and used space, whereas ``free`` represents the space available for the user and ``percent`` represents the user utilization. That is why percent value may look 5% bigger than what you would expect it to be (starting with psutil v4.3.0; quote from the `psutil documentation `_).
+ UNIX usually reserves 5% of the total disk space for the root user. ``total`` and ``used`` fields on UNIX refer to the overall total and used space, whereas ``free`` represents the space available for the user and ``percent`` represents the user utilization. That is why ``percent`` value may look 5% bigger than what you would expect it to be (starting with psutil v4.3.0; quote from the `psutil documentation `_).
Hints:
@@ -36,9 +40,9 @@ Help
usage: disk-usage [-h] [-V] [--always-ok] [-c CRIT]
[--exclude-pattern EXCLUDE_PATTERN]
- [--exclude-regex EXCLUDE_REGEX]
+ [--exclude-regex EXCLUDE_REGEX] [--fstype FSTYPE]
[--include-pattern INCLUDE_PATTERN]
- [--include-regex INCLUDE_REGEX]
+ [--include-regex INCLUDE_REGEX] [--list-fstypes]
[--perfdata-regex PERFDATA_REGEX] [-w WARN]
Checks the used disk space, for each partition.
@@ -59,31 +63,44 @@ Help
Other self-explanatory examples are `95%USED`,
`5%FREE`, `9.5GFREE`, `1400GUSED`. Default: 95%USED
--exclude-pattern EXCLUDE_PATTERN
- Any line matching this pattern (case-insensitive) will
- count as a exclude. The mountpoint is excluded if it
- contains the specified value. Example: "boot" excludes
- "/boot" as well as "/boot/efi". Can be specified
- multiple times. On Windows, use drive letters without
- backslash ("Y:" or "Y"). Includes are matched before
- excludes.
+ Any mountpoint matching this pattern (case-
+ insensitive) will count as an exclude. The mountpoint
+ is excluded if it contains the specified value.
+ Example: "boot" excludes "/boot" as well as
+ "/boot/efi". Can be specified multiple times. On
+ Windows, use drive letters without backslash ("Y:" or
+ "Y"). Includes are matched before excludes.
--exclude-regex EXCLUDE_REGEX
- Any line matching this python regex (case-insensitive)
- will count as a exclude. Can be specified multiple
- times. On Windows, use drive letters without backslash
- ("Y:" or "Y"). Includes are matched before excludes.
+ Any mountpoint matching this python regex (case-
+ insensitive) will count as an exclude. Can be
+ specified multiple times. On Windows, use drive
+ letters without backslash ("Y:" or "Y"). Includes are
+ matched before excludes.
+ --fstype FSTYPE By default, this plugin only checks physical devices
+ (e.g. hard disks, CD-ROM drives, USB keys) and ignores
+ all others (e.g. pseudo, memory, duplicate,
+ inaccessible file systems). You can override this
+ behaviour with this parameter by specifying which file
+ system types should be checked explicitly. Can be
+ specified multiple times. To get a list of file system
+ types you can specify, run `disk-usage --list-fstype`
+ first (as file system types are machine dependent).
--include-pattern INCLUDE_PATTERN
- Any line matching this pattern (case-insensitive) will
- count as a include. The mountpoint is included if it
- contains the specified value. Example: "boot" includes
- "/boot" as well as "/boot/efi". Can be specified
- multiple times. On Windows, use drive letters without
- backslash ("Y:" or "Y"). Includes are matched before
- excludes.
+ Any mountpoint matching this pattern (case-
+ insensitive) will count as an include. The mountpoint
+ is included if it contains the specified value.
+ Example: "boot" includes "/boot" as well as
+ "/boot/efi". Can be specified multiple times. On
+ Windows, use drive letters without backslash ("Y:" or
+ "Y"). Includes are matched before excludes.
--include-regex INCLUDE_REGEX
- Any line matching this python regex (case-insensitive)
- will count as a include. Can be specified multiple
- times. On Windows, use drive letters without backslash
- ("Y:" or "Y"). Includes are matched before excludes.
+ Any mountpoint matching this python regex (case-
+ insensitive) will count as an include. Can be
+ specified multiple times. On Windows, use drive
+ letters without backslash ("Y:" or "Y"). Includes are
+ matched before excludes.
+ --list-fstypes Show which file system types are available and which
+ are checked by default.
--perfdata-regex PERFDATA_REGEX
Only print perfdata keys matching this python regex.
For a list of perfdata keys, have a look at the README
@@ -165,6 +182,8 @@ Some other examples:
./disk-usage --exclude-pattern=/var/log --exclude-pattern=/tmp --warning=80%USED --critical=90%USED
./disk-usage --exclude-pattern=/var/log --exclude-pattern=/tmp --warning=80%USED --critical=3GFREE
+ ./disk-usage --fstype=btrfs --fstype=vfat
+
./disk-usage --perfdata-pattern='/-usage'
./disk-usage --perfdata-pattern='var.*-usage'
diff --git a/check-plugins/disk-usage/disk-usage b/check-plugins/disk-usage/disk-usage
index edbe2eac..4e06848d 100755
--- a/check-plugins/disk-usage/disk-usage
+++ b/check-plugins/disk-usage/disk-usage
@@ -28,7 +28,7 @@ except ImportError:
__author__ = 'Linuxfabrik GmbH, Zurich/Switzerland'
-__version__ = '2023112901'
+__version__ = '2024120901'
DESCRIPTION = 'Checks the used disk space, for each partition.'
@@ -75,7 +75,7 @@ def parse_args():
parser.add_argument(
'--exclude-pattern',
- help='Any line matching this pattern (case-insensitive) will count as a exclude. '
+ help='Any mountpoint matching this pattern (case-insensitive) will count as an exclude. '
'The mountpoint is excluded if it contains the specified value. '
'Example: "boot" excludes "/boot" as well as "/boot/efi". '
'Can be specified multiple times. '
@@ -88,7 +88,8 @@ def parse_args():
parser.add_argument(
'--exclude-regex',
- help='Any line matching this python regex (case-insensitive) will count as a exclude. '
+ help='Any mountpoint matching this python regex (case-insensitive) will count '
+ 'as an exclude. '
'Can be specified multiple times. '
'On Windows, use drive letters without backslash ("Y:" or "Y"). '
'Includes are matched before excludes.',
@@ -97,9 +98,23 @@ def parse_args():
default=[],
)
+ parser.add_argument(
+ '--fstype',
+ help='By default, this plugin only checks physical devices (e.g. hard disks, '
+ 'CD-ROM drives, USB keys) and ignores all others (e.g. pseudo, memory, duplicate, '
+ 'inaccessible file systems). You can override this behaviour with this parameter by '
+ 'specifying which file system types should be checked explicitly. '
+ 'Can be specified multiple times. '
+ 'To get a list of file system types you can specify, run `disk-usage --list-fstype` '
+ 'first (as file system types are machine dependent).',
+ dest='FSTYPE',
+ action='append',
+ default=[],
+ )
+
parser.add_argument(
'--include-pattern',
- help='Any line matching this pattern (case-insensitive) will count as a include. '
+ help='Any mountpoint matching this pattern (case-insensitive) will count as an include. '
'The mountpoint is included if it contains the specified value. '
'Example: "boot" includes "/boot" as well as "/boot/efi". '
'Can be specified multiple times. '
@@ -112,7 +127,8 @@ def parse_args():
parser.add_argument(
'--include-regex',
- help='Any line matching this python regex (case-insensitive) will count as a include. '
+ help='Any mountpoint matching this python regex (case-insensitive) will count '
+ 'as an include. '
'Can be specified multiple times. '
'On Windows, use drive letters without backslash ("Y:" or "Y"). '
'Includes are matched before excludes.',
@@ -121,6 +137,14 @@ def parse_args():
default=[],
)
+ parser.add_argument(
+ '--list-fstypes',
+ help='Show which file system types are available and which are checked by default.',
+ dest='LIST_FSTYPES',
+ action='store_true',
+ default=False,
+ )
+
parser.add_argument(
'--perfdata-regex',
help='Only print perfdata keys matching this python regex. '
@@ -169,6 +193,41 @@ def compile_regex(regex, what):
)
+def list_fstypes():
+ """Print a nice table showing which file system types exist and which are checked by default.
+ """
+ # get all partitions, no matter which ones
+ parts = psutil.disk_partitions(all=True)
+ table_data = []
+ for part in parts:
+ table_data.append({
+ 'fstype': part.fstype,
+ 'mountpoint': part.mountpoint,
+ 'device': part.device,
+ 'checked': False,
+ })
+
+ # get which ones are checked by default
+ try:
+ parts = psutil.disk_partitions(all=False)
+ except AttributeError:
+ pass
+ for i, item in enumerate(table_data):
+ for part in parts:
+ if part.mountpoint == item['mountpoint']:
+ table_data[i]['checked'] = True
+ continue
+
+ # sort table by fstype, mountpoint
+ keys = [
+ 'fstype',
+ 'mountpoint',
+ 'device',
+ 'checked'
+ ]
+ lib.base.oao(lib.base.get_table(table_data, keys, header=keys, sort_by_key='fstype'), STATE_OK)
+
+
def main():
"""The main function. Hier spielt die Musik.
"""
@@ -183,27 +242,31 @@ def main():
float(args.WARN[0])
float(args.CRIT[0])
except ValueError:
- lib.base.oao(
- 'Invalid parameter value.',
- STATE_UNKNOWN,
- )
- compiled_include_regex = compile_regex(args.INCLUDE_REGEX, 'include-regex')
- compiled_exclude_regex = compile_regex(args.EXCLUDE_REGEX, 'exclude-regex')
- compiled_perfdata_regex = compile_regex(args.PERFDATA_REGEX, 'perfdata-regex')
+ lib.base.cu('Invalid parameter value.')
+
+ # show partition information and exit
+ if args.LIST_FSTYPES:
+ list_fstypes()
# init some vars
state = STATE_OK
perfdata = ''
table_data = []
+ compiled_include_regex = compile_regex(args.INCLUDE_REGEX, 'include-regex')
+ compiled_exclude_regex = compile_regex(args.EXCLUDE_REGEX, 'exclude-regex')
+ compiled_perfdata_regex = compile_regex(args.PERFDATA_REGEX, 'perfdata-regex')
# analyze data
- try:
- parts = psutil.disk_partitions(all=False)
- except AttributeError:
- lib.base.oao(
- 'Did not find physical devices (e.g. hard disks, cd-rom drives, USB keys).',
- STATE_UNKNOWN,
- )
+ if args.FSTYPE:
+ # user wants to check file system types on his own
+ parts = psutil.disk_partitions(all=True)
+ else:
+ # default behaviour - check physical devices only (e.g. hard disks, cd-rom drives, USB keys)
+ # and ignore all others (e.g. pseudo, memory, duplicate, inaccessible filesystems)
+ try:
+ parts = psutil.disk_partitions(all=False)
+ except AttributeError:
+ lib.base.cu('Did not find physical devices (e.g. hard disks, cd-rom drives, USB keys).')
for part in parts:
# sdiskpart(device='/dev/vda2', mountpoint='/', fstype='ext4', opts='rw,relatime')
@@ -214,8 +277,14 @@ def main():
# opts='ro,nosuid,nodev,relatime,uid=0,gid=0,iocharset=utf8,mode=0400,dmode=0500'
# )
# ignore `/snap`, iso mountpoints and cdroms (UDF = universal disk format)
- if part.fstype in ['CDFS', 'iso9660', 'squashfs', 'UDF'] or part.opts in ['cdrom']:
- continue
+ if args.FSTYPE:
+ # user wants to check file system types on his own
+ if part.fstype not in args.FSTYPE:
+ continue
+ else:
+ # default behaviour - ignore read-only and some other filesystems
+ if part.fstype in ['CDFS', 'iso9660', 'squashfs', 'UDF'] or part.opts in ['cdrom']:
+ continue
# include (first) and exclude (second) specific partitions
# hint: we can't do `if not part or part.mountpoint in args.IGNORE:` because it is
diff --git a/check-plugins/disk-usage/icingaweb2-module-director/disk-usage.json b/check-plugins/disk-usage/icingaweb2-module-director/disk-usage.json
index 5da4ca8c..6bd1dc1c 100644
--- a/check-plugins/disk-usage/icingaweb2-module-director/disk-usage.json
+++ b/check-plugins/disk-usage/icingaweb2-module-director/disk-usage.json
@@ -16,6 +16,10 @@
"value": "$disk_usage_exclude_regex$",
"repeat_key": true
},
+ "--fstype": {
+ "value": "$disk_usage_fstype$",
+ "repeat_key": true
+ },
"--include-pattern": {
"value": "$disk_usage_include_pattern$",
"repeat_key": true
@@ -24,6 +28,9 @@
"value": "$disk_usage_include_regex$",
"repeat_key": true
},
+ "--list-fstypes": {
+ "set_if": "$disk_usage_list_fstypes$"
+ },
"--perfdata-regex": {
"value": "$disk_usage_perfdata_regex$",
"repeat_key": true
@@ -74,6 +81,16 @@
"datafield_id": 8,
"is_required": "n",
"var_filter": null
+ },
+ {
+ "datafield_id": 9,
+ "is_required": "n",
+ "var_filter": null
+ },
+ {
+ "datafield_id": 10,
+ "is_required": "n",
+ "var_filter": null
}
],
"imports": [],
@@ -102,6 +119,10 @@
"value": "$disk_usage_windows_exclude_regex$",
"repeat_key": true
},
+ "--fstype": {
+ "value": "$disk_usage_windows_fstype$",
+ "repeat_key": true
+ },
"--include-pattern": {
"value": "$disk_usage_windows_include_pattern$",
"repeat_key": true
@@ -110,6 +131,9 @@
"value": "$disk_usage_windows_include_regex$",
"repeat_key": true
},
+ "--list-fstypes": {
+ "set_if": "$disk_usage_windows_list_fstypes$"
+ },
"--perfdata-regex": {
"value": "$disk_usage_windows_perfdata_regex$",
"repeat_key": true
@@ -122,42 +146,52 @@
"disabled": false,
"fields": [
{
- "datafield_id": 9,
+ "datafield_id": 11,
"is_required": "n",
"var_filter": null
},
{
- "datafield_id": 10,
+ "datafield_id": 12,
"is_required": "n",
"var_filter": null
},
{
- "datafield_id": 11,
+ "datafield_id": 13,
"is_required": "n",
"var_filter": null
},
{
- "datafield_id": 12,
+ "datafield_id": 14,
"is_required": "n",
"var_filter": null
},
{
- "datafield_id": 13,
+ "datafield_id": 15,
"is_required": "n",
"var_filter": null
},
{
- "datafield_id": 14,
+ "datafield_id": 16,
"is_required": "n",
"var_filter": null
},
{
- "datafield_id": 15,
+ "datafield_id": 17,
"is_required": "n",
"var_filter": null
},
{
- "datafield_id": 16,
+ "datafield_id": 18,
+ "is_required": "n",
+ "var_filter": null
+ },
+ {
+ "datafield_id": 19,
+ "is_required": "n",
+ "var_filter": null
+ },
+ {
+ "datafield_id": 20,
"is_required": "n",
"var_filter": null
}
@@ -235,8 +269,10 @@
"disk_usage_critical": "95%USED",
"disk_usage_exclude_pattern": [],
"disk_usage_exclude_regex": [],
+ "disk_usage_fstype": [],
"disk_usage_include_pattern": [],
"disk_usage_include_regex": [],
+ "disk_usage_list_fstypes": false,
"disk_usage_perfdata_regex": [],
"disk_usage_warning": "90%USED"
},
@@ -288,8 +324,10 @@
"disk_usage_windows_critical": "95%USED",
"disk_usage_windows_exclude_pattern": [],
"disk_usage_windows_exclude_regex": [],
+ "disk_usage_windows_fstype": [],
"disk_usage_windows_include_pattern": [],
"disk_usage_windows_include_regex": [],
+ "disk_usage_windows_list_fstypes": false,
"disk_usage_windows_perfdata_regex": [],
"disk_usage_windows_warning": "90%USED"
},
@@ -322,7 +360,7 @@
"3": {
"varname": "disk_usage_exclude_pattern",
"caption": "Disk Usage: Exclude Pattern",
- "description": "Any line matching this pattern (case-insensitive) will count as a exclude. The mountpoint is excluded if it contains the specified value. Example: \"boot\" excludes \"/boot\" as well as \"/boot/efi\". Can be specified multiple times. On Windows, use drive letters without backslash (\"Y:\" or \"Y\"). Includes are matched before excludes.",
+ "description": "Any mountpoint matching this pattern (case-insensitive) will count as an exclude. The mountpoint is excluded if it contains the specified value. Example: \"boot\" excludes \"/boot\" as well as \"/boot/efi\". Can be specified multiple times. On Windows, use drive letters without backslash (\"Y:\" or \"Y\"). Includes are matched before excludes.",
"datatype": "Icinga\\Module\\Director\\DataType\\DataTypeArray",
"format": null,
"settings": {
@@ -333,7 +371,7 @@
"4": {
"varname": "disk_usage_exclude_regex",
"caption": "Disk Usage: Exclude Regex",
- "description": "Any line matching this python regex (case-insensitive) will count as a exclude. Can be specified multiple times. On Windows, use drive letters without backslash (\"Y:\" or \"Y\"). Includes are matched before excludes.",
+ "description": "Any mountpoint matching this python regex (case-insensitive) will count as an exclude. Can be specified multiple times. On Windows, use drive letters without backslash (\"Y:\" or \"Y\"). Includes are matched before excludes.",
"datatype": "Icinga\\Module\\Director\\DataType\\DataTypeArray",
"format": null,
"settings": {
@@ -342,9 +380,20 @@
"uuid": "e5483599-ab4b-4748-8c81-272cebf42dc9"
},
"5": {
+ "varname": "disk_usage_fstype",
+ "caption": "Disk Usage: Fstype",
+ "description": "By default, this plugin only checks physical devices (e.g. hard disks, CD-ROM drives, USB keys) and ignores all others (e.g. pseudo, memory, duplicate, inaccessible file systems). You can override this behaviour with this parameter by specifying which file system types should be checked explicitly. Can be specified multiple times. To get a list of file system types you can specify, run `disk-usage --list-fstype` first (as file system types are machine dependent).",
+ "datatype": "Icinga\\Module\\Director\\DataType\\DataTypeArray",
+ "format": null,
+ "settings": {
+ "visibility": "visible"
+ },
+ "uuid": "86fcf815-b556-47ff-8477-9a2fb8ff29b8"
+ },
+ "6": {
"varname": "disk_usage_include_pattern",
"caption": "Disk Usage: Include Pattern",
- "description": "Any line matching this pattern (case-insensitive) will count as a include. The mountpoint is included if it contains the specified value. Example: \"boot\" includes \"/boot\" as well as \"/boot/efi\". Can be specified multiple times. On Windows, use drive letters without backslash (\"Y:\" or \"Y\"). Includes are matched before excludes.",
+ "description": "Any mountpoint matching this pattern (case-insensitive) will count as an include. The mountpoint is included if it contains the specified value. Example: \"boot\" includes \"/boot\" as well as \"/boot/efi\". Can be specified multiple times. On Windows, use drive letters without backslash (\"Y:\" or \"Y\"). Includes are matched before excludes.",
"datatype": "Icinga\\Module\\Director\\DataType\\DataTypeArray",
"format": null,
"settings": {
@@ -352,10 +401,10 @@
},
"uuid": "ce94251a-aab0-41c3-9187-ede6be9fa9a9"
},
- "6": {
+ "7": {
"varname": "disk_usage_include_regex",
"caption": "Disk Usage: Include Regex",
- "description": "Any line matching this python regex (case-insensitive) will count as a include. Can be specified multiple times. On Windows, use drive letters without backslash (\"Y:\" or \"Y\"). Includes are matched before excludes.",
+ "description": "Any mountpoint matching this python regex (case-insensitive) will count as an include. Can be specified multiple times. On Windows, use drive letters without backslash (\"Y:\" or \"Y\"). Includes are matched before excludes.",
"datatype": "Icinga\\Module\\Director\\DataType\\DataTypeArray",
"format": null,
"settings": {
@@ -363,7 +412,16 @@
},
"uuid": "6d462170-1bee-45b1-b294-282d6e2617ba"
},
- "7": {
+ "8": {
+ "varname": "disk_usage_list_fstypes",
+ "caption": "Disk Usage: List Fstypes?",
+ "description": "Show which file system types are available and which are checked by default.",
+ "datatype": "Icinga\\Module\\Director\\DataType\\DataTypeBoolean",
+ "format": null,
+ "settings": {},
+ "uuid": "5c45373f-09cd-4dc4-95de-69b992363eca"
+ },
+ "9": {
"varname": "disk_usage_perfdata_regex",
"caption": "Disk Usage: Perfdata Regex",
"description": "Only print perfdata keys matching this python regex. For a list of perfdata keys, have a look at the README and run this plugin. Can be specified multiple times.",
@@ -374,7 +432,7 @@
},
"uuid": "ea299f9c-cfd2-4daa-b103-f0c221c34a27"
},
- "8": {
+ "10": {
"varname": "disk_usage_warning",
"caption": "Disk Usage: Warning",
"description": "Warning threshold, of the form \"[unit][method]\", where unit is one of `%%|K|M|G|T|P` and method is one of `USED|FREE`. If \"unit\" is omitted, `%%` is assumed. `K` means `kibibyte` etc. If \"method\" is omitted, `USED` is assumed. `USED` means \"number ore more\", `FREE` means \"number or less\". Examples: `95` = alert at 95%% usage. `9.5M` = alert when 9.5 MiB is used. Other self-explanatory examples are `95%%USED`, `5%%FREE`, `9.5GFREE`, `1400GUSED`.",
@@ -385,7 +443,7 @@
},
"uuid": "a4fbfd70-535b-493b-8da5-f357b57c6a70"
},
- "9": {
+ "11": {
"varname": "disk_usage_windows_always_ok",
"caption": "Disk Usage: Always OK?",
"description": "Always returns OK.",
@@ -394,7 +452,7 @@
"settings": {},
"uuid": "62a785e4-c106-411d-adb3-95a102e3e63e"
},
- "10": {
+ "12": {
"varname": "disk_usage_windows_critical",
"caption": "Disk Usage: Critical",
"description": "Critical threshold, of the form \"[unit][method]\", where unit is one of `%%|K|M|G|T|P` and method is one of `USED|FREE`. If \"unit\" is omitted, `%%` is assumed. `K` means `kibibyte` etc. If \"method\" is omitted, `USED` is assumed. `USED` means \"number ore more\", `FREE` means \"number or less\". Examples: `95` = alert at 95%% usage or more. `9.5M` = alert when 9.5 MiB or more is used. Other self-explanatory examples are `95%%USED`, `5%%FREE`, `9.5GFREE`, `1400GUSED`.",
@@ -405,10 +463,10 @@
},
"uuid": "e0f6e0b2-ebd1-4fd6-97ef-e52de0cb816f"
},
- "11": {
+ "13": {
"varname": "disk_usage_windows_exclude_pattern",
"caption": "Disk Usage: Exclude Pattern",
- "description": "Any line matching this pattern (case-insensitive) will count as a exclude. The mountpoint is excluded if it contains the specified value. Example: \"boot\" excludes \"/boot\" as well as \"/boot/efi\". Can be specified multiple times. On Windows, use drive letters without backslash (\"Y:\" or \"Y\"). Includes are matched before excludes.",
+ "description": "Any mountpoint matching this pattern (case-insensitive) will count as an exclude. The mountpoint is excluded if it contains the specified value. Example: \"boot\" excludes \"/boot\" as well as \"/boot/efi\". Can be specified multiple times. On Windows, use drive letters without backslash (\"Y:\" or \"Y\"). Includes are matched before excludes.",
"datatype": "Icinga\\Module\\Director\\DataType\\DataTypeArray",
"format": null,
"settings": {
@@ -416,10 +474,10 @@
},
"uuid": "219af27c-dcf9-4821-b2c5-e0ca9061a5b9"
},
- "12": {
+ "14": {
"varname": "disk_usage_windows_exclude_regex",
"caption": "Disk Usage: Exclude Regex",
- "description": "Any line matching this python regex (case-insensitive) will count as a exclude. Can be specified multiple times. On Windows, use drive letters without backslash (\"Y:\" or \"Y\"). Includes are matched before excludes.",
+ "description": "Any mountpoint matching this python regex (case-insensitive) will count as an exclude. Can be specified multiple times. On Windows, use drive letters without backslash (\"Y:\" or \"Y\"). Includes are matched before excludes.",
"datatype": "Icinga\\Module\\Director\\DataType\\DataTypeArray",
"format": null,
"settings": {
@@ -427,10 +485,21 @@
},
"uuid": "5ccd4d1c-1045-4f2b-93d9-22765f3d8add"
},
- "13": {
+ "15": {
+ "varname": "disk_usage_windows_fstype",
+ "caption": "Disk Usage: Fstype",
+ "description": "By default, this plugin only checks physical devices (e.g. hard disks, CD-ROM drives, USB keys) and ignores all others (e.g. pseudo, memory, duplicate, inaccessible file systems). You can override this behaviour with this parameter by specifying which file system types should be checked explicitly. Can be specified multiple times. To get a list of file system types you can specify, run `disk-usage --list-fstype` first (as file system types are machine dependent).",
+ "datatype": "Icinga\\Module\\Director\\DataType\\DataTypeArray",
+ "format": null,
+ "settings": {
+ "visibility": "visible"
+ },
+ "uuid": "2e456a7a-535c-48c6-9b2f-ea01ad5d9405"
+ },
+ "16": {
"varname": "disk_usage_windows_include_pattern",
"caption": "Disk Usage: Include Pattern",
- "description": "Any line matching this pattern (case-insensitive) will count as a include. The mountpoint is included if it contains the specified value. Example: \"boot\" includes \"/boot\" as well as \"/boot/efi\". Can be specified multiple times. On Windows, use drive letters without backslash (\"Y:\" or \"Y\"). Includes are matched before excludes.",
+ "description": "Any mountpoint matching this pattern (case-insensitive) will count as an include. The mountpoint is included if it contains the specified value. Example: \"boot\" includes \"/boot\" as well as \"/boot/efi\". Can be specified multiple times. On Windows, use drive letters without backslash (\"Y:\" or \"Y\"). Includes are matched before excludes.",
"datatype": "Icinga\\Module\\Director\\DataType\\DataTypeArray",
"format": null,
"settings": {
@@ -438,10 +507,10 @@
},
"uuid": "1bbdfc3b-08a2-49f4-af54-43b0a7c1bd11"
},
- "14": {
+ "17": {
"varname": "disk_usage_windows_include_regex",
"caption": "Disk Usage: Include Regex",
- "description": "Any line matching this python regex (case-insensitive) will count as a include. Can be specified multiple times. On Windows, use drive letters without backslash (\"Y:\" or \"Y\"). Includes are matched before excludes.",
+ "description": "Any mountpoint matching this python regex (case-insensitive) will count as an include. Can be specified multiple times. On Windows, use drive letters without backslash (\"Y:\" or \"Y\"). Includes are matched before excludes.",
"datatype": "Icinga\\Module\\Director\\DataType\\DataTypeArray",
"format": null,
"settings": {
@@ -449,7 +518,16 @@
},
"uuid": "21a3f20b-cb9e-4a83-bb62-18728266cc17"
},
- "15": {
+ "18": {
+ "varname": "disk_usage_windows_list_fstypes",
+ "caption": "Disk Usage: List Fstypes?",
+ "description": "Show which file system types are available and which are checked by default.",
+ "datatype": "Icinga\\Module\\Director\\DataType\\DataTypeBoolean",
+ "format": null,
+ "settings": {},
+ "uuid": "66e01b35-4c54-4920-8d32-dde8e9f4f91a"
+ },
+ "19": {
"varname": "disk_usage_windows_perfdata_regex",
"caption": "Disk Usage: Perfdata Regex",
"description": "Only print perfdata keys matching this python regex. For a list of perfdata keys, have a look at the README and run this plugin. Can be specified multiple times.",
@@ -460,7 +538,7 @@
},
"uuid": "f29dde16-8c84-4066-ade9-e75e74c8ca7f"
},
- "16": {
+ "20": {
"varname": "disk_usage_windows_warning",
"caption": "Disk Usage: Warning",
"description": "Warning threshold, of the form \"[unit][method]\", where unit is one of `%%|K|M|G|T|P` and method is one of `USED|FREE`. If \"unit\" is omitted, `%%` is assumed. `K` means `kibibyte` etc. If \"method\" is omitted, `USED` is assumed. `USED` means \"number ore more\", `FREE` means \"number or less\". Examples: `95` = alert at 95%% usage. `9.5M` = alert when 9.5 MiB is used. Other self-explanatory examples are `95%%USED`, `5%%FREE`, `9.5GFREE`, `1400GUSED`.",