Allgemeine Richtlinien für die Verwendung der CMDB-Identifizierung
Überprüfen Sie die folgenden allgemeinen Richtlinien für die effektive Verwendung der CMDB-Identifizierung.
Identifizierungsregeln
Ein Unabhängige Identifizierungsregel Identifiziert ein CI basierend auf den Attributen des CI, unabhängig von anderen CIs.
A Abhängige Identifizierungsregel Identifiziert ein CI anhand seiner abhängigen CIs und der Beziehungen des identifizierten CI zu diesen abhängigen CIs. Die Identifizierung mit einer abhängigen Identifizierungsregel basiert auf den abhängigen CIs und den Beziehungen und Qualifizierern zwischen dem identifizierten CI und seinen abhängigen CIs. Die Identifizierung erfordert dann mehr Zeit als mit einer unabhängigen Identifizierungsregel und ist anfällig für einige Identifizierungsfehler. Die Verwendung abhängiger Regeln sollte daher minimiert werden.
Die CI-Modellierung bestimmt, welche Art von Identifizierungsregeln für die richtige CI-Identifizierung erforderlich sind.
- Unabhängige Identifizierungsregeln: Es ist immer vorzuziehen, unabhängige Identifizierungsregeln anstelle abhängiger Identifizierungsregeln zu erstellen. Wenn Sie ein CI modellieren, definieren Sie das CI mit einem vollständigen Satz von Attributen, die sich für eine unabhängige Identifizierung eignen, sodass keine zusätzlichen CIs für die Identifizierung erforderlich sind.
- Abhängige Identifizierungsregeln: Wenn abhängige Identifizierungsregeln erstellt werden müssen, definieren Sie eine einzelne Abhängigkeitsebene. Zwei ist die maximale Anzahl von Abhängigkeitsebenen, die unterstützt wird.
- Vermeiden Sie das Erstellen von Suchbezeichnereinträgen. Die Verwendung des Suchbezeichnereintrags wird dringend abgeraten, da dies die Leistung beeinträchtigen kann. Wenn dies unvermeidlich ist, überprüfen Sie zuerst Klassendefinitionen, und ziehen Sie Updates in Betracht, die die Verwendung unabhängiger Identifizierungsregeln ermöglichen.
- Beschränken Sie die Anzahl der Bezeichnereinträge innerhalb einer Identifizierungsregel, idealerweise auf 1. Ein zweiter Bezeichnereintrag kann die Leistung weiter reduzieren, ebenso wie jeder zusätzliche Bezeichnereintrag.
- Erstellen Sie starke Identifizierungsregeln, in denen die stärksten Identifier-Einträge und zugehörigen Einträge mit der höchsten Priorität festgelegt werden.
- Stellen Sie sicher, dass sich die Identifizierungsregel auf der Klassenebene befindet, die sie sein muss.
Nutzlast
Erstellen Sie die Nutzlast in der folgenden Wichtigkeitsreihenfolge:
- Nutzlastgröße: Beschränken Sie die Anzahl der CIs pro Nutzlast auf 500.
- Vermeiden Sie doppelte Einträge in der Nutzlast.Beispiel: Wenn eine Identifizierungsregel ein Kriteriumsattribut für hat Name Feld, dann enthält die folgende Nutzlast doppelte Elemente, was zu einem Fehler führt:
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' }}] }; - Übergeben Sie keine Systemdaten wie die folgenden in der Nutzlast.
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, }}] }; - Geben Sie den mindestens erforderlichen Satz von Kriteriumsattributen für jedes Nutzlastelement gemäß den Angaben in den entsprechenden Identifizierungsregeln an.
- Verwenden Sie beim Abgleichen von CIs die sysIds von CIs, falls verfügbar. Falls angegeben, kann Ire die sysId verwenden, um ein CI direkt zu finden, ohne dass Kriteriumsattribute aus der Identifizierungsregel erforderlich sind. In diesem Fall verwendet Ire die sysId nicht im Übereinstimmungsprozess.
- Beispiel: Unabhängiges CI, das aktualisiert werden muss – sysId ist verfügbar.
var payload = { items: [{ className:'cmdb_ci_linux_server', values: { sys_id:'194876usytrr65378098', ram:'2048', }}] }; - Beispiel: Abhängiges CI, das eingefügt werden muss. Tomcat war-CI hängt von Tomcat-CI ab, und Tomcat-CI hängt von Linux-Server-CI ab. SYS-IDs für die Tomcat- und die Linux-CIs sind verfügbar.
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'} ] }; - Beispiel: Abhängiges CI, das aktualisiert werden muss – sysId ist verfügbar.
var payload = { items: [{ className:'cmdb_ci_app_server_tomcat_war', values: { sys_id:'039387euey637465sytet', short_description:'my description new' } }] };
- Beispiel: Unabhängiges CI, das aktualisiert werden muss – sysId ist verfügbar.
- Wenn Sie viele CIs einfügen, die alle von demselben CI abhängen, sollten Sie Ihre API-Aufrufe serialisieren. Andernfalls kann der Versuch, mehrere CIs gleichzeitig zu verarbeiten, das System verstopfen, was die Gesamtsystemleistung erheblich beeinträchtigt.