def _parameter_valuespec_openhardwaremonitor_smart(): return Dictionary(elements=[ ("remaining_life", Tuple( title=_("Remaining Life"), help= _("Estimated remaining health of the disk based on other readings." ), elements=[ Percentage(title=_("Warning below"), default_value=30), Percentage(title=_("Critical below"), default_value=10), ], )), ], )
def _parameter_valuespec_citrix_load(): return Transform(Tuple( title=_("Citrix Server load"), elements=[ Percentage(title=_("Warning at"), default_value=85.0, unit="percent"), Percentage(title=_("Critical at"), default_value=95.0, unit="percent"), ], ), forth=lambda x: (x[0] / 100.0, x[1] / 100.0), back=lambda x: (int(x[0] * 100), int(x[1] * 100)))
def _parameter_valuespec_juniper_mem_modules(): return Tuple( title=_("Specify levels in percentage of total memory usage"), elements=[ Percentage(title=_("Warning at a usage of"), unit=_("% of RAM"), default_value=80.0, maxvalue=100.0), Percentage(title=_("Critical at a usage of"), unit=_("% of RAM"), default_value=90.0, maxvalue=100.0) ], )
def _parameter_valuespec_filehandler(): return Dictionary(elements=[ ( "levels", Tuple( title=_("Levels"), default_value=(80.0, 90.0), elements=[ Percentage(title=_("Warning at"), unit=_("%")), Percentage(title=_("Critical at"), unit=_("%")) ], ), ), ], )
def _parameter_valuespec_proxmox_ve_mem_usage(): return Dictionary( required_keys=['levels'], elements=[ ("levels", Tuple( title=_("Levels"), elements=[ Percentage(title=_("Warning at"), default_value=70.0), Percentage(title=_("Critical at"), default_value=80.0), ], )), ], )
def parameter_valuespec(self): return Dictionary( elements=[ ( "health_lifetime_perc", Tuple( title=_("Lower levels for health lifetime"), elements=[ Percentage(title=_("Warning if below"), default_value=10), Percentage(title=_("Critical if below"), default_value=5) ], ), ), ],)
def _parameter_valuespec_printer_output(): return Dictionary( elements=[ ('capacity_levels', Tuple( title=_('Capacity filled'), elements=[ Percentage(title=_("Warning at"), default_value=0.0), Percentage(title=_("Critical at"), default_value=0.0), ], )), ], default_keys=['capacity_levels'], )
def _parameter_valuespec_printer_supply(): return Transform( Dictionary(elements=[ ("levels", Tuple( title=_("Levels for remaining supply"), elements=[ Percentage( title=_("Warning level for remaining"), allow_int=True, default_value=20.0, help= _("For consumable supplies, this is configured as the percentage of " "remaining capacity. For supplies that fill up, this is configured " "as remaining space."), ), Percentage( title=_("Critical level for remaining"), allow_int=True, default_value=10.0, help= _("For consumable supplies, this is configured as the percentage of " "remaining capacity. For supplies that fill up, this is configured " "as remaining space."), ), ], )), ("some_remaining", MonitoringState( title=_("State for <i>some remaining</i>"), help=_( "Some printers do not report a precise percentage but " "just <i>some remaining</i> at a low fill state. Here you " "can set the monitoring state for that situation"), default_value=1, )), ("upturn_toner", Checkbox( title=_("Upturn toner levels"), label= _("Printer sends <i>used</i> material instead of <i>remaining</i>" ), help= _("Some Printers (eg. Konica for Drum Cartdiges) returning the available" " fuel instead of what is left. In this case it's possible" " to upturn the levels to handle this behavior"), )), ], ), forth=transform_printer_supply, )
def _parameter_valuespec_netapp_disks(): return Transform( Dictionary(elements=[ ("failed_spare_ratio", Tuple( title=_("Failed to spare ratio"), help=_( "You can set a limit to the failed to spare disk ratio. " "The ratio is calculated with <i>spare / (failed + spare)</i>." ), elements=[ Percentage(title=_("Warning at or above"), default_value=1.0), Percentage(title=_("Critical at or above"), default_value=50.0), ], )), ("offline_spare_ratio", Tuple( title=_("Offline to spare ratio"), help=_( "You can set a limit to the offline to spare disk ratio. " "The ratio is calculated with <i>spare / (offline + spare)</i>." ), elements=[ Percentage(title=_("Warning at or above"), default_value=1.0), Percentage(title=_("Critical at or above"), default_value=50.0), ], )), ("number_of_spare_disks", Tuple( title=_("Number of spare disks"), help= _("You can set a lower limit to the absolute number of spare disks." ), elements=[ Integer(title=_("Warning below"), default_value=2, minvalue=0), Integer(title=_("Critical below"), default_value=1, minvalue=0), ], )), ], ), forth=lambda a: "broken_spare_ratio" in a and {"failed_spare_ratio": a["broken_spare_ratio"]} or a, )
def parameter_valuespec(self): return Dictionary(elements=[( 'levels_overall_hosts_health_perc', Tuple( title=_("Upper percentual levels for healthy hosts"), help=_("These levels refer to the total number of instances or hosts " "that are registered to the load balancer which is the sum of " "healthy and unhealthy instances."), elements=[ Percentage(title=_("Warning at")), Percentage(title=_("Critical at")), ], ), )],)
def _parameter_valuespec_mem_cluster(): return ListOf( Tuple(elements=[ Integer(title=_("Equal or more than"), unit=_("nodes")), Tuple(title=_("Percentage of total RAM"), elements=[ Percentage(title=_("Warning at a RAM usage of"), default_value=80.0), Percentage(title=_("Critical at a RAM usage of"), default_value=90.0), ]) ]), help=_("Here you can specify the total memory usage levels for clustered hosts."), title=_("Memory Usage"), add_label=_("Add limits"), )
def parameter_valuespec(self): return Dictionary( elements=[ ('capacity_levels', Tuple( title=_('Capacity remaining'), elements=[ Percentage(title=_("Warning at"), default_value=0.0), Percentage(title=_("Critical at"), default_value=0.0), ], )), ], default_keys=['capacity_levels'], )
def _parameter_valuespec_oracle_sessions(): return Transform( Dictionary( elements=[ ( "sessions_abs", Alternative( title=_("Absolute levels of active sessions"), help= _("This check monitors the current number of active sessions on Oracle" ), elements=[ FixedValue(None, title=_("Do not use absolute levels"), totext=""), Tuple( title=_("Number of active sessions"), elements=[ Integer(title=_("Warning at"), unit=_("sessions"), default_value=100), Integer( title=_("Critical at"), unit=_("sessions"), default_value=200, ), ], ), ], ), ), ( "sessions_perc", Tuple( title=_("Relative levels of active sessions."), help= _("Set upper levels of active sessions relative to max. number of sessions. This is optional." ), elements=[ Percentage(title=_("Warning at")), Percentage(title=_("Critical at")), ], ), ), ], optional_keys=["sessions_perc"], ), forth=convert_oracle_sessions, )
def _parameter_valuespec_sap_hana_license(): return Dictionary( elements=[ ( "license_size", Alternative( title=_("Upper levels for the license size"), elements=[ Tuple( title=_("Set levels"), elements=[ Filesize(title=_("Warning at")), Filesize(title=_("Critical at")), ], ), Tuple( title=_("No levels"), elements=[ FixedValue(value=None, totext=""), FixedValue(value=None, totext=""), ], ), ], ), ), ( "license_usage_perc", Alternative( title=_("Upper levels for the license usage"), elements=[ Tuple( title=_("Set levels"), elements=[ Percentage(title=_("Warning at")), Percentage(title=_("Critical at")), ], ), Tuple( title=_("No levels"), elements=[ FixedValue(value=None, totext=""), FixedValue(value=None, totext=""), ], ), ], ), ), ] )
def _parameter_valuespec_mssql_file_sizes(): return Dictionary( title=_("File Size Levels"), elements=[ ( "data_files", Tuple( title=_("Total data file size: Absolute upper levels"), elements=[ Filesize(title=_("Warning at")), Filesize(title=_("Critical at")), ], ), ), ( "log_files", Tuple( title=_("Total log file size: Absolute upper levels"), elements=[ Filesize(title=_("Warning at")), Filesize(title=_("Critical at")) ], ), ), ( "log_files_used", Alternative( title=_( "Used log files: Absolute or relative upper levels"), elements=[ Tuple( title=_("Upper absolute levels"), elements=[ Filesize(title=_("Warning at")), Filesize(title=_("Critical at")), ], ), Tuple( title=_("Upper percentage levels"), elements=[ Percentage(title=_("Warning at")), Percentage(title=_("Critical at")), ], ), ], ), ), ], )
def _parameter_valuespec_couchbase_vbuckets(): return Dictionary( title=_("Couchbase vBuckets"), elements=[ ( "item_memory", Tuple( title="Item memory size", elements=[ Filesize(title=_("Warning at")), Filesize(title=_("Critical at")), ], ), ), ( "resident_items_ratio", Tuple( title= "Active vBuckets: Lower levels for resident items ratio", elements=[ Percentage(title=_("Warning at or below"), unit="%"), Percentage(title=_("Critical at or below"), unit="%"), ], ), ), ( "vb_pending_num", Tuple( title= "Active vBuckets: Levels for number of pending vBuckets", elements=[ Integer(title=_("Warning at")), Integer(title=_("Critical at")), ], ), ), ( "vb_replica_num", Tuple( title= "Replica vBuckets: Levels for total number of replica vBuckets", elements=[ Integer(title=_("Warning at")), Integer(title=_("Critical at")), ], ), ), ], )
def _esx_host_memory_elements(): return [ ( "levels_upper", Tuple( title=_("Specify levels in percentage of total RAM"), elements=[ Percentage(title=_("Warning at a RAM usage of"), default_value=80.0), Percentage(title=_("Critical at a RAM usage of"), default_value=90.0), ], ), ), ]
def _parameter_valuespec_sophos_cpu(): return Dictionary( elements=[ ( "cpu_levels", Tuple( title=_("CPU percentage usage"), elements=[ Percentage(title=_("Warning at"), default_value=80), Percentage(title=_("Critical at"), default_value=90), ], ), ), ] )
def _parameter_valuespec_oracle_recovery_area(): return Dictionary( elements=[ ( "levels", Tuple( title=_("Levels for used space (reclaimable is considered as free)"), elements=[ Percentage(title=_("warning at"), default_value=70.0), Percentage(title=_("critical at"), default_value=90.0), ], ), ) ], )
def parameter_valuespec(self): return Dictionary(elements=[("levels", Tuple( title=_("Levels"), elements=[ Percentage( title=_("Warning at"), default_value=70.0, ), Percentage( title=_("Critical at"), default_value=80.0, ), ], ))], )
def parameter_valuespec(self): return Dictionary(elements=[ ("levels_lower", Tuple( title=_("Lower levels"), elements=[ Percentage(title=_("Warning if below"), default_value=70.0, allow_empty=False), Percentage(title=_("Critical if below"), default_value=60.0, allow_empty=False) ], )), ], )
def FreePercentage(default_percents=None, of_what=None): if of_what: unit = _("%% of %s") % of_what else: unit = "%" return Tuple(elements=[ Percentage( title=_("Warning below"), default_value=default_percents and default_percents[0] or 20.0, unit=unit), Percentage( title=_("Critical below"), default_value=default_percents and default_percents[1] or 10.0, unit=unit), ])
def _parameter_valuespec_varnish_worker_thread_ratio(): return Dictionary(elements=[ ( "levels_lower", Tuple( title=_("Lower levels"), elements=[ Percentage(title=_("Warning if below"), default_value=70.0), Percentage(title=_("Critical if below"), default_value=60.0), ], ), ), ], )
def _parameter_valuespec_fortigate_node_memory(): return Dictionary(elements=[("levels", Tuple( title=_("Levels"), elements=[ Percentage( title=_("Warning at"), default_value=70.0, ), Percentage( title=_("Critical at"), default_value=80.0, ), ], ))], )
def _parameter_valuespec_clr_memory(): return Dictionary( help=_("This rule allows to set the warn and crit levels of the memory " "metrics of the DotNet (.Net) Runtime"), elements=[ ("upper", Tuple( title=_("Percent time spent in garbage collection"), elements=[ Percentage(title=_("Warning at"), label=_("% time"), default_value=10.0), Percentage(title=_("Critical at"), label=_("% time"), default_value=15.0), ], )), ], )
def _parameter_valuespec_k8s_pods_cpu(): return Dictionary(elements=[ ("system", Tuple( title=_("System CPU usage"), elements=[Percentage(title=_("Warning at")), Percentage(title=_("Critical at"))], )), ("user", Tuple( title=_("User CPU usage"), elements=[Percentage(title=_("Warning at")), Percentage(title=_("Critical at"))], )), ],)
def _parameter_valuespec_emcvnx_storage_pools(): return Dictionary( elements=[ ( "percent_full", Tuple( title=_("Upper levels for physical capacity in percent"), elements=[ Percentage(title=_("Warning at"), default_value=70.0), Percentage(title=_("Critical at"), default_value=90.0), ], ), ), ], )
def levels_absolute_or_dynamic(name, value): return Alternative( title=_("Levels of %s %s") % (name, value), default_value=(80.0, 90.0), elements=[ Tuple(title=_("Percentage %s space") % value, elements=[ Percentage(title=_("Warning at"), unit=_("% used")), Percentage(title=_("Critical at"), unit=_("% used")), ]), Tuple(title=_("Absolute %s space") % value, elements=[ Integer(title=_("Warning at"), unit=_("MB"), default_value=500), Integer(title=_("Critical at"), unit=_("MB"), default_value=1000), ]), ListOf( Tuple( orientation="horizontal", elements=[ Filesize(title=_(" larger than")), Alternative( title=_("Levels for the %s %s size") % (name, value), elements=[ Tuple(title=_("Percentage %s space") % value, elements=[ Percentage(title=_("Warning at"), unit=_("% used")), Percentage(title=_("Critical at"), unit=_("% used")), ]), Tuple(title=_("Absolute free space"), elements=[ Integer(title=_("Warning at"), unit=_("MB")), Integer(title=_("Critical at"), unit=_("MB")), ]), ]), ], ), title=_('Dynamic levels'), ), ])
def parameter_valuespec(self): return Dictionary( help=_( "This rule allows you to configure bloat levels for a databases tablespace and " "indexspace."), elements=[ ("table_bloat_abs", Tuple( title=_("Table absolute bloat levels"), elements=[ Filesize(title=_("Warning at")), Filesize(title=_("Critical at")), ], )), ("table_bloat_perc", Tuple( title=_("Table percentage bloat levels"), help=_( "Percentage in respect to the optimal utilization. " "For example if an alarm should raise at 50% wasted space, you need " "to configure 150%"), elements=[ Percentage(title=_("Warning at"), maxvalue=None), Percentage(title=_("Critical at"), maxvalue=None), ], )), ("index_bloat_abs", Tuple( title=_("Index absolute levels"), elements=[ Filesize(title=_("Warning at")), Filesize(title=_("Critical at")), ], )), ("index_bloat_perc", Tuple( title=_("Index percentage bloat levels"), help=_( "Percentage in respect to the optimal utilization. " "For example if an alarm should raise at 50% wasted space, you need " "to configure 150%"), elements=[ Percentage(title=_("Warning at"), maxvalue=None), Percentage(title=_("Critical at"), maxvalue=None), ], )), ], )
def _vs_count_ok_count(cls, title: str, defval: int, defvalperc: int) -> Alternative: return Alternative( title=title, style="dropdown", match=lambda x: str(x).endswith("%") and 1 or 0, elements=[ Integer( title=_("Explicit number"), label=_("Number of OK-nodes"), minvalue=0, default_value=defval, ), Transform( Percentage( label=_("Percent of OK-nodes"), display_format="%.0f", default_value=defvalperc, ), title=_("Percentage"), forth=lambda x: float(x[:-1]), back=lambda x: "%d%%" % x, ), ], )