Concept

Lorsque le pop-up d'édition est affiché, les erreurs apparaissent au-dessus du formulaire d'édition.

En cliquant sur l'icône à la fin d'un message d'erreur, cela amène au bloc de configuration qui correspond à l'erreur.

Validation du JSON

Format invalide

Le JSON est un format qui suit des règles très strictes ( regarder page de Affichage et comportement du formulaire - Édition JSON - Météo ).

Une virgule oubliée comme dans l'exemple ci-dessous, le JSON deviendra invalide et ne pourra pas être compris ( même partiellement ), il faudra donc le corriger pour le rendre "lisible" par Shinken.

On ne peut pas dire quelle est l'erreur exacte qui rend le format invalide, on peut juste donner la ligne à partir duquel le JSON devient invalide. La correction sera "surement" à faire sur cette ligne ou sur la ligne précédente.


Dans l'exemple ci-contre, il y a virgule en trop à la fin de la ligne 15.

Il est aussi possible que d'autres erreurs existent dans des lignes qui suivent. 

Seule la première erreur sera affichée jusqu'à la prochaine vérification ( limitation technique ).




Validation de la grille

Erreurs

Mauvaise configuration de la grille

Paramètre de type de grille

Le paramètre type doit toujours être égal à "grid" ( à ne pas modifier )

La valeur [ grisd ] pour la clé [ type ] est inconnue. Les valeurs possibles sont [ grid ]

Paramètres nécessitant un entier positif ou une valeur positive

Pour les paramètres suivants :

  • nb_tiles_in_width,
  • nb_tiles_in_height,
  • separation_grid_element_min,
  • separation_grid_element_percent.

Si la valeur saisie n'est pas un entier positif ou valeur positive, la sauvegarde ne s'effectuera pas et le message d'erreur suivant apparaîtra :

nb_tiles_in_width  doit être un entier compris entre 1 et 300 ou [ default ] : [ -60 ] 

nb_tiles_in_height doit être un entier compris entre 1 et 1000 ou [ default ]  : [ -50 ]

separation_grid_element_min doit être un entier positif ou [ default ] : [ -10 ]

separation_grid_element_max doit être un entier positif ou [ unlimited, default ] : [ -20 ]

separation_grid_element_percent  doit être compris entre 0 et 100 ou [ default ]  : [ -2 ]

Paramètre nécessitant un entier positif ou une valeur définie

Pour le paramètre separation_grid_element_max, si la valeur saisie n'est pas un entier positif ou unlimited, la sauvegarde ne s'effectuera pas et le message d'erreur suivant apparaîtra :

separation_grid_element_max doit être un entier positif ou [ unlimited, default ] : [ -20 ]

Paramètre "separation_grid_element_min" supérieur au paramètre "separation_grid_element_max"

Si le paramètre separation_grid_element_min est supérieur au paramètre separation_grid_element_max, la sauvegarde ne s'effectuera pas et le message d'erreur suivant apparaîtra :

La valeur de la clé [ separation_grid_element_min ] ne peut être supérieur à la valeur de la clé [ separation_grid_element_max ]

Widget en dehors de la grille

Après le calcul des positions X et Y des widgets, si certains sont en dehors de la grille ( X ou Y non compris entre 0 et tiles_max_X et tiles_max_Y ), la sauvegarde ne s'effectuera pas et le message d'erreur suivant apparaîtra :

Le widget est hors de la grille

Widgets qui se chevauchent

Après le calcul des positions X et Y des widgets, si certaines se chevauchent, la sauvegarde ne s'effectuera pas et le message d'erreur suivant apparaîtra :

Chevauchement de widgets détectés entre les widgets [ 3 ] et [ 4 ]

Validation des Widgets

Erreurs communes aux widgets

Valeur invalide dans les paramètres de positionnement des Widgets

Si la valeur des paramètres position_x et position_y n'est pas un entier positif ( zéro compris ), la sauvegarde ne s'effectuera pas et le message d'erreur suivant apparaîtra :

position_x doit être un entier positif : [ -30 ]

position_y doit être un entier positif : [ -4 ]

Valeur invalide dans les paramètres de taille des Widgets

Si la valeur du paramètre width n'est pas un entier strictement positif ou all, la sauvegarde ne s'effectuera pas et le message d'erreur suivant apparaîtra :

width doit être un entier strictement positif ou [ all, default ] : [ -15 ]

Si la valeur du paramètre height n'est pas un entier strictement positif, la sauvegarde ne s'effectuera pas et le message d'erreur suivant apparaîtra :

height doit être un entier strictement positif ou [ default ] : [ -5 ]

Si la valeur du paramètre width est "all" et que la valeur du paramètre position_x n'est pas à 0, la sauvegarde ne s'effectuera pas et le message d'erreur suivant apparaîtra :

position_x doit être égale à 0 si width a la valeur "all" : [ 10 ]

Couleur incorrecte dans un widget

Le format de la valeur est une couleur web ( Voir :  https://en.wikipedia.org/wiki/Web_colors  )

Certains caractères " , ; et '  sont interdits dans la couleur de fond de la barre d'information. Si un de ces caractères est présent dans la valeur de la clé text_color, la sauvegarde ne s'effectuera pas et le message d'erreur suivant apparaîtra :

La valeur de la clé   text_color   est incorrecte :   [ black;red ]

Valeur invalide dans le paramètre font_zoom_percent

Si la valeur de la clé font_zoom_percent n'est pas un entier positif ou "default", la sauvegarde ne s'effectuera pas et le message d'erreur suivant apparaîtra :

font_zoom_percent doit être un entier strictement positif ou [ default ] : [ bad_value ]

Widget Titre

Widget titre inexistant

Si aucun widget titre n'est défini, la sauvegarde ne s'effectuera pas et le message d'erreur suivant apparaîtra :

L'existence d'un widget de type title_widget est obligatoire

Plusieurs widget titre

Si plusieurs widgets titre sont définis, la sauvegarde ne s'effectuera pas et le message d'erreur suivant apparaîtra :

Il ne peut y avoir qu'un seul widget de type title_widget

Valeur manquante dans le paramètre label

Si la valeur du paramètre label est vide la sauvegarde ne s'effectuera pas et le message d'erreur suivant apparaîtra :


label ne peut être vide

Valeur invalide dans le paramètre text_align

Si la valeur du paramètre text_align ne correspond à aucune des valeurs possibles listées ci-dessous, la sauvegarde ne s'effectuera pas et le message d'erreur suivant apparaîtra :

  • left
  • center
  • right


La valeur [ bottom ] pour la clé [ text_align ] est inconnue. Les valeurs possibles sont [ left, center, right, default ]

Widget Séparateur

Valeur invalide dans le paramètre displayed

La valeur doit être un booléen ou "default". Si la valeur n'est pas booléenne, la sauvegarde ne s'effectuera pas et le message d'erreur suivant apparaîtra :

La valeur [ bad_value ] pour la clé [ displayed ] est inconnue. Les valeurs possibles sont [ true, false, default ]

Valeur invalide dans le paramètre d'espacement du texte

Si la valeur d'un des paramètres suivants n'est pas un entier compris entre 0 et 100, la sauvegarde ne s'effectuera pas et le message d'erreur suivant apparaîtra :

  • width_percent


width_percent  doit être un entier compris entre 0 et 100 ou [ default ] : [ -10 ]

Valeur manquante dans le paramètre label

Si la valeur du paramètre label est vide la sauvegarde ne s'effectuera pas et le message d'erreur suivant apparaîtra :


label ne peut être vide

Valeur invalide dans le paramètre text_align

Si la valeur du paramètre text_align ne correspond à aucune des valeurs possibles listées ci-dessous, la sauvegarde ne s'effectuera pas et le message d'erreur suivant apparaîtra :

  • left
  • center
  • right


La valeur [ bottom ] pour la clé [ text_align ] est inconnue. Les valeurs possibles sont [ left, center, right, default ]

Widget Météo

Élément d'un widget météo inexistant

Si un élément d'un widget météo défini est inexistant ( au sein de l'ensemble défini pour la météo ), la sauvegarde s'effectuera, l'élément sera affiché dans la météo des services comme inexistante et le message d'erreur  suivant apparaîtra :

L'élément de type [ host ] avec l'item_uuid [ c618793e4e3a4a599d6f1cd3bf2a16fdd ] est inconnu [ item_type: host ]

Élément d'un widget météo mal défini

UUID et nom de l'élément manquant

Si dans l'élément d'un widget météo au moins une des clés n'est pas définie :

  • item_uuid,
  • item_name,

la sauvegarde s'effectuera et le message d'erreur suivant apparaîtra :

Au moins une des deux clés suivantes doit être renseignée : [ item_uuid ] ou [ item_name ]  

Type de l'élément manquant

Si le type de l'élément d'un widget météo n'est pas défini, la sauvegarde s'effectuera et le message d'erreur suivant apparaîtra :

La valeur de la clé [ item_type ] est obligatoire

Type d'élément inconnu dans un widget météo

Si la valeur item_type est différente de "host" ou "cluster", la sauvegarde ne s'effectuera pas et le message d'erreur suivant apparaîtra :

La valeur [ bad_value ]  pour la clé [ item_type ] est inconnue. Les valeurs possibles sont [ host, cluster ]

Valeur invalide dans le paramètre background

Si la valeur de la clé background est différente de " default ", "status_context_from_webui ", "context_then_status", "context_and_status", "only_status" ou "no_background " la sauvegarde ne s'effectuera pas et le message d'erreur suivant apparaîtra :

La valeur [ bad_value ] pour la clé [ background ] est inconnue. Les valeurs possibles sont [ status_context_from_webui, context_then_status, context_and_status, only_status, no_background, default ]

Valeur invalide dans le paramètre icon_type

Les valeurs acceptées de la clé icon_type ne sont pas les mêmes pour la zone de gauche et la zone haute-droite

Mauvaise valeur pour zone de gauche

Si la valeur icon_type est différente de " default ", "status_context_from_webui", "context_then_status", "status_then_context", "only_status", "sla_tendency" ou "quality_service_iconla sauvegarde ne s'effectuera pas et le message d'erreur suivant apparaîtra :

La valeur [ bad_value ] pour la clé [ icon_type ] est inconnue. Les valeurs possibles sont [ status_context_from_webui, context_then_status, status_then_context, only_status, sla_tendency, quality_service_icon, default ]

Mauvaise valeur pour zone haute-droite

Si la valeur de la clé icon_type est différente de " default ", "status_context_from_webui", "context_then_status", "status_then_context", "only_status" ou "quality_service_iconla sauvegarde ne s'effectuera pas et le message d'erreur suivant apparaîtra :

La valeur [ bad_value ] pour la clé [ icon_type ] est inconnue. Les valeurs possibles sont [ status_context_from_webui, context_then_status, status_then_context, only_status, quality_service_icon, default ]

Valeur identique entre la zone de gauche et la zone haute-droite

Si la valeur de la clé icon_type est le même entre les deux zones, la sauvegarde ne s'effectuera pas et le message d'erreur suivant apparaîtra :

La valeur de top_right_area.icon_type [ context_then_status ] et celle de left_area.icon_type  [ context_then_status ] ne peuvent pas contenir toutes les deux le statut

Valeur invalide dans le paramètre displayed

La valeur doit être un booléen ou "default". Si la valeur n'est pas booléenne, la sauvegarde ne s'effectuera pas et le message d'erreur suivant apparaîtra :

La valeur [ bad_value ] pour la clé [ displayed ] est inconnue. Les valeurs possibles sont [ true, false, default ]

Valeur invalide dans le paramètre show_icon

La valeur de la clé show_icon  doit être un booléen ou "default".  Si la valeur n'est pas booléenne, la sauvegarde ne s'effectuera pas et le message d'erreur suivant apparaîtra :

La valeur [ bad_value ] pour la clé [ show_icon ] est inconnue. Les valeurs possibles sont [ true, false, default ]

Valeur invalide dans le paramètre property_used_as_name

Si la valeur de la clé property_used_as_name est différente de " default ", " definition_name " ou "visualisation_namela sauvegarde ne s'effectuera pas et le message d'erreur suivant apparaîtra :

La valeur [ bad_value ] pour la clé [ property_used_as_name ] est inconnue. Les valeurs possibles sont [ item_name, visualisation_name, default ]

Valeur invalide dans le paramètre nb_lines_max

Si la valeur de la clé nb_lines_max n'est pas un entier positif ou "default", la sauvegarde ne s'effectuera pas et le message d'erreur suivant apparaîtra :

nb_lines_max doit être un entier strictement positif ou [ default ] : [ bad_value ]

Valeur invalide dans le paramètre vertical_align

Si la valeur de la clé vertical_align est différente de " default ", " bottom ", "middle" ou "top" la sauvegarde ne s'effectuera pas et le message d'erreur suivant apparaîtra :

La valeur [ bad_value ] pour la clé [ vertical_align ] est inconnue. Les valeurs possibles sont [ top, middle, bottom, default ]

Validation des liens externes

Erreurs

Nom manquant

Si la clé link_name n'est pas renseignée, la sauvegarde ne s'effectuera pas et le message d'erreur suivant apparaîtra :

link_name ne peut être vide

Caractères interdits

Pour la couleur
Certains caractères " , ; et '  sont interdits dans la couleur de fond de la barre d'information. Si un de ces caractères est présent dans la valeur de la clé background_color, la sauvegarde ne s'effectuera pas et le message d'erreur suivant apparaîtra :

La valeur de la clé background_color est incorrecte : [ #F5A;736 ]

Pour la composition de l'URL

Certains caractères ", ', <, >, !, #, $, &, (, ), *, +, ,, /, ;, =, ?, @, [ , ] ou un caractère accentué ou ESPACE ou un émoji, sont interdits pour les propriétés de composition de l'URL. Si un de ces caractères est présent dans la valeur de la clé link_uuid, link_external_part_url ou link_base_url la sauvegarde ne s'effectuera pas et le message d'erreur suivant apparaîtra :

link_base_url, au moins un des caractères interdit suivant ", ', <, >, !, #, $, &, (, ), *, +, ,, /, ;, =, ?, @, [ , ] ou un caractère accentué ou ESPACE ou un émoji a été détecté : [https://adress_ip:7767]

link_external_part_url, au moins un des caractères interdit suivant ", ', <, >, !, #, $, &, (, ), *, +, ,, /, ;, =, ?, @, [ , ] ou un caractère accentué ou ESPACE ou un émoji a été détecté : [https://adress_ip:7767]

link_uuid, au moins un des caractères interdit suivant ", ', <, >, !, #, $, &, (, ), *, +, ,, /, ;, =, ?, @, [ , ] ou un caractère accentué ou ESPACE ou un émoji a été détecté : [https://adress_ip:7767]

Avertissements

Contient http:// ou https://

Les mots "http://" et "https://" ne doivent pas être présents dans la valeur de la clé link_base_url et links__default_base_url car elles seront construites à la sauvegarde grâce à la valeur choisie dans la clé links__default_link_protocol ou link_protocol.

La valeur de la clé link_base_url , ne doit pas commencer par "http://" ou "https://" : [ https://adress_ip:7767 ]

Éléments non visibles sur des liens externes accessibles sans authentification

Il est possible dans l'interface de configuration de définir si un élément est visible ou non dans les vues ne nécessitant pas d'authentification. Si une météo comporte un de ces éléments avec un lien externe ne nécessitant pas d'authentification, un avertissement prévient l'utilisateur pour lui indiquer qu'un élément de sa supervision ne peut pas être visible par tout le monde.


 L'élément n'est pas visible dans les liens externes accessibles sans authentification

Validation des utilisateurs

Erreurs communes

Valeur invalide dans le paramètre user_name

Si la valeur de la clé user_name n'est pas une chaîne de caractère, la sauvegarde ne s'effectuera pas  et le message suivant apparaîtra ( selon le type d'utilisateur ):

[ user_name ] doit être une chaîne de caractère : [ -15 ].

Valeur invalide dans le paramètre user_uuid

Si la valeur de la clé user_uuid n'est pas une chaîne de caractère, la sauvegarde ne s'effectuera pas  et le message suivant apparaîtra ( selon le type d'utilisateur ):

[ user_uuid ] doit être une chaîne de caractère : [ -15 ].

Avertissements communs

Utilisateur inexistant

L'utilisateur peut ne plus être enregistré entre 2 mises à jours de météos ( l'identifiant unique est introuvé ). Dans ce cas, le message suivant apparaîtra ( selon le type d'utilisateur ):

Le [ owner_user ] avec le  [ user_uuid ] [ 30067cfe5adf11e59a28080f08538 ] n'existe pas.

S'il n'y avait que user_name de défini, le message suivant apparaîtra à la place ( selon le type d'utilisateur, toujours ):

Le [ owner_user ] avec le [ user_name ] [ Un utilisateur inconnu ] n'existe pas.

Propriétaire

Pas de propriétaire

Une météo doit avoir un propriétaire. S'il n'y a ni user_name, ni user_uuid,  le message suivant apparaîtra:

La valeur de la clé [ owner_user ] est obligatoire.