Directives générales pour l’utilisation de l’identification CMDB
Passez en revue les directives générales suivantes pour utiliser efficacement l’identification CMDB.
Règles d'identification
Une règle d’identification indépendante identifie un CI en fonction de ses attributs, indépendamment des autres CI.
Une règle d’identification dépendante identifie un CI par ses CI dépendants et les relations du CI identifié avec ces CI dépendants. L’identification au moyen d’une règle d’identification dépendante est basée sur les CI dépendants ainsi que sur les relations et les qualificateurs entre le CI identifié et ses CI dépendants. L’identification prend alors plus de temps qu’avec une règle d’identification indépendante et est sujette à certaines erreurs d’identification. L’utilisation de règles dépendantes doit donc être réduite au minimum.
La modélisation des CI détermine le type de règles d’identification requis pour une identification correcte des CI.
- Règles d’identification indépendantes — Il est toujours préférable de créer des règles d’identification indépendantes plutôt que des règles d’identification dépendantes. Lorsque vous modélisez un CI, définissez le CI avec un ensemble complet d’attributs qui se prêtent à une identification indépendante, éliminant ainsi la nécessité d’utiliser des CI supplémentaires pour l’identification.
- Règles d’identification dépendantes : si vous souhaitez créer des règles d’identification dépendantes, définissez un niveau de dépendance unique. Deux est le nombre maximal de niveaux de dépendance pris en charge.
- Évitez de créer des entrées d’identificateurs de recherche. L’utilisation de l’entrée d’identificateur de recherche est fortement déconseillée, car elle peut réduire les performances. Si cela est inévitable, assurez-vous de passer d’abord en revue les définitions de classe et d’envisager les mises à jour qui permettent l’utilisation de règles d’identification indépendantes.
- Limitez le nombre d’entrées d’identificateur dans une règle d’identification, idéalement à 1. Une deuxième entrée d’identificateur peut réduire davantage les performances, tout comme chaque entrée d’identificateur supplémentaire.
- Créez des règles d’identification fortes dans lesquelles les entrées d’identificateur les plus fortes et les entrées connexes sont définies avec la priorité la plus élevée.
- Assurez-vous que la règle d’identification se trouve au niveau de classe requis.
Charge utile
Créez la charge utile en utilisant l’ordre d’importance suivant :
- Taille de la charge utile : limite à 500 le nombre de CI par charge utile.
- Évitez les entrées en double dans la charge utile.Exemple : si une règle d’identification comporte un attribut de critère pour le champ de nom , la charge utile suivante comporte des éléments en double, ce qui entraîne une défaillance :
var payload = { items: [{ className:'cmdb_ci_linux_server', values: { name:'Win Server 200', ram:'2048' }}, { className:'cmdb_ci_linux_server', values: { name:'Win Server 200', ram:'4096' }}] }; - Ne transmettez pas de données système telles que suivantes dans la charge utile.
var payload = { items: [{ className:'cmdb_ci_linux_server', values: { name:'Win Server 200', sys_domain:'global', sys_domain_path:'xyz', sys_updated_on:'2017-06-15 16:25:11', sys_mod_count:23, }}] }; - Fournissez l’ensemble minimal nécessaire d’attributs de critères pour chaque élément de charge utile, conformément à ce qui est spécifié dans les règles d’identification correspondantes.
- Pour mettre en correspondance des CI, utiliser les sysIds des CI s’ils sont disponibles. S’il est fourni, IRE peut utiliser le sysId pour localiser directement un CI sans avoir besoin d’attributs de critère de la règle d’identification. Dans ce cas, IRE n’utilise pas le sysId dans le processus de mise en correspondance.
- Exemple : CI indépendant qui doit être mis à jour — sysId est disponible.
var payload = { items: [{ className:'cmdb_ci_linux_server', values: { sys_id:'194876usytrr65378098', ram:'2048', }}] }; - Exemple : CI dépendant à insérer. Le CI Tomcat War dépend du CI Tomcat, et le CI Tomcat dépend du CI du serveur Linux. Les SysId pour les CI Tomcat et Linux sont disponibles.
var payload = { items: [{ className:'cmdb_ci_app_server_tomcat_war’, values: { name:'war1', short_description:'my description' } }, { className:'cmdb_ci_app_server_tomcat', values: { sys_id:'194876usytrr65378098' } }, { className:'cmdb_ci_linux_server', values: { sys_id:'09876tysueyt6345lakiu' } }], relations: [{ parent:1, child:0, type: 'Contains::Contained by’}, { parent:1, child:2, type:'Runs on::Runs'} ] }; - Exemple : CI dépendant qui doit être mis à jour — sysId est disponible.
var payload = { items: [{ className:'cmdb_ci_app_server_tomcat_war', values: { sys_id:'039387euey637465sytet', short_description:'my description new' } }] };
- Exemple : CI indépendant qui doit être mis à jour — sysId est disponible.
- Lorsque vous insérez plusieurs CI, qui dépendent tous du même CI, vous devez sérialiser vos appels d’API. Dans le cas contraire, tenter de traiter simultanément de nombreux CI peut obstruer le système et dégrader considérablement les performances globales du système.