diff options
Diffstat (limited to 'god/Monitoring/nagios/shinken/shinken-specific-load-balanced-only.cfg')
-rw-r--r-- | god/Monitoring/nagios/shinken/shinken-specific-load-balanced-only.cfg | 219 |
1 files changed, 219 insertions, 0 deletions
diff --git a/god/Monitoring/nagios/shinken/shinken-specific-load-balanced-only.cfg b/god/Monitoring/nagios/shinken/shinken-specific-load-balanced-only.cfg new file mode 100644 index 00000000..e7f756d5 --- /dev/null +++ b/god/Monitoring/nagios/shinken/shinken-specific-load-balanced-only.cfg @@ -0,0 +1,219 @@ +#This config file defined Shinken specific objects like +#satellites or Realms +# +#This file is for defined a pure load balanced environnement +#That mean that if a satellite die, it will not be replaced +#There is only one Realm with every components into it +#All you need to to is to replace "node1" and "node2" by the DNS +#names of your Shinken servers + + +#The scheduler is a "Host manager". It gets the hosts and theirs +#services and it schedules the checks for the pollers. +define scheduler{ + scheduler_name scheduler-1 + address node1 + port 7768 + spare 0 ;is not a spare + realm All + weight 1 ;optionnal : 1 + } + + +#The second scheduler +define scheduler{ + scheduler_name scheduler-2 + address node2 + port 7768 + spare 0 + realm All + weight 1 ;optionnal : 1 + } + + +#There is only one reactionner, because it does not need +#load balancing load +define reactionner{ + reactionner_name reactionner + address node1 + port 7769 + spare 0 + realm All + manage_sub_realms 0 ;optionnal : 1 + min_workers 1 ;optionnal : 1 + max_workers 15 ;optionnal : 30 + polling_interval 1 ;optionnal : 1 + } + +#Pollers are here to launch checks +define poller{ + poller_name poller-All + address node1 + port 7771 + realm All + manage_sub_realms 0 ;optionnal : 0 + min_workers 4 ;optionnal : 1 + max_workers 4 ;optionnal : 30 + processes_by_worker 256 ;optionnal : 256 + polling_interval 1 ;optionnal : 1 +} + + +#Pollers are here to launch checks +define poller{ + poller_name poller-2 + address node2 + port 7771 + realm All + manage_sub_realms 0 ;optionnal : 0 + min_workers 4 ;optionnal : 1 + max_workers 4 ;optionnal : 30 + processes_by_worker 256 ;optionnal : 256 + polling_interval 1 ;optionnal : 1 +} + + +#The arbiter definition is optionnal +#Like reactionner and broker, it does not need load balanced +define arbiter{ + arbiter_name Arbiter + host_name node1 ;result of the get_hostname.py command (or hostname under Unix) + address node1 + port 7770 + spare 0 + #modules No module for now + } + + +#The broker manage data export (in flat file or in database) +#Here just log files and status.dat file +define broker{ + broker_name broker + address node1 + port 7772 + spare 0 + realm All + manage_sub_realms 1 + manage_arbiters 1 + modules Status-Dat, Simple-log + } + + +##Now the modules for broker + +#Here the NDO/MySQL module +#So you can use with NagVis or Centreon +define module{ + module_name ToNdodb_Mysql + module_type ndodb_mysql + database ndo ; database name + user root ; user of the database + password root ; must be changed + host localhost ; host to connect + character_set utf8 ;optionnal, UTF8 is the default +} + +#Here a NDO/Oracle module. For Icinga web connection +#Or for database admin that do not like MySQL +define module{ + module_name ToNdodb_Oracle + module_type ndodb_oracle + database XE ;database name (listener in fact) + user system + password password ;Yes I know I have to change my default password... + oracle_home /usr/lib/oracle/xe/app/oracle/product/10.2.0/server ;optional +} + + +#Here for Merlin/MySQL. for Ninja connection +define module{ + module_name ToMerlindb_Mysql + module_type merlindb + backend mysql ;backend to use, here mysql databse + database merlin ;database name + user root + password root + host localhost + character_set utf8 ;optionnal, UTF8 is the default +} + + +#Here the Merlin/Sqlite. No one uses it for now :) +define module{ + module_name ToMerlindb_Sqlite + module_type merlindb + backend sqlite ;like the mysql, but sqlite :) + database_path /tmp/mabase.sqlite ;path of the sqlite file +} + + +#Here the couchdb export. Maybe use one day... +define module{ + module_name ToCouchdb + module_type couchdb + user root + password root + host localhost +} + + +#Export services perfdata to file +define module{ + module_name Service-Perfdata + module_type service_perfdata + path service-perfdata +} + + +#For hosts this time +define module{ + module_name Host-Perfdata + module_type host_perfdata + path host-perfdata +} + + +#The log managment +define module{ + module_name Simple-log + module_type simple_log + path /var/log/shinken/nagios.log +} + + +#Status.dat and objects.cache export. For the old Nagios +#interface +define module{ + module_name Status-Dat + module_type status_dat + status_file status.dat + object_cache_file objects.cache + status_update_interval 15 +} + + +#A global Realm +define realm{ + realm_name All + default 1 +} + + + + +##Now addon about standard configuration : +#resultmodulation : change "on te fly" a check result, without negate or something like it +#escalation : like service_escalation, but a generic that host/service can call + +#A result modulation is use to module a check result, like CRITICAL->WARNING here +define resultmodulation{ + resultmodulation_name critical_is_warning ;required + exit_codes_match 2 ;optionnal, list of code to change + output_match // ;optionnal, regexp for activation of exit_code if output match + exit_code_modulation 1 ;code that will be put if the code match + output_modulation s/// ;optionnal regexp to change output + longoutput_modulation s/// ;optionnal regexp to change long_output + modulation_period 24×7 ;period when to apply the modulation +} + + |