CMDB 식별 사용에 대한 일반 지침
CMDB 식별을 효과적으로 사용하기 위해 다음과 같은 일반 가이드라인을 검토하십시오.
식별 규칙
독립적인 식별 규칙은 다른 CI와 독립적으로 CI의 속성을 기반으로 CI를 식별합니다.
종속 식별 규칙은 종속 CI 및 식별된 CI와 해당 종속 CI의 관계에 따라 CI를 식별합니다. 종속 식별 규칙이 있는 식별은 종속 CI 및 식별된 CI와 종속 CI 간의 관계와 한정자를 기반으로 합니다. 식별은 독립적인 식별 규칙보다 더 많은 시간이 필요하며 일부 식별 오류가 발생하기 쉽습니다. 따라서 종속 규칙의 사용을 최소화해야 합니다.
CI 모델링은 적절한 CI 식별에 필요한 식별 규칙의 유형을 결정합니다.
다음과 같은 중요도 순서를 사용하여 식별 규칙을 생성합니다.
- 독립적 식별 규칙 — 종속 식별 규칙보다는 독립적인 식별 규칙을 만드는 것이 항상 바람직합니다. CI를 모델링할 때 독립적인 식별에 적합한 완전한 속성 세트로 CI를 정의하면 식별을 위해 추가 CI를 사용할 필요가 없습니다.
- 종속 식별 규칙 — 종속 식별 규칙을 만들어야 하는 경우 단일 수준의 종속성을 정의합니다. 2는 지원되는 최대 종속성 수준 수입니다.
- 조회 식별자 항목을 생성하지 마십시오. 조회 식별자 항목을 사용하면 성능이 저하될 수 있으므로 사용하지 않는 것이 좋습니다. 부득이한 경우 우선 클래스 정의를 검토하고 독립적인 식별 규칙을 사용할 수 있도록 업데이트를 검토해야 합니다.
- 식별 규칙 내의 식별자 항목 수를 제한합니다(이상적으로는 1개). 두 번째 식별자 항목은 각 추가 식별자 항목과 마찬가지로 성능을 더 저하시킬 수 있습니다.
- 가장 강력한 식별자 항목과 관련 항목이 가장 높은 우선순위로 설정되는 강력한 식별 규칙을 만듭니다.
- 식별 규칙이 필요한 클래스 수준에 있는지 확인합니다.
페이로드
다음 중요도 순서대로 페이로드를 생성합니다.
- 페이로드 크기 — 페이로드당 CI 수를 500으로 제한합니다.
- 페이로드에 중복 항목을 생성하지 마십시오.예: 식별 규칙에 이름 필드에 대한 기준 속성이 있는 경우 다음 페이로드에 중복된 항목이 있어 오류가 발생합니다.
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' }}] }; - 다음과 같은 시스템 데이터를 페이로드에 전달하지 마십시오.
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, }}] }; - 해당 식별 규칙에 지정된 내용에 따라 각 페이로드 항목에 필요한 최소 기준 속성 세트를 제공합니다.
- CI를 일치시킬 때 사용 가능한 경우 CI의 sysId를 사용합니다. 제공된 경우, IRE는 sysId를 사용하여 식별 규칙의 기준 속성을 요구하지 않고 CI를 직접 찾을 수 있습니다. 이 경우 IRE는 일치 프로세스에서 sysId를 사용하지 않습니다.
- 예: 업데이트해야 하는 독립 CI — sysId를 사용할 수 있습니다.
var payload = { items: [{ className:'cmdb_ci_linux_server', values: { sys_id:'194876usytrr65378098', ram:'2048', }}] }; - 예: 삽입해야 하는 종속 CI. Tomcat War CI는 Tomcat CI에 종속되며 Tomcat CI는 Linux Server CI에 종속됩니다. Tomcat 및 Linux CI에 대한 SysId를 사용할 수 있습니다.
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'} ] }; - 예: 업데이트해야 하는 종속 CI — sysId를 사용할 수 있습니다.
var payload = { items: [{ className:'cmdb_ci_app_server_tomcat_war', values: { sys_id:'039387euey637465sytet', short_description:'my description new' } }] };
- 예: 업데이트해야 하는 독립 CI — sysId를 사용할 수 있습니다.
- 모두 동일한 CI에 종속된 많은 CI를 삽입할 때 API 호출을 직렬화해야 합니다. 그렇지 않으면, 많은 CI를 동시에 처리하려고 하면 시스템이 막혀 전체 시스템 성능이 크게 저하될 수 있습니다.