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 0x7f79e1a28850>, 'server_cert': <shinken.property.StringProp object at 0x7f79e269aad0>, 'workdir': <shinken.property.PathProp object at 0x7f79e1a28710>, 'ca_cert': <shinken.property.StringProp object at 0x7f79e269aa90>, 'hard_ssl_name_check': <shinken.property.BoolProp object at 0x7f79e269ab90>, 'host': <shinken.property.StringProp object at 0x7f79e1a28a90>, 'local_log': <shinken.property.PathProp object at 0x7f79e574b6d0>, 'spare': <shinken.property.BoolProp object at 0x7f79e269ac50>, 'user': <shinken.property.StringProp object at 0x7f79e1a28b90>, 'use_ssl': <shinken.property.BoolProp object at 0x7f79e1a28d10>, 'log_level': <shinken.property.LogLevelProp object at 0x7f79e269ab50>, 'use_local_log': <shinken.property.BoolProp object at 0x7f79e269ab10>, 'port': <shinken.property.IntegerProp object at 0x7f79e574b690>, 'idontcareaboutsecurity': <shinken.property.BoolProp object at 0x7f79e269abd0>, 'http_backend': <shinken.property.StringProp object at 0x7f79e269ad10>, 'server_key': <shinken.property.StringProp object at 0x7f79e269aa50>, 'group': <shinken.property.StringProp object at 0x7f79e1a28c50>, 'max_queue_size': <shinken.property.IntegerProp object at 0x7f79e269ac90>, 'daemon_enabled': <shinken.property.BoolProp object at 0x7f79e269ac10>, 'pidfile': <shinken.property.PathProp object at 0x7f79e574b610>, 'daemon_thread_pool_size': <shinken.property.IntegerProp object at 0x7f79e269acd0>}
-
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 0x7f79e1a28850>, 'server_cert': <shinken.property.StringProp object at 0x7f79e269aad0>, 'workdir': <shinken.property.PathProp object at 0x7f79e1a28710>, 'ca_cert': <shinken.property.StringProp object at 0x7f79e269aa90>, 'hard_ssl_name_check': <shinken.property.BoolProp object at 0x7f79e269ab90>, 'host': <shinken.property.StringProp object at 0x7f79e1a28a90>, 'local_log': <shinken.property.PathProp object at 0x7f79e1cf5890>, 'spare': <shinken.property.BoolProp object at 0x7f79e269ac50>, 'user': <shinken.property.StringProp object at 0x7f79e1a28b90>, 'use_ssl': <shinken.property.BoolProp object at 0x7f79e1a28d10>, 'log_level': <shinken.property.LogLevelProp object at 0x7f79e269ab50>, 'use_local_log': <shinken.property.BoolProp object at 0x7f79e269ab10>, 'port': <shinken.property.IntegerProp object at 0x7f79e1cf5850>, 'idontcareaboutsecurity': <shinken.property.BoolProp object at 0x7f79e269abd0>, 'http_backend': <shinken.property.StringProp object at 0x7f79e269ad10>, 'server_key': <shinken.property.StringProp object at 0x7f79e269aa50>, 'group': <shinken.property.StringProp object at 0x7f79e1a28c50>, 'max_queue_size': <shinken.property.IntegerProp object at 0x7f79e269ac90>, 'daemon_enabled': <shinken.property.BoolProp object at 0x7f79e269ac10>, 'pidfile': <shinken.property.PathProp object at 0x7f79e1cf5810>, 'daemon_thread_pool_size': <shinken.property.IntegerProp object at 0x7f79e269acd0>}
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 0x7f79e1a28850>, 'server_cert': <shinken.property.StringProp object at 0x7f79e269aad0>, 'workdir': <shinken.property.PathProp object at 0x7f79e1a28710>, 'ca_cert': <shinken.property.StringProp object at 0x7f79e269aa90>, 'hard_ssl_name_check': <shinken.property.BoolProp object at 0x7f79e269ab90>, 'host': <shinken.property.StringProp object at 0x7f79e1a28a90>, 'local_log': <shinken.property.PathProp object at 0x7f79e1b9a7d0>, 'spare': <shinken.property.BoolProp object at 0x7f79e269ac50>, 'user': <shinken.property.StringProp object at 0x7f79e1a28b90>, 'use_ssl': <shinken.property.BoolProp object at 0x7f79e1a28d10>, 'log_level': <shinken.property.LogLevelProp object at 0x7f79e269ab50>, 'use_local_log': <shinken.property.BoolProp object at 0x7f79e269ab10>, 'port': <shinken.property.IntegerProp object at 0x7f79e1b9a2d0>, 'idontcareaboutsecurity': <shinken.property.BoolProp object at 0x7f79e269abd0>, 'http_backend': <shinken.property.StringProp object at 0x7f79e269ad10>, 'server_key': <shinken.property.StringProp object at 0x7f79e269aa50>, 'group': <shinken.property.StringProp object at 0x7f79e1a28c50>, 'max_queue_size': <shinken.property.IntegerProp object at 0x7f79e269ac90>, 'daemon_enabled': <shinken.property.BoolProp object at 0x7f79e269ac10>, 'pidfile': <shinken.property.PathProp object at 0x7f79e574bb90>, 'daemon_thread_pool_size': <shinken.property.IntegerProp object at 0x7f79e269acd0>}
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 0x7f79e1a28850>, 'server_cert': <shinken.property.StringProp object at 0x7f79e269aad0>, 'workdir': <shinken.property.PathProp object at 0x7f79e1a28710>, 'ca_cert': <shinken.property.StringProp object at 0x7f79e269aa90>, 'hard_ssl_name_check': <shinken.property.BoolProp object at 0x7f79e269ab90>, 'host': <shinken.property.StringProp object at 0x7f79e1a28a90>, 'local_log': <shinken.property.PathProp object at 0x7f79e574bfd0>, 'spare': <shinken.property.BoolProp object at 0x7f79e269ac50>, 'user': <shinken.property.StringProp object at 0x7f79e1a28b90>, 'use_ssl': <shinken.property.BoolProp object at 0x7f79e1a28d10>, 'log_level': <shinken.property.LogLevelProp object at 0x7f79e269ab50>, 'use_local_log': <shinken.property.BoolProp object at 0x7f79e269ab10>, 'port': <shinken.property.IntegerProp object at 0x7f79e574bed0>, 'idontcareaboutsecurity': <shinken.property.BoolProp object at 0x7f79e269abd0>, 'http_backend': <shinken.property.StringProp object at 0x7f79e269ad10>, 'server_key': <shinken.property.StringProp object at 0x7f79e269aa50>, 'group': <shinken.property.StringProp object at 0x7f79e1a28c50>, 'max_queue_size': <shinken.property.IntegerProp object at 0x7f79e269ac90>, 'daemon_enabled': <shinken.property.BoolProp object at 0x7f79e269ac10>, 'pidfile': <shinken.property.PathProp object at 0x7f79e574be50>, 'daemon_thread_pool_size': <shinken.property.IntegerProp object at 0x7f79e269acd0>}
-
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 0x7f79e1a28850>, 'server_cert': <shinken.property.StringProp object at 0x7f79e269aad0>, 'workdir': <shinken.property.PathProp object at 0x7f79e1a28710>, 'ca_cert': <shinken.property.StringProp object at 0x7f79e269aa90>, 'hard_ssl_name_check': <shinken.property.BoolProp object at 0x7f79e269ab90>, 'host': <shinken.property.StringProp object at 0x7f79e1a28a90>, 'local_log': <shinken.property.PathProp object at 0x7f79e1cf57d0>, 'spare': <shinken.property.BoolProp object at 0x7f79e269ac50>, 'user': <shinken.property.StringProp object at 0x7f79e1a28b90>, 'use_ssl': <shinken.property.BoolProp object at 0x7f79e1a28d10>, 'log_level': <shinken.property.LogLevelProp object at 0x7f79e269ab50>, 'use_local_log': <shinken.property.BoolProp object at 0x7f79e269ab10>, 'port': <shinken.property.IntegerProp object at 0x7f79e1cf5790>, 'idontcareaboutsecurity': <shinken.property.BoolProp object at 0x7f79e269abd0>, 'http_backend': <shinken.property.StringProp object at 0x7f79e269ad10>, 'server_key': <shinken.property.StringProp object at 0x7f79e269aa50>, 'group': <shinken.property.StringProp object at 0x7f79e1a28c50>, 'max_queue_size': <shinken.property.IntegerProp object at 0x7f79e269ac90>, 'daemon_enabled': <shinken.property.BoolProp object at 0x7f79e269ac10>, 'pidfile': <shinken.property.PathProp object at 0x7f79e1cf5750>, 'daemon_thread_pool_size': <shinken.property.IntegerProp object at 0x7f79e269acd0>}
-
setup_new_conf()[source]
-
what_i_managed()[source]