Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Reverted from v. 29
Scroll Ignore
scroll-viewporttrue
scroll-pdftrue
scroll-officetrue
scroll-chmtrue
scroll-docbooktrue
scroll-eclipsehelptrue
scroll-epubtrue
scroll-htmltruefalse
Panel
titleSommaire

Table of Contents
stylenone

Présentation

Les sources d'import par fichier permettent d'utiliser des fichiers de configuration existants pour importer des éléments.

La syntaxe de ces fichiers d'import est très proche de la syntaxe Nagios, à laquelle s'ajoutent quelques des clés spécifiques à Shinken Entreprise.


Warning

Les fichiers d'imports .cfg doivent être créé ou éditer avec l'encodage utf-8.

Info

Pour créer un commentaire COMMENTAIRE ou mettre une ligne en commentaire COMMENTAIRE dans le fichier .cfg, il faut placer dans :

  • Utiliser le caractère "#" au début de la ligne
soit le caractère "#" soit le caractère
  • Utiliser le ";" pour les fins de ligne

. Les lignes commentées ne seront pas lues et donc pas importées.

Les différents types d'éléments

Les hôtes

code

Code Block
languagejs
themeConfluence
define host {

	#####
Définition générale
 l’hôte que l'on veut définir ####  <= un commentaire au début de 
l’hôte
la 
####
ligne
    host_name 	Serveur1
    address 	192.168.1.16 ; adresse interne <= un commentaire en fin de ligne.
}

Les différents types d'éléments

Les hôtes

Code Block
languagejs
themeConfluence
define host {

	##### Définition générale de l’hôte ####

    host_name 					[OBLIGATOIRE]	  *Nom de l'hôte*
					[OBLIGATOIRE]	*Nom de l'hôte*
	name						[OBLIGATOIRE]	  *Nom de l'hôte (lorsqu'il s'agit d'un modèle d'hôte)*
	display_name								  *Description*
    address 									  *Adresse de l'hôte*
    use 										  *Liste des modèles d'hôte à utiliser*
    hostgroups 									  *Liste des groupes d'hôtes dans lesquels appartient l'hôte*
    realm 										  *Royaume de l'hôte*
    business_impact 							  [0-5]; Impact métier de l'hôte
    parents 									  *Liste des hôtes desquels dépend cet hôte (d'un point de vue réseau)*
    notes_url 									  *URL externe pouvant donner des informations supplémentaires sur l'hôte*
    notes_multi_url								  *Propriété utilisée pour définir plusieurs URL *
    enabled 									  [0/1]; Est -ce que l'hôte est activé/désactivé ?
    pack 									      *Pack auquel appartient l'hôte*
 
	#### Données ####

	_NOMDEDONNEE								  *valeur de la donnée*
 
	#### Droits de l'utilisateur ####

	view_contacts								  *Les utilisateurs qui voient l'hôte*
	view_contact_groups							  *Les groupes d'utilisateurs qui voient l'hôte*
	    notification_contacts						  *Les utilisateurs à notifier*
	notification_contact_groups					  *Les groupes d'utilisateurs à notifier*
	edition_contacts							  *Les utilisateurs peuvent modifier la configuration de l'hôte.*
	    edition_contact_groups						  *Les groupes d'utilisateurs qui peuvent modifier la configuration de l'hôte.*
    
	contacts 									*Liste des contacts qui pourront Voir/Editer/EtreNotifié*
    contact_groups 								*Groupes d'utilisateurs qui pourront Voir/Editer/EtreNotifié*
	
	#### Parametres de supervision ####
    check_period element_visibility_on_not_authenticated_view  [0/1]; Permet de rendre ( 1 ) ou non ( 0 ) l'hôte visible dans les vues sans authentification. La propriété n'est pas héritable.

	contacts 								*Période de temps pendant laquelle les checks sont exécutés	  *Liste des contacts qui pourront Voir / Éditer / Être Notifié*
    checkcontact_commandgroups 								*Commande utilisée pour vérifier le statut UP/DOWN de l'hôte*
	max_check_attempts 		  *Groupes d'utilisateurs qui pourront Voir / Éditer / Être Notifié*
  


    #### Parametres de supervision ####

    check_period 								  *NombrePériode de vérificationstemps pendant delaquelle l'étatles dechecks l'hôte pour passer en état HARD*
	check_running_timeout sont exécutés*
    check_command 								  *TimeoutCommande utilisée depour lavérifier commandele destatut vérificationUP/DOWN de l'hôte*
   (en secondes)*
	warning_threshold_cpu_usage thresholds_display							  *NombrePermet de secondesdécrire que peut consommer une commande avant d'apparaître en Warning dans le check 'Scheduler - Performance'*
	check_intervalles seuils utilisés pour changer le statut de l'élément en Avertissement / Critique*
    max_check_attempts                            *Nombre de vérifications de l'état de l'hôte pour passer en état HARD*
	check_running_timeout 								  *IntervalleTimeout d’exécution de la commande de vérification de l'hôte (en secondes)*
	retry_interval warning_threshold_cpu_usage					  *Nombre de secondes que peut consommer une commande avant d'apparaître en Warning dans le check 'Scheduler - Performance'*
	check_interval 								  *Intervalle d’exécution de la commande de vérification de l'hôte*
	retry_interval 								  *Intervalle de confirmation d'état (en minutes)* 
    active_checks_enabled 						  [0/1]; Est -ce que les checks actifs sont activés pour cet hôte ?
    passive_checks_enabled 						  [0/1]; Est -ce que les checks passifs sont activés pour cet hôte ?
    maintenance_period 							  *Période de temps récurrente pendant laquelle l'hôte est en maintenance*
 
	#### Notifications ####

    notifications_enabled 						  [0/1]; Est -ce que les notifications sont activées pour cet hôte ?
    notification_interval 						  *Intervalle d'envoi des notifications (en minutes)*
    notification_period 						  *Période de temps pendantdurant laquelle les notifications sont actives*
    notification_options						  *Cette propriété permet de définir quels états de l'hôte peuvent envoyer des notifications*
	first_notification_delay					  *Délai avant l'envoi de la première notification*
    escalations 								  *Liste des escalades de notifications utilisées pour cet hôte*
    
	#### Expert ####
 
	poller_tag 									  *Poller tag associé à cet hôte*
	reactionner_tag				    			  *Poller reactionnerReactionner associé à cet hôte*
	process_perf_data 							  [0/1]; Prendre en compte la métrique éventuellement retournée par la check_command ?
	flap_detection_enabled 						  [0/1]; Est -ce que la détection du flapping est activée ?
	flap_detection_options						  [o,d,u] ;Cette propriété permet de définir quel statut d'un hôte sont pris en compte pour le calcul du % de FLAPPING
    low_flap_threshold 							  [0-100]; Seuil de sortie de l'état Flapping
	high_flap_threshold 						  [0-100]; Seuil d'entrée dans l'état Flapping 
    event_handler_enabled 						  [0/1]; Le gestionnaire d’événements est-il activé pour cet hôte ?
    event_handler 								  *Commande utilisée pour le gestionnaire d’événements*
	check_freshness								  [0/1]; Est -ce que la vérification de fraîcheur du check est activée ?
    freshness_threshold 						  *Seuil de fraîcheur du check*
	business_impact_modulations 				  *Modulation d'impact métier à utiliser*
	macromodulations 							  *Modulation de données à utiliser*
	resultmodulations 							  *Modulation de données à utiliser*
    service_excludes 							  *Liste des checks à ne pas appliquer sur l'hôte*
	service_overrides							  [Check, propriété valeur]; Liste des surcharges appliquées à des checks (les surcharges peuvent être séparées par -=#=-)

	#### Modèles ####

	register									  [0/1]; L'objet est-il un hôte ? mettre 0 pour un modèle d'hôte et mettre 1 pour un hôte
	for_all_users								  
    template_can_be_applied_by_si_admin           [0/1]; Est-ce que leles modèleadministrateurs estSI visiblepeuvent parappliquer tout( le monde1 (1) ou seulementnon par les utilisateurs administrateurs Shinken (0)( 0 ) le modèle sur un hôte ?
}


Pour créer un modèle d'hôte:

  • La clé register doit avoir la valeur 0
  • La clé host_name est remplacée par la clé name
  • La clé for_all_users est spécifique aux modèles d'hôte. Elle ne doit pas exister pour un hôte.


Info
Le nom d'hôte ( host_name) ne doit pas exister en tant que nom de cluster. Si tel est le cas, un warning sera affiché à l'import indiquant que les éléments de même nom ont été ignorés.

Exemple de surcharge de check

Une surcharge de check sur un hôte peut être définie comme dans l'exemple suivant:

Code Block
languagejs
themeConfluence
define host {

	host_name						172.16.0.191
	address							172.16.0.191
	use								linux

	service_overrides				NET Stats,max_check_attempts 2-=#=-NET Stats,notifications_enabled 0
}


Dans cet exemple, on désactive les notifications sur le check "NET Stats" accroché sur l'hôte et on met la valeur 2 dans la propriété "max_check_attempts" du check "Net Stats" accroché sur l'hôte. Les 2 surcharges de check sont séparées par -=#=-.

Les Clusters

Les clusters sont en fait des hôtes particuliers.

Ils sont donc définis avec le mot clé host. La différence avec les clusters et les hôtes est qu'un cluster possède obligatoirement une règle bp_rule.

Comme pour les hôtes, il est possible de définir des modèles de cluster, via la clé register.

Code Block
languagejs
themeConfluence
define host {
    
    is_cluster									[0/1]; il est maintenant possible d'utiliser cette propriété pour déterminer si l'élément est un cluster
    
    #### Définition du Cluster ####

    host_name 					[OBLIGATOIRE]	*Nom du Cluster*
	name						[OBLIGATOIRE]	*Nom de modèle de Cluster (lorsqu'il s'agit d'un modèle de Cluster)*
	check_command								 bp_rule!ma-definition-de-cluster    ( DEPRECATED: correspond à l'ancienne manière de définir un cluster. Toujours opérationnelle, mais nousShinken encourageonsrecommande l'utilisation de la propriété bp_rule, ci -dessous )
    bp_rule                                     *ma-definition-de-cluster* ; il est possible de définir le cluster avec cette clé (pour que cette clé soit prise en compte, is_cluster 1 doit être défini pour l'élément)
    use 		thresholds_display								*Liste des modèlesPermet de clusterdécrire àles utiliser*
seuils utilisés pour changer realm 										*Royaumele statut de l'hôte*
élément en Avertissement / Critique
    use     business_impact 							                                    *Liste des modèles de cluster à utiliser*
    realm 										*Royaume de l'hôte*
    business_impact 							[0-5]; Impact métier du cluster
    notes_url 									*URL externe pouvant donner des informations supplémentaires sur l'hôte*
    notes_multi_url								*Propriété utilisée pour définir plusieurs URL *
    enabled 									[0/1]; Est -ce que le cluster est activé/désactivé ?
    pack 									    *Pack auquel appartient le cluster*

	#### Supervision ####

	maintenance_period 							*Période de temps récurrente pendant laquelle le cluster est en maintenance*


	#### Valeurs par défaut pour les checks ####

	check_period 								*période de supervision pendantdurant laquelle sont faites les vérifications de l'état du cluster par Shinken*
	check_running_timeout 						*Timeout de la commande de vérification du cluster (en secondes)*
	warning_threshold_cpu_usage					*Nombre de secondes que peut consommer une commande avant d'apparaître en Warning dans le check 'Scheduler - Performance'*


	#### Droits de l'utilisateur ####

	view_contacts								*Les utilisateurs qui voient l'hôte*
	view_contact_groups							*Les groupes d'utilisateurs qui voient l'hôte*
	notification_contacts						*Les utilisateurs à notifier*
	notification_contact_groups					*Les groupes d'utilisateurs à notifier*
	edition_contacts							*Les utilisateurs peuvent modifier la configuration de l'hôte.*
	edition_contact_groups						*Les groupes d'utilisateurs qui peuvent modifier la configuration de l'hôte.*
    
	contacts 									*Liste des contacts qui pourront Voir/Editer/EtreNotifié*
    contact_groups 								*Groupes d'utilisateurs qui pourront Voir/Editer/EtreNotifié*

	#### Notifications ####

    notifications_enabled 						[0/1]; Est -ce que les notifications sont activées pour ce cluster ?	
    notification_interval 						*Intervalle d'envoi des notifications (en minutes)*
    notification_period 						*Période de temps pendant laquelle les notifications sont actives*
	notification_options						*EtatsÉtats pour lesquels il faut envoyer une notification*
    first_notification_delay 					*Délai avant l'envoi de la première notification*
    escalations 								*Liste des escalades de notifications utilisées pour cetce cluster*

	#### Expert ####

	reactionner_tag				    			*Poller reactionner associé à cet hôte*
	flap_detection_enabled 						[0/1]; Est -ce que la détection du flapping est activée ?
	flap_detection_options						[o,d,u] ;Cette propriété permet de définir quel statut d'un hôte sont pris en compte pour le calcul du % de FLAPPING
    low_flap_threshold 							[0-100]; Seuil de sortie de l'état Flapping
	high_flap_threshold 						[0-100]; Seuil d'entrée dans l'état Flapping 
    event_handler_enabled 						[0/1]; Le gestionnaire d’événements est-il activé pour cet hôte ?
    event_handler 								*Commande utilisée pour le gestionnaire d’événements*
	business_impact_modulations 				*Modulation d'impact métier à utiliser*
	macromodulations 							*Modulation de données à utiliser*
	resultmodulations 							*Modulation de données à utiliser*



    #### Modèles ####

	register									[0/1]; L'objet est-il un cluster ? mettre 0 pour un modèle de cluster et mettre 1 pour un cluster
    template_can_be_applied_by_si_admin         [0/1]; Est-ce que les administrateurs SI peuvent appliquer ( 1 ) ou non ( 0 ) le modèle sur un cluster ?
  }
Info
Le nom du cluster ( host_name ) ne doit pas exister en tant que nom d'hôte. Si tel est le cas, un warning sera affiché à l'import indiquant que les éléments de même nom ont été ignorés.

Les groupes d'hôtes

Code Block
languagejs
themeConfluence
define hostgroup {

	hostgroup_name			[OBLIGATOIRE]	*Nom du groupe d'hôtes*
	members									*Liste des hôtes à ajouter dans le groupe*
	template_members						*Les hôtes ayant les modèles listés seront ajoutés au groupe*
	enabled 								[0/1]; Est -ce que le groupe d'hôtes est activé/désactivé ?
	pack 									*Pack auquel appartient le groupe*
}

Les checks

Warning

Des checks peuvent avoir le même nom, par contre, ils ne peuvent pas être attachés aux mêmes hôtes ou clusters.

Cas particulier des check Dupliqué pour tous ( Duplicate Foreach ) :

Code Block
languagejs
themeConfluence
define service {
 
    
Code Block
define service {
 
    ##### Définition du check - Général ####

	service_description				[OBLIGATOIRE]	*Nom du check*
    name							[OBLIGATOIRE]	*Nom du check (lorsqu'il s'agit d'un modèle)*
	use 											*Liste des modèles de check à utiliser*
    hostgroup_name									*Liste des groupes d'hôtes sur lesquels va s'appliquer le check*
    host_name 										*Liste des hôtes, modèle d'hôtes, clusters ou modèle de cluster sur lesquels le check va s'appliquer (cf. la clé apply_on_type)*  
    notes_url 										*URL externe pouvant donner des informations supplémentaires sur le check*
	enabled 										[0/1]; Est -ce que le groupe d'hôtes est activé/désactivé ?
	pack 											*Pack auquel appartient le groupecheck*
    
    apply_on_type                                   [hosts/hosttpls/clusters/clustertpls]; Sur quel type d'objet le check sera appliqué ? (si non renseigné, sur un hôte)
 
	#### Données ####

	_NOMDEDONNEE									*valeur de la donnée*
 
	#### Paramètres de supervision ####

    maintenance_period 								*Période de temps récurrente pendant laquelle l'hôte est en maintenance*
    check_period 									*Période de temps pendantdurant laquelle les checks sont exécutés*
    check_command 					[OBLIGATOIRE]	*Commande utilisée pour vérifier le statut UP/DOWN du check*
    thresholds_display								*Permet de décrire les seuils utilisés pour changer le statut de l'élément en Avertissement / Critique*
    max_check_attempts 				              [OBLIGATOIRE]	   *Nombre de vérifications de l'état du check pour passer en état HARD*
    check_interval 					[OBLIGATOIRE]	*Intervalle d’exécution de la commande*
    retry_interval 					[OBLIGATOIRE]	*Intervalle de confirmation d'état (en minutes)*

    check_running_timeout 							*Timeout de la commande de vérification de l'hôte (en secondes)*

    active_checks_enabled 							[0/1]; Est -ce que les checks actifs sont activés pour ce check ?
    passive_checks_enabled 							[0/1]; Est -ce que les checks passifs sont activés pour ce check ?
	duplicate_foreach 								*Donnée utilisée pour la fonctionnalité Duplicate For Each (en majuscule et débutant par un _)*
	default_value									*VousPermet pouvezde fournir plusieurs arguments pour chaque valeur définie dans la donnée de l'hôte utilisé par la fonctionnalité Duplicate for Each.*
 
	#### Notifications ####

    notifications_enabled 							[0/1]; Est -ce que les notifications sont activées pour cet hôte ?	
    contacts 										*Liste des contacts auxquels envoyer les notifications*
    contact_groups 									*Groupes d'utilisateurs auxquels seront envoyéesenvoyés les notifications pour cet hôte*
    notification_interval 							*Intervalle d'envoi des notifications (en minutes)*
    notification_period 							*Période de temps pendant laquelle les notifications sont actives*
	notification_options							*EtatsÉtats pour lesquels il faut envoyer une notification*
    first_notification_delay 						*Délai avant l'envoi de la première notification*
    escalations 									*Liste des escalades de notifications utilisées pour cet hôte*
    
	#### Expert ####

	poller_tag 										*Poller tag associé à ce check*
	reactionner_tag									*Reactionner tag associé à ce check*
    business_impact 								[0-5]; Impact métier du check
	is_volatile										[0/1]; Cette propriété permet de forcer Shinken à envoyer une notification pour chaque retour en erreur d'un check.
	check_freshness									[0/1]; Est -ce que la vérification de fraicheur du check est activée ?
    freshness_threshold 							*Seuil de fraicheur du check*
	flap_detection_enabled 							[0/1]; Est -ce que la détection du flapping est activée ?
	flap_detection_options          				[o,d,u] ;Cette propriété permet de définir quel statut d'un hôte sont pris en compte pour le calcul du % de FLAPPING
    high_flap_threshold 							[0-100]; Seuil d'entrée dans l'état Flapping
    low_flap_threshold 								[0-100]; Seuil de sortie de l'état Flapping
    process_perf_data 								[0/1]; Prendre en compte la métrique éventuellement retournée par la check_command ?
    event_handler_enabled 							[0/1]; Le gestionnaire d’événements est-il activé pour cet hôte ?
    event_handler 									*Commande utilisée pour le gestionnaire d'évenements*
    business_impact_modulations 					*Modulation d'impact métier à utiliser*
    macromodulations 								*Modulation de données à utiliser*
    resultmodulations 								*Modulation de resultats à utiliser*
	definition_order								[100]

}



Détails sur les applications possibles des checks

Les clés à utiliser pour l'importation différent selon le type de check que l'on veut importer. Le tableau ci-dessous résume ces différences:


service_descriptionnameregisterapply_on_typeType de l'objet
X
1hostsCheck appliqué sur un hôte
X
1clustersCheck appliqué sur un cluster
X
0hosttplsCheck appliqué sur un modèle d'hôte
X
0clustertplsCheck appliqué sur un modèle de cluster

X0
Modèle de check

X1
Erreur

Les

contacts

utilisateurs

Code Block
languagejs
themeConfluence
define contact {
	contact_


    ##### Définition de l'utilisateur - Général ####

	contact_name			                          [OBLIGATOIRE]	   *Nom de l'utilisateur*
	name									                           *Nom de l'utilisateur (lorsqu'il s'agit d'un modèle d'utilisateur)*
	display_name							                           *Nom d'affichage de l'utilisateur*
	use	password									*Mot de passe de l'utilisateur*
	email									*Adresse email*
	pager									*Numéro de téléphone*
	use										                           *Liste des modèles de contact à hériter*
	contactgroups							                           *Liste des groupes auxquels appartient l'utilisateur*
	expertenabled									[0/1]; Est ce que l'utilisateur est un administrateur système ?
	is_admin                           [0/1]; Utilisateur désactivé/activé
	pack 											[0/1]; Est ce que l'utilisateur est un administrateur Shinken ?
    default_submit_to_staging      *Pack auquel appartient l'utilisateur*
	password								      [0/1]; Cette propriété permet de sélectionner l'onglet de workflow à afficher par défaut, lorsque l'utilisateur charge une nouvelle page.
    notificationways						*Liste des méthodes de notifications à utiliser pour cet utilisateur*
	enabled        *Mot de passe de l'utilisateur*
	authentication_cookie_validity_duration                            *Durée de validité du cookie de l'utilisateur après son identification*
	expert									                           [0/1]; Utilisateur désactivé/activé
	can_submit_commandsEst-ce que l'utilisateur est un administrateur système ?
	is_admin								                           [0/1]; Est -ce que l'utilisateur peutest soumettreun desadministrateur commandesShinken ?
	acl_make_downtime	email									[0/1]; Cette propriété permet de donner à l'utilisateur le droit de planifier ou d'enlever des périodes de maintenance depuis l'interface de visualisation
	acl_make_acknowledge					[0/1]; Cette propriété permet de donner à l'utilisateur le droit d'effectuer ou d'enlever des prises en compte dans l'interface de visualisation
	acl_force_result_check					[0/1]; Cette propriété permet de donner à l'utilisateur le droit de forcer le résultat d'un check dans l'interface de visualisation 
	acl_force_retry_check					[0/1]; Cette propriété permet de donner à l'utilisateur le droit de demander les réexécutions de checks dans l'interface de visualisation
	acl_in_tab_history						[null,history,sla,history_sla] Cette propriété permet de choisir la vue de l'onglet Historique dans l'interface de visualisation
	acl_show_history_range					[0/1] Cette propriété permet de donner à l'utilisateur le droit de voir le détail des changements dans l'Historique dans l'onglet Historique de l'interface de visualisation
	acl_show_sla_range						[0/1] Cette propriété permet de donner à l'utilisateur le droit de voir le détail des changements dans les SLA dans l'onglet Historique de l'interface de visualisation
	acl_share_everybody						[none,read,create,organize,modify,delete,all]; Vous pouvez paramétrer ici les droits d'accès à la section "Tout le monde" des favoris de                           *Adresse email*
	pager									                           *Numéro de téléphone*
	notificationways					                               *Liste des méthodes de notifications à utiliser pour cet utilisateur*

	#### Données ####

	_NOMDEDONNEE									*valeur de la donnée*
 
	#### Paramètres d'autorisations ####
	
	can_submit_commands					                               [0/1]; Est-ce que l'utilisateur peut soumettre des commandes ?
	acl_make_downtime						                           [0/1]; Cette propriété permet de donner à l'utilisateur le droit de planifier ou d'enlever des périodes de maintenance depuis l'interface de visualisation
	acl_sharemake_group		acknowledge					[none,read,create,organize,modify,delete,all]; Vous pouvez paramétrer ici les droits d'accès à la section "Mes groupes" des favoris de l'interface de visualisation
	acl_share_private						[none,read,create,organize,modify,delete,all]; Vous pouvez paramétrer ici les droits d'accès à la section "Privé" des favoris de l'interface de visualisation.
	acl_try_check_on_poller					[0/1]; Cette propriété permet de donner à l'utilisateur le droit d'effectuer ou d'executerenlever lesdes checksprises suren les pollers.
	acl_try_check_on_synchronizer			compte dans l'interface de visualisation
	acl_force_result_check					                           [0/1]; Cette propriété permet de donner à l'utilisateur le droit de forcer le résultat d'executerun lescheck checks sur la machine de configuration. 
}

La clé contact_groups est dépréciée, utilisez plutôt contactgroups

Pour créer un modèle d'utilisateur:

  • La clé  register doit avoir la valeur 0
  • La clé contact_ name  est remplacée par la clé name

    Les Groupes de contacts

    Code Block
    define contactgroup {
    	contactgroup_name		[OBLIGATOIRE]	*Nom du contact group*
    	members									*Membres du groupe*
    	template_members						*Les Utilisateurs avec le Modèle d'utilisateur spécifié appartiendront au groupe*
    	enabled									dans l'interface de visualisation 
    	acl_force_retry_check					                           [0/1]; Cette propriété Contact désactivé/activé
    	pack									*Cette propriété permet de définir dans quel pack se trouve le groupe d'hôte.*
    }

    Les Méthodes de Notification

    Code Block
    define notificationway {
    	notificationway_name			[OBLIGATOIRE]	*permet de donner à l'utilisateur le droit de demander les réexécutions de checks dans l'interface de visualisation
    	acl_acknowledge__automatic_deletion_condition__user_can_choose     [0/1]; Cette propriété permet de définir donner à l'utilisateur le nomdroit utiliséde pourchoisir identifier la méthodecondition de notification.*
    	host_notification_periodsuppression automatique des prises en compte.
    	acl_in_tab_history						*Cette propriété permet de définir la période de temps pendant laquelle les notifications concernant les hôtes seront envoyées.*
    	service_notification_period						*                           [null,history,sla,history_sla] Cette propriété permet de définirchoisir la périodevue de tempsl'onglet pendantHistorique laquelledans lesl'interface notifications concernant les checks seront envoyées.*de visualisation
    	hostacl_notificationsshow_enabledhistory_range						*Cette   propriété permet de définir si Shinken va envoyer des notifications concernant les hôtes.*
    	service_notifications_enabled					*Cette propriété permet de définir si Shinken va envoyer des notifications concernant les checks.*
    	host_notification_commands						* [0/1]; Cette propriété permet de définirdonner lesà commandesl'utilisateur quile envoientdroit lesde notificationsvoir pourle un hôte.*
    	service_notification_commands					*Cette propriété permet de définir les commandes qui envoient les notifications pour un check.*
    	host_notification_optionsdétail des changements dans l'Historique dans l'onglet Historique de l'interface de visualisation
    	acl_show_sla_range						*Cette propriété permet de définir quels Statuts et Contextes de l'hôte peuvent envoyer des notifications*
    	service_notification_options					*Cette propriété permet de définir quels Statuts et Contextes du check peuvent envoyer des notifications*
    	min_business_impact								* [0/1]; Cette propriété permet de définir donner à l'utilisateur le seuildroit d'Impactde Métiervoir quile enverradétail des notifications.*
    	enabled											[0/1]; Contact désactivé/activé
    	pack											*Cette propriété permet de définir dans quel pack se trouve le groupe d'hôte.*
    }

    Les Escalades

    Code Block
    define escalation {
    	escalation_name				[OBLIGATOIRE]	*Nom du contact group*
    	first_notification_time						*Cette propriété est utilisée pour définir combien de temps (en minutes) Shinken doit attendre après la première notification pour démarrer l'escalade.*
    	last_notification_time						*Cette propriété est utilisée pour définir combien de temps (en minutes) Shinken doit attendre après la première notification pour arreter l'escalade*
    	notification_interval						*Cette propriété permet de définir les intervalles de temps entre les notifications.*
    	escalation_period							*Cette propriété est utilisée pour définir la période pendant laquelle l'escalade sera activée.*
    	escalation_options							*Cette propriété permet de définir quels états peuvent démarrer une escalade*
    	contacts									*Cette propriété est utilisée pour définir quels sont les utilisateurs à notifier.*
    	contact_groups								*Cette propriété est utilisée pour définir quels sont les utilisateurs à notifier.*
    	enabled										[0/1]; Contact désactivé/activé
    	pack										*Cette propriété permet de définir dans quel pack se trouve le groupe d'hôte.*
    }

    Modulation d'impact métier

    Code Block
    define businessimpactmodulation {
        business_impact_modulation_name     [OBLIGATOIRE]	*Nom de la modulation*
    
        modulation_period         changements dans les SLA dans l'onglet Historique de l'interface de visualisation
    	acl_show_external_url                                              [0/1]; Cette propriété permet de donner (ou supprimer) le droit de voir les liens externes sur l'interface de supervision. 
    	acl_share_everybody						                           [none,read,create,organize,modify,delete,all]; Paramétrer ici les droits d'accès à la section "Tout le monde" des favoris de l'interface de visualisation
    	acl_share_group							                           [none,read,create,organize,modify,delete,all]; Paramétrer ici les droits d'accès à la section "Mes groupes" des favoris de l'interface de visualisation
    	acl_share_private						           				*Période de temps pendant laquelle la modulation est effective*
        business_impact    [none,read,create,organize,modify,delete,all]; Paramétrer ici les droits d'accès à la section "Privé"       					[0-5]; Valeurdes favoris de l'impactinterface métier à utiliser pour la modulation
    
    de visualisation.
    
    	acl__service_weather__owned__rights    pack                            [none,create,manage,modify,all]; Paramétrer les  				*Nom du pack dans lequel se trouve la modulation*
        enabled                             				[0/1]; La modulation est elle activée ?
    }

    Modulation de données

    Code Block
    define macromodulation {
        macromodulation_name	[OBLIGATOIRE]	*Nom de la modulation*
        modulation_periodpossibilités sur les météos qui appartiennent à l'utilisateur
     	acl__service_weather__non_owned__rights    						   [none,copy,transfer_of_ownership,delete,permanent_delete,restore,all]; Paramétrer les droits sur les météos qui n'appartiennent pas à l'utilisateur. 
    	acl__service_weather__owned__nb_max_user_can_own                   *Limiter le nombre de météos créées ou détenues par un utilisateur.*
    	
    	acl__can_edit__clusters	                          	*Période de temps pendant laquelle la modulation est effective*
    
        pack     *Autorise un utilisateur à éditer les clusters*
    	default_submit_to_staging                     	*Nom du pack dans lequel se trouve la modulation*
        enabled         [0/1]; Cette propriété permet de sélectionner l'onglet de workflow à afficher par défaut, lorsque l'utilisateur charge une nouvelle   	[0/1]; La modulation est elle activée ?
    }

    Modulation de résultats

    Code Block
    define resultmodulation {
        resultmodulation_name	[OBLIGATOIRE]	*Nom de la modulation*
    
        modulation_periodpage.
    	acl_try_check_on_poller					                           [0/1]; Cette propriété permet de donner à l'utilisateur le droit d'exécuter les 	checks 	*Périodesur de temps pendant laquelle la modulation est effective*
    les pollers.
    	acl_try_check_on_synchronizer			    output_rules                        	*Définition des règles[0/1]; Cette propriété permet de 	modulation*
    
    donner à l'utilisateur le packdroit d'exécuter les checks sur la machine de configuration. 
    	user__rights__property_permission__thresholds_display__can_edit    [0/1]; Cette propriété permet de définir si l'utilisateur peut modifier la propriété : thresholds_display.
    	acl_change_element_visibility_on_not_authenticated_view			   [0/1]; Cette propriété permet de donner à un utilisateur le droit de rendre visible 	*Nomun duélément packShinken dans lequelune sevue trouve la modulation*sans authentification
        enabled
    
        #### Modèles ####
    
    	register									                       	[0/1]; La modulationL'objet est-il elleun activéeutilisateur ?
    }

    Les commandes

    Code Block
    define command {
        command_name	[OBLIGATOIRE]	*Nom de la commande*
    
        command_line    [OBLIGATOIRE]	*Commande à executer*
        timeout mettre 0 pour un modèle d'utilisateur et mettre 1 pour un utilisateur 
        template_can_be_applied_by_si_admin                       			*Temps en secondes à partir duquel la commande entre en timeout*
    
        enabled             			[0/1]; La commande est elle activée ?
        pack                			*Nom du pack dans lequel se trouve la commande*
    
        poller_tag                      *Poller tag associé à cette commande*
        reactionner_tag                 *Reactionner tag associé à cette commande*
        module_type                     *Cette propriété est utilisée pour définir si cette commande devrait être exécutée par un module spécifique de vos pollers ou reactionners.*
        shell_execution                 [0/1]; Cette propriété est utilisée pour définir si la commande doit être exécutée dans un shell.
     }

    Les Périodes de temps

    Code Block
    define timeperiod {
        timeperiod_name		[OBLIGATOIRE]	*Nom de la période de temps*
    
        monday              				08:00-18:00
        tuesday             				08:00-18:00
        wednesday           				08:00-18:00
        thursday            				08:00-18:00
        friday              				08:00-18:00
        sunday	            				08:00-18:00
        saturday            				08:00-18:00
        
    
        enabled	            				[0/1]; La modulation est elle activée ?
        pack                				*Nom du pack dans lequel se trouve la modulation*
    }
    
    
     [0/1]; Est-ce que les administrateurs SI peuvent appliquer ( 1 ) ou non ( 0 ) ce modèle sur un utilisateur ?  
    
    }

    La clé contact_groups est dépréciée, utilisez plutôt contactgroups

    Pour créer un modèle d'utilisateur :

    • La clé register doit avoir la valeur 0
    • La clé contact_ name est remplacée par la clé name

    Les Groupes de contacts

    Code Block
    languagejs
    themeConfluence
    define contactgroup {
    
    	contactgroup_name		[OBLIGATOIRE]	*Nom du contact group*
    	members									*Membres du groupe*
    	template_members						*Les Utilisateurs avec le Modèle d'utilisateur spécifié appartiendront au groupe*
    	enabled									[0/1]; Contact désactivé/activé
    	pack									*Cette propriété permet de définir dans quel pack se trouve le groupe de contacts*
    }

    Les Méthodes de Notification

    Code Block
    languagejs
    themeConfluence
    define notificationway {
    
    	notificationway_name			[OBLIGATOIRE]	*Cette propriété permet de définir le nom utilisé pour identifier la méthode de notification.*
    	host_notification_period						*Cette propriété permet de définir la période de temps pendant laquelle les notifications concernant les hôtes seront envoyées.*
    	service_notification_period						*Cette propriété permet de définir la période de temps pendant laquelle les notifications concernant les checks seront envoyées.*
    	host_notifications_enabled						*Cette propriété permet de définir si Shinken va envoyer des notifications concernant les hôtes.*
    	service_notifications_enabled					*Cette propriété permet de définir si Shinken va envoyer des notifications concernant les checks.*
    	host_notification_commands						*Cette propriété permet de définir les commandes qui envoient les notifications pour un hôte.*
    	service_notification_commands					*Cette propriété permet de définir les commandes qui envoient les notifications pour un check.*
    	host_notification_options						*Cette propriété permet de définir quels Statuts et Contextes de l'hôte peuvent envoyer des notifications*
    	service_notification_options					*Cette propriété permet de définir quels Statuts et Contextes du check peuvent envoyer des notifications*
    	min_business_impact								*Cette propriété permet de définir le seuil d'Impact Métier qui enverra des notifications.*
    	enabled											[0/1]; Contact désactivé/activé
    	pack											*Cette propriété permet de définir dans quel pack se trouve le groupe d'hôte.*
    }

    Les Escalades

    Code Block
    languagejs
    themeConfluence
    define escalation {
    
    	escalation_name				[OBLIGATOIRE]	*Nom du contact group*
    	first_notification_time						*Cette propriété est utilisée pour définir combien de temps (en minutes) Shinken doit attendre après la première notification pour démarrer l'escalade.*
    	last_notification_time						*Cette propriété est utilisée pour définir combien de temps (en minutes) Shinken doit attendre après la première notification pour arrêter l'escalade*
    	notification_interval						*Cette propriété permet de définir les intervalles de temps entre les notifications.*
    	escalation_period							*Cette propriété est utilisée pour définir la période pendant laquelle l'escalade sera activée.*
    	escalation_options							*Cette propriété permet de définir quels états peuvent démarrer une escalade*
    	contacts									*Cette propriété est utilisée pour définir quels sont les utilisateurs à notifier.*
    	contact_groups								*Cette propriété est utilisée pour définir quels sont les utilisateurs à notifier.*
    	enabled										[0/1]; Contact désactivé/activé
    	pack										*Cette propriété permet de définir dans quel pack se trouve le groupe d'hôte.*
    }

    Modulation d'impact métier

    Code Block
    languagejs
    themeConfluence
    define businessimpactmodulation {
    
        business_impact_modulation_name     [OBLIGATOIRE]	*Nom de la modulation*
    
        modulation_period                   				*Période de temps pendant laquelle la modulation est effective*
        business_impact                    					[0-5]; Valeur de l'impact métier à utiliser pour la modulation
    
        pack                                				*Nom du pack dans lequel se trouve la modulation*
        enabled                             				[0/1]; La modulation est-elle activée ?
    }

    Modulation de données

    Code Block
    languagejs
    themeConfluence
    define macromodulation {
    
        macromodulation_name	[OBLIGATOIRE]	*Nom de la modulation*
        modulation_period                   	*Période de temps pendant laquelle la modulation est effective*
    
        pack                                	*Nom du pack dans lequel se trouve la modulation*
        enabled                             	[0/1]; La modulation est-elle activée ?
    }

    Modulation de résultats

    Code Block
    languagejs
    themeConfluence
    define resultmodulation {
    
        resultmodulation_name	[OBLIGATOIRE]	*Nom de la modulation*
    
        modulation_period                  	 	*Période de temps pendant laquelle la modulation est effective*
        output_rules                        	*Définition des règles de la modulation*
    
        pack                                	*Nom du pack dans lequel se trouve la modulation*
        enabled                             	[0/1]; La modulation est-elle activée ?
    
    }

    Les commandes

    Code Block
    languagejs
    themeConfluence
    define command {
    
        command_name	[OBLIGATOIRE]	*Nom de la commande*
        command_line    [OBLIGATOIRE]	*Commande à executer*
    
        timeout             			*Temps en secondes à partir duquel la commande entre en timeout*
    
        enabled             			[0/1]; La commande est elle activée ?
        pack                			*Nom du pack dans lequel se trouve la commande*
    
        poller_tag                      *Poller tag associé à cette commande*
        reactionner_tag                 *Reactionner tag associé à cette commande*
        module_type                     *Cette propriété est utilisée pour définir si cette commande devrait être exécutée par un module spécifique de pollers ou reactionners.*
        shell_execution                 [0/1]; Cette propriété est utilisée pour définir si la commande doit être exécutée dans un shell.
     }



    Les Périodes de temps

    Code Block
    languagejs
    themeConfluence
    define timeperiod {
    
        timeperiod_name		[OBLIGATOIRE]	*Nom de la période de temps*
    
        monday              				08:00-18:00
        tuesday             				08:00-18:00
        wednesday           				08:00-18:00
        thursday            				08:00-18:00
        friday              				08:00-18:00
        sunday	            				08:00-18:00
        saturday            				08:00-18:00
        
    
        enabled	            				[0/1]; La modulation est-elle activée ?
        pack                				*Nom du pack dans lequel se trouve la modulation*
    }
    
    

    Cas particuliers

    Forcer la valeur des propriétés

    Il est possible d’ajouter le suffixe [FORCE] ( sans espace ) à la clé d’import d'un élément Shinken afin de forcer la valeur associée ( voir la page Forcer la valeur des noms des éléments et des propriétés de type liste (comme la propriété des modèles hérités) ).

    Exemple :

    Code Block
    languagejs
    themeConfluence

    Cas particuliers

    Forcer l'utilisation d'un modèle

    Certains objets de Shinken Entreprise peuvent utiliser des modèles pour accélérer le processus de configuration. C'est le cas par exemple des hôtes, checks ou des contacts.

    Dans les fichiers d'imports, la propriété "use" permet de définir une liste de modèles à utiliser.

    Pour chaque objet de même nom qui définit la propriété "use", les modèles spécifiés seront ajoutés dans la liste des modèles à hériter pour l'objet en question.

    Prenons par exemple la configuration suivante:

    Code Block
    # Fichier 1
    define host {
    	host_name			Test host
    	address				192.168.1.XX
    	use					modele1, modele2
    }
     
    # Fichier 2
    define host {
    	host_name			Test host
    	address				192.168.1.XX
    	use					modele3
    }

    L'hôte "Test host" héritera des modèles modele1modele2 et modele3.

    Or, il se peut aussi que l'utilisateur veuille remplacer la liste des modèles utilisés au lieu d'y ajouter des éléments. Dans ce cas, il peut ajouter [FORCE] à la propriété "use", ce qui aura pour effet de remplacer complètement la liste des modèles utilisés par celle fournie avec l'option [FORCE]. 

    Note : il n'y a pas d'espace entre la propriété et le [FORCE].

    La configuration se comporterait alors de la manière suivante:

    Code Block
    # Source 1
    define host {
    	host_name			Test host
    	address				192.168.1.XX
    	use					modele1, modele2
    }
    
    # Source 2
    define host {
    	host_name			Test host
    	address				192.168.1.XX
    	use[FORCE]			modele3
    }

    Dans ce dernier cas, l'hôte "Test host" utilisera seulement le modèle modele3, à cause de l'option FORCE.

    Résolution des conflits

    Dans le cas où l'option FORCE est utilisée plusieurs fois, la dernière à être définie sera effective. Par exemple, si le même objet est défini plusieurs fois dans des sources différentes, la dernière source définissant la propriété "use" avec l'option FORCE fera foi.

    Prenons la configuration suivante:

    Code Block
    # Source 1
    define host {
    	host_name			Test host
    	address				192.168.1.XX
    	use					modele1, modele2
    }
    
    # Source 2
    define host {
    	host_name			Test host_SE_UUID          	core-hosts-YVBpgGqQy05Eaib9DVYWueBbmt3d15RO
    	_SE_UUID_HASH     	66619d536ac4989991ca746c174a3060 	
     	host_name[FORCE]    Test host - source 1
    	address				192.168.1.XX12
    	use[FORCE]					modele3
    }
    
    # Source 3
    define host {
    	host_name			Test host
    	address				192.168.1.XX
    	use[FORCE]			modele4
    }

    Dans cet exemple de configuration, l'hôte utilisera seulement le modèle "modele4".

    Forcer l'application d'autres propriétés

    De la même manière que pour forcer l'application des modèles, voici la liste des propriétés ou vous pouvez rajouter le [FORCE] suivant la propriété :
     

    modele1, modele2
    }
    

    Lorsqu’une propriété est marquée avec [FORCE], son comportement est le suivant :

    • La valeur est considérée comme prioritaire par rapport aux autres sources
    • Si une autre source importe le même objet avec une valeur différente, cette dernière est ignorée
    • En cas de conflit entre plusieurs valeurs forcées, la priorité de la source détermine la valeur conservée

    Ajouter [FORCE] à une clé d'import contenant une liste ( comme la propriété "members" servant à définir les membres d'un groupe d'utilisateurs ) aura pour effet de remplacer complètement la liste des autres sources par celle fournie avec l'option [FORCE]

    Liste des clés d'import pouvant être forcées

    Excerpt

    La liste exhaustive de toutes les clé est disponible ici : Liste des clés pouvant utiliser [FORCE] 

    Note sur le champ _SE_UUID

    Le champ _SE_UUID qui peut être trouvé dans les fichiers de configuration est un champ interne à Shinken Entreprise.

    Il permet d'identifier les objets de manière unique. Ce champ ne doit donc pas être modifié manuellement.


    Aussi, lors de la copie d'objet dans les fichiers de configuration, il faut être vigilant quant à la présence d'un champ _SE_UUID. Dans ce cas de figure, il faut supprimer le champ _SE_UUID de l'objet dupliqué, sans quoi l'interface de Configuration affichera une erreur à l'import de la source.

    Définir un texte sur plusieurs lignes

    Pour pouvoir avoir une définition de propriété sur plusieurs lignes, il faut utiliser trois accents grave ( triple back tick ) soit :

    Code Block
    languagejs
    themeConfluence
    ```

    Exemple:

    Code Block
    languagejs
    themeConfluence
    thresholds_display	 	```Affichage des seuils
    						Avertissement : 50 %
    						Critique : 80 %```
    Info
    Dans une définition sur plusieurs lignes avec triple rétro-apostrophe, les ";" ne sont pas considérés comme du texte normal ( pas comme une fin de ligne )
    Clé d'importview_contacts
    view_contact_groups
    notification_contacts
    notification_contact_groups
    edition_contacts
    edition_contact_groups
    parents
    escalations
    business_impact_modulations
    macromodulations
    resultmodulations
     

    Forcer une propriété à aucune valeur

    Dans certains cas, on veut définir spécifiquement qu'une propriété d'un objet n'a aucune valeur. Cela signifie aussi que cette propriété n'aura pas de valeur héritée d'un modèle.

    On peut obtenir ce comportement en utilisant la valeur "null" dans les fichiers de configuration:

    Code Block
    define host {
    	host_name 		mon_hote
    	parents 		null
    }

    Note sur le champ SE_UUID

    Le champ SE_UUID qui peut être trouvé dans les fichiers de configuration est un champ interne à Shinken Entreprise.

    Il permet d'identifier les objets de manière unique. Ce champ ne doit donc pas être modifié manuellement.

    Aussi, lors de la copie d'objet dans les fichiers de configuration, il faut être vigilant quant à la présence d'un champ SE_UUID. Dans ce cas de figure, il faut supprimer le champ SE_UUID de l'objet dupliqué, sans quoi l'interface de Configuration affichera une erreur à l'import de la source
    .