freezer_dr.monitors.drivers.monasca package

Submodules

freezer_dr.monitors.drivers.monasca.driver module

class freezer_dr.monitors.drivers.monasca.driver.MonascaDriver(backend_name, notifier)[source]

Bases: freezer_dr.monitors.common.driver.MonitorBaseDriver

Monasca monitoring driver to monitor compute nodes. It makes use of Monasca to monitor the compute nodes. Metric information needed. ‘hostname’ must be used in dimensions to filter the values in alarms. You need to define alarms for all hosts with the required metrics.

analyze_nodes(nodes)[source]

It will check if the nodes are in ‘OK’ state or not. If not they will considered down. We have three states as follow: 1. OK 2. ALARM 3. UNDEFINED

get_compute_nodes()[source]

Get a list of available compute hosts.

get_data()[source]

This function returns monitoring data from Monasca. It calls _get_raw_data to get raw data and then process these data returns a normalized dict :return: dict contains:

{
    hostname1: {
        metric_name1: ['Ok', 'ALARM', 'UNDETERMINED']
        metric_name2: ['OK', 'OK', 'OK']
    },
    hostname2: {
        metric_name1: ['Ok', 'ALARM', 'OK']
        metric_name2: ['ALARM', 'UNDETERMINED', 'OK']
    }
}
get_info()[source]

Get Driver information .. :return: dict of name, version, author, …

get_metrics()[source]

Lists all metrics :return: List of Metrics

is_alive()[source]

Plugin should provide a way to make sure that the monitoring system is a live or not. It’s optional not all drivers need to implement it. :return: True or False

process_failed(nodes=None, wait=1)[source]

Double check the failed nodes again to make sure that nodes are down. return a list of down nodes to be passed to the evacuation tool to process failed hosts. :param nodes: a list contains pre-checked nodes to re-check them again :param wait: a configurable a mount of time to wait before doing this check to give a chance for the host to recover if there was a minor issue. :return: a list of nodes to be evacuated, the list will be passed directly to the evacuation tool to process them

Module contents