def _parameter_valuespec_volume_groups(): return Dictionary( elements=[ ( "levels", Alternative( title=_("Levels for volume group"), show_alternative_title=True, default_value=(80.0, 90.0), match=match_dual_level_type, elements=[ get_free_used_dynamic_valuespec("used", "volume group"), Transform( get_free_used_dynamic_valuespec( "free", "volume group", default_value=(20.0, 10.0) ), title=_("Levels for volume group free space"), forth=transform_filesystem_free, back=transform_filesystem_free, ), ], ), ), ], optional_keys=False, )
def _parameter_valuespec_netapp_luns(): return Transform( Dictionary( title=_("Configure levels for used space"), elements=[ ( "ignore_levels", FixedValue( title=_("Ignore used space (this option disables any other options)"), help=_( "Some luns, e.g. jfs formatted, tend to report incorrect used space values" ), totext=_("Ignore used space"), value=True, ), ), ( "levels", Alternative( title=_("Levels for LUN"), show_alternative_title=True, default_value=(80.0, 90.0), match=match_dual_level_type, elements=[ get_free_used_dynamic_valuespec("used", "LUN"), Transform( get_free_used_dynamic_valuespec( "free", "LUN", default_value=(20.0, 10.0) ), forth=transform_filesystem_free, back=transform_filesystem_free, ), ], ), ), ] + size_trend_elements + [ ( "read_only", Checkbox( title=_("LUN is read-only"), help=_( "Display a warning if a LUN is not read-only. Without " "this setting a warning will be displayed if a LUN is " "read-only." ), label=_("Enable"), ), ), ], ), forth=transform_trend_mb_to_trend_bytes, )
def _parameter_valuespec_netapp_volumes(): return Transform( valuespec=Dictionary( ignored_keys=["patterns"], elements=[ ( "levels", Alternative( title=_("Levels for volume"), show_alternative_title=True, default_value=(80.0, 90.0), match=match_dual_level_type, elements=[ get_free_used_dynamic_valuespec("used", "volume", maxvalue=None), Transform( valuespec=get_free_used_dynamic_valuespec( "free", "volume", default_value=(20.0, 10.0) ), forth=transform_filesystem_free, back=transform_filesystem_free, ), ], ), ), ( "perfdata", ListChoice( title=_("Performance data for protocols"), help=_("Specify for which protocol performance data should get recorded."), choices=[ ("", _("Summarized data of all protocols")), ("nfs", _("NFS")), ("cifs", _("CIFS")), ("san", _("SAN")), ("fcp", _("FCP")), ("iscsi", _("iSCSI")), ], ), ), ] + fs_magic_elements + fs_inodes_elements + size_trend_elements, ), forth=transform_trend_mb_to_trend_bytes, )
def _parameter_valuespec_db2_logsize(): return Dictionary(elements=[ ("levels", Transform( get_free_used_dynamic_valuespec("free", "logfile", default_value=(20.0, 10.0)), title=_("Logfile levels"), forth=transform_filesystem_free, back=transform_filesystem_free, )), ],)
def parameter_valuespec(self): return Dictionary(elements=[ ("levels", Transform(get_free_used_dynamic_valuespec("free", "logfile", default_value=(20.0, 10.0)), title=_("Logfile levels"), allow_empty=False, forth=transform_filesystem_free, back=transform_filesystem_free)) ],)
def _parameter_valuespec_netapp_volumes(): return Dictionary(elements=[ ("levels", Alternative( title=_("Levels for volume"), show_alternative_title=True, default_value=(80.0, 90.0), match=match_dual_level_type, elements=[ get_free_used_dynamic_valuespec("used", "volume"), Transform( get_free_used_dynamic_valuespec("free", "volume", default_value=(20.0, 10.0)), forth=transform_filesystem_free, back=transform_filesystem_free, ) ], )), ("perfdata", ListChoice( title=_("Performance data for protocols"), help= _("Specify for which protocol performance data should get recorded." ), choices=[ ("", _("Summarized data of all protocols")), ("nfs", _("NFS")), ("cifs", _("CIFS")), ("san", _("SAN")), ("fcp", _("FCP")), ("iscsi", _("iSCSI")), ], )), ("magic", Float(title=_( "Magic factor (automatic level adaptation for large volumes)"), default_value=0.8, minvalue=0.1, maxvalue=1.0)), ("magic_normsize", Integer(title=_("Reference size for magic factor"), default_value=20, minvalue=1, unit=_("GB"))), ("levels_low", Tuple( title=_("Minimum levels if using magic factor"), help=_( "The volume levels will never fall below these values, when using " "the magic factor and the volume is very small."), elements=[ Percentage(title=_("Warning if above"), unit=_("% usage"), allow_int=True, default_value=50), Percentage(title=_("Critical if above"), unit=_("% usage"), allow_int=True, default_value=60) ], )), ("inodes_levels", Alternative( title=_("Levels for Inodes"), help=_( "The number of remaining inodes on the filesystem. " "Please note that this setting has no effect on some filesystem checks." ), elements=[ Tuple( title=_("Percentage free"), elements=[ Percentage(title=_("Warning if less than")), Percentage(title=_("Critical if less than")), ], ), Tuple( title=_("Absolute free"), elements=[ Integer(title=_("Warning if less than"), size=10, unit=_("inodes"), minvalue=0, default_value=10000), Integer(title=_("Critical if less than"), size=10, unit=_("inodes"), minvalue=0, default_value=5000), ], ) ], default_value=(10.0, 5.0), )), ("show_inodes", DropdownChoice( title=_("Display inode usage in check output..."), choices=[ ("onproblem", _("Only in case of a problem")), ("onlow", _("Only in case of a problem or if inodes are below 50%")), ("always", _("Always")), ], default_value="onlow", )), ("trend_range", Optional(Integer( title=_("Time Range for filesystem trend computation"), default_value=24, minvalue=1, unit=_("hours")), title=_("Trend computation"), label=_("Enable trend computation"))), ("trend_mb", Tuple( title=_("Levels on trends in MB per time range"), elements=[ Integer(title=_("Warning at"), unit=_("MB / range"), default_value=100), Integer(title=_("Critical at"), unit=_("MB / range"), default_value=200) ], )), ("trend_perc", Tuple( title=_("Levels for the percentual growth per time range"), elements=[ Percentage( title=_("Warning at"), unit=_("% / range"), default_value=5, ), Percentage( title=_("Critical at"), unit=_("% / range"), default_value=10, ), ], )), ("trend_timeleft", Tuple( title=_("Levels on the time left until the filesystem gets full"), elements=[ Integer( title=_("Warning if below"), unit=_("hours"), default_value=12, ), Integer( title=_("Critical if below"), unit=_("hours"), default_value=6, ), ], )), ("trend_showtimeleft", Checkbox( title=_("Display time left in check output"), label=_("Enable"), help= _("Normally, the time left until the disk is full is only displayed when " "the configured levels have been breached. If you set this option " "the check always reports this information"))), ("trend_perfdata", Checkbox( title=_("Trend performance data"), label=_("Enable generation of performance data from trends"))), ], )
def _parameter_valuespec_netapp_luns(): return Dictionary( title=_("Configure levels for used space"), elements=[ ("ignore_levels", FixedValue( title= _("Ignore used space (this option disables any other options)" ), help= _("Some luns, e.g. jfs formatted, tend to report incorrect used space values" ), totext=_("Ignore used space"), value=True, )), ("levels", Alternative( title=_("Levels for LUN"), show_alternative_title=True, default_value=(80.0, 90.0), match=match_dual_level_type, elements=[ get_free_used_dynamic_valuespec("used", "LUN"), Transform( get_free_used_dynamic_valuespec("free", "LUN", default_value=(20.0, 10.0)), forth=transform_filesystem_free, back=transform_filesystem_free, ) ], )), ("trend_range", Optional(Integer( title=_("Time Range for lun filesystem trend computation"), default_value=24, minvalue=1, unit=_("hours")), title=_("Trend computation"), label=_("Enable trend computation"))), ("trend_mb", Tuple( title=_("Levels on trends in MB per time range"), elements=[ Integer(title=_("Warning at"), unit=_("MB / range"), default_value=100), Integer(title=_("Critical at"), unit=_("MB / range"), default_value=200) ], )), ("trend_perc", Tuple( title=_("Levels for the percentual growth per time range"), elements=[ Percentage( title=_("Warning at"), unit=_("% / range"), default_value=5, ), Percentage( title=_("Critical at"), unit=_("% / range"), default_value=10, ), ], )), ("trend_timeleft", Tuple( title= _("Levels on the time left until the lun filesystem gets full" ), elements=[ Integer( title=_("Warning if below"), unit=_("hours"), default_value=12, ), Integer( title=_("Critical if below"), unit=_("hours"), default_value=6, ), ], )), ("trend_showtimeleft", Checkbox( title=_("Display time left in check output"), label=_("Enable"), help= _("Normally, the time left until the lun filesystem is full is only displayed when " "the configured levels have been breached. If you set this option " "the check always reports this information"))), ("trend_perfdata", Checkbox( title=_("Trend performance data"), label=_("Enable generation of performance data from trends")) ), ("read_only", Checkbox( title=_("LUN is read-only"), help=_("Display a warning if a LUN is not read-only. Without " "this setting a warning will be displayed if a LUN is " "read-only."), label=_("Enable"))), ], )
match_dual_level_type, transform_filesystem_free, ) register_check_parameters( subgroup_storage, "netapp_volumes", _("NetApp Volumes"), Dictionary(elements=[ ("levels", Alternative(title=_("Levels for volume"), show_alternative_title=True, default_value=(80.0, 90.0), match=match_dual_level_type, elements=[ get_free_used_dynamic_valuespec("used", "volume"), Transform(get_free_used_dynamic_valuespec( "free", "volume", default_value=(20.0, 10.0)), allow_empty=False, forth=transform_filesystem_free, back=transform_filesystem_free) ])), ("show_levels", DropdownChoice( title=_("Display warn/crit levels in check output..."), choices=[ ("onproblem", _("Only if the status is non-OK")), ("onmagic", _("If the status is non-OK or a magic factor is set")), ("always", _("Always")), ],