Sommaire

Concept

Ce module permet de dรฉfinir les paramรจtres d'accรจs aux donnรฉes SLA pour la gรฉnรฉration des rapports.

Il est possible, si vous avez plusieurs modules de type "broker__module_report_builder" d'avoir plusieurs configurations de ce module :

  • Par exemple, un report_builder pour un royaume central et un, pour un sous-royaume, qui se connecteraient ร  des bases MongoDB diffรฉrentes.

Les paramรจtres dรฉfinissant le calcul du taux de disponibilitรฉ des SLA pour ce module doivent รชtre les mรชmes que ceux du module SLA attachรฉ au Broker qui รฉcrit les SLA pour le royaume.

Activation du module

Les modules de type "report_builder__module_sla_reader" sont des modules qui doivent รชtre activรฉs sur un module de type "broker__module_report_builder", qu'on appellera le module parent.

  • L'activation du module s'effectue en ajoutant le nom de ce module dans le fichier de configuration du module parent.
    • Pour cela, ouvrir le fichier de configuration du module parent ( de type "broker__module_report_builder" ), et ajouter dans le paramรจtre modules le nom du module de type "report_builder__module_sla_reader".

  • Il est possible de faire plusieurs modules de type "report_builder__module_sla_reader".
    • Cela permet,ย par exemple, d'avoir des configurations diffรฉrentes en fonction des royaumes.

  • S'il y a plusieurs modules de type "broker__module_report_builder" prรฉsents dans l'architecture, il ne faut pas oublier d'activer le module de type "report_builder__module_sla_reader" dans la configuration de chacun d'eux.


  • Contraintes :
    • Activable uniquement sur un module de type "broker__module_report_builder" ( voir la pageย Module broker--module-report-builder )
    • Il ne peut y avoir qu'un seul module de type "report_builder__module_sla_reader" sur un module de type "broker__module_report_builder".


Pour prendre en compte le changement de configuration, il faut redรฉmarrer l'Arbiter:

service-shinken-arbiter restart

Exemple d'activation du module nommรฉ "report-builder--module-sla-reader" sur le module nommรฉ broker--module-report-builder ( configuration livrรฉe par dรฉfaut par Shinken )

L'exemple suivant

  • active le module "report-builder--module-sla-reader",
  • sur le module "broker--module-report-builder",dont la configuration est dans le fichier /etc/shinken/modules/broker--module-report-builder.cfg.


Modification dans le fichier du module /etc/shinken/modules/broker--module-report-builder.cfg

define module {
    [...]
    modules                   Module 1, Module 2, Module 3, report-builder--module-sla-reader
  ย  [...]
}

Puis redรฉmarrage de l'Arbiter

service-shinken-arbiter restart

Crรฉer un nouveau module de type "report-builder--module-sla-reader"

Pour pouvoir configurer un module de type "report-builder--module-sla-reader", il faut faire un nouveau fichier de configuration grรขce au fichier d'exemple fourni par dรฉfaut.

  • Pour commencer, il faut choisir le nom du nouveau module.
    • Pour l'exemple, on l'appelle "Mon-Module-Report-Builder--Module-Sla-Reader".
    • Remplacer "Mon-Module-Report-Builder--Module-Sla-Reader" par le nom qui a รฉtรฉ choisi.
  • Puis il faut crรฉer le fichier de configuration :
    • Copier le fichier de dรฉfinition du module d'exemple /etc/shinken-user-example/configuration/daemons/brokers/modules/broker__module_report_builder/modules/report_builder__module_sla_reader/report-builder--module-sla-reader-example.cfg dans le rรฉpertoire de dรฉfinition des modulesย /etc/shinken/modules.
      ( Exemple : ย /etc/shinken/modules/report-builder--module-sla-reader__Mon-Module-Sla-Reader.cfg )

      cp /etc/shinken-user-example/configuration/daemons/brokers/modules/broker__module_report_builder/modules/report_builder__module_sla_reader/report-builder--module-sla-reader-example.cfg /etc/shinken/modules/report-builder--module-sla-reader__Mon-Module-Sla-Reader.cfg
  • Ensuite, il faut modifier le fichier nouvellement crรฉรฉ pour configurer le nouveau module
    • Il faut vรฉrifier que le fichier appartienne ร  l'utilisateur shinken et qu'il possรจde le droit d'รฉdition. Si ce n'est pas le cas, il faut effectuer les commandes suivantes :

      chown -R shinken:shinken /etc/shinken/modules/report-builder--module-sla-reader__Mon-Module-Sla-Reader.cfg
      chmod u+w /etc/shinken/modules/report-builder--module-sla-reader__Mon-Module-Sla-Reader.cfg
    • On change le nom du module en "Mon-Module-Report-Builder--Module-Sla-Reader" dans le fichier /etc/shinken/modules/report-builder--module-sla-reader__Mon-Module-Sla-Reader.cfg

      ...    
          # โ”€โ”€โ”€ Module name [ Must be unique ]                                                      [ MANDATORY ] โ”€โ”€โ”€
          # โ”€โ”€โ”€                                                                                                   โ”€โ”€โ”€
          module_name ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  ย  Mon-Module-Report-Builder--Module-Sla-Reader
      ...
  • Ensuite, il faut ajouter le nouveau module dans le module de type "broker__module_report_builder" correspondant.
    • Dans notre exemple, on ajoute le module "Mon-Module-Report-Builder--Module-Sla-Reader" au module "broker__module_report_builder" dรฉfinie dans le fichier /etc/shinken/modules/broker--module-report-builder.cfg

      define module {
          [...]
          modules                          Module 1, Module 2, Module 3, Mon-Module-Report-Builder--Module-Sla-Reader ย 
          [...]
      }
  • Pour finir il faut redรฉmarrer l'Arbiter pour que le Broker puisse prendre en compte ce nouveau mdule.

    service-shinken-arbiter restart


Configuration

Par dรฉfaut, La configuration du module se trouve dans le fichier /etc/shinken/modules/report-builder--module-sla-reader.cfg

  • Un exemple de configuration est รฉgalement disponibleย  dans /etc/shinken-user-example/configuration/daemons/brokers/modules/broker__module_report_builder/modules/report_builder__module_sla_reader/report-builder--module-sla-reader-example.cfg

Exemple de fichier de configuration

# CFG_FORMAT_VERSION 1 ( SHINKEN : DON'T TOUCH THIS LINE )

#================================================================================
# report-builder--module-sla-reader
#================================================================================
# Modules that can load this module:
# - broker--module-report-builder
# This module reads SLA data from a mongodb database
#================================================================================

define module {

    # โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” #
    # โ”‚ โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€    MODULE IDENTITY    โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ โ”‚ #
    # โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ #

    # โ”€โ”€โ”€ Module name [ Must be unique ]                                                      [ MANDATORY ] โ”€โ”€โ”€
    # โ”€โ”€โ”€                                                                                                   โ”€โ”€โ”€
    module_name                                         report-builder--module-sla-reader

    # โ”€โ”€โ”€ Module type [ Do not edit ]                                                         [ MANDATORY ] โ”€โ”€โ”€
    # โ”€โ”€โ”€                                                                                                   โ”€โ”€โ”€
    module_type                                         report_builder__module_sla_reader

    # โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” #
    # โ”‚ โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€    DATABASE CONNECTION    โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ โ”‚ #
    # โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ #

    # โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€  MongoDB parameters  โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ #

    # โ”€โ”€โ”€ MongoDB uri definition . You can find the mongodb uri syntax at                                   โ”€โ”€โ”€
    # โ”€โ”€โ”€ https://docs.mongodb.com/manual/reference/connection-string/                                      โ”€โ”€โ”€
    #                                                                                                       โ”€โ”€โ”€
    #           Default : mongodb://localhost/?w=1&fsync=false                                              โ”€โ”€โ”€
    # โ”€โ”€โ”€                                                                                                   โ”€โ”€โ”€
    # uri                                                 mongodb://localhost/?w=1&fsync=false

    # โ”€โ”€โ”€ Which database contains sla data                                                                  โ”€โ”€โ”€
    #                                                                                                       โ”€โ”€โ”€
    #           Default : shinken                                                                           โ”€โ”€โ”€
    # โ”€โ”€โ”€                                                                                                   โ”€โ”€โ”€
    # database                                            shinken

    # โ”€โ”€โ”€ username/password to authenticate to MongoDB.                                                     โ”€โ”€โ”€
    # โ”€โ”€โ”€ Both parameters must be provided for authentication to function correctly.                        โ”€โ”€โ”€
    # โ”€โ”€โ”€                                                                                                   โ”€โ”€โ”€
    # database__username

    # โ”€โ”€โ”€                                                                                                   โ”€โ”€โ”€
    # database__password

    # โ”€โ”€โ”€ SSH tunnel activation to secure your mongodb connection                                           โ”€โ”€โ”€
    # โ”€โ”€โ”€ That will allow all mongodb to be encrypted & authenticated with SSH                              โ”€โ”€โ”€
    #                                                                                                       โ”€โ”€โ”€
    #           Default : 0 => Disable ( disable ssh tunnel )                                               โ”€โ”€โ”€
    #           ...     : 1 => Enable  ( enable ssh tunnel )                                                โ”€โ”€โ”€
    # โ”€โ”€โ”€                                                                                                   โ”€โ”€โ”€
    # use_ssh_tunnel                                      0

    # โ”€โ”€โ”€ If the SSH connection goes wrong, then retry use_ssh_retry_failure time before_shinken_inactive   โ”€โ”€โ”€
    #                                                                                                       โ”€โ”€โ”€
    #           Default : 1 ( number of retry )                                                             โ”€โ”€โ”€
    # โ”€โ”€โ”€                                                                                                   โ”€โ”€โ”€
    # use_ssh_retry_failure                               1

    # โ”€โ”€โ”€ SSH user to connect to the mongodb server.                                                        โ”€โ”€โ”€
    #                                                                                                       โ”€โ”€โ”€
    #           Default : shinken                                                                           โ”€โ”€โ”€
    # โ”€โ”€โ”€                                                                                                   โ”€โ”€โ”€
    # ssh_user                                            shinken

    # โ”€โ”€โ”€ SSH keyfile to connect to the mongodb server.                                                     โ”€โ”€โ”€
    #                                                                                                       โ”€โ”€โ”€
    #           Default : ~shinken/.ssh/id_rsa                                                              โ”€โ”€โ”€
    # โ”€โ”€โ”€                                                                                                   โ”€โ”€โ”€
    # ssh_keyfile                                         ~shinken/.ssh/id_rsa

    # โ”€โ”€โ”€ SSH Timeout used to test if the SSH tunnel is viable or not, in seconds.                          โ”€โ”€โ”€
    #                                                                                                       โ”€โ”€โ”€
    #           Default : 10 ( seconds )                                                                    โ”€โ”€โ”€
    # โ”€โ”€โ”€                                                                                                   โ”€โ”€โ”€
    # ssh_tunnel_timeout                                  10

    # โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€  AutoReconnect Management  โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ #

    # โ”€โ”€โ”€ When MongoDB require you to reconnect ( For example, It can occur when a new PRIMARY is elected   โ”€โ”€โ”€
    # โ”€โ”€โ”€ in a MongoDB cluster ), it will raised the MongoDB AutoReconnect exception.                       โ”€โ”€โ”€

    # โ”€โ”€โ”€ How many try to reconnect before module go in error                                               โ”€โ”€โ”€
    #                                                                                                       โ”€โ”€โ”€
    #           Default : 4 ( number of try )                                                               โ”€โ”€โ”€
    # โ”€โ”€โ”€                                                                                                   โ”€โ”€โ”€
    # auto_reconnect_max_try                              4

    # โ”€โ”€โ”€ Time between each try                                                                             โ”€โ”€โ”€
    #                                                                                                       โ”€โ”€โ”€
    #           Default : 3 ( seconds )                                                                     โ”€โ”€โ”€
    # โ”€โ”€โ”€                                                                                                   โ”€โ”€โ”€
    # auto_reconnect_sleep_between_try                    3

    # โ”€โ”€โ”€ NOTE: Change these values only if you have a MongoDB cluster and you change the                   โ”€โ”€โ”€
    # โ”€โ”€โ”€       heartbeatTimeoutSecs of your MongoDB replica set                                            โ”€โ”€โ”€
    # โ”€โ”€โ”€       The value of auto_reconnect_max_try * auto_reconnect_sleep_between_try must be higher than  โ”€โ”€โ”€
    # โ”€โ”€โ”€       heartbeatTimeoutSecs in the rs.conf(); of your MongoDB replica set.                         โ”€โ”€โ”€

    # โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” #
    # โ”‚ โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€    SLA CALCULATION    โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ โ”‚ #
    # โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ #

    # โ”€โ”€โ”€ Some status can impact                                                                            โ”€โ”€โ”€
    # โ”€โ”€โ”€       -> positively (counted as OK/UP)                                                            โ”€โ”€โ”€
    # โ”€โ”€โ”€       -> negatively (counted as CRITICAL/DOWN)                                                    โ”€โ”€โ”€
    # โ”€โ”€โ”€       -> not impact the SLA                                                                       โ”€โ”€โ”€
    # โ”€โ”€โ”€ (is not counted, meaning the period of study is reduced by the period that is not counted).       โ”€โ”€โ”€
    # โ”€โ”€โ”€ This configuration aims at giving Shinken administrators a way to configure                       โ”€โ”€โ”€
    # โ”€โ”€โ”€ how the SLA are calculated.                                                                       โ”€โ”€โ”€

    # โ”€โ”€โ”€ SLA are computed on a daily basis.                                                                โ”€โ”€โ”€
    # โ”€โ”€โ”€ SLA of the current day are always recomputed after a configuration change.                        โ”€โ”€โ”€
    # โ”€โ”€โ”€ SLA from days before are by default not recomputed.                                               โ”€โ”€โ”€
    #                                                                                                       โ”€โ”€โ”€
    #           Default : 0 => Disable ( old SLA will not be recalculated )                                 โ”€โ”€โ”€
    #           ...     : 1 => Enable  ( old SLA will be recomputed with current settings )                 โ”€โ”€โ”€
    # โ”€โ”€โ”€                                                                                                   โ”€โ”€โ”€
    # recompute_old_sla                                   0

    # โ”€โ”€โ”€ Warning periods                                                                                   โ”€โ”€โ”€
    #                                                                                                       โ”€โ”€โ”€
    #           Default : 0 => Warning counts as DOWN                                                       โ”€โ”€โ”€
    #           ...     : 1 => Warning counts as UP                                                         โ”€โ”€โ”€
    # โ”€โ”€โ”€                                                                                                   โ”€โ”€โ”€
    # warning_counts_as_ok                                0

    # โ”€โ”€โ”€ Unknown periods                                                                                   โ”€โ”€โ”€
    #                                                                                                       โ”€โ”€โ”€
    #           Default : include => "Unknown" status is counted negatively in the SLA.                     โ”€โ”€โ”€
    #           ...     : exclude => "Unknown" are not counted from SLA considered period.                  โ”€โ”€โ”€
    #           ...     : ok      => "Unknown" are considered as UP periods                                 โ”€โ”€โ”€
    # โ”€โ”€โ”€                                                                                                   โ”€โ”€โ”€
    # unknown_period                                      include

    # โ”€โ”€โ”€ No_data periods ( "Missing data" and "Shinken inactive" status )                                  โ”€โ”€โ”€
    #                                                                                                       โ”€โ”€โ”€
    #           Default : include => Only status is considered. "Missing data" and "Shinken inactive"       โ”€โ”€โ”€
    #                                status are counted negatively in the SLA.                              โ”€โ”€โ”€
    #           ...     : exclude => No_data are not counted from SLA considered period.                    โ”€โ”€โ”€
    #           ...     : ok      => No_data are considered as UP periods.                                  โ”€โ”€โ”€
    # โ”€โ”€โ”€                                                                                                   โ”€โ”€โ”€
    # no_data_period                                      include

    # โ”€โ”€โ”€ Downtime periods                                                                                  โ”€โ”€โ”€
    #                                                                                                       โ”€โ”€โ”€
    #           Default : include  => Only status is considered.                                            โ”€โ”€โ”€
    #           ...     : exclude  => Downtimes are not counted from SLA considered period.                 โ”€โ”€โ”€
    #           ...     : ok       => Downtimes are considered as UP periods.                               โ”€โ”€โ”€
    #           ...     : critical => Downtimes are considered as DOWN periods.                             โ”€โ”€โ”€
    # โ”€โ”€โ”€                                                                                                   โ”€โ”€โ”€
    # downtime_period                                     include

} 

Dรฉtails des sections composant le fichier de configuration

Identification du module

    # โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” #
    # โ”‚ โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€    MODULE IDENTITY    โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ โ”‚ #
    # โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ #

    # โ”€โ”€โ”€ Module name [ Must be unique ]                                                      [ MANDATORY ] โ”€โ”€โ”€
    # โ”€โ”€โ”€                                                                                                   โ”€โ”€โ”€
    module_name                                         report-builder--module-sla-reader

    # โ”€โ”€โ”€ Module type [ Do not edit ]                                                         [ MANDATORY ] โ”€โ”€โ”€
    # โ”€โ”€โ”€                                                                                                   โ”€โ”€โ”€
    module_type                                         report_builder__module_sla_reader  

Il est possible de dรฉfinir plusieurs instances de module de type "broker__module_report_builder__module_sla_reader" dans une architecture Shinken.

  • Chaque instance devra avoir un nom unique.
NomTypeUnitรฉDรฉfautDescription
module_name
Texte---report-builder--module-sla-reader

Il est conseillรฉ de choisir un nom en fonction de l'utilisation du module pour que la configuration soit simple ร  maintenir.

Doit รชtre unique.

module_typeย 
Texte---report_builder__module_sla_reader

Ne peut รชtre modifiรฉ.

โ€‹

Option de lecture du taux de SLA

    # โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” #
    # โ”‚ โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€    SLA CALCULATION    โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ โ”‚ #
    # โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ #

    # โ”€โ”€โ”€ Some status can impact                                                                            โ”€โ”€โ”€
    # โ”€โ”€โ”€       -> positively (counted as OK/UP)                                                            โ”€โ”€โ”€
    # โ”€โ”€โ”€       -> negatively (counted as CRITICAL/DOWN)                                                    โ”€โ”€โ”€
    # โ”€โ”€โ”€       -> not impact the SLA                                                                       โ”€โ”€โ”€
    # โ”€โ”€โ”€ (is not counted, meaning the period of study is reduced by the period that is not counted).       โ”€โ”€โ”€
    # โ”€โ”€โ”€ This configuration aims at giving Shinken administrators a way to configure                       โ”€โ”€โ”€
    # โ”€โ”€โ”€ how the SLA are calculated.                                                                       โ”€โ”€โ”€

    # โ”€โ”€โ”€ SLA are computed on a daily basis.                                                                โ”€โ”€โ”€
    # โ”€โ”€โ”€ SLA of the current day are always recomputed after a configuration change.                        โ”€โ”€โ”€
    # โ”€โ”€โ”€ SLA from days before are by default not recomputed.                                               โ”€โ”€โ”€
    #                                                                                                       โ”€โ”€โ”€
    #           Default : 0 => Disable ( old SLA will not be recalculated )                                 โ”€โ”€โ”€
    #           ...     : 1 => Enable  ( old SLA will be recomputed with current settings )                 โ”€โ”€โ”€
    # โ”€โ”€โ”€                                                                                                   โ”€โ”€โ”€
    # recompute_old_sla                                   0

    # โ”€โ”€โ”€ Warning periods                                                                                   โ”€โ”€โ”€
    #                                                                                                       โ”€โ”€โ”€
    #           Default : 0 => Warning counts as DOWN                                                       โ”€โ”€โ”€
    #           ...     : 1 => Warning counts as UP                                                         โ”€โ”€โ”€
    # โ”€โ”€โ”€                                                                                                   โ”€โ”€โ”€
    # warning_counts_as_ok                                0

    # โ”€โ”€โ”€ Unknown periods                                                                                   โ”€โ”€โ”€
    #                                                                                                       โ”€โ”€โ”€
    #           Default : include => "Unknown" status is counted negatively in the SLA.                     โ”€โ”€โ”€
    #           ...     : exclude => "Unknown" are not counted from SLA considered period.                  โ”€โ”€โ”€
    #           ...     : ok      => "Unknown" are considered as UP periods                                 โ”€โ”€โ”€
    # โ”€โ”€โ”€                                                                                                   โ”€โ”€โ”€
    # unknown_period                                      include

    # โ”€โ”€โ”€ No_data periods ( "Missing data" and "Shinken inactive" status )                                  โ”€โ”€โ”€
    #                                                                                                       โ”€โ”€โ”€
    #           Default : include => Only status is considered. "Missing data" and "Shinken inactive"       โ”€โ”€โ”€
    #                                status are counted negatively in the SLA.                              โ”€โ”€โ”€
    #           ...     : exclude => No_data are not counted from SLA considered period.                    โ”€โ”€โ”€
    #           ...     : ok      => No_data are considered as UP periods.                                  โ”€โ”€โ”€
    # โ”€โ”€โ”€                                                                                                   โ”€โ”€โ”€
    # no_data_period                                      include

    # โ”€โ”€โ”€ Downtime periods                                                                                  โ”€โ”€โ”€
    #                                                                                                       โ”€โ”€โ”€
    #           Default : include  => Only status is considered.                                            โ”€โ”€โ”€
    #           ...     : exclude  => Downtimes are not counted from SLA considered period.                 โ”€โ”€โ”€
    #           ...     : ok       => Downtimes are considered as UP periods.                               โ”€โ”€โ”€
    #           ...     : critical => Downtimes are considered as DOWN periods.                             โ”€โ”€โ”€
    # โ”€โ”€โ”€                                                                                                   โ”€โ”€โ”€
    # downtime_period                                     include



NomTypeUnitรฉDรฉfautDescription
recompute_old_sla
Boolรฉen--- 0
  • 1 : Si la configuration a modifiรฉ les paramรจtres de calcul du taux de disponibilitรฉ, les SLA dรฉjร  archivรฉs seront recalculรฉs, puis rรฉarchivรฉs, lorsqu'ils seront consultรฉs.
  • 0 : Les SLA dรฉjร  archivรฉs sont lus tels quels et ne sont pas modifiรฉs.


warning_counts_as_ok
Boolรฉen--- 0
  • 1 : On considรจre que le service est toujours rendu mรชme de maniรจre potentiellement dรฉgradรฉe.
  • 0 : On considรจre que si le service n'est pas rendu de maniรจre optimale, il n'est pas bien rendu et donc fait baisser le taux de disponibilitรฉ.
unknown_period
String--- include
  • ok : On considรจre que le service a donnรฉ un รฉtat donc le service est encore rendu mรชme de maniรจre potentiellement dรฉgradรฉe.
  • include : On considรจre que si l'on ne peut savoir si le service est rendu c'est qu'il n'est pas rendu.
  • exclude : On considรจre l'รฉtat trop imprรฉcis pour modifier le taux de disponibilitรฉ.
no_data_period
String--- include
  • ok : On considรจre que mรชme si la supervision ne l'a pas confirmรฉ, le service est rendu.
  • include : On considรจre que si l'on ne peut pas savoir si le service est rendu, c'est qu'il n'est pas rendu.
  • exclude : On considรจre que l'รฉtat de la supervision ( de Shinken ) n'impacte pas le taux de disponibilitรฉ.
downtime_period
String--- include
  • ok : On considรจre que les pรฉriodes de maintenance planifiรฉes font partie du service, donc le service est rendu .
  • critical : On considรจre que lors d'une maintenance planifiรฉe, le service n'est plus rendu.
  • include : On considรจre que la maintenance est planifiรฉe et donc que cette pรฉriode n'impacte pas le service.
  • exclude : On considรจre que seul l'รฉtat du service compte pour le taux de disponibilitรฉ.
โ€‹

Plus de dรฉtails sur ces paramรจtres et sur le fonctionnement des SLA sont disponibles sur cette page : Calcul du taux de SLA

Accรจs ร  la base MongoDB

Cette configuration s'effectue dans le fichier de configuration du module.ย 

Pour se connecter ร  la base MongoDB utilisรฉe pour le stockage des donnรฉes, 2 mรฉthodes sont disponibles :

  • Connexion directe : Par dรฉfaut, mais non sรฉcurisรฉe.
  • Tunnel SSH : Shinken se connecte ร  la base MongoDB au travers d'une connexion SSH pour plus de sรฉcuritรฉ.
Configuration des paramรจtres communs aux deux mรฉthodes
    # โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” #
    # โ”‚ โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€    DATABASE CONNECTION    โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ โ”‚ #
    # โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ #

    # โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€  MongoDB parameters  โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ #

    # โ”€โ”€โ”€ MongoDB uri definition . You can find the mongodb uri syntax at                                   โ”€โ”€โ”€
    # โ”€โ”€โ”€ https://docs.mongodb.com/manual/reference/connection-string/                                      โ”€โ”€โ”€
    #                                                                                                       โ”€โ”€โ”€
    #           Default : mongodb://localhost/?w=1&fsync=false                                              โ”€โ”€โ”€
    # โ”€โ”€โ”€                                                                                                   โ”€โ”€โ”€
    # uri                                                 mongodb://localhost/?w=1&fsync=false

    # โ”€โ”€โ”€ Which database contains sla data                                                                  โ”€โ”€โ”€
    #                                                                                                       โ”€โ”€โ”€
    #           Default : shinken                                                                           โ”€โ”€โ”€
    # โ”€โ”€โ”€                                                                                                   โ”€โ”€โ”€
    # database                                            shinken

    # โ”€โ”€โ”€ username/password to authenticate to MongoDB.                                                     โ”€โ”€โ”€
    # โ”€โ”€โ”€ Both parameters must be provided for authentication to function correctly.                        โ”€โ”€โ”€
    # โ”€โ”€โ”€                                                                                                   โ”€โ”€โ”€
    # database__username

    # โ”€โ”€โ”€                                                                                                   โ”€โ”€โ”€
    # database__password 
NomTypeUnitรฉDรฉfautDescription
 uri 
TexteURL mongodb://localhost/?w=1&fsync=false

La syntaxe des URI de MongoDB est disponible ร  l'adresse https://docs.mongodb.com/manual/reference/connection-string/

 database 
Texte--- shinken

Nom de la base de donnรฉes oรน sont stockรฉs les donnรฉes SLA

 database__username
Texte---

Dans le cas oรน une identification par mot de passe est utilisรฉe ( voir la page : MongoDB - activation de l'authentification par mot de passe ) :ย 

  • nom de l'utilisateur pour se connecter ร  la base de donnรฉes.

Laisser ce paramรจtre vide sinon.

  database__password 
Texte---

Dans le cas oรน une identification par mot de passe est utilisรฉe ( voir la page : MongoDB - activation de l'authentification par mot de passe ) :ย 

  • mot de passe pour se connecter ร  la base de donnรฉes.

Laisser ce paramรจtre vide sinon.


โ€‹
Connexion directe au serveur MongoDB

Par dรฉfaut, le module se connecte de maniรจre directe ร  la base MongoDB, avec les paramรจtres communs listรฉs ci-dessus, et le paramรจtre "use_ssh_tunnel" dรฉfini ร  0.

Connexion par SSH au serveur MongoDB

Par dรฉfaut, le module se connecte de maniรจre directe ร  la base MongoDB pour y lire et รฉcrire les donnรฉes.
Dans la configuration du module, ceci correspond au paramรจtre "use_ssh_tunnel" ร  0.
C'est la mรฉthode de connexion par dรฉfaut lorsque la base est sur la mรชme machine que le dรฉmon ( quand l'URL de la base est localhost ).

Si la base est sur une autre machine, il faudra alors se connecter ร  la base via un tunnel SSH. Cela permet ร  la base distance de rester en รฉcoute rรฉseau sur l'interface rรฉseau local, ce qui la sรฉcurise des accรจs extรฉrieurs ( voir la page Sécurisation des connexions aux bases MongoDB ).

    # โ”€โ”€โ”€ SSH tunnel activation to secure your mongodb connection                                           โ”€โ”€โ”€
    # โ”€โ”€โ”€ That will allow all mongodb to be encrypted & authenticated with SSH                              โ”€โ”€โ”€
    #                                                                                                       โ”€โ”€โ”€
    #           Default : 0 => Disable ( disable ssh tunnel )                                               โ”€โ”€โ”€
    #           ...     : 1 => Enable  ( enable ssh tunnel )                                                โ”€โ”€โ”€
    # โ”€โ”€โ”€                                                                                                   โ”€โ”€โ”€
    # use_ssh_tunnel                                      0

    # โ”€โ”€โ”€ If the SSH connection goes wrong, then retry use_ssh_retry_failure time before_shinken_inactive   โ”€โ”€โ”€
    #                                                                                                       โ”€โ”€โ”€
    #           Default : 1 ( number of retry )                                                             โ”€โ”€โ”€
    # โ”€โ”€โ”€                                                                                                   โ”€โ”€โ”€
    # use_ssh_retry_failure                               1

    # โ”€โ”€โ”€ SSH user to connect to the mongodb server.                                                        โ”€โ”€โ”€
    #                                                                                                       โ”€โ”€โ”€
    #           Default : shinken                                                                           โ”€โ”€โ”€
    # โ”€โ”€โ”€                                                                                                   โ”€โ”€โ”€
    # ssh_user                                            shinken

    # โ”€โ”€โ”€ SSH keyfile to connect to the mongodb server.                                                     โ”€โ”€โ”€
    #                                                                                                       โ”€โ”€โ”€
    #           Default : ~shinken/.ssh/id_rsa                                                              โ”€โ”€โ”€
    # โ”€โ”€โ”€                                                                                                   โ”€โ”€โ”€
    # ssh_keyfile                                         ~shinken/.ssh/id_rsa

    # โ”€โ”€โ”€ SSH Timeout used to test if the SSH tunnel is viable or not, in seconds.                          โ”€โ”€โ”€
    #                                                                                                       โ”€โ”€โ”€
    #           Default : 10 ( seconds )                                                                    โ”€โ”€โ”€
    # โ”€โ”€โ”€                                                                                                   โ”€โ”€โ”€
    # ssh_tunnel_timeout                                  10
NomTypeUnitรฉDรฉfautDescription
use_ssh_tunnel
Boolรฉen--- 0
  • 1 : Connexion par tunnel SSH.
  • 0 : Connexion directe.
use_ssh_retry_failure
EntierNombre d'essais 1 Spรฉcifie le nombre supplรฉmentaire de tentatives lors de l'รฉtablissement du tunnel SSH si ce dernier n'arrive pas ร  รชtre รฉtabli.
ssh_user
Texteutilisateur unix shinken L'utilisateur avec lequel le tunnel sera รฉtabli.
ssh_keyfile
Textechemin de fichier ~shinken/.ssh/id_rsaย  La clรฉ SSH privรฉe prรฉsente sur le serveur Shinken qui sera utilisรฉe pour รฉtablir le tunnel.
ssh_tunnel_timeout
Entiersecondes 10

Spรฉcifie le timeout en secondes de la vรฉrification du tunnel SSH avant que la connexion vers MongoDB soit effectuรฉe.

โ€‹

Gestion de l'auto reconnexion avec un cluster MongoDB

    # โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€  AutoReconnect Management  โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ #

    # โ”€โ”€โ”€ When MongoDB require you to reconnect ( For example, It can occur when a new PRIMARY is elected   โ”€โ”€โ”€
    # โ”€โ”€โ”€ in a MongoDB cluster ), it will raised the MongoDB AutoReconnect exception.                       โ”€โ”€โ”€

    # โ”€โ”€โ”€ How many try to reconnect before module go in error                                               โ”€โ”€โ”€
    #                                                                                                       โ”€โ”€โ”€
    #           Default : 4 ( number of try )                                                               โ”€โ”€โ”€
    # โ”€โ”€โ”€                                                                                                   โ”€โ”€โ”€
    # auto_reconnect_max_try                              4

    # โ”€โ”€โ”€ Time between each try                                                                             โ”€โ”€โ”€
    #                                                                                                       โ”€โ”€โ”€
    #           Default : 3 ( seconds )                                                                     โ”€โ”€โ”€
    # โ”€โ”€โ”€                                                                                                   โ”€โ”€โ”€
    # auto_reconnect_sleep_between_try                    3

    # โ”€โ”€โ”€ NOTE: Change these values only if you have a MongoDB cluster and you change the                   โ”€โ”€โ”€
    # โ”€โ”€โ”€       heartbeatTimeoutSecs of your MongoDB replica set                                            โ”€โ”€โ”€
    # โ”€โ”€โ”€       The value of auto_reconnect_max_try * auto_reconnect_sleep_between_try must be higher than  โ”€โ”€โ”€
    # โ”€โ”€โ”€       heartbeatTimeoutSecs in the rs.conf(); of your MongoDB replica set.                         โ”€โ”€โ”€ 

Dรฉfinitions

Primaire : terme de MongoDB pour dรฉsigner un serveur maรฎtre, le serveur sur lequel il est possible de faire des requรชtes d'รฉcriture dans la base.ย 

ร‰lection : processus de MongoDB pour choisir un nouveau membre Primaire si le membre Primaire actuel devient inaccessible.

Voir : Haute disponibilitรฉ de la base MongoDB (mise en place d'un cluster)


Dans le cas de l'utilisation d'un cluster MongoDB, lorsque le membre Primaire devient inaccessible, une nouvelle รฉlection est dรฉclenchรฉe, ce qui provoque une coupure temporaire de l'accรจs ร  la base.

Dans le but de ne pas interrompre le service, le module SLA va se reconnecter automatiquement au cluster MongoDB.
Il va faire un nombre d'essaisย รฉgal au paramรจtreย " auto_reconnect_max_try " avec une pause de X secondes entre chaque essai ( correspondant au paramรจtre "auto_reconnect_sleep_between_try" ).

Par dรฉfaut, pour MongoDB, le temps maximum avant qu'un membre Primaire ne soit considรฉrรฉ comme indisponible et qu'une nouvelle รฉlection ait lieu, est de 10 secondes.
Voir : " heartbeatTimeoutSecs" donnรฉ par la commande rs . conf(); dans un shell de MongoDB.


NomTypeUnitรฉDรฉfautDescription
auto_reconnect_max_try
Entieressais 4

Nombre d'essais de reconnexion ร  la base

auto_reconnect_sleep_between_try
Entiersecondes 3

Temps entre chaque essai en secondes

โ€‹


Les valeurs par dรฉfaut du fichier laissent 12 secondes, ce qui est amplement suffisant avec la configuration par dรฉfaut de MongoDB.


Il est conseillรฉ de ne pas modifier ces valeurs.