daemons Package
Diagrams
Simple Daemon class diagram :
Simple Interface class diagram :
Package
daemons Package
arbiterdaemon Module
-
class shinken.daemons.arbiterdaemon.Arbiter(config_files, is_daemon, do_replace, verify_only, debug, debug_file, profile=None, analyse=None, migrate=None, arb_name='')[source]
Bases: shinken.daemon.Daemon
-
add(b)[source]
-
check_and_log_tp_activation_change()[source]
-
do_loop_turn()[source]
-
get_broks_from_satellitelinks()[source]
-
get_daemon_links(daemon_type)[source]
-
get_daemons(daemon_type)[source]
Returns the daemons list defined in our conf for the given type
-
get_external_commands_from_satellites()[source]
-
get_initial_broks_from_satellitelinks()[source]
-
get_objects_from_from_queues()[source]
-
get_retention_data()[source]
-
go_migrate()[source]
-
launch_analyse()[source]
-
load_config_file()[source]
-
load_external_command(e)[source]
-
main()[source]
-
push_broks_to_broker()[source]
-
push_external_commands_to_schedulers()[source]
-
restore_retention_data(data)[source]
-
run()[source]
-
setup_new_conf()[source]
Setup a new conf received from a Master arbiter.
-
wait_for_master_death()[source]
-
class shinken.daemons.arbiterdaemon.IForArbiter(app)[source]
Bases: shinken.daemon.Interface
-
do_not_run()[source]
-
doc = 'Dump all objects of the type in [hosts, services, contacts, commands, hostgroups, servicegroups]'
-
get_all_states()[source]
-
get_config()[source]
-
get_objects_properties(table)[source]
-
get_satellite_list(daemon_type='')[source]
-
have_conf(magic_hash)[source]
-
put_conf(conf)[source]
-
what_i_managed()[source]
brokerdaemon Module
-
class shinken.daemons.brokerdaemon.Broker(config_file, is_daemon, do_replace, debug, debug_file, profile='')[source]
Bases: shinken.satellite.BaseSatellite
-
add(elt)[source]
-
add_broks_to_queue(broks)[source]
-
clean_previous_run()[source]
-
do_loop_turn()[source]
-
do_stop()[source]
-
get_links_from_type(type)[source]
-
get_new_broks(type='scheduler')[source]
-
get_objects_from_from_queues()[source]
-
get_retention_data()[source]
-
interger_arbiter_broks()[source]
-
interger_internal_broks()[source]
-
is_connection_try_too_close(elt)[source]
-
main()[source]
-
manage_brok(b)[source]
-
properties = {'modules_dir': <shinken.property.PathProp object at 0x7f0c651a1310>, 'server_cert': <shinken.property.StringProp object at 0x7f0c65bc9590>, 'workdir': <shinken.property.PathProp object at 0x7f0c651a11d0>, 'ca_cert': <shinken.property.StringProp object at 0x7f0c65bc9550>, 'hard_ssl_name_check': <shinken.property.BoolProp object at 0x7f0c65bc9650>, 'host': <shinken.property.StringProp object at 0x7f0c651a1550>, 'local_log': <shinken.property.PathProp object at 0x7f0c650cb750>, 'spare': <shinken.property.BoolProp object at 0x7f0c65bc9710>, 'user': <shinken.property.StringProp object at 0x7f0c651a1650>, 'use_ssl': <shinken.property.BoolProp object at 0x7f0c651a17d0>, 'log_level': <shinken.property.LogLevelProp object at 0x7f0c65bc9610>, 'use_local_log': <shinken.property.BoolProp object at 0x7f0c65bc95d0>, 'port': <shinken.property.IntegerProp object at 0x7f0c650cb710>, 'idontcareaboutsecurity': <shinken.property.BoolProp object at 0x7f0c65bc9690>, 'http_backend': <shinken.property.StringProp object at 0x7f0c65bc97d0>, 'server_key': <shinken.property.StringProp object at 0x7f0c65bc9510>, 'group': <shinken.property.StringProp object at 0x7f0c651a1710>, 'max_queue_size': <shinken.property.IntegerProp object at 0x7f0c65bc9750>, 'daemon_enabled': <shinken.property.BoolProp object at 0x7f0c65bc96d0>, 'pidfile': <shinken.property.PathProp object at 0x7f0c650cb690>, 'daemon_thread_pool_size': <shinken.property.IntegerProp object at 0x7f0c65bc9790>}
-
pynag_con_init(id, type='scheduler')[source]
-
restore_retention_data(data)[source]
-
setup_new_conf()[source]
-
class shinken.daemons.brokerdaemon.IStats(app)[source]
Bases: shinken.daemon.Interface
Interface for various stats about broker activity
-
doc = 'Get raw stats from the daemon'
-
get_raw_stats()[source]
pollerdaemon Module
-
class shinken.daemons.pollerdaemon.Poller(config_file, is_daemon, do_replace, debug, debug_file, profile)[source]
Bases: shinken.satellite.Satellite
-
do_actions = False
-
do_checks = True
-
properties = {'modules_dir': <shinken.property.PathProp object at 0x7f0c651a1310>, 'server_cert': <shinken.property.StringProp object at 0x7f0c65bc9590>, 'workdir': <shinken.property.PathProp object at 0x7f0c651a11d0>, 'ca_cert': <shinken.property.StringProp object at 0x7f0c65bc9550>, 'hard_ssl_name_check': <shinken.property.BoolProp object at 0x7f0c65bc9650>, 'host': <shinken.property.StringProp object at 0x7f0c651a1550>, 'local_log': <shinken.property.PathProp object at 0x7f0c6575cfd0>, 'spare': <shinken.property.BoolProp object at 0x7f0c65bc9710>, 'user': <shinken.property.StringProp object at 0x7f0c651a1650>, 'use_ssl': <shinken.property.BoolProp object at 0x7f0c651a17d0>, 'log_level': <shinken.property.LogLevelProp object at 0x7f0c65bc9610>, 'use_local_log': <shinken.property.BoolProp object at 0x7f0c65bc95d0>, 'port': <shinken.property.IntegerProp object at 0x7f0c6575cf90>, 'idontcareaboutsecurity': <shinken.property.BoolProp object at 0x7f0c65bc9690>, 'http_backend': <shinken.property.StringProp object at 0x7f0c65bc97d0>, 'server_key': <shinken.property.StringProp object at 0x7f0c65bc9510>, 'group': <shinken.property.StringProp object at 0x7f0c651a1710>, 'max_queue_size': <shinken.property.IntegerProp object at 0x7f0c65bc9750>, 'daemon_enabled': <shinken.property.BoolProp object at 0x7f0c65bc96d0>, 'pidfile': <shinken.property.PathProp object at 0x7f0c6575ce90>, 'daemon_thread_pool_size': <shinken.property.IntegerProp object at 0x7f0c65bc9790>}
reactionnerdaemon Module
-
class shinken.daemons.reactionnerdaemon.Reactionner(config_file, is_daemon, do_replace, debug, debug_file, profile='')[source]
Bases: shinken.satellite.Satellite
-
do_actions = True
-
do_checks = False
-
properties = {'modules_dir': <shinken.property.PathProp object at 0x7f0c651a1310>, 'server_cert': <shinken.property.StringProp object at 0x7f0c65bc9590>, 'workdir': <shinken.property.PathProp object at 0x7f0c651a11d0>, 'ca_cert': <shinken.property.StringProp object at 0x7f0c65bc9550>, 'hard_ssl_name_check': <shinken.property.BoolProp object at 0x7f0c65bc9650>, 'host': <shinken.property.StringProp object at 0x7f0c651a1550>, 'local_log': <shinken.property.PathProp object at 0x7f0c65780150>, 'spare': <shinken.property.BoolProp object at 0x7f0c65bc9710>, 'user': <shinken.property.StringProp object at 0x7f0c651a1650>, 'use_ssl': <shinken.property.BoolProp object at 0x7f0c651a17d0>, 'log_level': <shinken.property.LogLevelProp object at 0x7f0c65bc9610>, 'use_local_log': <shinken.property.BoolProp object at 0x7f0c65bc95d0>, 'port': <shinken.property.IntegerProp object at 0x7f0c6497dc10>, 'idontcareaboutsecurity': <shinken.property.BoolProp object at 0x7f0c65bc9690>, 'http_backend': <shinken.property.StringProp object at 0x7f0c65bc97d0>, 'server_key': <shinken.property.StringProp object at 0x7f0c65bc9510>, 'group': <shinken.property.StringProp object at 0x7f0c651a1710>, 'max_queue_size': <shinken.property.IntegerProp object at 0x7f0c65bc9750>, 'daemon_enabled': <shinken.property.BoolProp object at 0x7f0c65bc96d0>, 'pidfile': <shinken.property.PathProp object at 0x7f0c6497d250>, 'daemon_thread_pool_size': <shinken.property.IntegerProp object at 0x7f0c65bc9790>}
receiverdaemon Module
-
class shinken.daemons.receiverdaemon.IStats(app)[source]
Bases: shinken.daemon.Interface
Interface for various stats about broker activity
-
doc = 'Get raw stats from the daemon:\n * command_buffer_size: external command buffer size\n'
-
get_raw_stats()[source]
-
class shinken.daemons.receiverdaemon.Receiver(config_file, is_daemon, do_replace, debug, debug_file)[source]
Bases: shinken.satellite.Satellite
-
add(elt)[source]
-
do_loop_turn()[source]
-
do_stop()[source]
-
get_objects_from_from_queues()[source]
-
get_sched_from_hname(hname)[source]
-
main()[source]
-
manage_brok(b)[source]
-
properties = {'modules_dir': <shinken.property.PathProp object at 0x7f0c651a1310>, 'server_cert': <shinken.property.StringProp object at 0x7f0c65bc9590>, 'workdir': <shinken.property.PathProp object at 0x7f0c651a11d0>, 'ca_cert': <shinken.property.StringProp object at 0x7f0c65bc9550>, 'hard_ssl_name_check': <shinken.property.BoolProp object at 0x7f0c65bc9650>, 'host': <shinken.property.StringProp object at 0x7f0c651a1550>, 'local_log': <shinken.property.PathProp object at 0x7f0c6497d210>, 'spare': <shinken.property.BoolProp object at 0x7f0c65bc9710>, 'user': <shinken.property.StringProp object at 0x7f0c651a1650>, 'use_ssl': <shinken.property.BoolProp object at 0x7f0c651a17d0>, 'log_level': <shinken.property.LogLevelProp object at 0x7f0c65bc9610>, 'use_local_log': <shinken.property.BoolProp object at 0x7f0c65bc95d0>, 'port': <shinken.property.IntegerProp object at 0x7f0c6497d1d0>, 'idontcareaboutsecurity': <shinken.property.BoolProp object at 0x7f0c65bc9690>, 'http_backend': <shinken.property.StringProp object at 0x7f0c65bc97d0>, 'server_key': <shinken.property.StringProp object at 0x7f0c65bc9510>, 'group': <shinken.property.StringProp object at 0x7f0c651a1710>, 'max_queue_size': <shinken.property.IntegerProp object at 0x7f0c65bc9750>, 'daemon_enabled': <shinken.property.BoolProp object at 0x7f0c65bc96d0>, 'pidfile': <shinken.property.PathProp object at 0x7f0c6497d190>, 'daemon_thread_pool_size': <shinken.property.IntegerProp object at 0x7f0c65bc9790>}
-
push_external_commands_to_schedulers()[source]
-
push_host_names(sched_id, hnames)[source]
-
setup_new_conf()[source]
schedulerdaemon Module
-
class shinken.daemons.schedulerdaemon.IBroks(app)[source]
Bases: shinken.daemon.Interface
Interface for Brokers:
They connect here and get all broks (data for brokers). Data must be ORDERED! (initial status BEFORE update...)
-
fill_initial_broks(bname)[source]
-
get_broks(bname)[source]
-
class shinken.daemons.schedulerdaemon.IChecks(app)[source]
Bases: shinken.daemon.Interface
Interface for Workers:
They connect here and see if they are still OK with our running_id, if not, they must drop their checks
-
get_checks(do_checks=False, do_actions=False, poller_tags=['None'], reactionner_tags=['None'], worker_name='none', module_types=['fork'])[source]
-
put_results(results)[source]
-
class shinken.daemons.schedulerdaemon.IForArbiter(app)[source]
Bases: shinken.satellite.IForArbiter
Interface for Arbiter. We ask him a for a conf and after that listen for instructions
from the arbiter. The arbiter is the interface to the administrator, so we must listen
carefully and give him the information he wants. Which could be for another scheduler
-
put_conf(conf)[source]
-
run_external_commands(cmds)[source]
-
wait_new_conf()[source]
-
class shinken.daemons.schedulerdaemon.IStats(app)[source]
Bases: shinken.daemon.Interface
Interface for various stats about scheduler activity
-
doc = 'Get raw stats from the daemon:\n * nb_scheduled: number of scheduled checks (to launch in the future)\n * nb_inpoller: number of check take by the pollers\n * nb_zombies: number of zombie checks (should be close to zero)\n * nb_notifications: number of notifications+event handlers\n * latency: avg,min,max latency for the services (should be <10s)\n'
-
get_raw_stats()[source]
-
class shinken.daemons.schedulerdaemon.Shinken(config_file, is_daemon, do_replace, debug, debug_file, profile='')[source]
Bases: shinken.satellite.BaseSatellite
-
compensate_system_time_change(difference)[source]
Compensate a system time change of difference for all hosts/services/checks/notifs
-
do_loop_turn()[source]
-
do_stop()[source]
-
main()[source]
-
manage_signal(sig, frame)[source]
-
properties = {'modules_dir': <shinken.property.PathProp object at 0x7f0c651a1310>, 'server_cert': <shinken.property.StringProp object at 0x7f0c65bc9590>, 'workdir': <shinken.property.PathProp object at 0x7f0c651a11d0>, 'ca_cert': <shinken.property.StringProp object at 0x7f0c65bc9550>, 'hard_ssl_name_check': <shinken.property.BoolProp object at 0x7f0c65bc9650>, 'host': <shinken.property.StringProp object at 0x7f0c651a1550>, 'local_log': <shinken.property.PathProp object at 0x7f0c6575ccd0>, 'spare': <shinken.property.BoolProp object at 0x7f0c65bc9710>, 'user': <shinken.property.StringProp object at 0x7f0c651a1650>, 'use_ssl': <shinken.property.BoolProp object at 0x7f0c651a17d0>, 'log_level': <shinken.property.LogLevelProp object at 0x7f0c65bc9610>, 'use_local_log': <shinken.property.BoolProp object at 0x7f0c65bc95d0>, 'port': <shinken.property.IntegerProp object at 0x7f0c6575c950>, 'idontcareaboutsecurity': <shinken.property.BoolProp object at 0x7f0c65bc9690>, 'http_backend': <shinken.property.StringProp object at 0x7f0c65bc97d0>, 'server_key': <shinken.property.StringProp object at 0x7f0c65bc9510>, 'group': <shinken.property.StringProp object at 0x7f0c651a1710>, 'max_queue_size': <shinken.property.IntegerProp object at 0x7f0c65bc9750>, 'daemon_enabled': <shinken.property.BoolProp object at 0x7f0c65bc96d0>, 'pidfile': <shinken.property.PathProp object at 0x7f0c6575c850>, 'daemon_thread_pool_size': <shinken.property.IntegerProp object at 0x7f0c65bc9790>}
-
setup_new_conf()[source]
-
what_i_managed()[source]