Allgemeine Richtlinien für die Verwendung der CMDB-Identifizierung
Lesen Sie sich die folgenden allgemeinen Richtlinien für die effektive Verwendung der CMDB-Identifizierung durch.
Identifizierungsregeln
Eine unabhängige Identifizierungsregel identifiziert ein CI unabhängig von anderen CIs basierend auf den Attributen des CI.
Eine 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 Identifikation erfordert dann mehr Zeit als bei einer unabhängigen Identifizierungsregel und ist anfällig für Identifizierungsfehler. Die Verwendung abhängiger Regeln sollte daher minimiert werden.
Die CI-Modellierung bestimmt, welcher Typ von Identifizierungsregeln für die ordnungsgemäße CI-Identifikation erforderlich ist.
- Unabhängige Identifizierungsregeln: Es ist immer vorzuziehen, unabhängige Identifizierungsregeln anstelle von abhängigen 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 einzige Abhängigkeitsebene. Maximal zwei Abhängigkeitsebenen werden unterstützt.
- Vermeiden Sie das Erstellen von Suchbezeichnereinträgen. Von der Verwendung eines Suchbezeichnereintrags wird dringend abgeraten, da dies die Leistung beeinträchtigen kann. Sollte dies jedoch unvermeidbar sein, stellen Sie sicher, dass Sie zuerst Klassendefinitionen überprüfen und Updates in Betracht ziehen, die die Verwendung unabhängiger Identifizierungsregeln zulassen.
- Begrenzen Sie die Anzahl der Identifier-Einträge in einer Identifizierungsregel, idealerweise auf 1. Ein zweiter Identifier-Eintrag kann die Leistung weiter reduzieren, ebenso wie jeder zusätzliche Identifier-Eintrag.
- Erstellen Sie Regeln für starke Identifizierung, in denen die stärksten Identifier-Einträge und zugehörige Einträge mit der höchsten Priorität festgelegt werden.
- Stellen Sie sicher, dass sich die Identifizierungsregel auf der Klassenebene befindet, auf der sie sich befinden muss.
Nutzlast
Erstellen Sie die Nutzlast anhand der folgenden Reihenfolge der Wichtigkeit:
- Payload-Größe: Begrenzen Sie die Anzahl der CIs pro Payload auf 500.
- Vermeiden Sie doppelte Einträge in der Payload.Beispiel: Wenn eine Identifizierungsregel ein Kriteriumsattribut für das Feld Name aufweist, dann hat die folgende Payload 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 Payload.
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 erforderlichen Mindestsatz an Kriteriumsattributen für jedes Payload-Element an, je nachdem, was in den entsprechenden Identifizierungsregeln angegeben ist.
- Verwenden Sie beim Abgleichen von CIs die sysIds der CIs, falls verfügbar. Wenn angegeben, kann IRE die sysId verwenden, um ein CI direkt zu finden, ohne dass Kriteriumsattribute von 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 ist von Tomcat-CI abhängig, und Tomcat-CI ist von Linux Server-CI abhängig. SysIds für Tomcat- und 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.
- Beim Einfügen vieler CIs, die alle von demselben CI abhängen, sollten Sie Ihre API-Aufrufe serialisieren. Andernfalls kann der Versuch, viele CIs gleichzeitig zu verarbeiten, das System blockieren und die Gesamtsystemleistung erheblich beeinträchtigen.