Ejemplo n.º 1
0
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),
             ],
         )),
    ], )
Ejemplo n.º 2
0
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)))
Ejemplo n.º 3
0
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)
        ],
    )
Ejemplo n.º 4
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=_("%"))
                ],
            ),
        ),
    ], )
Ejemplo n.º 5
0
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),
                 ],
             )),
        ],
    )
Ejemplo n.º 6
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)
                     ],
                 ),
             ),
         ],)
Ejemplo n.º 7
0
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'],
    )
Ejemplo n.º 8
0
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,
    )
Ejemplo n.º 9
0
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,
    )
Ejemplo n.º 10
0
 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")),
             ],
         ),
     )],)
Ejemplo n.º 11
0
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"),
    )
Ejemplo n.º 12
0
 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'],
     )
Ejemplo n.º 13
0
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,
    )
Ejemplo n.º 14
0
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=""),
                            ],
                        ),
                    ],
                ),
            ),
        ]
    )
Ejemplo n.º 15
0
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")),
                            ],
                        ),
                    ],
                ),
            ),
        ],
    )
Ejemplo n.º 16
0
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")),
                    ],
                ),
            ),
        ],
    )
Ejemplo n.º 17
0
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),
                ],
            ),
        ),
    ]
Ejemplo n.º 18
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),
                    ],
                ),
            ),
        ]
    )
Ejemplo n.º 19
0
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),
                    ],
                ),
            )
        ],
    )
Ejemplo n.º 20
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,
                                          ),
                                      ],
                                  ))], )
Ejemplo n.º 21
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)
              ],
          )),
     ], )
Ejemplo n.º 22
0
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),
                ],
            ),
        ),
    ], )
Ejemplo n.º 24
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,
                                         ),
                                     ],
                                 ))], )
Ejemplo n.º 25
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),
                 ],
             )),
        ],
    )
Ejemplo n.º 26
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"))],
         )),
    ],)
Ejemplo n.º 27
0
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),
                    ],
                ),
            ),
        ],
    )
Ejemplo n.º 28
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'),
            ),
        ])
Ejemplo n.º 29
0
 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),
                  ],
              )),
         ],
     )
Ejemplo n.º 30
0
 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,
             ),
         ],
     )