def setup_nagios()

in bigtop-packages/src/charm/zookeeper/layer-zookeeper/reactive/zookeeper.py [0:0]


def setup_nagios(nagios):
    config = hookenv.config()
    unit_name = hookenv.local_unit()
    checks = [
        {
            'name': 'zk_open_file_descriptor_coun',
            'description': 'ZK_Open_File_Descriptors_Count',
            'warn': config['open_file_descriptor_count_warn'],
            'crit': config['open_file_descriptor_count_crit']
        },
        {
            'name': 'zk_ephemerals_count',
            'description': 'ZK_Ephemerals_Count',
            'warn': config['ephemerals_count_warn'],
            'crit': config['ephemerals_count_crit']
        },
        {
            'name': 'zk_avg_latency',
            'description': 'ZK_Avg_Latency',
            'warn': config['avg_latency_warn'],
            'crit': config['avg_latency_crit']
        },
        {
            'name': 'zk_max_latency',
            'description': 'ZK_Max_Latency',
            'warn': config['max_latency_warn'],
            'crit': config['max_latency_crit']
        },
        {
            'name': 'zk_min_latency',
            'description': 'ZK_Min_Latency',
            'warn': config['min_latency_warn'],
            'crit': config['min_latency_crit']
        },
        {
            'name': 'zk_outstanding_requests',
            'description': 'ZK_Outstanding_Requests',
            'warn': config['outstanding_requests_warn'],
            'crit': config['outstanding_requests_crit']
        },
        {
            'name': 'zk_watch_count',
            'description': 'ZK_Watch_Count',
            'warn': config['watch_count_warn'],
            'crit': config['watch_count_crit']
        },
    ]
    check_cmd = ['/usr/local/lib/nagios/plugins/check_zookeeper.py',
                 '-o', 'nagios', '-s', 'localhost:2181']
    for check in checks:
        nagios.add_check(check_cmd + ['--key', check['name'],
                                      '-w', str(check['warn']),
                                      '-c', str(check['crit'])],
                         name=check['name'],
                         description=check['description'],
                         context=config["nagios_context"],
                         servicegroups=config["nagios_servicegroups"],
                         unit=unit_name
                         )
    nagios.updated()