Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Scroll Ignore
scroll-pdftrue
scroll-officetrue
scroll-chmtrue
scroll-docbooktrue
scroll-eclipsehelptrue
scroll-epubtrue
scroll-htmltrue
Panel
titleSommaire

Table of Contents
stylenone

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'ajoute quelques clés spécifiques à Shinken Entreprise.

Les lignes commençant par un # seront considérées comme des commentaires et ne seront pas lues.


Warning

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

Info
Panel

Sommaire

Table of Contents

Les hôtes

Code Block

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

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

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

Code Block
themeEmacs
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 hôtes

Code Block
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 								*Période de temps pendant laquelle les checks sont exécutés*
    check_command 								*Commande utilisée pour vérifier le statut UP/DOWN de l'hôte*
	max_check_attempts 							*Nombre de vérifications de l'état de l'hôte pour passer en état HARD*
	check_running_timeout 						*Timeout de la commande de vérification de l'hôte (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'*
	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 pendant 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 reactionner 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 modèle d'hôte ou un hôte ?
	for_all_users								[0/1]; Est-ce que le modèle est visible par tout le monde (1) ou seulement par les utilisateurs administrateurs Shinken (0) ?
}


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
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
define host {
    
    is_cluster									[0/1]; il 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-bp-rule
definition-de-cluster    use 										*Liste des modèles( DEPRECATED: correspond à l'ancienne manière de clusterdéfinir à 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 un cluster. Toujours opérationnelle, mais nous encourageons 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 										*périodeListe dedes supervisionmodèles pendantde laquellecluster sontà faitesutiliser*
 les vérifications de l'état du cluster par Shinken*
	check_running_timeout realm 										*TimeoutRoyaume de lal'hôte*
 commande de vérification du cluster (en secondes)*
	warning_threshold_cpu_usagebusiness_impact 							*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[0-5]; Impact métier du cluster
    notes_url 									*URL externe pouvant donner des informations supplémentaires sur l'hôte*
    notes_multi_url								*Les utilisateurs qui voient l'hôte*
	view_contact_groupsPropriété utilisée pour définir plusieurs URL *
    enabled 									*Les groupes d'utilisateurs qui voient l'hôte*
	notification_contacts[0/1]; Est ce que le cluster est activé/désactivé ?
    pack 									*Les utilisateurs à notifier*
	notification_contact_groups    *Pack auquel appartient le cluster*

	#### Supervision ####
	maintenance_period 							*LesPériode groupes d'utilisateurs à notifier*
	edition_contacts							*Les utilisateurs peuvent modifier la configuration de l'hôte.*
	edition_contact_groupsde temps récurrente pendant laquelle le cluster est en maintenance*


	#### Valeurs par défaut pour les checks ####
	check_period 								*Lespériode de groupessupervision d'utilisateurspendant quilaquelle peuventsont modifierfaites lales configurationvérifications de l'hôte.*
état du cluster par Shinken*
	contacts 			check_running_timeout 						*ListeTimeout desde contactsla quicommande pourront Voir/Editer/EtreNotifié*
    contact_groups de vérification du cluster (en secondes)*
	warning_threshold_cpu_usage								*Groupes d'utilisateurs qui pourront Voir/Editer/EtreNotifié*

	#### Notifications ####
    notifications_enabled *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								[0/1]; Est ce que les notifications sont activées pour ce cluster ?	
    notification_interval *Les utilisateurs qui voient l'hôte*
	view_contact_groups							*IntervalleLes groupes d'envoiutilisateurs desqui notifications (en minutes)*
    notification_period voient l'hôte*
	notification_contacts						*PériodeLes deutilisateurs temps pendant laquelle les notifications sont activesà notifier*
	notification_contact_optionsgroups						*EtatsLes pourgroupes lesquelsd'utilisateurs il faut envoyer une notification*
    first_notification_delay à notifier*
	edition_contacts							*Les utilisateurs peuvent modifier la configuration de l'hôte.*
	edition_contact_groups						*DélaiLes avantgroupes l'envoi ded'utilisateurs qui peuvent modifier la première notificationconfiguration de l'hôte.*
    escalations
	contacts 									*Liste des escaladescontacts dequi notifications utilisées pour cet cluster*

	#### Expert ####
	reactionner_tagpourront Voir/Editer/EtreNotifié*
    contact_groups 						    			*PollerGroupes reactionnerd'utilisateurs associéqui à cet hôte*
	flap_detectionpourront Voir/Editer/EtreNotifié*

	#### Notifications ####
    notifications_enabled 						[0/1]; Est ce que les lanotifications détectionsont duactivées flappingpour estce activéecluster ?
	flap_detection_options	
    notification_interval 						[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 *Intervalle d'envoi des notifications (en minutes)*
    notification_period 						*Période de temps pendant laquelle les notifications sont actives*
	notification_options							[0-100]; Seuil de sortie de l'état Flapping
	high_flap_threshold*Etats pour lesquels il faut envoyer une notification*
    first_notification_delay 						[0-100]; Seuil d'entrée dans l'état Flapping 
    event_handler_enabled *Délai avant l'envoi de la première notification*
    escalations 								[0/1]; Le gestionnaire d’événements est-il activé*Liste des escalades de notifications utilisées pour cet hôte ?
    event_handler cluster*

	#### Expert ####
	reactionner_tag								*Commande utilisée pour le gestionnaire d’événements*
	business_impact_modulations 				*ModulationPoller d'impactreactionner métierassocié à utilisercet hôte*
	macromodulationsflap_detection_enabled 							*Modulation de données à utiliser*
	resultmodulations [0/1]; Est ce que la détection du flapping est activée ?
	flap_detection_options							*Modulation de données à utiliser*



    #### Modèles ####
	register[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/1-100]; L'objet est-il un modèle de cluster ou 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
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 	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]; EstLe cegestionnaire qued’événements leest-il groupeactivé d'hôtespour estcet activé/désactivéhôte ?
	pack    event_handler 									*PackCommande auquelutilisée appartientpour le groupe*
}

Les checks

Code Block
define service {
 
    ##### Définition du check - Général ####
	service_descriptiongestionnaire d’événements*
	business_impact_modulations 				[OBLIGATOIRE]	*Nom du check*
    name	*Modulation d'impact métier à utiliser*
	macromodulations 						[OBLIGATOIRE]	*NomModulation dude check (lorsqu'il s'agit d'un modèle)données à utiliser*
	useresultmodulations 											*ListeModulation desde modèlesdonnées de check à utiliser*



    hostgroup_name									*Liste des groupes d'hôtes sur lesquels va s'appliquer le check*
    host_name 	#### Modèles ####
	register									*Liste des hôtes, modèle d'hôtes, clusters ou[0/1]; L'objet est-il un modèle de cluster surou lesquelsun le check va s'appliquer (cf la clé apply_on_type)*  
    notes_url 	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
define hostgroup {
	hostgroup_name			[OBLIGATOIRE]	*Nom du groupe d'hôtes*
	members									*URLListe externedes pouvanthôtes donnerà desajouter informationsdans supplémentaires sur le checkle 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

Code Block
define service   {
 
    apply_on_type##### Définition du check - Général ####
	service_description				[OBLIGATOIRE]	*Nom du check*
    name							[OBLIGATOIRE]	*Nom du check                     [hosts/hosttpls/clusters/clustertpls]; Sur quel type d'objet le check sera appliqué ? (si non renseigné, sur un hôte)
 
	#### Données ####
	_NOMDEDONNEE(lorsqu'il s'agit d'un modèle)*
	use 											*valeurListe dedes la donnée*
 
	#### Paramètres de supervision ####modèles de check à utiliser*
    maintenancehostgroup_period name									*PériodeListe des degroupes tempsd'hôtes récurrentesur pendantlesquels laquelleva ls'hôteappliquer estle en maintenancecheck*
    checkhost_periodname 									*Période	*Liste des hôtes, modèle d'hôtes, clusters ou modèle de temps pendant laquelle les checks sont exécutés*cluster sur lesquels le check va s'appliquer (cf la clé apply_on_type)*  
    checknotes_commandurl 							[OBLIGATOIRE]			*CommandeURL utiliséeexterne pourpouvant vérifierdonner ledes informations statutsupplémentaires UP/DOWNsur dule check*
    max_check_attempts 	enabled 										[OBLIGATOIRE]	*Nombre de vérifications de l'état du check pour passer en état HARD*
    check_interval 0/1]; Est ce que le groupe d'hôtes est activé/désactivé ?
	pack 										[OBLIGATOIRE]	*IntervallePack d’exécutionauquel deappartient lale commandegroupe*
    
    retryapply_on_interval 					[OBLIGATOIRE]	*Intervalle de confirmation d'état (en minutes)*

type          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  [hosts/hosttpls/clusters/clustertpls]; Sur quel type d'objet le check sera appliqué ? (si non renseigné, sur un hôte)
 
	#### Données ####
	_NOMDEDONNEE									*Donnéevaleur utiliséede pour la fonctionnalité Duplicate For Each (en majuscule et débutant par un _)*
	default_value	donnée*
 
	#### Paramètres de supervision ####
    maintenance_period 								*VousPériode pouvezde fournirtemps plusieursrécurrente arguments pour chaque valeur définie dans la donnée de pendant laquelle l'hôte utiliséest par la fonctionnalité Duplicate for Each.*
 
	#### Notifications ####en maintenance*
    notificationscheck_enabledperiod 									[0/1]; Est ce que*Période de temps pendant laquelle les notificationschecks sont activées pour cet hôte ?	exécutés*
    contactscheck_command 										*Liste des contacts auxquels envoyer les notifications[OBLIGATOIRE]	*Commande utilisée pour vérifier le statut UP/DOWN du check*
    contactmax_check_groupsattempts 									*Groupes d'utilisateurs auxquels seront envoyées les notifications pour cet hôte[OBLIGATOIRE]	*Nombre de vérifications de l'état du check pour passer en état HARD*
    notificationcheck_interval 					[OBLIGATOIRE]	*Intervalle d’exécution de la commande*
    retry_interval 					[OBLIGATOIRE]	*Intervalle de confirmation d'envoi des notificationsétat (en minutes)*

    notificationcheck_running_periodtimeout 							*PériodeTimeout de tempsla pendantcommande laquellede vérification lesde notifications sont actives*
	notification_optionsl'hôte (en secondes)*

    active_checks_enabled 							*Etats pour lesquels il faut envoyer une notification*[0/1]; Est ce que les checks actifs sont activés pour ce check ?
    firstpassive_notificationchecks_delayenabled 						*Délai avant l'envoi de la première notification*
    escalations 		[0/1]; Est ce que les checks passifs sont activés pour ce check ?
	duplicate_foreach 								*ListeDonnée desutilisée escaladespour dela notificationsfonctionnalité utiliséesDuplicate pourFor cet hôte*
    
	#### Expert ####
	poller_tag Each (en majuscule et débutant par un _)*
	default_value										*Poller tag associé à ce check*
	reactionner_tag									*Reactionner tag associé à ce check*
    business_impact 								[0-5]; Impact métier du check
	is_volatile			Vous pouvez 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]; CetteEst propriétéce permetque deles forcernotifications Shinkensont àactivées envoyerpour unecet notification pour chaque retour en erreur d'un check.
	check_freshnesshôte ?	
    contacts 										[0/1]; Est ce que la vérification de fraicheur du check est activée ?*Liste des contacts auxquels envoyer les notifications*
    contact_groups 									*Groupes d'utilisateurs auxquels seront envoyées les notifications pour cet hôte*
    freshnessnotification_thresholdinterval 							*Seuil de fraicheur du check*
	flap_detection_enabledIntervalle d'envoi des notifications (en minutes)*
    notification_period 							[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*Période de temps pendant laquelle les notifications sont actives*
	notification_options							*Etats pour lesquels il faut envoyer une notification*
    highfirst_flapnotification_thresholddelay 							[0-100]; Seuil d'entrée dans l'état Flapping*Délai avant l'envoi de la première notification*
    low_flap_thresholdescalations 									[0-100]; Seuil*Liste des escalades de notifications sortieutilisées depour l'état Flapping
    process_perf_data cet hôte*
    
	#### Expert ####
	poller_tag 										[0/1]; Prendre en compte la métrique éventuellement retournée par la check_command ?*Poller tag associé à ce check*
	reactionner_tag									*Reactionner tag associé à ce check*
    eventbusiness_handler_enabledimpact 								[0/1-5]; LeImpact gestionnairemétier d’événements est-il activé pour cet hôte ?
    event_handler du check
	is_volatile										*Commande utilisée pour le gestionnaire d'évenements*
    business_impact_modulations 					*Modulation d'impact métier à utiliser*
    macromodulations [0/1]; Cette propriété permet de forcer Shinken à envoyer une notification pour chaque retour en erreur d'un check.
	check_freshness									*Modulation de données à utiliser*[0/1]; Est ce que la vérification de fraicheur du check est activée ?
    resultmodulationsfreshness_threshold 								*ModulationSeuil de resultatsfraicheur àdu utilisercheck*
	definition_orderflap_detection_enabled 								[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'objetX1hostsCheck appliqué sur un hôteX1clustersCheck appliqué sur un clusterX0hosttplsCheck appliqué sur un modèle d'hôteX0clustertplsCheck appliqué sur un modèle de clusterX0Modèle de checkX1Erreur

Les contacts

Code Block
define contact {
	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*
	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*
	expert	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]; EstLe cegestionnaire que l'utilisateur est un administrateur système ?
	is_admind’événements est-il activé pour cet hôte ?
    event_handler 									[0/1]; Est ce que l'utilisateur est un administrateur Shinken ?
	notificationways*Commande utilisée pour le gestionnaire d'évenements*
    business_impact_modulations 					*Modulation d'impact métier à utiliser*
    macromodulations 								*ListeModulation des méthodes de notificationsdonnées à utiliser*
   pour cetresultmodulations utilisateur*
	enabled									[0/1]; Utilisateur désactivé/activé
	can_submit_commands*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

Code Block
define contact {
	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*
	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*
	expert				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_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]; CetteEst propriétéce permet de donner à que l'utilisateur leest droitun deadministrateur voir le détail des changements dans l'Historique dans l'onglet Historique de l'interface de visualisation
	acl_show_sla_rangesystème ?
	is_admin								[0/1]; CetteEst propriété permet de donner à ce que l'utilisateur leest droitun deadministrateur voirShinken 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 l'interface de visualisation
	acl_share_group							[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 default_submit_to_staging               [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									[0/1]; Utilisateur désactivé/activé
	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'executer les checks sur les pollers.enlever des périodes de maintenance depuis l'interface de visualisation
	acl_try_check_on_synchronizermake_acknowledge					[0/1]; Cette propriété permet de donner à l'utilisateur le droit d'executereffectuer lesou checksd'enlever surdes laprises machineen decompte 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_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]; 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]	* 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 définirchoisir lela nomvue utiliséde pourl'onglet identifierHistorique ladans méthodel'interface de notification.*visualisation
    	hostacl_show_notificationhistory_periodrange						*[0/1] Cette propriété permet de définir la périodedonner à l'utilisateur le droit de tempsvoir pendantle laquelledétail les notifications concernant les hôtes seront envoyées.*
    	service_notification_perioddes changements dans l'Historique dans l'onglet Historique de l'interface de visualisation
    	acl_show_sla_range						*[0/1] Cette propriété permet de définir la périodedonner à l'utilisateur le droit de temps pendant laquelle les notifications concernant les checks seront envoyées.*
    	host_notifications_enabledvoir le détail des changements dans les SLA dans l'onglet Historique de l'interface de visualisation
    	acl_share_everybody						*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						*[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 l'interface de visualisation
    	acl_share_group							[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'executer les checks sur les pollers.
    	acl_try_check_on_synchronizer			[0/1]; Cette propriété permet de définirdonner quelsà Statutsl'utilisateur etle Contextesdroit de ld'hôteexecuter peuventles envoyerchecks des notifications*
    	service_notification_options					*Cette propriété permetsur la machine de définir quels Statuts et Contextes du check peuvent envoyer des notifications*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	
    	min_business_impact								*CetteMembres propriété permet de définir le seuildu groupe*
    	template_members						*Les Utilisateurs avec le Modèle d'Impactutilisateur Métierspécifié quiappartiendront enverra des notifications.au groupe*
    	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

    Méthodes de Notification

    Code Block
    define escalationnotificationway {
    	escalationnotificationway_name				[OBLIGATOIRE]	*Nom du contact groupCette propriété permet de définir le nom utilisé pour identifier la méthode de notification.*
    	firsthost_notification_timeperiod						*Cette propriété estpermet utiliséede pourdéfinir définirla combienpériode de temps (enpendant minutes)laquelle Shinkenles doitnotifications attendreconcernant aprèsles lahôtes première notification pour démarrer l'escaladeseront envoyées.*
    	lastservice_notification_timeperiod						*Cette propriété estpermet utiliséede pourdéfinir définirla combienpériode de temps (enpendant minutes)laquelle Shinkenles doitnotifications attendreconcernant aprèsles lachecks première notification pour arreter l'escaladeseront envoyées.*
    	notificationhost_notifications_intervalenabled						*Cette propriété permet de définir les intervalles de temps entresi Shinken va envoyer des notifications concernant les notificationshôtes.*
    	escalationservice_notifications_periodenabled							*Cette propriété estpermet utilisée pourde définir lasi périodeShinken pendantva laquelleenvoyer l'escaladedes sera activéenotifications concernant les checks.*
    	escalation_options	host_notification_commands						*Cette propriété permet de définir quels états peuvent démarrer une escalade*
    	contacts				 les commandes qui envoient les notifications pour un hôte.*
    	service_notification_commands					*Cette propriété estpermet de utiliséedéfinir pourles définircommandes quelsqui sontenvoient les utilisateursnotifications pour àun notifiercheck.*
    	contacthost_notification_groupsoptions								*Cette propriété estpermet utiliséede pour définir quels sont les utilisateurs à notifier.*
    	enabled		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.*
    }
    Modulation d'impact métier

    Les Escalades

    Code Block
    define businessimpactmodulationescalation {
        business_impact_modulation_name     	escalation_name				[OBLIGATOIRE]	*Nom dedu lacontact modulationgroup*
    
        modulation_period                   	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						*PériodeCette depropriété tempsest pendantutilisée laquellepour ladéfinir modulationcombien estde effective*
    temps (en minutes) Shinken business_impactdoit 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							[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

    *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
    Code Block
    define macromodulation {
        macromodulationbusiness_impact_modulation_name	     [OBLIGATOIRE]	*Nom de la modulation*
    
        modulation_period                   				*Période de temps pendant laquelle la modulation est effective*
    
        packbusiness_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

    résultats

    données

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

    Modulation de résultats

    Code Block
    define commandresultmodulation {
        commandresultmodulation_name	[OBLIGATOIRE]	*Nom de la commandemodulation*
    
        commandmodulation_lineperiod    [OBLIGATOIRE]	*Commande à executer*
        timeout        	     			*TempsPériode ende secondestemps àpendant partir duquellaquelle la commandemodulation entreest en timeout*
    
    effective*
        output_rules           enabled             			[0/1]; La commande est elle activée ?
    *Définition des règles de 	modulation*
    
        pack                pack                			*Nom du pack dans lequel se trouve la commande*
    }

    Les Périodes de temps

    Code Block
    define timeperiod {
    modulation*
        enabled      timeperiod_name		[OBLIGATOIRE]	*Nom de la période de temps*
    
        monday              	[0/1]; La modulation est elle activée ?
    }

    Les commandes

    Code Block
    define command {
        command_name	[OBLIGATOIRE]	*Nom de la commande*
    
        command_line    [OBLIGATOIRE]	*Commande à executer*
        timeout  			08:00-18:00
        tuesday             				08:00-18:00
        wednesday           				08:00-18:00
        thursday      *Temps en secondes à partir duquel la commande entre en timeout*
    
        enabled  				08:00-18:00
           friday    			[0/1]; La commande est elle activée ?
        				08:00-18:00
    pack    sunday	            				08:00-18:00
        saturday    *Nom du pack dans lequel se trouve la commande*
    
        poller_tag    				08:00-18:00
        
    
        enabled	          *Poller  				[0/1]; La modulation est elle activée ?tag associé à cette commande*
        reactionner_tag                 *Reactionner tag associé à cette commande*
        packmodule_type                     				*Nom du pack dans lequel se trouve la modulation*
    }
    
    

    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 completement 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.

    *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*
    }
    
    

    Forcer l'utilisation d'un modèle

    Résolution des conflits

    Dans le cas ou 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
    	address				192.168.1.XX
    	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é :
     

    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 Blockdefine 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 quand à 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.