scieee Open visual document viewer

Construção automática de CMDB

Pereira, Joana Catarina Maciel

Abstract

Computing infrastructure management is increasingly demanding and has to comply with regulatory requirements. To comply with these requirements, the existence of a Configuration Management Database (CMDB) is fundamental. One of the challenges that any team has when starting IT Service Management (ITSM) is to create the organization’s CMDB. CMDB is a database that stores information about the components, usually called Configu ration Items (CIs), of the infrastructure and the relationships between them. Thus, the CMDB creation implies discovering information about the infrastructure, saving it in the CMDB chosen by the organization. This dissertation presents a tool for the automatic creation of a CMDB that uses automatic discovery, mapping, and population mechanisms, to find information about the infrastructure components and store these results in the CMDB. It was also necessary to adapt the populate operation according to the database structure of the selected CMDB. This tool uses several discovery mechanisms to explore different types of Configuration Items (CIs), discovering information about them and their dependencies. It also uses an automatic mapping mechanism to adapt the types of discovered data with the CMDB structure where they will be stored. Finally, it populates the CMDB using its Application Programming Interface (API) to create the CIs and relationships.

Full text

Uni e sidade do Minho Escola de Engenha ia Depa amen o de In o m´ a ica Joana Ca a ina Maciel Pe ei a Cons uc¸ ˜ ao Au om´ a ica de CMDB Maio 2021 Uni e sidade do Minho Escola de Engenha ia Depa amen o de In o m´ a ica Joana Ca a ina Maciel Pe ei a Cons uc¸ ˜ ao Au om´ a ica de CMDB Mas e disse a ion In eg a ed Mas e ’s in In o ma ics Enginee ing Disse a ion supe ised by P o esso An ´ onio Lu´ıs Pin o Fe ei a de Sousa Maio 2021 DIREITOS DE AUTOR E CONDIC¸ ˜ OES DE UTILIZAC¸ ˜ A O D O TRABALHO POR TERCEIROS Es e ´ e um abalho acad ´ emico que pode se u ilizado po e cei os desde que espei adas as eg as e boas p ´ a icas in e nacionalmen e acei es, no que conce ne aos di ei os de au o e di ei os conexos. Assim, o p esen e abalho pode se u ilizado nos e mos p e is os na licen c¸ a abaixo indicada. Caso o u ilizado necessi e de pe miss ˜ ao pa a pode aze um uso do abalho em condi c¸ ˜ oes n ˜ ao p e is as no licenciamen o indicado, de e ´ a con ac a o au o , a a ´ es do Reposi ´ o iUM da Uni e sidade do Minho. licenc¸a concedida aos u ilizado es des e abalho: CC BY h ps://c ea i ecommons.o g/licenses/by/4.0/ i DECLARAC¸ ˜ AO DE INTEGRIDADE Decla o e a uado com in eg idade na elabo a c¸˜ ao do p esen e abalho acad ´ emico e con- i mo que n ˜ ao eco i ` a p ´ a ica de pl ´ agio nem a qualque o ma de u iliza c¸˜ ao inde ida ou alsi ica c¸˜ ao de in o ma c¸ ˜ oes ou esul ados em nenhuma das e apas conducen e ` a sua elabo ac¸˜ ao. Mais decla o que conhe c¸ o e que espei ei o C ´ odigo de Condu a ´ E ica da Uni e sidade do Minho. ii AGRADECIMENTOS Em p imei o luga enho de ag adece aos meus pais, que semp e ac edi a am em mim e me de am a opo unidade de chega a ´ e aqui. Que ize am odos os sac i ´ ıcios po mim pa a eu e semp e o melho . Que odos os dias s ˜ ao uma inspi a c¸˜ ao e me incen i a am semp e a da o meu melho . Ao meu a ˆ o, a pessoa mais que ida e a es ela mais boni a do c ´ eu. Que me az que e se uma pessoa melho odos os dias. ` A minha sob inha, que me ensinou a olha pa a a ida de ou a o ma. Que com o seu so iso con agian e se o nou a minha maio mo i ac¸˜ ao. Aos amigos que iz ao longo des es anos. Que o ag adece po odas as expe i ˆ encias que i emos. Po me ensina em an o. Po es a em semp e l´ a. A oda a gen e, que me ensinou e ac edi ou em mim. Finalmen e, um ob igada ao P o esso An ´ onio Lu ´ ıs Sousa, cuja o ien a c¸˜ ao e disponibili- dade o na am es e p oje o poss´ ı el. iii ABSTRACT Compu ing in as uc u e managemen is inc easingly demanding and has o comply wi h egula o y equi emen s. To comply wi h hese equi emen s, he exis ence o a Con igu a ion Managemen Da abase (CMDB) is undamen al. One o he challenges ha any eam has when s a ing IT Se ice Managemen (ITSM) is o c ea e he o ganiza ion’s CMDB. CMDB is a da abase ha s o es in o ma ion abou he componen s, usually called Con igu- a ion I ems (CIs), o he in as uc u e and he ela ionships be ween hem. Thus, he CMDB c ea ion implies disco e ing in o ma ion abou he in as uc u e, sa ing i in he CMDB chosen by he o ganiza ion. This disse a ion p esen s a ool o he au oma ic c ea ion o a CMDB ha uses au oma ic disco e y, mapping, and popula ion mechanisms, o ind in o ma ion abou he in as uc u e componen s and s o e hese esul s in he CMDB. I was also necessa y o adap he popula e ope a ion acco ding o he da abase s uc u e o he selec ed CMDB. This ool uses se e al disco e y mechanisms o explo e di e en ypes o Con igu a ion I ems (CIs), disco e ing in o ma ion abou hem and hei dependencies. I also uses an au oma ic mapping mechanism o adap he ypes o disco e ed da a wi h he CMDB s uc u e whe e hey will be s o ed. Finally, i popula es he CMDB using i s Applica ion P og amming In e ace (API) o c ea e he CIs and ela ionships. Keywo ds: CMDB,CI, au oma ic disco e y, mapping, API. i RESUMO A ges ˜ ao de in aes u u as compu acionais ´ e cada ez mais exigen e e em de cump i cada ez mais com equisi os no ma i os. Pa a es a de aco do com es es equisi os, a exis ˆ encia de uma CMDB ´ e undamen al. Um dos desa ios que qualque equipa em ao inicia a ges ˜ ao de uma in aes u u a ´ e a c iac¸˜ ao da sua CMDB. Uma CMDB ´ e uma base de dados que gua da in o ma c¸˜ ao ace ca dos componen es, usual- men e denominados de i ens de con igu a c¸˜ ao (CIs), de uma in aes u u a compu acional e dos elacionamen os en e si. Assim, a c ia c¸˜ ao de uma CMDB implica descob i in o ma c¸˜ ao ace ca dos componen es que azem pa e da in aes u u a e a mazena es a na CMDB escolhida pela o ganizac¸˜ ao. Nes a disse a c¸˜ ao ´ e ap esen ada uma e amen a de c ia c¸˜ ao au om ´ a ica de uma CMDB que eco e a mecanismos au om ´ a icos de descobe a, mapeamen o e po oamen o, de o ma a encon a in o ma c¸˜ ao ace ca da in aes u u a, e a mazena es es esul ados na CMDB. Tendo em con a que exis em p odu os de so wa e dis in os que implemen am CMDBs, oi necess ´ a io adap a o po oamen o de aco do com a es u u a da base de dados selecionada. Es a e amen a eco e a di e sos mecanismos de descobe a de o ma a explo a di e- en es ipos de componen es, com a inalidade de descob i in o ma c¸˜ ao ace ca des es e das depend ˆ encias en e es es. Reco e amb ´ em a um mecanismo de mapeamen o au om ´ a ico en e modelos de dados, de o ma a adap a os ipos de dados descobe os com a es u u a da CMDB onde es es ˜ ao se a mazenados. Finalmen e, u iliza um mecanismo pa a e e ua o po oamen o da CMDB que u iliza a API des a pa a e e ua a c ia c¸˜ ao dos componen es e dos elacionamen os. Pala as-cha e: CMDB,CI, descobe a au om´ a ica, mapeamen o, API. CONTE ´ UDO 1 in oduc¸˜ ao 1 1.1Con ex ualizac¸˜ ao 1 1.2Mo i ac¸˜ ao 2 1.3Obje i os 3 1.4O ganizac¸˜ ao do documen o 4 2 es ado da a e 5 2.1ITIL 5 2.2ISO/IEC 20000 6 2.3In aes u u a de TI 7 2.4Con igu a ion Managemen Da abase 9 2.4.1Concei os 9 2.4.2Van agens 11 2.4.3Di iculdades 11 2.4.4O que gua da na CMDB 12 2.4.5Fe amen as 13 2.5Descobe a Au om´ a ica 19 2.5.1P ocesso 19 2.5.2P o ocolos 20 2.5.3A qui e u as 22 2.5.4Fe amen as 22 2.5.5P ocessamen o dos Dados Recolhidos 25 2.6Modelos de Dados 26 2.6.1Noc¸ ˜ oes e concei os 26 2.6.2Mapeamen o dos modelos de dados 26 2.7T abalho Relacionado 28 2.7.1Fe amen as 28 2.7.2Sum´ a io 32 3 p oblema e desa ios 34 3.1P oblema 34 3.2Abo dagem P opos a 34 3.3A qui e u a do sis ema 35 3.3.1Fase de Descobe a 35 3.3.2Fase de Mapeamen o 38 i con e´ udo ii 3.3.3Fase de Po oamen o 40 3.4Desa ios 40 4 desen ol imen o 42 4.1Decis˜ oes 42 4.2Implemen ac¸˜ ao 43 4.2.1Esquema da base de dados 43 4.2.2Ges ˜ ao de pala as-passe 48 4.2.3No malizac¸˜ ao 49 4.2.4Reconciliac¸˜ ao 51 4.2.5Descobe a 52 4.2.6Po oamen o da base de dados 58 4.2.7P ocessamen o do modelo de dados da base de dados 60 4.2.8P ocessamen o do modelo de dados da CMDB 61 4.2.9C´ alculo de simila idade 65 4.2.10 Mapeamen o 67 4.2.11 Po oamen o da CMDB 69 4.3Sum´ a io 73 5 a aliac¸˜ ao 76 5.1Caso de Tes e 176 5.1.1Descobe a 77 5.1.2Mapeamen o 78 5.1.3Po oamen o 79 5.2Caso de Tes e 283 5.2.1Descobe a 84 5.2.2Mapeamen o 85 5.2.3Po oamen o 85 5.3Caso de Tes e 386 5.3.1Descobe a 87 5.3.2Mapeamen o 89 5.3.3Po oamen o 91 5.4Caso de Tes e 496 5.5Sum´ a io 98 6 conclus ˜ oes e abalho u u o 100 6.1Conclus˜ ao 100 6.2T abalho Fu u o 102 a esul ados do p ocessamen o de modelos de dados 111 b execuc¸˜ ao da e amen a 121 SIGLAS ACI Applica ion Cen ic In as uc u e. AP Access Poin . API Applica ion P og amming In e ace. ARP Add ess Resolu ion P o ocol. BD Bases de Dados. BGP Bo de Ga eway P o ocol. BIOS Basic Inpu /Ou pu Sys em. CDM Common Da a Model. CDP Cisco Disco e y P o ocol. CI Con igu a ion I em. CIDR Classless In e -Domain Rou ing. CIM Common In o ma ion Model. CLI Command Line In e ace. CMDB Con igu a ion Managemen Da abase. CMS Con igu a ion Managemen Sys em. CPU Cen al P ocessing Uni . CSV Comma-sepa a ed alues. DAS Di ec A ached S o age. DMTF Dis ibu ed Managemen Task Fo ce. DNS Domain Name Sys em. FDB Fo wa ding Da abase. FDP Found y Disco e y P o ocol. FTP File T ans e P o ocol. GB Gigaby e. GHz Gigahe z. GPU G aphics P ocessing Uni . HDD Ha d Disk D i e. HTTP Hype Tex T ans e P o ocol. HTTPS Hype Tex T ans e P o ocol Secu e. xi Siglas x ICMP In e ne Con ol Message P o ocol. IEC In e na ional Elec o echnical Commission. IP In e ne P o ocol. IPMI In elligen Pla o m Managemen In e ace. ISO In e na ional O ganiza ion o S anda diza ion. ITIL In o ma ion Technology In as uc u e Lib a y. ITSM IT Se ice Managemen . JSON Ja aSc ip Objec No a ion. LAN Local A ea Ne wo k. LLDP Link Laye Disco e y P o ocol. MAC Media Access Con ol. MIB Managemen In o ma ion Base. MID Managemen , Ins umen a ion, and Disco e y. MIEI Mes ado In eg ado em Engenha ia In o m´ a ica. NAS Ne wo k A ached S o age. NDP Neighbo Disco e y P o ocol. OSI Open Sys em In e connec ion. OSPF Open Sho es Pa h Fi s . PHP Hype ex P ep ocesso . RAM Random-access memo y. RDF Resou ce Desc ip ion F amewo k. REST Rep esen a ional S a e T ans e . RPC Remo e P ocedu e Call. SAN S o age A ea Ne wo k. SCCM Sys em Cen e Con igu a ion Manage . SGBD Sis emas de Ges ˜ ao de Base de Dados. SNMP Simple Ne wo k Managemen P o ocol. SPARQL SPARQL P o ocol and RDF Que y Language. SQL S uc u ed Que y Language. SSD Solid-S a e D i e. SSH Secu e Shell. STP Spanning T ee P o ocol. SVS Se ice Value Sys em. TCP T ansmission Con ol P o ocol. Siglas x i TI Tecnologias da In o mac¸˜ ao. TTL Time o Li e. UCS Uni ied Compu ing Sys em. UDP Use Da ag am P o ocol. UM Uni e sidade do Minho. UML Uni ied Modeling Language. UPS Unin e up ible Powe Sou ce. URL Uni o m Resou ce Loca o . UUID Uni e sally Unique Iden i ie . VLAN Vi ual Local A ea Ne wo k. VPN Vi ual P i a e Ne wo k. WAN Wide A ea Ne wok. WinRM Windows Remo e Managemen . WMI Windows Managemen Ins umen a ion. XML eX ensible Ma kup Language. 1 INTRODUC¸ ˜ A O Es e documen o desc e e o p oje o de disse a c¸˜ ao desen ol ido no con ex o do Mes ado In eg ado em Engenha ia In o m ´ a ica (MIEI) da Uni e sidade do Minho (UM), baseando-se na c iac¸˜ ao, de o ma au om´ a ica, de uma Con igu a ion Managemen Da abase (CMDB). Nes e cap ´ ı ulo ˜ ao se ap esen ados o con ex o, mo i a c¸˜ ao e p incipais obje i os do p oblema enunciado, assim como a o ganizac¸˜ ao do es an e documen o. 1.1 con ex ualizac¸˜ ao Os depa amen os de Tecnologias da In o ma c¸˜ ao (TI) das o ganiza c¸ ˜ oes en en am ´ a ios desa- ios na en ega de se i c¸ os con i ´ a eis que supo am os obje i os de neg ´ ocio das o ganiza c¸ ˜ oes. Os desa ios de ges ˜ ao dos se i c¸ os de TI podem en ol e , po exemplo, o desempenho da ede e dos sis emas, a ges ˜ ao do ciclo de ida das aplica c¸ ˜ oes, a ges ˜ ao de a i os e mudan c¸ as, a o imizac¸˜ ao inancei a e a segu anc¸a dos sis emas [66]. O p ocesso de ges ˜ ao de con igu a c¸ ˜ oes p ocu a, de uma o ma comp eensi a e sis em ´ a ica, especi ica , con ola e aze o as eio dos componen es da in aes u u a compu acional e odas as al e a c¸ ˜ oes ei as a es es. De aco do com a In o ma ion Technology In as uc u e Lib a y (ITIL) [ 83 ], a ges ˜ ao de con igu a c¸ ˜ oes c ia um modelo da in aes u u a e dos se i c¸ os dispon ´ ı eis, iden i icando, con olando, gua dando e e i icando oda a in o ma c¸˜ ao ela i a aos componen es exis en es nessa in aes u u a [92]. AITIL ´ e uma amewo k que desc e e um conjun o de p ´ a icas, ins u c¸ ˜ oes e ecomenda c¸ ˜ oes que explica p ocessos, p ocedimen os e a e as pa a ge i os se i c¸ os de uma o ganiza c¸˜ ao [ 56 ]. Es es elemen os n ˜ ao s ˜ ao espec ´ ı icos de nenhuma o ganiza c¸˜ ao e podem se aplicados po qualque uma. A ITIL n ˜ ao ´ e um s anda d, ou seja, n ˜ ao p esc e e as p ´ a icas que desc e e. As o ganiza c¸ ˜ oes n ˜ ao p ecisam de implemen a cada p ocesso ou segui a amewo k de o ma igo osa. Cada emp esa pode escolhe as ´ a eas do seu neg ´ ocio mais ap op iadas pa a implemen a os p ocessos. O oco da ITIL ´ e ga an i que os se i c¸ os consigam acompanha as necessidades do neg ´ ocio, o e ecendo ` as o ganiza c¸ ˜ oes uma opo unidade de aumen a a e iciˆ encia, melho a a p odu i idade e aumen a o alo come cial. 1 1.2. Mo i ac¸˜ ao 2 Enquan o que as p ´ a icas ITIL ep esen am apenas ecomenda c¸ ˜ oes, exis e, desde 2005, o s anda d ISO 20000 [ 15 ], de inido pela In e na ional O ganiza ion o S anda diza ion (ISO), que especi ica os equisi os necess ´ a ios pa a a ges ˜ ao de se i c¸ os de uma o ganiza c¸˜ ao. O ISO 20000 ´ e uma e oluc¸˜ ao das p ´ a icas ITIL e em a in enc¸˜ ao de se compa ´ ı el com es as [92]. En e ou as coisas, es e s anda d implica a u iliza c¸˜ ao de uma CMDB que gua de odos os i ens de con igu ac¸˜ ao, assim como o seu his ´ o ico de al e ac¸ ˜ oes e p oblemas. CMDB ´ e, en ˜ ao, uma base de dados, que segue as no mas de inidas pela ITIL, usada po uma o ganizac¸˜ ao pa a gua da in o mac¸˜ ao sob e a sua in aes u u a compu acional. Uma das maio es a e as da ges ˜ ao de con igu a c¸ ˜ oes passa pela iden i ica c¸˜ ao dos i ens de con igu a c¸˜ ao a gua da na CMDB. Um dos seus p incipais obje i os passa po o nece in o ma c¸˜ ao sob e os i ens e con igu a c¸ ˜ oes na in aes u u a da emp esa e os seus se i c¸ os. 1.2 mo i ac¸˜ ao Os ambien es emp esa iais possuem in aes u u as compu acionais complexas que s ˜ ao compos as po di e sos componen es, que podem inclui elemen os de ha dwa e, so wa e, documen a c¸˜ ao ou pessoal, e que dependem en e si de ´ a ias o mas. Tendo em con a a g ande complexidade da in aes u u a de uma emp esa, es a necessi a de e amen as de ges ˜ ao mais so is icadas, al como uma CMDB [ 78 ]. Sendo uma e amen a que pe mi e a uma o ganiza c¸˜ ao e conhecimen o de odos os seus a i os e dos elacionamen os en e es es, ´ e desc i a em [ 54 ] como ”um dos ecu sos mais aliosos que uma o ganiza c¸˜ ao em ` a sua disposic¸˜ ao, se o execu ada co e amen e”. ACMDB o na-se uma e amen a mais ele an e ` a medida que s ˜ ao adicionados mais i ens de con igu a c¸˜ ao ao sis ema, po que pe mi e man e in o ma c¸˜ ao sob e es es e pe cebe como al e a c¸ ˜ oes aos mesmos podem a e a os es an es componen es da in aes u u a. Pa a al ´ em dis o, ` a medida que a in aes u u a se o na mais complexa, aumen a, amb ´ em, a impo ˆ ancia de man e in o ma c¸˜ ao sob e os seus componen es, de o ma a acili a a sua ges ˜ ao. Exis em di e sas az ˜ oes pelas quais ´ e ele an e e in o ma c¸˜ ao sob e a in aes u u a da o ganiza c¸˜ ao. Po exemplo, conhece odos as m ´ aquinas exis en es acili a a p e en c¸˜ ao da en ada de in usos na ede da emp esa; conhece as depend ˆ encias en e os ´ a ios componen es pe mi e sabe quais des es possuem acesso a in o ma c¸˜ ao sens ´ ı el; sabe de odas as ins ˆ ancias ins aladas de um so wa e pe mi e aze uma melho ges ˜ ao do licenciamen o do mesmo; conhece odos os a i os en ol idos numa a e a e odos os seus elacionamen os, o nece um melho planeamen o de a c¸ ˜ oes de ecupe a c¸˜ ao e de an ´ alise elacionadas com a disponibilidade de se i c¸ os; o conhecimen o de alhado dos componen es de so wa e e de ha dwa e, assim como as depend ˆ encias en e si, pe mi em a i ualiza c¸˜ ao e mig ac¸˜ ao de se ic¸os e m´ aquinas; en e ou os [78]. 1.3. Obje i os 3 No en an o, ob e oda es a in o ma c¸˜ ao sob e os componen es da in aes u u a implica cus os, p incipalmen e se i e de se e e uada manualmen e. Conside ando as emp esas j ´ a exis en es, que j ´ a possuem uma es u u a mais complexa e desen ol ida, es e p ocesso o na-se ainda mais di ´ ıcil. Des a o ma oi obse ado em [73] que das ´ a ias o ganizac¸ ˜ oes que a cada ano en am cons ui a sua CMDB, ce ca de 85% alham nes a a e a. Pa a al ´ em dis o, ´ e amb ´ em cons a ado em [ 66 ] que mais de 75% de odas as inicia i as es a ´ egicas, sendo es as a implemen a c¸˜ ao de uma CMDB ou ou as, alham, pelo menos, na espos a ` as expe a i as iniciais das o ganiza c¸ ˜ oes. Uma das maio es az ˜ oes pela qual is o acon ece ecai no ac o de se uma abo dagem excessi amen e manual e, sem as e amen as ap op iadas, as o ganiza c¸ ˜ oes conside am que es e abalho ´ e demasiado minucioso e demo ado [ 73 ]. Adicionalmen e, a en a i a de modela manualmen e os di e en es elacionamen os en e os CIs, ´ e uma a i idade p opensa a e os. Uma boa abo dagem pa a esol e es e p oblema passa po ob e um m´ e odo que ecolha in o mac¸˜ ao sob e os componen es. As e amen as de descobe a au om ´ a ica s ˜ ao essenciais pa a a au oma iza c¸˜ ao do p ocesso de ecolha de in o ma c¸˜ ao pa a uma CMDB. Po ´ em, usualmen e, es as e amen as s ˜ ao di ´ ıceis de implemen a e execu a e n ˜ ao ecolhem a quan idade e ipo de dados p e endidos [ 78 ]. Assim, quem p ecisa des as in o ma c¸ ˜ oes acaba po implemen a as suas p ´ op ias e a- men as ou ealiza a descobe a manualmen e. Al ´ em dis o, a descobe a das depend ˆ encias elacionadas com pessoas e de in o ma c¸˜ ao elacionada com so wa e ` a medida o na-se uma e apa c ´ ı ica, de ido ` a especi icidade des e ipo de dados. A p ecis ˜ ao da in o ma c¸˜ ao ob ida ´ e amb ´ em um a o essencial, pois n ˜ ao de em exis i a i os ou depend ˆ encias n ˜ ao descobe as. A al a de in o ma c¸˜ ao pode le a a que, po exemplo, p ocessos de ecupe a c¸˜ ao ou de mig ac¸˜ ao acabem po alha [78]. Assim, o p ocesso de descobe a de e se o mais simples, ab angen e e p eciso poss ´ ı el, de o ma a que a in o ma c¸˜ ao ob ida seja o mais ´ u il poss ´ ı el na omada de decis ˜ oes ace ca da in aes u u a, uma ez que es as in luenciam os esul ados da o ganizac¸˜ ao. 1.3 obje i os Com es e p oje o, ´ e espe ado que seja poss ´ ı el aze a c ia c¸˜ ao de uma CMDB au oma ica- men e, ou seja, com o m´ ınimo de abalho desempenhado po pa e do u ilizado . Des a o ma, e de um modo ge al, os p incipais obje i os des e p oje o passam en ˜ ao po : • Pe cebe como uncionam as ecnologias que implemen am CMDBs e como ´ e que os dados ecolhidos podem se a mazenados; • Desen ol e uma a qui e u a pa a a au oma iza c¸˜ ao do p ocesso de c ia c¸˜ ao de uma CMDB; 1.4. O ganizac¸˜ ao do documen o 4 • Implemen a um p ocesso de descobe a au om ´ a ica dos componen es compu acionais de uma o ganiza c¸˜ ao eco endo a e amen as de an ´ alise de edes e in en ´ a io de sis emas; • Faze o po oamen o da CMDB, adap ando-o ` a e amen a escolhida pelo u ilizado ; • Minimiza o es o c¸o do u ilizado na a e a de c iac¸˜ ao da CMDB. 1.4 o ganizac¸˜ ao do documen o Al ´ em des e cap ´ ı ulo de in odu c¸˜ ao, es e documen o encon a-se es u u ado em mais 5 cap´ ı ulos: •Cap´ ı ulo 2- Es ado da A e: s ˜ ao expos os os concei os e implemen a c¸ ˜ oes mais ele- an es ace ca do ema. •Cap´ ı ulo 3- P oblema e Desa ios: ´ e ap esen ada a solu c¸˜ ao p opos a pa a o p oblema iden i icado, assim como os desa ios que possam su gi . •Cap´ ı ulo 4- Desen ol imen o: abo da o desen ol imen o e implemen a c¸˜ ao da soluc¸˜ ao, expondo as decis˜ oes omadas. •Cap´ ı ulo 5- Tes es: ap esen a os es es e e uados ` a e amen a desen ol ida, assim como os esul ados ob idos nes es. •Cap´ ı ulo 6- Conclus˜ oes e T abalho Fu u o: conclui a disse a c¸˜ ao, ap esen ando um esumo dos esul ados ob idos, assim como uma pe spe i a de melho amen o do p oje o a abo da num poss´ ı el abalho u u o. 2 ESTADO DA ARTE Nes e cap ´ ı ulo ˜ ao se ap esen ados os concei os e implemen a c¸ ˜ oes exis en es ele an es pa a a documen a c¸˜ ao e ges ˜ ao de in aes u u as compu acionais. Is o inclui a ap esen a c¸˜ ao de concei os, ais como ITIL,ISO 20000, in aes u u a compu acional, CMDB, descobe a au om ´ a ica e mapeamen o en e modelos de dados, assim como expe i ˆ encias e conhecimen os j ´ a undamen ados ace ca des es. Finalmen e, se ´ a ap esen ado algum do abalho elacionado analisado. 2.1 i il ` A medida que as in aes u u as se o am o nando mais complexas, du an e os anos 80, o go e no b i ˆ anico examinou a sua in aes u u a de TI com o obje i o de encon a melho es o mas de usa os seus se i c¸ os e ecu sos. Su giu en ˜ ao um conjun o de pad ˜ oes e melho es p ´ a icas pa a melho a o desempenho das TI que e oluiu pa a uma amewo k compos a po um conjun o de li os [66]-aITIL [83] - que se encon a, ac ualmen e, na e s˜ ao 4. Um dos componen es cha e da ITIL 4 ´ e o Se ice Value Sys em (SVS). Nes e, ´ e ep esen ada a o ma como componen es e a i idades di e en es podem abalha em conjun o, em qualque ipo de o ganiza c¸˜ ao, com o obje i o de acili a a c ia c¸˜ ao de alo a a ´ es de se ic¸os de TI. Os componen es do SVS s˜ ao: •Cadeia de alo de se ic¸o: Conjun o de a i idades ealizadas po uma o ganiza c¸˜ ao pa a en ega p odu os ou se ic¸os com alo aos seus clien es; •P ´ a icas: Conjun o de ecu sos o ganizacionais desenhados pa a execu a um abalho ou a ingi um obje i o; •P inc´ ıpios o ien ado es: Recomenda c¸ ˜ oes capazes de o ien a uma o ganiza c¸˜ ao em odas as ci cuns ˆ ancias, independen emen e dos seus obje i os, es a ´ egias, ipo de abalho ou es u u a de ges ˜ ao; •Go e nac¸ ˜ ao: Sis ema que que o ien a e con ola a o ganizac¸˜ ao; 5 2.2. ISO/IEC 20000 6 •Melho ia con ´ ınua: A i idade o ganizacional eco en e que ga an e que o desempe- nho da o ganizac¸˜ ao con inua a esponde ` as expec a i as das pa es in e essadas. As p ´ a icas de ges ˜ ao de inidas no SVS incluem p ´ a icas ge ais de ges ˜ ao, p ´ a icas de ges ˜ ao de se i c¸ os e p ´ a icas de ges ˜ ao ´ ecnica. De odas as p ´ a icas de inidas, a ele an e pa a es e p oje o ´ e a p ´ a ica de ges ˜ ao de con igu a c¸ ˜ oes de se i c¸ os, inse ida nas p ´ a icas de ges ˜ ao de se i c¸ os. A p ´ a ica de ges ˜ ao con igu a c¸ ˜ oes de se i c¸ os ga an e que a in o ma c¸˜ ao sob e os se i c¸ oseosCIs que os supo am ´ e exa a, con i ´ a el e es ´ a dispon ´ ı el quando e onde o p ecisa. Is o inclui in o mac¸ ˜ ao sob e como os CIs es ˜ ao con igu ados e como se elacionam en e si. Recolhe e ge e in o ma c¸˜ ao sob e uma g ande a iedade de CIs, que usualmen e incluem ha dwa e, so wa e, edes, edi ´ ıcios, pessoas, o necedo es, documen a c¸˜ ao e se i c¸ os. Es a in o ma c¸˜ ao pode se gua dada numa ´ unica on e de dados, ou pode se dis ibu ´ ıda en e ´ a ias on es. Inicialmen e, a ITIL come c¸ ou po desc e e uma CMDB como uma base de dados ´ unica, mas a pa i da ´ ul ima e s ˜ ao, come c¸ ou a u iliza o concei o de Con igu a ion Managemen Sys em (CMS) pa a desc e e uma e amen a que ecolhe, a mazena, ge e, a ualiza, analisa e ap esen a oda a in o mac¸˜ ao sob e os CIs e os seus elacionamen os. Ainda assim, ITIL de ine uma CMDB como “uma base de dados u ilizada pa a gua da os de alhes dos CIs du an e o seu ciclo de ida e os elacionamen os en e es es.” Ou os concei- os ele an es no con ex o de uma CMDB s ˜ ao in aes u u a de TI, ges ˜ ao de con igu a c¸ ˜ oes, i em de con igu a c¸˜ ao (CI), a ibu o e ipo de CI. A in aes u u a de TI ´ e desc i a pela ITIL como “ odo o ha dwa e, so wa e, edes e ins ala c¸ ˜ oes necess ´ a ias pa a desen ol e , es a , en ega , moni o iza , ge i e supo a se i c¸ os”. A ges ˜ ao de con igu a c¸ ˜ oes “ o nece in o ma c¸˜ ao sob e os CIs (...) e os seus elacionamen os: como in e agem, se elacionam, e dependem uns dos ou os (...). Is o inclui in o ma c¸˜ ao sob e as depend ˆ encias en e se i c¸ os”. Um CI ´ e “qualque componen e que necessi a de se ge ido pa a o nece se i c¸ os aos clien es” e pode ab ange elemen os de so wa e, ha dwa e, se i c¸ os, p ocessos ou pessoas [ 83 ]. O a ibu o de um CI ´ e essencialmen e in o ma c¸˜ ao sob e es e, al como, p e c¸ o, e s ˜ ao, nome ou n ´ ume o de s ´ e ie [ 66 ]. J ´ a o ipo de um CI co esponde a “uma ca ego ia usada pa a classi ica CIs. Os ipos de CIs iden i icam os a ibu os e elacionamen os desse egis o”. De ini , ge i e o imiza os CIs e as suas dependˆ encias ´ e o oco da CMDB. 2.2 iso/iec 20000 AIn e na ional O ganiza ion o S anda diza ion (ISO)[ 3 ] ´ e uma o ganiza c¸˜ ao in e nacional de de ini c¸˜ ao de s anda ds undada em 1947 que j ´ a desen ol eu mais de 20000 s anda ds in e nacionais. OISO/IEC 20000 [ 15 ] ´ e um s anda d cujos p ocessos es ˜ ao alinhados com as p ´ a icas desc i as na ITIL [ 83 ]. De ine os equisi os de ges ˜ ao dos se i c¸ os de TI necess ´ a ios pa a que as o ganizac¸ ˜ oes p es em se ic¸os de qualidade aos seus clien es. 2.3. In aes u u a de TI 7 OISO/IEC 20000 possui 5g upos de p ocessos que ga an em a qualidade da p es a c¸˜ ao dos se ic¸os po pa e das o ganizac¸ ˜ oes [88]: • Concec¸˜ ao e ansic¸˜ ao de se ic¸os no os ou al e ados; • P ocessos de en ega de se ic¸os; • P ocessos de elacionamen o; • P ocessos de esoluc¸˜ ao; • P ocessos de con olo. Inclu ´ ıdo no g upo de p ocessos de con olo, a ges ˜ ao de con igu a c¸ ˜ oes ela a que, pa a cada se i c¸ o, de em se iden i icados os CIs ele an es, os seus a ibu os e os seus elacionamen os e depend ˆ encias [ 88 ]. Nes e con ex o, s ˜ ao ele an es os concei os i em de con igu a c¸˜ ao e CMDB.CI ´ e desc i o pelo ISO/IEC 20000 como um “elemen o que necessi a de se con olado pa a en ega se i c¸ os” e CMDB ´ e especi icada como uma base de dados que “gua da in o ma c¸˜ ao sob e os a ibu os dos i ens de con igu a c¸˜ ao e dos elacionamen os en e es es, con olando os componen es du an e o seu ciclo de ida” [15]. De ido ao oco na qualidade e e ici ˆ encia dos se i c¸ os p es ados, as o ganiza c¸ ˜ oes que seguem os p inc ´ ıpios e p ´ a icas de ges ˜ ao de se i c¸ os do ISO/IEC 20000 i am pa ido de bene ´ ıcios an o a n ´ ı el in e no como a n ´ ı el compe i i o, is o que uma ce i ica c¸˜ ao des e ipo n˜ ao ´ e algo simples e comum. 2.3 in aes u u a de i O modelo de uma in aes u u a pode engloba ´ a ios concei os dependendo do con ex o da si ua c¸˜ ao. No en an o, de uma o ma gene alizada, o modelo desc i o em [ 82 ] pa ece adequado nes e con ex o em espec ´ ı ico. Segundo es e, a in aes u u a compu acional de uma o ganizac¸˜ ao pode se ag upada nas seguin es ca ego ias: • disposi i os dos u ilizado es inais; • sis emas ope a i os; • a mazenamen o; • compu acional; • ede; • cen os de dados. 2.4. Con igu a ion Managemen Da abase 14 Rela i amen e ao modelo de dados do sis ema, exis e uma hie a quia de inida en e di e sos ipos de dados, que ´ e poss ´ ı el obse a na Figu a 2.2. Tipos de g upos de obje os comp eendem ipos de obje os; ipos de obje os he dam ca ego ias; ipos de obje os ins an- ciam obje os, que he dam as ca ego ias do seu ipo de obje o; e ca ego ias incluem a ibu os e podem se ca ac e izadas como globais, espec´ ı icas ou pe sonalizadas [12]. Figu a 2.2: Hie a quia do modelo de dados do sis ema do i-doi (inspi ado no esquema p esen e em h ps://kb.i-doi .com/display/en/S uc u e+o + he+IT+Documen a ion). Aqui, o e mo obje o e e e-se ao e mo CI da ITIL, e o e mo ipo de obje o e e e-se a ipo de CI. Al ´ em dis o, o i-doi possui amb ´ em ´ a ios elacionamen os de inidos, que podem se ajus ados e modi icados. Um elacionamen o es abelece um dos obje os como mas e e ou o como sla e sendo que o segundo es ´ a dependen e do p imei o. Em e mos de base de dados elacional, es es ipos, ca ego ias e elacionamen os ep e- sen am abelas. Os ´ a ios ipos de g upos de obje os encon am-se de inidos na abela “isys obj ype g oup”, os ipos de obje os es ˜ ao de inidos na abela “isys obj ype”, e cada obje o da CMDB ´ e um egis o na abela “isys obj”. Um elacionamen o ´ e ep esen ado po um obje o do ipo “ ela ion”. Pa a al ´ em dis o, cada ca ego ia es ´ a e le ida na base de dados como uma abela. Em e mos de nomencla u a, exis em p e ixos e su ixos que iden i icam ca ego ias e a ibu os. Po exemplo, odas as abelas possuem o p e ixo “isys ”. O es ado de ida de um componen e ´ e documen ado na CMDB e ´ e gua dado como um a ibu o de um obje o. Exis em es ados j´ a de inidos, mas ´ e amb´ em poss´ ı el de ini ou os es ados [12]. O i-doi amb ´ em pe mi e acesso ex e no a a ´ es de uma API, que o e ece uncionali- dades semelhan es ` as o e ecidas pela in e ace g ´ a ica, com a an agem de pode em se au oma izadas. A a ´ es des a ´ e poss ´ ı el aze pedidos ao se ido de o ma a execu a de e minados m ´ e odos seguindo uma abo dagem Remo e P ocedu e Call (RPC) [ 110 ], sendo u ilizados pedidos Hype Tex T ans e P o ocol (HTTP) [ 68 ] POST e JSON [ 5 ] como o ma o de oca de in o mac¸˜ ao [12]. 2.4. Con igu a ion Managemen Da abase 15 Dos ´ a ios m ´ e odos que podem se u ilizados a a ´ es da API, os mais ele an es nes e con ex o s˜ ao: •cmdb.objec .c ea e: pe mi e a c iac¸˜ ao de obje os; •cmdb.objec ypes. ead: in e oga os ipos de obje os; •idoi .cons an s : de ol e os ipos de obje os e ca ego ias, globais e espec ´ ı icas, exis en es na base de dados; •cmdb.ca ego y in o: de ol e os a ibu os de uma ca ego ia; •cmdb.objec ype g oups. ead : de ol e os ipos de obje os que es ˜ ao associados aos ipos de g upos de obje os; •cmdb.objec ype ca ego ies. ead : de ol e as ca ego ias associadas aos ipos de obje os. iTop O iTop [ 4 ] ´ e uma solu c¸˜ ao open sou ce que pe mi e que os CIs e os seus elacionamen os sejam ge idos numa CMDB sendo a in o ma c¸˜ ao ace ca des es a mazenada numa base de dados MySQL ou Ma iaDB. Exis em ´ a ias classes de inidas pa a os CIs da CMDB que es ˜ ao ag upadas po m ´ odulos, sendo que a u iliza c¸˜ ao de mais m ´ odulos signi ica a exis ˆ encia de mais ipos de CIs na CMDB. Ao n ´ ı el do modelo de dados, es as classes s ˜ ao ep esen adas po abelas e os a ibu os de cada CI s ˜ ao a ibu ´ ıdos dependendo da sua classe, ou seja, s ˜ ao ep esen ados pelas colunas da abela. Os elacionamen os en e os CIs s ˜ ao amb ´ em ep esen ados po abelas que s ˜ ao iden i icadas pelo p e ixo “lnk”. Possui uma in e ace Rep esen a ional S a e T ans e (REST) [ 69 , Cap ´ ı ulo 5] que pe mi e uma in e a c¸˜ ao emo a com a CMDB. Es a in e ace u iliza o p o ocolo HTTP e o o ma o JSON pa a a oca de in o ma c¸˜ ao. Dos m ´ e odos exis en es o mais ele an e nes e con ex o ´ e o m´ e odo co e/c ea e que pe mi e a c iac¸˜ ao de no os obje os na CMDB [27]. De ice42 O De ice42 [ 24 ] ´ e uma solu c¸˜ ao de so wa e pa a ges ˜ ao de in aes u u as de TI. De en e os ´ a ios mecanismos que disponibiliza, o mais pe inen e nes e con ex o ´ easuaCMDB. Es a o nece uma is a cen alizada do ambien e compu acional, man endo in o ma c¸˜ ao ace ca de odos os CIs. Possui um esquema dos CIs e elacionamen os j ´ a de inido que pode se ex endido pelo u ilizado . No opo da hie a quia encon am-se os edi ´ ıcios, que alojam uma ou mais salas de compu ado es. Cada sala pode con e um ou mais acks ou ou os obje os, que s ˜ ao a i os ou disposi i os. Es es disposi i os incluem disposi i os ´ ısicos, como se ido es ou swi ches, m ´ aquinas i uais, clus e s, en e ou os. Os a i os podem 2.4. Con igu a ion Managemen Da abase 16 inclui cabos, axes, moni o es, scanne s, p odu os de so wa e, en e ou os. Es ˜ ao amb ´ em de inidos como ipos de CIs pe miss ˜ oes, clien es, endedo es, pala as-passe, modelos de ha dwa e, sis emas ope a i os, con a os e aplicac¸ ˜ oes. Possui uma API REST que pe mi e a manipula c¸˜ ao dos CIs na CMDB. No en an o, o Uni o m Resou ce Loca o (URL) [ 59 ] de cada pedido a ia dependendo do ipo de CI en ol ido [ 19 ]. BMC CMDB A BMC CMDB [ 21 ] ´ e um dos componen es do BMC A ium Co e e pe mi e a ges ˜ ao, a mazenamen o e moni o iza c¸˜ ao da in o ma c¸˜ ao elacionada com os componen es da in aes- u u a compu acional. A in o ma c¸˜ ao ace ca dos CIs e dos seus elacionamen os es ´ a o ganizada em da ase s, que passam po um p ocesso de econcilia c¸˜ ao. Quando os CIs e os seus elacionamen os s ˜ ao adicionados ` aCMDB, cada en ada ´ e a ibu ´ ıda a um da ase , que iden i ica a o igem da in o ma c¸˜ ao. O ca ´ alogo de p odu os inclui os nomes e de ini c¸ ˜ oes no malizados dos p odu os de so wa e, ha dwa e e se i c¸ os dispon ´ ı eis na o ganiza c¸˜ ao. O mo o de no maliza c¸˜ ao ga an e a coe ˆ encia da in o ma c¸˜ ao p o enien e de di e sas on es, aplicando a nomencla u a especi icada e eliminando CIs duplicados. O mo o de econcilia c¸˜ ao combina a in o ma c¸˜ ao dos ´ a ios da ase s num ´ unico, que ´ e depois u ilizado pelos consumido es. A in o ma c¸˜ ao es ´ a o ganizada de aco do com o Common Da a Model (CDM), que consis e no conjun o de classes de CIs e elacionamen os p esen es na CMDB. Cada classe ep esen a uma abela na base de dados. Es e modelo j ´ a es ´ a p ´ e-de inido na CMDB mas pode se es endido, pe mi indo a c ia c¸˜ ao de no as classes e a ibu os des as. Es as classes ep esen am os di e en es ipos de CIs e elacionamen os. Uma ins ˆ ancia de um elacionamen o elaciona duas ins ˆ ancias de CIs, podendo amb ´ em e a ibu os associados. Pa a al ´ em dis o, um dos CIs ´ e conside ado a o igem do elacionamen o e o ou o o des ino. Exis em di e en es ipos de classes no CDM: •Regula es: ˆ em a sua p ´ op ia abela de inida com os seus a ibu os espec ´ ı icos, po- dendo se supe classes ou subclasses, sendo que es as ´ ul imas combinam os seus a ibu os espec´ ı icos aos da sua supe classe; •Ca ego izac¸˜ ao: n ˜ ao ˆ em a sua p ´ op ia abela de inida, sendo que os a ibu os es- pec ´ ı icos de uma classe de ca ego iza c¸˜ ao s ˜ ao adicionados ` a es u u a da sua supe - classe, sendo es es apenas p eenchidos pelas ins ˆ ancias da classe de ca ego iza c¸˜ ao, o nando-se opcionais; •Abs a as: n ˜ ao ˆ em a sua p ´ op ia abela de inida nem a ibu os, uncionando apenas pa a o ganiza subclasses; •Abs a as com eplicac¸˜ ao de dados: no as abelas que ag egam oda a in o ma c¸˜ ao ace ca das subclasses de uma classe abs a a. 2.4. Con igu a ion Managemen Da abase 17 De o ma a man e a consis ˆ encia com os s anda ds de inidos nes e con ex o, o CDM oi baseado no CIM [ 23 ] e no Windows Managemen Ins umen a ion (WMI) [ 18 ], endo sido ado ados os componen es b ´ asicos des es. O CIM ´ e um modelo de dados o ien ado a obje os que con ´ em in o ma c¸˜ ao sob e di e en es pa es de uma emp esa e oi de inido pela Dis ibu ed Managemen Task Fo ce (DMTF) [ 25 ]. O WMI [ 18 ] ´ e a in aes u u a pa a a ges ˜ ao de dados e ope a c¸ ˜ oes em sis emas ope a i os baseados em Windows [ 53 ], que u iliza amb ´ emoCIM pa a ep esen a sis emas, aplicac¸ ˜ oes, edes, disposi i os e ou os componen es. A BMC CMDB [ 21 ] possui uma API REST que u iliza o p o ocolo HTTP e o o ma o JSON pa a a oca in o ma c¸˜ ao. Dos ´ a ios pedidos que podem se ei os a a ´ es da API, os mais ele an es nes e con ex o s˜ ao: • GET /cmdb/ 1.0/classes: e o na a lis a das classes do CDM; • GET /cmdb/ 1.0/a ibu es/namespace/className : e o na os a ibu os de uma de e - minada classe; • POST /cmdb/ 1.0/ins ances: supo a a c iac¸˜ ao de m´ ul iplas ins ˆ ancias. Se iceNow CMDB A solu c¸˜ ao p opos a pela Se iceNow [ 34 ] pe mi e o a mazenamen o de in o ma c¸˜ ao ace ca dos componen es da in aes u u a, cons uindo uma ep esen a c¸˜ ao l ´ ogica dos a i os e elacionamen os en e es es. O modelo de dados da CMDB consis e num conjun o de abelas ligadas que con ˆ em odos os a i os e se ic¸os con olados pela o ganizac¸˜ ao, assim como as suas con igu ac¸ ˜ oes [34]. Exis em ˆ es abelas cha e na CMDB [34]: •cmdb: abela base pa a a mazena CIs n˜ ao ecnol´ ogicos; •cmdb ci: abela base pa a a mazena CIs; •cmdb el ci: abela que de ine os elacionamen os en e CIs. As abelas podem se es endidas pa a ou as, a ibuindo uma hie a quia de classi icac¸˜ ao aos ´ a ios CIs. ´ E en ˜ ao poss ´ ı el e ipos de CIs que descendem de ou os ipos na hie a quia. Todos os CIs no sis ema ˆ em um ipo (classe), que se e e e ao nome da abela em que s ˜ ao a mazenados. Tamb ´ em ´ e poss ´ ı el de ini no as classes de CIs e elacionamen os. Um elacionamen o na CMDB consis e em dois CIs, o “pai” e o “ ilho”, e o ipo do elacionamen o. Al ´ em dis o, o sis ema man ´ em a abela cmdb el ype sugges que con ´ em os ipos de elacionamen os ap op iados pa a um ipo de CI, com base na sua classe. Os elacionamen os s ˜ ao de inidos aos pa es, ou seja, o elacionamen o exis e da pe spe i a do CI “pai” e o elacionamen o con ´ a io exis e da pe spe i a do CI “ ilho” [34]. 2.4. Con igu a ion Managemen Da abase 18 ´ E poss ´ ı el amb ´ em acede aos dados p esen es na CMDB a a ´ es da sua API REST, que u iliza o p o ocolo HTTP e os o ma os JSON ou eX ensible Ma kup Language (XML) [ 75 ] pa a oca de in o mac¸˜ ao, e supo a os seguin es m´ e odos [34]: • POST /now/cmdb/ins ance/{classname} : c ia c¸˜ ao de um CI, que pode e elaciona- men os associados, sendo que {classname}se e e e ao nome da classe na CMDB; • GET /now/cmdb/me a/{classname} : pa a uma de e minada classe da CMDB, de inida no pa ˆ ame o {classname} , e o na a classe que es ende, as classes que a es endem, os seus a ibu os e os elacionamen os que pode in eg a . Compa ac¸˜ ao das e amen as ´ E poss ´ ı el obse a na Tabela 2.2uma compa a c¸˜ ao en e as e amen as desc i as an e i- o men e. Es a e e como p incipais pa ˆ ame os de compa a c¸˜ ao, a o ma como as CMDBs a mazenam os CIs, elacionamen os e in o ma c¸˜ ao ace ca des es, as capacidades o necidas pelas suas APIs eosSGBDs supo ados po es as. Tabela 2.2: Compa ac¸˜ ao das CMDBs analisadas. Ca ac e ´ ıs icas i-doi iTop De ice42 BMC CMDB Se iceNow CMDB CIs Rep esen ac¸˜ ao Regis o na abela isys obj Regis o na abela do seu ipo ?Regis o na abela do seu ipo Regis o na abela do seu ipo Tipo De inidos na abela isys obj ype Di e en es abelas ep esen am ipos de CIs di e en es ? Di e en es abelas ep esen am ipos de CIs di e en es Di e en es abelas ep esen am ipos de CIs di e en es Hie a quia Tipos de g upos de CIs comp eendem ipos de CIs, que ˆ em ca ego ias associadas N˜ ao exis e ? Exis em sub- ipos que he dam as ca ac e ´ ıs icas do seu supe - ipo Tabelas es endem ou as abelas e he dam as suas ca ac e ´ ıs icas A ibu os Ca ego ias incluem a ibu os Colunas da abela ? Colunas da abela Colunas da abela Relacionamen os Rep esen ac¸˜ ao CI do ipo ela ion Tabela com o p e ixo lnk ? Tabela do seu ipo Tabela do seu ipo API P o ocolo HTTP HTTP HTTP HTTP HTTP Fo ma o oca JSON JSON JSON JSON JSON XML C ia CI Pe mi e Pe mi e Pe mi e Pe mi e Pe mi e Ob e ipos de CIs Pe mi e N˜ ao pe mi e N˜ ao pe mi e Pe mi e N˜ ao pe mi e Ob e a ibu os de um ipo Pe mi e N˜ ao pe mi e N˜ ao pe mi e Pe mi e Pe mi e SGBD Sis emas supo ados MySQL Ma iaDB MySQL Ma iaDB Pos g eSQL Mic oso SQL Se e O acle Ma iaDB Mic oso SQL Se e O acle ? - signi ica que n˜ ao oi poss´ ı el ob e in o mac¸ ˜ ao conc e a 2.5. Descobe a Au om´ a ica 19 Tendo em con a os pa ˆ ame os analisados, ´ e poss´ ı el e i ica a exis ˆ encia de algumas semelhanc¸as e di e enc¸as en e as ´ a ias CMDBs. As p incipais semelhanc¸as de e adas o am: • Base nas no mas da ITIL; • Acesso ` aCMDB a a ´ es de uma API que u iliza o p o ocolo HTTP eJSON como o ma o de oca de in o mac¸˜ ao; • Possibilidade de c iac¸˜ ao de no os CIs a a ´ es da API. As p incipais di e enc¸as de e adas o am: • Exis ˆ encia de uma abela com a de inic¸˜ ao dos ´ a ios ipos de CIs e elacionamen os em oposic¸˜ ao ` a exis ˆ encia de uma abela pa a cada ipo exis en e; • Exis ˆ encia, ou n˜ ao, de uma hie a quia en e os di e sos ipos exis en es; • Colunas da abela ep esen am a ibu os em oposic¸˜ ao ` a exis ˆ encia de ca ego ias de a ibu os associadas a ipos; • Ob enc¸˜ ao da in o mac¸˜ ao ace ca do modelo de dados da CMDB a a ´ es da API em oposic¸˜ ao a acessos di e os ` a base de dados; • Di e en es SGBDs supo ados. 2.5 descobe a au om ´ a ica Nes a secc¸˜ ao ˜ ao se abo dadas ideias, concei os e implemen ac¸ ˜ oes ela i os ` a desco- be a au om´ a ica de componen es de uma in aes u u a de TI. Es e p ocesso mos a-se pa icula men e ele an e de ido ` a capacidade de au oma iza o p ocesso de ecolha de in o mac¸˜ ao ace ca da in aes u u a, is o que e e ua es e p ocesso manualmen e implica um abalho bas an e minucioso, demo ado e p openso a e os. 2.5.1P ocesso A ualmen e, as emp esas possuem in aes u u as compu acionais complexas, que com- p eendem uma eno me a iedade de componen es e dependˆ encias en e si [78], ap esen- ando di e en es ipos de a qui e u as dependendo dos seus equisi os [109]. Os seus com- ponen es es ˜ ao conec ados de o ma a execu a odas as a e as que supo am os se ic¸os da o ganizac¸˜ ao, es ando habi ualmen e amb´ em ligados ` a ede, que pe mi e a comunicac¸˜ ao de dados en e os ´ a ios disposi i os [107]. Nes e con ex o, o concei o de “ ede” pode se de inido como um conjun o de disposi i os ligados que ocam in o mac¸˜ ao uns com os ou os, podendo u iliza di e sos p o ocolos de comunicac¸˜ ao [109]. Es es disposi i os po- dem amb´ em es a localizados numa ´ a ea comum, ou em localizac¸ ˜ oes geog ´ a icas dis in as, podendo es a ´ a ias edes e sub- edes conec adas umas com as ou as [109]. Assim, de modo a aze a c iac¸˜ ao au om´ a ica da CMDB,´ e necess´ a io descob i os CIs que exis em na in aes u u a e os elacionamen os en e es es. A descobe a da in aes u u a da ede en ol e a ecolha de dados dos ´ a ios disposi i os que exis em nessa ede, sendo que cada disposi i o possui um conjun o de in o mac¸˜ ao que o ca ac e iza [84]. 2.5. Descobe a Au om´ a ica 20 Ao longo do p ocesso de descobe a, e ` a medida que ´ e ob ida no a in o mac¸˜ ao, es a pode se necess´ a ia pa a ob e dados mais espec´ ı icos [78] [84], ou seja, pode se necess´ a io sabe algo sob e uma m´ aquina pa a a pode explo a mais de alhadamen e. Pa a al´ em dis o, pode amb´ em se necess´ a io o nece c edenciais pa a acede a mais in o mac¸˜ ao ace ca dos CIs, assim como inicia as comunicac¸ ˜ oes den o da i ewall da emp esa [94] de o ma a pode comunica com os di e sos componen es. 2.5.2P o ocolos A ualmen e, exis em e amen as no me cado que implemen am di e sos m´ e odos ela- cionados com a descobe a de componen es numa in aes u u a. No en an o, a u ilizac¸˜ ao de um ´ unico m´ e odo de descobe a n˜ ao ´ e su icien e, po que ´ a ias e amen as descob em conjun os di e en es de in o mac¸˜ ao [78]. ´ E en ˜ ao necess´ a io pe cebe como uncionam, que p o ocolos e m´ e odos u ilizam e que ipo de dados ´ e poss´ ı el ob e a a ´ es des as e amen- as. Ou a ques ˜ ao iminen e nes e p ocesso passa po pe cebe como ´ e que es es podem se u ilizados e se s˜ ao supo ados pelos disposi i os. O p o ocolo In e ne Con ol Message P o ocol (ICMP) [99] pe mi e descob i os ende ec¸os IP das m´ aquinas a i as na ede. A a ´ es do comando ping ´ e poss´ ı el es a a cone i idade en e disposi i os. J´ a o comando ace ou e, pe mi e descob i o caminho en e dois nodos [57]. Des a o ma ´ e poss´ ı el pe cebe como es ˜ ao conec ados os ´ a ios disposi i os de ede da in aes u u a. Como necessi a do ende ec¸o IP,´ e apenas supo ado po disposi i os que implemen em a camada 3do modelo OSI. Em mui as edes, apenas uma pequena pe cen agem dos ende ec¸os IP es ˜ ao a i os num de e minado momen o, sendo que es e in e alo de ende ec¸os pode se con ´ ınuo ou n˜ ao [109]. As abelas de ou ing s˜ ao ou o mecanismo que pe mi e ob e in o mac¸˜ ao sob e a ede, po que gua dam in o mac¸˜ ao sob e a opologia des a. Es as es ˜ ao gua dadas em disposi- i os de ede, como po exemplo, ou e s. Fo necem in o mac¸˜ ao e e en e aos ende ec¸os associados ao disposi i o; as sub- edes a que es es se encon am di e amen e cone ados; o conjun o de ende ec¸os u ilizado pelos disposi i os na sua izinhanc¸a; e a explicac¸˜ ao de como os paco es de em se encaminhados na ede [57]. Tamb´ em o p o ocolo Add ess Resolu ion P o ocol (ARP) [98] pode se u ilizado pa a ob e in o mac¸˜ ao ace ca do ende ec¸amen o na ede. Es e mapeia ende ec¸os IP 4em ende ec¸os MAC, associando ende ec¸os de ede a ende ec¸os ´ ısicos. Es a in o mac¸˜ ao, quando ob ida, ´ e a mazenada na cache ARP dos disposi i os. Ao n´ ı el dos ende ec¸os IP 6´ e u ilizado o p o ocolo Neighbo Disco e y P o ocol (NDP) [93], que pe mi e que sejam encon ados ou os disposi i os na sua izinhanc¸a. Cada disposi i o que implemen e es e p o ocolo possui a sua neighbo cache, que possui in o mac¸˜ ao ace ca da esoluc¸˜ ao de ende ec¸os IP 6 em ende ec¸os MAC e se es es co espondem a um hos ou a um ou e [72]. Ou o ecu so que pode se u ilizado pa a ob e in o mac¸˜ ao sob e a ede ´ e a abela Fo wa ding Da abase (FDB). Es a abela ´ e u ilizada po disposi i os laye 2[57] e mapeia os ende ec¸os MAC nas po as em que o am descobe os. Usualmen e os swi ches s˜ ao descobe os a a ´ es da abela FDB, pois podem n˜ ao econhece IP. Pa a al´ em des es, exis e amb´ em o p o ocolo Link Laye Disco e y P o ocol (LLDP) [63] que, ao n´ ı el da camada de ligac¸˜ ao de dados, acili a a oca de in o mac¸˜ ao en e disposi i os. ´ E u ilizado pelos disposi i os de ede pa a anuncia em a sua iden idade, capacidades e os seus izinhos mais p ´ oximos numa LAN [64]. A in o mac¸˜ ao sob e os disposi i os ´ e a mazenada em Managemen In o ma ion Bases (MIBs) [63], que s˜ ao conjun os o ganizados 2.5. Descobe a Au om´ a ica 21 de in o mac¸˜ ao que podem se acedidos u ilizando o p o ocolo Simple Ne wo k Managemen P o ocol (SNMP) [60]. Tamb´ em o p o ocolo Spanning T ee P o ocol (STP) [97] pe mi e ob e in o mac¸˜ ao sob e a opologia da ede [109]. Es e p o ocolo cons ´ oi uma spanning ee que ca ac e iza o elacionamen o en e os nodos da ede, conec ada com pon es. Pa a ob e a opologia da ede na camada de ligac¸˜ ao de dados, ´ e necess´ a io analisa os dados da spanning ee de cada pon e, usando, po exemplo, o p o ocolo SNMP [57]. O p o ocolo SNMP u iliza pedidos Use Da ag am P o ocol (UDP) pa a acede aos da- dos a mazenados nas MIBs [57] dos disposi i os, ais como ou e s, swi ches, se ido es, imp esso as, wo ks a ions, en e ou os. A in o mac¸˜ ao ´ e a ada na o ma de a i´ a eis e des- c e e o es ado do sis ema e a sua con igu ac¸˜ ao. Exis em pedidos de inidos exclusi amen e pa a ob e in o mac¸˜ ao sob e os disposi i os: •Ge Reques :pedido ei o pa a ob e o alo de uma a i´ a el ou de uma lis a de a i´ a eis; •Ge Nex Reques : em como obje i o descob i as a i´ a eis exis en es e os seus alo es, sendo poss´ ı el pe co e oda a MIB; •Ge BulkReques :pedido de m´ ul iplas i e ac¸ ˜ oes de Ge Nex Reques . Exis em ˆ es e s˜ oes p incipais des e p o ocolo: SNMP 1[61], SNMP 2c [101]eSNMP 3 [62]. Nas e s˜ oes SNMP 1eSNMP 2c a au en icac¸˜ ao ´ e ei a eco endo a uma communi y s ing, que ep esen a uma pala a-passe necess´ a ia pa a a oca de in o mac¸˜ ao en e os dis- posi i os. Na e s˜ ao SNMP 3, os disposi i os s˜ ao con igu ados com um nome de u iliza- do e com uma pala a-passe, sendo que, pa a os pedidos se em au en icados ´ e necess´ a io que os disposi i os enham conhecimen o das pala as-passe associadas aos nomes de u i- lizado . Pa a al´ em dis o, pa a a enc ip ac¸˜ ao dos pedidos, ´ e amb´ em necess´ a io que os disposi i os enham conhecimen o da pala a-passe associada ao nome de u ilizado . No en an o, es e p o ocolo amb´ em ap esen a algumas des an agens. Es e implica a con igu ac¸˜ ao de um agen e SNMP na m´ aquina; es ´ a susce ´ ı el ` a pe da de in o mac¸˜ ao de ido ` a u ilizac¸˜ ao do p o ocolo UDP; e implica a ans e ˆ encia de g andes quan idades de dados en e m´ aquinas [60]. ´ E ap esen ado em [95] uma p opos a de descobe a da opologia da ede u ilizando o p o ocolo SNMP. O e mo opologia ´ e de inido como “a combinac¸˜ ao de ligac¸ ˜ oes e nodos numa ede e as in e conex˜ oes en e os nodos”. O p ocesso de descobe a desc i o es ´ a di idido em ˆ es m´ odulos, sendo es es a descobe a de disposi i os, a descobe a do ipo de disposi i os e a descobe a de cone i idade en e es es. Inicialmen e, com base num conjun o de ende ec¸os IP e uma ou mais communi y s ings,´ e u ilizada a abela de o e- amen o, a cache ARP e o p o ocolo ICMP pa a encon a disposi i os na ede, o nando o mecanismo de descobe a num p ocesso ecu si o. Pa a cada disposi i o encon ado, ´ e descobe o o seu ipo, que ´ e ob ido endo em con a o alo gua dado em sysSe ices1. O algo i mo de descobe a do ipo de disposi i o e i ica que camadas do modelo OSI s˜ ao supo adas pela m´ aquina, de e minando de que ipo de disposi i o se a a. Finalmen e, dependendo do ipo, ´ e ecolhida in o mac¸˜ ao espec´ ı ica de o ma a encon a cone i idade en e os ´ a ios disposi i os. O p o ocolo Secu e Shell (SSH) [113] pe mi e es abelece uma conex˜ ao com um sis ema. A pa i des e ipo de conex˜ ao ´ e poss´ ı el e acesso ` a m´ aquina e ob e in o mac¸˜ ao mais 1h p://oid-in o.com/ge /1.3.6.1.2.1.1.7 2.5. Descobe a Au om´ a ica 22 espec´ ı ica sob e a mesma [94]. No caso de sis emas Mic oso Windows, pode se u ilizado oWMI, que pe mi e a ges ˜ ao e acesso de dados nes es sis emas. Pe mi e amb´ em que es e acesso seja ei o de o ma emo a eco endo ao Windows Remo e Managemen (WinRM) [17]. Tan o o p o ocolo SSH como o WinRM necessi am das c edenciais das m´ aquinas pa a acede em a es as. 2.5.3A qui e u as Alguns au o es publica am as suas implemen ac¸ ˜ oes de p ocessos de descobe a au- om´ a ica num ambien e de ede [109] [107] [94]. ´ E disso exemplo o sis ema ap esen ado em [109], que em como p op´ osi o descob i ´ a ios disposi i os num ambien e de ede e as ligac¸ ˜ oes en e si. Es e ´ e compos o po : •Mecanismo de descobe a: descob e os disposi i os p esen es na ede e as ligac¸ ˜ oes en e es es, de e minando a opologia da in aes u u a de ede (a a ´ es do comando ping, da consul a da in o mac¸ ˜ ao das MIBs, ia p o ocolo SNMP, e do p o ocolo STP); •Moni o de ede: moni o iza os disposi i os pa a de e a al e ac¸ ˜ oes na ede; •In e ace de ede: pe mi e ao mecanismo de descobe a comunica com os disposi i- os den o da ede; •Base de dados da ede: a mazena a in o mac¸˜ ao ecolhida pelo mecanismo de desco- be a; •Disposi i o de en ada: pe mi e que o u ilizado en ie in o mac¸˜ ao ao sis ema; •Disposi i o de exibic¸˜ ao: pe mi e ao u ilizado uma isualizac¸˜ ao da opologia da ede. Es e sis ema ap esen a amb´ em uma in e ace com o u ilizado que o pe mi e con igu a a descobe a, inici´ a-la, ap esen a esul ados e in o mac¸˜ ao sob e o es ado da mesma e il a esul ados indesejados. Ou o exemplo ´ e o p ocesso de descobe a ap esen ado em [107]. Es e ´ e compos o po : •Unidade de descobe a: espons´ a el po descob i os componen es do sis ema e a sua in o mac¸˜ ao de con igu ac¸ ˜ ao (u iliza o comando ping pa a de e a que ende ec¸os IP es ˜ ao a i os na ede); •Base de dados: man ´ em um eposi ´ o io cen al dos componen es do sis ema desco- be os; •Mapa da ede: o nece uma is a hie ´ a quica do sis ema e das p op iedades dos componen es que azem pa e des e. 2.5.4Fe amen as A ualmen e, exis em e amen as de descobe a que u ilizam alguns dos p o ocolos des- c i os an e io men e pa a aze a descobe a e explo ac¸ ˜ ao dos componen es da ede. No en an o, es as podem n˜ ao esponde ` as necessidades dos u ilizado es, sendo mui as ezes necess´ a io u iliza ´ a ias e amen as ou p ocede ` a descobe a manual pa a ob e os dados p e endidos [78]. 2.5. Descobe a Au om´ a ica 23 Nmap O Nmap [86]´ e uma e amen a open sou ce que pe mi e a explo ac¸˜ ao e in en ´ a io da ede, sendo supo ado pela maio ia dos sis emas ope a i os. Es a n˜ ao necessi a das c edenciais de acesso de cada m´ aquina pa a e e ua a descobe a des as na ede [94]. Pe mi e aze o scan de uma ede in ei a ou de apenas um hos [86]. Oscan e e uado comec¸a po explo a os hos s especi icados pelo u ilizado , que podem se uma combinac¸˜ ao de nomes Domain Name Sys em (DNS) [90], ende ec¸os IP ou no ac¸ ˜ oes de ede Classless In e -Domain Rou ing (CIDR) [70], e i icando se es es se encon am a i os na ede, eco endo a pedidos ARP,T ansmission Con ol P o ocol (TCP) ou ICMP. Depois de sabe que hos s se encon am a i os, ´ e e e uada a esoluc¸˜ ao de nomes DNS.´ E amb´ em e i icado o es ado das po as do hos , se es as se encon am abe as, echadas, il adas e n˜ ao- il adas e que so wa e, e espe i as e s˜ oes, es ´ a a se execu ado nes as. Al´ em dis o, oscan ´ e amb´ em capaz de descob i o sis ema ope a i o que es ´ a a se execu ado no hos e, a a ´ es do comando ace ou e pe mi e amb´ em descob i os caminhos na ede en e ´ a ios hos s. Adicionalmen e, ´ e poss´ ı el eco e a sc ip s pa a ob e ainda mais in o mac¸˜ ao sob e os hos s (de ec¸˜ ao de e s˜ oes a anc¸ada, no i icac¸˜ ao de ulne abilidades de se ic¸os, descobe a de backdoo s e ou o malwa e, en e ou as coisas) [86]. Assim, o Nmap ´ e capaz de [76]: • de e a os hos s a i os na ede; • de e a o nome e ipo do hos ; • iden i ica os ende ec¸os IP eMAC; • explo a as po as abe as, echadas, il adas e n˜ ao- il adas no hos ; • de e a se ic¸os (p o ocolos u ilizados, nome da aplicac¸ ˜ ao e e s˜ ao) a co e nas po - as abe as; • de e a sis emas ope a i os e espe i as e s˜ oes. Ang y IP Scanne O Ang y IP Scanne [79]´ e uma e amen a open-sou ce que unciona em sis emas ope a- i os Windows, macOS [42] e Linux [41], e pe mi e aze o scan da ede. Usualmen e, o u ilizado o nece o in e alo de ende ec¸os IP com o obje i o de o scan e i ica se cada um des es se a a de um hos a i o e ob ´ em in o mac¸˜ ao sob e os mesmos. A in o mac¸˜ ao ecolhida pode inclui : • se o hos es ´ a a i o; • nome do hos e do dom´ ınio; • ende ec¸os IP eMAC; • po as TCP eUDP abe as e il adas; • se ic¸os a co e e espe i as e s˜ oes; • o alo m´ edio do ound ip ime; 2.7. T abalho Relacionado 30 BMC Disco e y O BMC Disco e y [22]´ e uma e amen a capaz de au oma iza o p ocesso de descobe a de a i os e mapeamen o de dependˆ encias en e aplicac¸ ˜ oes, sendo cons i u´ ıda po ´ a ios componen es. O BMC Disco e y Ou pos ´ e uma aplicac¸ ˜ ao que ob ´ em a in o mac¸˜ ao ace ca dos p odu os de ha dwa e e so wa e da o ganizac¸˜ ao. ´ E execu ada numa m´ aquina com um sis ema ope a i o Mic oso Windows e conec a-se aos disposi i os a a ´ es do p o ocolo Hy- pe Tex T ans e P o ocol Secu e (HTTPS) [103]. O BMC Disco e y en ia um pedido ao BMC Disco e y Ou pos pa a explo a os ende ec¸os IP o necidos, e o BMC Disco e y Ou pos acede aos al os eco endo a c edenciais especi icadas p e iamen e. Uma ez conec ado ` a m´ aquina al o, execu a comandos pa a acede a in o mac¸˜ ao ace ca des e, ci ando os esul- ados ob idos e en iando-os pa a o BMC Disco e y. Quando o BMC Disco e y ecebe os dados a mazena-os no Da as o e. Podem se execu ados ´ a ios BMC Disco e y Ou pos em simul ˆ aneo pa a lida em com ´ a ios segmen os de ede, sendo que odos comunicam com a mesma ins ˆ ancia do BMC Disco e y. O Disco e y Se ice desempenha um abalho semelhan e ao Disco e y Ou pos , mas ´ e execu ado na mesma m´ aquina do BMC Disco e y. Como ´ e baseado em Linux, necessi a de um ou mais p oxies Windows pa a a descobe a de sis emas baseados em Mic oso Windows. A Disco e y Queue consis e numa ila de espe a que possui a e as a se execu adas. O Disco e y se ice e o BMC Disco e y Ou pos in e ogam a ila de espe a po a e as a exe- cu a . Quando es as s˜ ao inalizadas, o seu esul ado ´ e en iado pa a a ila, sendo que depois o Reasoning in e oga a ila de espe a po es es esul ados. O Reasoning u iliza pad ˜ oes pa a in e i in o mac¸˜ ao ace ca de hos s e p og amas com base na in o mac¸˜ ao descobe a. Cada pad ˜ ao ep esen a conhecimen o pa icula ace ca de um p odu o de ha dwa e ou so wa e, sendo es e conhecimen o u ilizado pa a ge a in o mac¸˜ ao mais de alhada ace ca dos elemen os descobe os. A in o mac¸˜ ao ´ e depois a mazenada na Da as o e. A Da as o e ´ e a base de dados onde a in o mac¸˜ ao descobe a e in e ida ´ e a mazenada. O Clus e con- sis e em duas ou mais m´ aquinas BMC Disco e y, em que uma delas coo dena as ou as, sendo que podem se adicionadas mais m´ aquinas ao Clus e em qualque al u a. Quando is o acon ece a in o mac¸˜ ao ´ e sepa ada em pa es iguais pelas m´ aquinas do Clus e , pa a que a sua u ilizac¸˜ ao e desempenho sejam o mais o imizados poss´ ı el [22]. A descobe a em po base uma lis a de ende ec¸os IP da ede a descob i , assim como os ende ec¸os que n˜ ao de em se explo ados. Pa a e e ua a descobe a, o BMC Disco e y u iliza di e en es m´ e odos dependendo do ipo de al os a explo a [22]: •SNMP; •SSH; •WMI; •HTTPS; • p oxies Windows; • acesso eco endo ` as c edenciais; • sc ip s; •APIs REST. 2.7. T abalho Relacionado 31 Cada m´ e odo pe mi e a descobe a de de e minados ipos de in o mac¸˜ ao. Na Tabela 2.4 s˜ ao ap esen ados os disposi i os poss´ ı eis de explo a pelos di e en es m´ e odos disponibi- lizados pela e amen a. Tabela 2.4: Disposi i os explo ados pela e amen a de descobe a BMC Disco e y. Sis emas Ope a i os Fon es de Dados Rede Disposi i os Vi ualizac¸˜ ao A mazenamen o Mic oso Windows Linux Unix IBM z/OS Bases de dados APIs REST Swi ches Cisco Nexus IBM I/AS400 Balanceado de Ca ga Managemen Con olle s O acle WebLogic Tomca Main ame WebSphe e Clus e s Disposi i os empilhados (Cisco) Pla a o mas Cloud ESX ESXi EMC VPLEX Con aine s En idades de a mazenamen o O BMC Disco e y pe mi e a in eg ac¸˜ ao da in o mac¸˜ ao com a CMDB a a ´ es do meca- nismo de sinc onizac¸˜ ao. Rela i amen e ` a BMC CMDB, es e mecanismo pe mi e que os dados p esen es na CMDB sejam sinc onizados com a in o mac¸˜ ao descobe a pelo BMC Disco e y. No en an o, o modelo de dados do BMC Disco e y ´ e di e en e do CDM usado pela CMDB, sendo que o mecanismo de sinc onizac¸˜ ao ´ e espons´ a el po ans o ma a in o mac¸˜ ao de um modelo pa a o ou o. O mapeamen o pad ˜ ao o nece a co espondˆ encia pa a o CDM, no en an o, quando s˜ ao adicionados nodos pe sonalizados, ´ e necess´ a io e e- ua o mapeamen o des es manualmen e. Pa a al´ em dis o, ´ e amb´ em poss´ ı el in eg a a in o mac¸˜ ao descobe a com a Se iceNow CMDB, cujo mapeamen o pad ˜ ao amb´ em j´ a se encon a de inido [22]. Se iceNow Disco e y O Se iceNow Disco e y [48] encon a aplicac¸ ˜ oes e disposi i os na ede e a ualiza a Se iceNow CMDB com a in o mac¸˜ ao descobe a. Podem se e e uados dois ipos de descobe a dis in os. A descobe a ho izon al pe - mi e encon a os disposi i os a i os na ede e ecolhe in o mac¸˜ ao ace ca des es, podendo amb´ em c ia elacionamen os en e os disposi i os e as aplicac¸ ˜ oes que comunicam en e si. No en an o, n˜ ao es ´ a cien e da exis ˆ encia de se ic¸os. A descobe a de cima pa a baixo ´ e u ilizada pa a mapea as dependˆ encias en e as aplicac¸ ˜ oes e disposi i os que comp˜ oem um se ic¸o. Usualmen e, s˜ ao u ilizadas em conjun o, sendo que ´ e inicialmen e execu ada a descobe a ho izon al pa a encon a as m´ aquinas, e pos e io men e ´ e execu ada a desco- be a de cima pa a baixo pa a es abelece os elacionamen os en e se ic¸os. O p ocesso de descobe a u iliza sc ip s que ecolhem e azem o p ocessamen o da in o mac¸˜ ao. Os sc ip s de descobe a s˜ ao execu ados po um se ido Managemen , Ins umen a ion, and Disco e y (MID), que pode se execu ado numa m´ aquina da ede ou na cloud, que, ap´ os a execuc¸˜ ao, e o na os esul ados pa a se em p ocessados [48]. A descobe a ho izon al ´ e compos a po um conjun o de e apas [94]: •An´ alise: descob e po as abe as nas m´ aquinas e alguma in o mac¸˜ ao sob e es as; 2.7. T abalho Relacionado 32 •Classi icac¸˜ ao: endo em con a o ipo do disposi i o, execu a pedidos espec´ ı icos pa a o explo a ; •Iden i icac¸ ˜ ao: en a ob e mais in o mac¸˜ ao sob e o disposi i o e de e mina se es e j´ a se encon a na CMDB, azendo a econciliac¸˜ ao da in o mac¸˜ ao, caso exis a, ou c iando oCI, caso con ´ a io; •Explo ac¸˜ ao: ob ´ em mais in o mac¸˜ ao sob e o disposi i o, como aplicac¸ ˜ oes a co e , e ou os a ibu os. Os ipos de descobe a ho izon al que podem se u ilizados pela aplicac¸˜ ao s˜ ao [48]: •Descobe a da ede: de e a os ende ec¸os IP u ilizados pela ede da o ganizac¸ ˜ ao; •Descobe a de CIs:encon a disposi i os e aplicac¸ ˜ oes na ede; •Descobe a de cloud: encon a ecu sos cloud da o ganizac¸˜ ao; •Descobe a sem se ido : descob e aplicac¸ ˜ oes em hos s. Pa a ob e in o mac¸˜ ao sob e as m´ aquinas u iliza di e en es m´ e odos dependendo do ipo de m´ aquina a se explo ado. Reco e ao p o ocolo SSH pa a se conec a a uma m´ aquina e execu a comandos pa a ecolhe in o mac¸˜ ao sob e es a; ao p o ocolo SNMP pa a ecolhe in o mac¸˜ ao a mazenada nas MIBs dos disposi i os; e ao WMI, Powe Shell e WinRM pa a ecolhe in o mac¸˜ ao sob e sis emas Mic oso Windows. Es a e amen a ´ e en ˜ ao capaz de descob i sis emas e wo ks a ions Windows, sis emas Unix e Linux, disposi i os de ede, se ido es, bases de dados, imp esso as, pla a o mas cloud, m´ aquinas i uais, clus e s, elacionamen os en e p ocessos a co e e se ido es, en e ou os. 2.7.2Sum´ a io Ap´ os a an´ alise das e amen as ´ e poss´ ı el i a algumas conclus˜ oes ace ca dos m´ e odos de descobe a u ilizados, assim como da o ma como a in o mac¸ ˜ ao ecolhida ´ e in eg ada com as CMDBs. ´ E poss´ ı el e i ica que, em ge al, os m´ e odos de descobe a mais u ilizados s˜ ao: •Ping; • Nmap; • Cap u a de paco es; •SNMP; • Conex˜ ao com a m´ aquina a se explo ada ia WinRM eSSH, eco endo ` as suas c e- denciais de acesso, execu ando comandos ou sc ip s; • Ins alac¸ ˜ ao de e amen as de so wa e nas m´ aquinas a se explo adas. 2.7. T abalho Relacionado 33 Rela i amen e ` a in eg ac¸ ˜ ao com as CMDBs,´ e e i icado que, usualmen e, as e amen as de descobe a de um de e minado o necedo pe mi em apenas a in eg ac¸˜ ao com a CMDB des e. Foi apenas poss´ ı el pe cebe que o mecanismo BMC Disco e y pe mi e, n˜ ao s´ o a in eg ac¸˜ ao com a BMC CMDB, como amb´ em com a Se iceNow CMDB, eco endo a ma- peamen os j´ a con igu ados. No en an o, ge almen e, as CMDBs pe mi em a pe sonalizac¸˜ ao dos ipos de CIs, elacionamen os e a ibu os que u ilizam. Nes e caso, o mapeamen o des- es nodos pe sonalizados em de se ei o manualmen e. 3 PROBLEMA E DESAFIOS Nes e cap´ ı ulo ai se ap esen ada a soluc¸˜ ao p opos a pa a o p oblema que o p oje o en a soluciona , assim como os p incipais desa ios que podem su gi no desen ol imen o des a. 3.1 p oblema Analisando o esul ado inal em inicia i as de c iac¸˜ ao de uma CMDB,´ e es imado que ce ca de 75% des as alham em compa ac¸˜ ao com as expe a i as iniciais [66]. Assim, ´ e poss´ ı el a i ma que exis e a necessidade de acili a o p ocesso de c iac¸˜ ao de uma CMDB. No en an o, cons ui uma CMDB implica a u ilizac¸˜ ao de mecanismos au om´ a icos de descobe a e de in eg ac¸˜ ao com a CMDB, is o que a c iac¸˜ ao manual ´ e um p ocesso minu- cioso e p openso a e os. Assim, exis em alguns p oblemas de i ados do ac o de es e p ocesso e de se p a ica- men e odo implemen ado pelas o ganizac¸ ˜ oes. Um desses p oblemas de i a de in en ´ a ios incomple os e al a de capacidades de descobe a. Es a in o mac¸˜ ao incomple a pode le a a m´ as decis˜ oes e, consequen emen e, maus esul ados. Assim, o p op´ osi o des e p oje o, passa pelo desen ol imen o de uma pla a o ma capaz de aze a descobe a au om´ a ica dos componen es da in aes u u a compu acional da o ganizac¸˜ ao e o pos e io po oamen o da sua CMDB. Is o, endo semp e em con a um p ocesso au om´ a ico com o m´ ınimo es o c¸o po pa e do u ilizado . 3.2 abo dagem p opos a Exis em qua o elemen os necess´ a ios pa a o uncionamen o do p oje o: a in aes u u a compu acional da o ganizac¸˜ ao; o adminis ado que ai in e agi com a pla a o ma; a pla a- o ma de c iac¸˜ ao au om´ a ica a se desen ol ida; e a CMDB u ilizada pela o ganizac¸˜ ao. Es- es qua o elemen os necessi am de in e agi en e si pa a o en io e ecec¸˜ ao de in o mac¸˜ ao undamen al pa a a co e a execuc¸˜ ao do p ocesso. As a e as a se em ealizadas pela pla a o ma podem se di ididas em ˆ es ases: • ase de descobe a; • ase de mapeamen o; • ase de po oamen o. 34 3.3. A qui e u a do sis ema 35 3.3 a qui e u a do sis ema A Figu a 3.1ap esen a a a qui e u a p opos a pa a o sis ema, ealc¸ando a in e ac¸˜ ao en e odos os elemen os e as di e sas ases do p ocesso. Adminis ado In aes u u a compu acional CMDB gua da acede acede acede gua da Figu a 3.1: A qui e u a do sis ema p opos a. 3.3.1Fase de Descobe a A ase de descobe a de e ´ a se capaz de encon a os componen es que azem pa e da in aes u u a a se analisada e a mazena a in o mac¸˜ ao ecolhida ace ca des es. De e eco e a mecanismos de descobe a dis in os, que pe mi am ecolhe di e en es ipos de in o mac¸˜ ao ace ca de di e sos disposi i os. A ase de descobe a de e e como base um conjun o de inido de ende ec¸os que de e se explo ado. De e se capaz de e e ua uma descobe a b´ asica nes es ende ec¸os, ecolhendo in o mac¸˜ ao ace ca das m´ aquinas a i as e in o mac¸˜ ao essencial ace ca des as, podendo se compos a po um ou mais mecanismos di e en es. Um mecanismo de descobe a consis e num m´ e odo que ´ e execu ado, ecolhe in o mac¸˜ ao ace ca da in aes u u a, e en ia essa in o mac¸˜ ao pa a a e amen a. De cada ez que um mecanismo ´ e execu ado, de e se ea- lizado o p ocesso de econciliac¸˜ ao com base na in o mac¸˜ ao ecolhida, po que ´ e impo an e elimina qualque ipo de dados duplicados. Pa a al´ em dis o, es es mecanismos podem ecolhe o mesmo ipo de in o mac¸˜ ao e ob e alo es di e en es. Des a o ma, ´ e necess´ a io pe cebe qual a in o mac¸˜ ao e e i amen e ´ alida. Uma das soluc¸ ˜ oes passa pela execuc¸˜ ao des es mecanismos de aco do com a sua p io idade. Ou seja, de em se execu ados p i- mei o os mecanismos de meno p io idade, po que des a o ma, quando os mecanismos seguin es s˜ ao execu ados e encon am um alo di e en e pa a algum pa ˆ ame o j´ a eco- lhido, como s˜ ao conside ados mais con i´ a eis, podem subs i ui es a in o mac¸ ˜ ao, n˜ ao sendo necess´ a io um p ocesso manual de selec¸˜ ao da in o mac¸˜ ao mais i´ a el. Um mecanismo de descobe a pode amb´ em p ecisa das c edenciais de acesso da m´ aquina pa a ecolhe de- 3.3. A qui e u a do sis ema 36 e minado ipo de in o mac¸˜ ao, sendo necess´ a io man e egis adas es as c edenciais de o ma segu a. Pos e io men e, de e se e e uada uma descobe a mais de alhada, com base num con- jun o de ca ego ias de in o mac¸˜ ao e nos ipos de m´ aquinas descobe os na ase an e io , sendo execu ados os mecanismos de descobe a que se enquad am nes es pa ˆ ame os. Es- es mecanismos de em es a associados a uma ca ego ia e a um ipo de CI espec´ ı ico. Assim como na descobe a b´ asica, es es mecanismos de em es a o denados c escen emen e de aco do com a sua p io idade de o ma a acili a o p ocesso de econciliac¸˜ ao. Es es me- canismos espec´ ı icos s˜ ao en ˜ ao componen es independen es, que s˜ ao u ilizados de aco do com as necessidades do p ocesso espec´ ı ico. ´ E amb´ em ele an e pe mi i a ecolha de in o mac¸˜ ao de ou as e amen as de descobe a j´ a exis en es. Des a o ma, ´ e poss´ ı el i- a pa ido de e amen as j´ a u ilizadas e que possuem in o mac¸˜ ao ele an e ace ca da in aes u u a. No inal, oda a in o mac¸˜ ao ecolhida e p ocessada de e se a mazenada numa base de dados. ´ E ap esen ado na Figu a 3.2o diag ama de a i idades do p ocesso de descobe a da in aes u u a. 3.3. A qui e u a do sis ema 37 Adminis ado C iação au omá ica de CMDB C ia passwo d aul Defini ende eços a explo a Descobe a básica Seleciona ca ego ias a explo a Descobe a de alhada Po omen o da base de dados Defini pala a-passe do passwo d aul Defini on e ex e na a u iliza P ocessamen o da in o mação ecebida Ve ifica acesso à on e ex e na conexão álida? u iliza on e ex e na? pala a-passe álida? passwo d aul já exis e? ende eços co e os? defini mais ende eços? [não] [não] [sim] [não] [sim] [sim] [co e os] [inco e os] [pala a-passe in álida] [pala a-passe álida] [sim] [não] Figu a 3.2: Diag ama de a i idades da ase de descobe a. 3.3. A qui e u a do sis ema 38 3.3.2Fase de Mapeamen o Es a ase consis e no mapeamen o do modelo da base de dados do sis ema de c iac¸˜ ao au om´ a ica pa a o modelo da CMDB a se u ilizada pela o ganizac¸˜ ao. De em se de inidas as eg as de ans o mac¸˜ ao en e os modelos que pe mi am associa os CIs da base de dados aos CIs da CMDB. Inicialmen e, ´ e necess´ a io ob e in o mac¸˜ ao ace ca do modelo de dados da e amen a, ou seja, da base de dados onde es ˜ ao a mazenados os dados ob idos na ase de descobe a. Pos o is o, ´ e necess´ a io acede ` a base de dados e pe cebe que ipos de CIs es ˜ ao de inidos, quais os seus a ibu os, que ipos de elacionamen os es ˜ ao de inidos en e es es compo- nen es, e que a ibu os es ˜ ao associados a es es elacionamen os. Pode se en ˜ ao de inido o modelo de dados da base de dados u ilizada. ´ E ap esen ado na Figu a 3.3o diag ama de a i idades que desc e e o p ocessamen o do modelo de dados da BD da e amen a. E e ua conexão com a base e dados Ob e ipos de CIs na base de dados Ob e ipos de elacionamen os na base de dados Ob e a ibu os dos CIs na base de dados Ob e a ibu os dos elacionamen os na base de dados Defini o modelo de dados da base de dados In oduzi in o mação ace ca da base de dados Ve ifica in o mação in o mação álida? conexão e e uada? [não] [sim] [sim] [não] Figu a 3.3: Diag ama de a i idades do p ocessamen o do modelo de dados da base de dados. De seguida, ´ e necess´ a io pe cebe como es ´ a es u u ado o modelo de dados da CMDB. Tal como pa a a base de dados, ´ e necess´ a io pe cebe que ipos de CIs es ˜ ao de inidos, quais os seus a ibu os, que ipos de elacionamen os podem se de inidos en e es es com- ponen es, e que a ibu os es ˜ ao associados a es es elacionamen os. ´ E necess´ a io amb´ em pe cebe como s˜ ao gua dados os a ibu os na CMDB, nomeadamen e que ipos de dados s˜ ao u ilizados. Es e p ocesso pode se execu ado de duas o mas. A p imei a, passa po analisa a es u u a da base de dados u ilizada pela CMDB. A segunda passa po e e ua pedidos ` a API da CMDB pa a ob e es a in o mac¸˜ ao. Depois de ob e oda a in o mac¸˜ ao necess´ a ia da CMDB,´ e poss´ ı el de ini o modelo de dados da mesma. Na Figu a 3.4´ e poss´ ı el obse a o diag ama de a i idades que desc e e o p ocessa- men o do modelo de dados de uma CMDB. 3.3. A qui e u a do sis ema 39 Adminis ado C iação au omá ica de CMDB Seleciona mé odo de conexão à CMDB Seleciona so wa e da CMDB In oduzi in o mação ace ca da CMDB Ve ifica in o mação Ve ifica conexão com a CMDB E e ua pedido à CMDB P ocessa e no maliza in o mação ecolhida Defini o modelo de dados da CMDB in o mação álida? conexão e e uada? mais pedidos? [sim] [não] [sim] [não] [sim] [não] Figu a 3.4: Diag ama de a i idades do p ocessamen o do modelo de dados da CMDB. Finalmen e, ´ e necess´ a io aze o mapeamen o en e os modelos de dados da CMDB e da base de dados, ou seja, ´ e necess´ a io es abelece co espondˆ encias en e os ipos de CIs, elacionamen os e a ibu os dos dois modelos. Pa a is o, ´ e necess´ a io calcula a semelhanc¸a en e odos os elemen os de cada modelo, e seleciona os mais semelhan es, a ibuindo a um elemen o do modelo da base de dados uma co espondˆ encia com um elemen o do modelo da CMDB. Assim, no inal, ´ e ob ido um conjun o de eg as de ans o mac¸˜ ao que associam os elemen os mais semelhan es dos dois modelos. Na Figu a 3.5´ e poss´ ı el obse a o p ocesso de de inic¸˜ ao das eg as de ans o mac¸˜ ao en e os dois modelos de dados. Ob e modelo de dados da CMDB Ob e modelo de dados da base de dados Calcula g au de semelhança en e os ipos de CIs dos modelos Calcula g au de semelhança en e os ipos de elacionamen os dos modelos Calcula g au de semelhança en e os a ibu os dos ipos de elacionamen os dos modelos Calcula g au de semelhança en e os a ibu os dos ipos de CIs dos modelos Seleciona elemen os mais semelhan es Defini eg as de ans o mação Figu a 3.5: Diag ama de a i idades da de ini c¸˜ ao das eg as de ans o ma c¸˜ ao en e os modelos de dados. 4.2. Implemen ac¸˜ ao 46 -id : in - i le : s ing -desc ip ion : s ing -uuid : s ing -s a us : s ing -se ial_numbe : s ing -mac_add ess : s ing -ip 4_add ess : s ing[] -ip 6_add ess : s ing[] -os_ amily : s ing Configu a ion I em -id : in - i le : s ing Configu a ion I em Type -id : in - i le : s ing Rela ionship -id : in - i le : s ing Rela ionship Type -id : in - i le : s ing - alue : s ing A ibu e a ibu es * sou ce/ a ge 2 0..* ype 1 ype 1 a ibu es * Figu a 4.4: Diag ama de classes da base de dados. Tendo em con a que o G aphDB [26] pe mi e a impo ac¸ ˜ ao dos dados no o ma o Resou ce Desc ip ion F amewo k (RDF) [14], ou seja, a exp ess˜ ao da in o mac¸˜ ao e do esquema de dados ´ e ei a eco endo a iplos, ´ e necess´ a io e e ua a de inic¸˜ ao des e esquema. Em RDF um iplo ep esen a uma elac¸˜ ao de ecu sos e p op iedades. Exis em di e sas sin axes RDF, mas a selecionada oi Tu le [58]. Assim, pa a de ini o esquema de dados, ´ e necess´ a io de ini as classes e p op iedades da on ologia. Na Lis agem 4.1´ e poss´ ı el obse a a de inic¸˜ ao das classes em Tu le. Na Lis agem 4.2s˜ ao ap esen adas as p op iedades dos dados, que co espondem aos a ibu- os das classes no esquema da Figu a 4.4. Po im, na Lis agem 4.3, es ˜ ao de inidas as p op iedades dos obje os que co espondem ` as associac¸ ˜ oes en e as classes. Lis agem 4.1: Classes da on ologia de inidas em Tu le. :Con igu a ionI em d : ype owl:Class ; d s:label "Con igu a ion I em" ; d s:commen "Rep esen s an o ganiza ion's in as uc u e componen .". :Rela ionship d : ype owl:Class ; d s:label "Rela ionship" ; d s:commen "Rep esen s he ela ionship be ween wo o ganiza ion's in as uc u e componen s.". :Con igu a ionI emType d : ype owl:Class ; d s:label "Con igu a ion I em Type" ; d s:commen "Rep esen s he ype o a con igu a ion i em.". :Rela ionshipType d : ype owl:Class ; d s:label "Rela ionship Type" ; d s:commen "Rep esen s he ype o a ela ionship.". :A ibu e d : ype owl:Class ; d s:label "A ibu e" ; 4.2. Implemen ac¸˜ ao 47 d s:commen "Rep esen s an a ibu e o a con igu a ion i em o ela ionship.". Lis agem 4.2: P op iedades dos dados da on ologia de inidas em Tu le. :uuid d : ype owl:Da a ypeP ope y ; d s:domain :Con igu a ionI em ; d s: ange xsd:s ing ; d s:commen "The uni e sally unique iden i ie (128-bi numbe ) assigned o he i em.". :se ial_numbe d : ype owl:Da a ypeP ope y ; d s:domain :Con igu a ionI em ; d s: ange xsd:s ing ; d s:commen "The manu ac u e -alloca ed numbe used o iden i y he i em.". : i le d : ype owl:Da a ypeP ope y ; d s:domain :Con igu a ionI em , :Rela ionship , :Con igu a ionI emType , :Rela ionshipType , :A ibu e ; d s: ange xsd:s ing ; d s:commen "The label by which he i em is known.". :desc ip ion d : ype owl:Da a ypeP ope y ; d s:domain :Con igu a ionI em ; d s: ange xsd:s ing ; d s:commen "The ex ual desc ip ion o he i em.". :s a us d : ype owl:Da a ypeP ope y ; d s:domain :Con igu a ionI em ; d s: ange xsd:s ing ; d s:commen "The cu en s a us alue o he ope a ional condi ion o he i em.". :mac_add ess d : ype owl:Da a ypeP ope y ; d s:domain :Con igu a ionI em ; d s: ange xsd:s ing ; d s:commen "The media access con ol add ess assigned o he i em.". : alue d : ype owl:Da a ypeP ope y ; d s:domain :A ibu e ; d s: ange xsd:s ing ; d s:commen "The alue o he a ibu e.". :has_ip 4 d : ype owl:Da a ypeP ope y ; d s:domain :Con igu a ionI em ; d s: ange xsd:s ing ; 4.2. Implemen ac¸˜ ao 48 d s:commen "The associa ed IP 4 add ess.". :has_ip 6 d : ype owl:Da a ypeP ope y ; d s:domain :Con igu a ionI em ; d s: ange xsd:s ing ; d s:commen "The associa ed IP 6 add ess.". :os_ amily d : ype owl:Da a ypeP ope y ; d s:domain :Con igu a ionI em ; d s: ange xsd:s ing ; d s:commen "The associa ed ope a ing sys em amily.". Lis agem 4.3: P op iedades dos obje os da on ologia de inidas em Tu le. :has_ci_ ype d : ype owl:Objec P ope y ; d s:domain :Con igu a ionI em ; d s: ange :Con igu a ionI emType . :has_ el_ ype d : ype owl:Objec P ope y ; d s:domain :Rela ionship ; d s: ange :Rela ionshipType . :has_sou ce d : ype owl:Objec P ope y ; d s:domain :Rela ionship ; d s: ange [ d : ype owl:Res ic ion; owl:onP ope y :has_sou ce; owl:quali iedCa dinali y "1"^^xsd:nonNega i eIn ege ; owl:onClass :Con igu a ionI em ] . :has_ a ge d : ype owl:Objec P ope y ; d s:domain :Rela ionship ; d s: ange [ d : ype owl:Res ic ion; owl:onP ope y :has_ a ge ; owl:quali iedCa dinali y "1"^^xsd:nonNega i eIn ege ; owl:onClass :Con igu a ionI em ] . :has_a ibu e d : ype owl:Objec P ope y ; d s:domain :Rela ionship , :Con igu a ionI em ; d s: ange :A ibu e . 4.2.2Ges ˜ ao de pala as-passe Tendo em con a que alguns mecanismos de descobe a p ecisam das c edenciais das m´ aquinas pa a as explo a , su ge a necessidade de u iliza uma e amen a capaz de as 4.2. Implemen ac¸˜ ao 49 a mazena de o ma segu a. Des a o ma, oi ado ada a u ilizac¸˜ ao de um passwo d aul , capaz de a mazena e ci a ´ a ias pala as-passe, sendo que o u ilizado necessi a apenas de memo iza a pala a-passe do passwo d aul de o ma a acede a es as. Conside ando que j´ a exis em e amen as des e g´ ene o implemen adas, eco eu-se ` a adap ac¸˜ ao do p oje o Passwo dVaul [55]. Pa a a u ilizac¸˜ ao des e oi necess´ a io implemen- a o p ocesso de uma o ma di e en e, de o ma a que es e se enquad asse no p oje o desc i o nes e documen o. Essencialmen e, es e mecanismo pe mi e ao p og ama: • c ia um no o passwo d aul caso es e ainda n˜ ao exis a; • de ini a sua pala a-passe; • desbloquea ou bloquea o passwo d aul ; • a mazena uma no a pala a-passe, associando-a a um nome de u ilizado e a um dom´ ınio; • acede a uma pala a-passe p e iamen e a mazenada; • elimina o passwo d aul . Na Figu a 4.5s˜ ao ap esen ados alguns exemplos de u ilizac¸˜ ao das uncionalidades do passwo d aul desc i o. Figu a 4.5: Exemplo de u ilizac¸˜ ao do passwo d aul . 4.2.3No malizac¸˜ ao Es e mecanismo em como obje i o a imposic¸˜ ao de um o ma o global pa a a in o mac¸˜ ao, de o ma a o na es a coe en e. Pa a a ingi es e obje i o, oi necess´ a io e e ua de e minadas ans o mac¸ ˜ oes no ex o a se p ocessado, nomeadamen e: 4.2. Implemen ac¸˜ ao 50 • emo e o ma ac¸ ˜ oes do ex o (snake, kebab, pascal ou camel case); • sepa a pala as conca enadas; • emo e m´ ul iplos ca ac e es especiais, como po exemplo, espac¸os, pa ´ ag a os ou abs; • igno a mai´ usculas e min´ usculas; • expandi siglas e ac ´ onimos; • emo e pala as azias, como po exemplo a igos, p eposic¸ ˜ oes e conjunc¸ ˜ oes; • emo e sinais de pon uac¸˜ ao. O Algo i mo 1ap esen a o p ocesso de no malizac¸˜ ao aplicado ao ex o, com o obje i o de emo e ao m´ aximo o con e´ udo desnecess´ a io des e. Es e ´ e u ilizado pa a o p ocessamen o de ex o que ai se compa ado com ou o, que de e amb´ em se no malizado. Algo i mo 1P ocessamen o de ex o a se compa ado. Requi e: x 6=None es1← emo e o ma ac¸˜ ao snake, kebab, pascal ou camel case de x es2← emo e m´ ul iplos ca ac e es especiais de es1 es3← emo e sinais de pon uac¸˜ ao de es2 es4←con e e es3 pa a min´ usculas es5←expandi siglas e ac ´ onimos p esen es em es4 es6←sepa a pala as conca enadas de es5 es7← emo e pala as azias de es6 e u n es7 A Figu a 4.6ap esen a alguns exemplos de u ilizac¸˜ ao do mecanismo de no malizac¸˜ ao. ´ E poss´ ı el pe cebe que o mecanismo ´ e capaz de e e ua as ans o mac¸ ˜ oes desc i as an e io - men e. Des a o ma, e endo em con a que a in o mac¸ ˜ ao ´ e p o enien e de on es di e en es, o p ocessamen o pe mi e uma pos e io compa ac¸˜ ao en e ex o com o mesmo o ma o. Figu a 4.6: Exemplo de u ilizac¸˜ ao do mecanismo de no malizac¸˜ ao. 4.2. Implemen ac¸˜ ao 51 4.2.4Reconciliac¸˜ ao O mecanismo de econciliac¸˜ ao ´ e um componen e undamen al des e p ocesso, is o que assegu a que n˜ ao exis em dados duplicados e que a in o mac¸ ˜ ao e e en e ` a mesma en idade ´ e combinada no mesmo obje o. O p imei o passo des e p ocesso passa pela iden i icac¸˜ ao de obje os que co espondam ` a mesma en idade. Pa a is o ´ e necess´ a io e i ica se um obje o j´ a exis e an es de c ia um no o. Es e p ocesso ap esen a di e enc¸as en e i ens de con igu ac¸˜ ao e elacionamen os. Pa a e i ica se um CI j´ a exis e s˜ ao inicialmen e compa ados alguns dos seus a ibu os, sendo que es es s˜ ao e i icados de o ma o denada de aco do com a sua p io idade. O p imei o a se compa ado ´ e o a ibu o que gua da o alo do UUID. Se es e alo exis i e o igual nos dois obje os, ´ e conclu´ ıdo que es es co espondem ` a mesma en idade. Caso is o n˜ ao se e i ique, ´ e u ilizada a mesma me odologia pa a o a ibu o que ep esen a o n´ ume o de s´ e ie. Caso es a e i icac¸ ˜ ao amb´ em n˜ ao co esponda, ´ e e i icado o a ibu o que gua da o alo do ende ec¸o MAC do obje o. Se nenhum des es alo es es i e associado ao obje o que es ´ a a se e i icado, a compa ac¸˜ ao ´ e di ecionada pa a os seus ende ec¸os IP e pa a os seus a ibu os. Ap´ os e e uada a compa ac¸ ˜ ao en e odos os a ibu os e os seus alo es, ´ e conclu´ ıdo que os componen es co espondem ` a mesma en idade se mais de 80% dos seus a ibu os o semelhan e. Pa a e i ica se um elacionamen o j´ a exis e ´ e necess´ a io compa a es e com odos os j´ a exis en es. Inicialmen e s˜ ao e i icados os componen es on e e al o en ol idos no elaci- onamen o. Se es es o em iguais, ´ e compa ado o ipo do elacionamen o. Ap´ os e e uada a compa ac¸˜ ao en e odos os elacionamen os, ´ e conclu´ ıdo que os elacionamen os co - espondem ` a mesma en idade se en ol e em os mesmos componen es e o coe icien e de simila idade calculado en e os seus ipos o o m´ aximo alo encon ado supe io a 0.90 (ze o pon o no en a). Caso seja encon ado um CI ou um elacionamen o que j´ a exis e, ´ e necess´ a io segui pa a o p ocesso de econciliac¸˜ ao. Assim como pa a a iden i icac¸˜ ao, amb´ em a econciliac¸˜ ao ´ e di e en e en e i ens de con igu ac¸˜ ao e elacionamen os. Pa a a econciliac¸˜ ao de dois i ens de con igu ac¸ ˜ ao ´ e inicialmen e combinada a in o mac¸˜ ao dos a ibu os. Pa a os a ibu os que n˜ ao ap esen em um alo no no o obje o, ´ e adqui ida a in o mac¸˜ ao do obje o j´ a exis en e, sendo que os a ibu os do no o obje o s˜ ao man i- dos, assumindo que a execuc¸˜ ao dos mecanismos de descobe a ´ e ei a de o ma c escen e de aco do com a sua iabilidade. Apenas pa a os a ibu os ela i os ` a desc ic¸˜ ao e aos ende ec¸os IP ´ e combinada a in o mac¸˜ ao dos dois componen es. Finalmen e ´ e necess´ a io aze a combinac¸ ˜ ao dos elacionamen os. Pa a odos os elacionamen os em que o obje o j´ a exis en e es eja en ol ido, ´ e necess´ a io subs i ui pelo no o obje o. Na econciliac¸˜ ao en e dois elacionamen os ´ e necess´ a io combina os seus a ibu os. Pa a os a ibu os que n˜ ao ap esen em um alo no no o elacionamen o, ´ e adqui ida a in o mac¸˜ ao do elacionamen o j´ a exis en e, sendo que os a ibu os do no o elacionamen o s˜ ao man idos. Em ambos os p ocessos de econciliac¸˜ ao, ´ e u ilizado o c´ alculo de simila idade, desc i o na Secc¸˜ ao 4.2.9, pa a pe cebe se um a ibu o do no o obje o possui algum a ibu o co es- ponden e no obje o j´ a exis en e. Es e p ocesso ´ e amb´ em u ilizado ao longo da descobe a, ou seja, an es de de ini um a ibu o de um obje o, ´ e e i icado se es e j´ a exis e. Al´ em dis o, seguindo a mesma me odologia, an es de c ia um ipo de CI ou de elacionamen o ´ e amb´ em e i icado se es e j´ a exis e. 4.2. Implemen ac¸˜ ao 52 Figu a 4.7: Exemplo de u ilizac¸˜ ao do mecanismo de econciliac¸˜ ao. Como ´ e poss´ ı el obse a na Figu a 4.7, o am c iados dois componen es com o mesmo n´ ume o de s´ e ie, um deles com um a ibu o ela i o ao nome e ou o ` a unidade de equˆ encia do CPU, e o ou o com um ende ec¸o IP associado. Quando o segundo ele- men o ´ e gua dado, como o alo do a ibu o e e en e ao n´ ume o de s´ e ie ´ e o mesmo do p imei o, ´ e combinada a in o mac¸˜ ao dos dois obje os num ´ unico. No inal ´ e poss´ ı el e i ica a exis ˆ encia de um ´ unico obje o com a ibu os ela i os ao nome, ` a unidade de equˆ encia do CPU, ao n´ ume o de s´ e ie e ao ende ec¸o IP.´ E amb´ em poss´ ı el obse a que, quando ´ e adicionado ou o a ibu o e e en e ` a unidade de equˆ encia do CPU, como es e j´ a exis e, n˜ ao ´ e c iado um no o, mas ´ e a ualizado o alo desse a ibu o. 4.2.5Descobe a A descobe a da in aes u u a compu acional implica a u ilizac¸˜ ao de di e en es mecanis- mos que pe mi am a ecolha de in o mac¸˜ ao a iada. Tendo em con a que a descobe a em como pon o inicial um conjun o de ende ec¸os, du an e es e p ocesso ´ e man ida in o mac¸˜ ao ace ca dos ende ec¸os descobe os, assim como das edes a que pe encem. O Algo i mo 2ap esen a o p ocesso de descobe a implemen ado, sendo que as ´ a ias ases des e s˜ ao desc i as de seguida. 4.2. Implemen ac¸˜ ao 53 Algo i mo 2P ocesso de descobe a i u ilizac¸˜ ao de on e ex e na hen o obje o da on e do gua da ende ec¸o p ocessa in o mac¸˜ ao do obje o end o end i i u ilizado in oduz ende ec¸os hen gua da ende ec¸os end i basic disco e y ←descobe a b´ asica nos ende ec¸os de inidos ca ego ies ←selec¸˜ ao das ca ego ias a explo a de ailed disco e y ←descobe a de alhada com base nas ca ego ias selecionadas Fon e ex e na O p imei o mecanismo, de uso opcional, que pode se u ilizado nes e p ocesso ´ e a u ilizac¸˜ ao de uma on e ex e na. O uso de um mecanismo des e g´ ene o pe mi e que o u ilizado execu e p ocessos de descobe a com que j´ a es ´ a amilia izado. Nes e caso em espec´ ı ico, como exemplo, oi implemen ado um mecanismo capaz de p ocessa os esul- ados ob idos a a ´ es da e amen a Ang y IP Scanne [79], j´ a abo dada na Secc¸˜ ao 2.5.4. Como es a e amen a pe mi e a expo ac¸˜ ao dos esul ados em o ma o CSV, o mecanismo necessi a apenas de le es e ichei o e, endo em con a a nomencla u a dada ` as colunas, c ia os obje os e a ibu os exis en es e gua da a in o mac¸˜ ao e e en e aos ende ec¸os, sendo que es es ˜ ao se pos e io men e u ilizados no p ocesso de descobe a. ´ E poss´ ı el obse a na igu a 4.8, que a in o mac¸˜ ao p o enien e do ichei o CSV ap esen- ada na Tabela 4.1 oi p ocessada, e o am c iados os CIs com esses dados. Tabela 4.1: Exemplo de um ichei o CSV expo ado da e amen a Ang y IP Scanne . IP 192.168.1.69 192.168.1.254 192.168.1.64 192.168.1.71 192.168.1.83 Ping 1ms 2ms 3ms 5ms 19 ms Hos name macbookp ojoana.local [n/a] DESKTOP-DPANURS [n/a] [n/a] Ne BIOS In o [n/a] [n/a] WORKGROUP DESKTOP-DPANURS [48-4D-7E-A7-D6-5B] [n/a] [n/a] MAC Add ess C4:B3:01:C0:1A:D4CC:19:A8:62:4B:1G48:4D:7E:A7:D6:5B9E:DE:D0:7D:DB:E2 20:7C:8F:D8:26:9B MAC Vendo Apple PT Ino ac¸ ˜ ao e Sis emas SA Dell [n/a] Quan a Mic osys ems 4.2. Implemen ac¸˜ ao 54 Figu a 4.8: Exemplo de execuc¸˜ ao da descobe a eco endo ` a e amen a Ang y IP Scanne . Descobe a b´ asica A descobe a b´ asica p ocu a encon a as m´ aquinas de aco do com um conjun o de ende ec¸os, adqui idos a a ´ es da e amen a ex e na e/ou de inidos pelo u ilizado . A p imei a e apa passa pela an´ alise de paco es LLDP. Tendo em con a que es e p o ocolo, execu ado na camada de ligac¸ ˜ ao de dados, ´ e usado pelos disposi i os pa a comunica in o mac¸˜ ao com ou os na ede, s˜ ao il ados os paco es LLDP na m´ aquina que es ´ a a execu a a descobe a, como o ma de descob i ou as m´ aquinas. Pa a que es a an´ alise seja ealizada, ´ e necess´ a io que a m´ aquina que es ´ a a execu a o p ocesso de descobe a possua o p o ocolo LLDP con igu ado pa a a ecec¸˜ ao de paco es. Des a o ma, se exis i em disposi i os na ede a en ia paco es LLDP, es es ˜ ao se cap ados. De seguida, pa a cada ende ec¸o encon ado, s˜ ao execu ados mecanismos baseados nos p o ocolos ICMP eSNMP, abo dados na Secc¸˜ ao 2.5.2, e na e amen a Nmap, abo dada na Secc¸˜ ao 2.5.4. Inicialmen e, ´ e e e uado um pedido do ipo ping, pa a e i ica se exis e uma m´ aquina a i a nesse ende ec¸o. Nes e caso, ´ e necess´ a io que a m´ aquina consiga esponde ao pedido, ou seja, es a pode es a a i a mas n˜ ao se capaz de esponde , po exemplo de ido a con igu ac¸ ˜ oes da i ewall. Em qualque caso, se a m´ aquina n˜ ao esponde , o ende ec¸o n˜ ao ´ e mais conside ado pa a explo ac¸˜ ao, po que n˜ ao ´ e poss´ ı el acede a es a. Depois ´ e u ilizada a e amen a Nmap, que ecolhe in o mac¸˜ ao ace ca das m´ aquinas, nomeadamen e: 4.2. Implemen ac¸˜ ao 55 • de ec¸ ˜ ao do nome e ipo da m´ aquina; • iden i icac¸ ˜ ao dos ende ec¸os IP eMAC associados a es a; • explo ac¸ ˜ ao das po as abe as, echadas, il adas e n˜ ao- il adas da m´ aquina; • de ec¸ ˜ ao de se ic¸os (p o ocolos u ilizados, nome da aplicac¸˜ ao e e s˜ ao) a co e nas po as abe as; • de ec¸ ˜ ao da am´ ılia do sis ema ope a i o associado ` a m´ aquina. Foi amb´ em u ilizado o p o ocolo SNMP de o ma a ob e mais in o mac¸˜ ao ace ca das m´ aquinas an e io men e explo adas, nomeadamen e os ende ec¸os associados a es as e os seus ipos. Reco eu-se ` as abelas de ou ing eARP das m´ aquinas pa a encon a ou as m´ aquinas na ede e pa a aze o mapeamen o en e ende ec¸os IP eMAC. Aqui, ´ e amb´ em descobe o o ipo de disposi i o que es ´ a a se explo ado endo em con a o alo a ma- zenado em sysSe ices. O diag ama ap esen ado na Figu a 4.9 oi baseado no diag ama ap esen ado em [95], que desc e e a o ma de in e i o ipo do disposi i o endo po base o alo gua dado em sysSe ices. Imp esso a Hos Swi ch L2 Swi ch L4 Rou e Swi ch L7 Swi ch L3 Supo a L2? Supo a L3? Supo a L3? Supo a L4? Supo a L7? B idge MIB? B idge MIB? P in e MIB? [não] [sim] [sim] [não] [não] [sim] [sim] [sim] [sim] [sim] [sim] [não] [não] [não] [não] [não] Figu a 4.9: Algo i mo de descobe a do ipo de disposi i o. Pa a ob e es a in o mac¸˜ ao ´ e necess´ a io que o u ilizado o nec¸a a communi y s ing que pe mi e o acesso do disposi i o ia SNMP, sendo que es a ai se a mazenada no passwo d aul . A in o mac¸˜ ao ecolhida u ilizando o p o ocolo SNMP es ´ a dependen e dos dados que as m´ aquinas possam o nece . Assim como pa a o p o ocolo LLDP, amb´ em nes e caso ´ e 4.2. Implemen ac¸˜ ao 62 • dos alo es poss´ ı eis pa a os a ibu os cujo alo es ´ a p ´ e-de inido. i-doi Pa a o caso espec´ ı ico do i-doi , oi de inido um mecanismo de p ocessamen o que u iliza a sua API e a sua base de dados pa a ob e in o mac¸˜ ao sob e o seu modelo de dados. No caso da API, o u ilizado necessi a de o nece in o mac¸˜ ao ace ca do se ido onde a CMDB es ´ a a se execu ada, do nome de u ilizado , da pala a-passe e da cha e associada ` aAPI. Pa a a base de dados, ´ e necess´ a io que o u ilizado indique o se ido onde es ´ a a se execu ada, o nome da base de dados, o nome de u ilizado e a pala a-passe. Pa a ob e maio pa e da in o mac¸˜ ao o mecanismo eco e ` aAPI, no en an o, necessi a de acede amb´ em a in o mac¸˜ ao p esen e na base de dados no caso em que a ibu os e e enciam ou as ins ˆ ancias de ou as abelas. Pa a ob e a in o mac¸˜ ao necess´ a ia pa a cap u a o modelo de dados, o am u ilizados os seguin es m´ e odos da API: •idoi .cons an s: de ol e os ipos de obje os e ca ego ias, globais e espec´ ı icas, exis en- es na CMDB; •cmdb.ca ego y in o: de ol e os a ibu os de uma ca ego ia, assim como os seus ipos de dados; •cmdb.dialog. ead: de ol e os alo es poss´ ı eis pa a um de e minado a ibu o de uma de e minada ca ego ia, cujos alo es poss´ ı eis s˜ ao p ´ e-de inidos na CMDB; •cmdb.objec ype ca ego ies. ead: de ol e as ca ego ias associadas a um ipo de ob- je o. Na Lis agem 4.6´ e ap esen ado o c´ odigo implemen ado pa a o en io de um pedido do ipo idoi .cons an s, sendo que as a i´ a eis iden i icadas pelos nomes “se e ”, “use name”, “passwo d” e “apikey” co espondem, espe i amen e, ao ende ec¸o do se ido onde a CMDB es ´ a a se execu ada, ao nome de u ilizado , ` a pala a-passe e ` a cha e associada ` a API, o necidos pelo u ilizado . Lis agem 4.6: Exemplo de execuc¸˜ ao do m´ e odo idoi .cons an s ` aAPI do i-doi . impo eques s api_u l = "h p://" + se e + "/i-doi /s c/json pc.php" heade s = {} heade s["Con en -Type"] = "applica ion/json" heade s["X-RPC-Au h-Use name"] = use name heade s["X-RPC-Au h-Passwo d"] = passwo d body = {} body[" e sion"] = "2.0" body["me hod"] = "idoi .cons an s" body["pa ams"] = {} 4.2. Implemen ac¸˜ ao 63 body["pa ams"]["apikey"] = apikey body["pa ams"]["language"] = "en" body["id"] = 1 y: s = eques s.Session() cons an s_ eques = s.pos (api_u l, json=body, heade s=heade s) cons an s = cons an s_ eques .json() excep eques s.excep ions.Reques Excep ion: p in ("Unable o connec o he API. Please e i y he connec ion in o ma ion.") Apesa de a a ´ es da API se poss´ ı el ob e os alo es p ´ e-de inidos de alguns a ibu os, is o n˜ ao ´ e poss´ ı el pa a odos os casos. Is o po que exis em a ibu os que azem e e ˆ encia a ins ˆ ancias de ou as abelas. Des a o ma, oi necess´ a io eco e a in e ogac¸ ˜ oes S uc u ed Que y Language (SQL) pa a ob e es e ipo de in o mac¸˜ ao. Sabendo que a nomencla u a das colunas das abelas segue o mesmo esquema em oda a base de dados, ´ e poss´ ı el in e i o nome das colunas das quais ´ e necess´ a io ob e in o mac¸˜ ao, endo apenas o nome da abela. ´ E en ˜ ao ap esen ado na Lis agem 4.7o c´ odigo implemen ado pa a ecolhe in o mac¸˜ ao da base de dados do i-doi , onde as a i´ a eis iden i icadas pelos nomes “se e ”, “db - name”, “use name” e “passwo d” co espondem, espe i amen e, ao se ido onde es ´ a a se execu ada a base de dados, ao nome da base de dados, ao nome de u ilizado e ` a pala a-passe. A a i´ a el iden i icada pelo nome “ able” co esponde ao nome da abela de onde ai se ecolhida a in o mac¸˜ ao, e e en e ao iden i icado e nome das ins ˆ ancias nela p esen es. Lis agem 4.7: C ´ odigo implemen ado pa a ecolha de in o ma c¸ ˜ ao de abelas da base de dados do i-doi . impo mysql.connec o om mysql.connec o impo e o code y: connec ion = mysql.connec o .connec (use =use name, passwo d=passwd, hos =se e , da abase= db_name) p in (g een + " n>>> " + ese + "Success ully connec ed o he i-doi da abase.") excep mysql.connec o .E o as e : i e .e no == e o code.ER_ACCESS_DENIED_ERROR: p in ( ed + " n>>> " + ese + "Some hing is w ong wi h you use name o passwo d.") eli e .e no == e o code.ER_BAD_DB_ERROR: p in ( ed + " n>>> " + ese + "Da abase does no exis .") else: p in ( ed + " n>>> " + ese + s (e )) i connec ion != None: cu so = connec ion.cu so () 4.2. Implemen ac¸˜ ao 64 alues = {} i able != None: name = s ( able) + "__id" desc = s ( able) + "__ i le" que y = ("SELECT " + name + ", " + desc + " FROM " + db_name + "." + able + ";") cu so .execu e(que y) o in cu so : name, alue = alues[name] = alue O esul ado pa cial do p ocessamen o do modelo de dados da CMDB i-doi pode se consul ado na Lis agem A.1do Anexo A. De ido ` a eno me ex ens˜ ao do modelo, ´ e apenas poss´ ı el ap esen a uma pa e do esul ado do p ocessamen o do mesmo. iTop Pa a o caso espec´ ı ico do iTop, oi de inido um mecanismo de p ocessamen o que eco e a in e ogac¸ ˜ oes ` a sua base de dados pa a ob e in o mac¸ ˜ ao ace ca do seu modelo de dados. Tendo em con a que o SGBD u ilizado pelo iTop ´ e o MySQL, o u ilizado necessi a de o nece in o mac¸˜ ao ace ca do se ido onde a base de dados es ´ a a se execu ada, do nome de u ilizado , da pala a-passe e do nome da base de dados, sendo que ´ e amb´ em necess´ a io que a m´ aquina a execu a o p ocesso possa acede a es a. Pa a al´ em dis o, o u ilizado p ecisa amb´ em de o nece in o mac¸˜ ao ace ca da API da CMDB, po que o pos e io po oamen o des a de e se e e uado a a ´ es da API e n˜ ao da base de dados, pa a e i a poss´ ı eis e os e incoe ˆ encias no po oamen o. Pa a al, o u ilizado de e indica o se ido onde a CMDB es ´ a a se execu ada, assim como, o nome de u ilizado e pala a- passe pa a acede a es a. Pa a ob e a in o mac¸˜ ao necess´ a ia pa a cap u a o modelo de dados, o am u ilizadas in e ogac¸ ˜ oes SQL ` a base de dados de o ma a: • ob e as abelas exis en es na base de dados; • ob e os a ibu os associados a cada abela; • ob e os ipos dos a ibu os associados a cada abela. Depois de ob e as abelas exis en es na base de dados e, sabendo que as abelas iden i- icadas com o p e ixo “lnk” co espondem a elacionamen os, ´ e poss´ ı el in e i que es as co espondem aos ipos de elacionamen os exis en es no modelo de dados e que as es- an es co espondem aos ipos de CIs. Al´ em dis o, os elacionamen os p esen es no iTop ap esen am es ic¸ ˜ oes ao n´ ı el dos ipos de CIs en ol idos. Nas abelas co esponden es aos elacionamen os ´ e poss´ ı el e i ica que exis em dois a ibu os que possuem o su ixo “ - id”, que iden i icam os CIs en ol idos no elacionamen o. O es an e nome des es a ibu os co esponde ao ipo do CI, sendo poss´ ı el in e i as es ic¸ ˜ oes dos ipos de CIs en ol idos em cada elacionamen o. 4.2. Implemen ac¸˜ ao 65 4.2.9C´ alculo de simila idade O coe icien e de simila idade mede a semelhanc¸a en e dois e mos baseando-se na compa ac¸˜ ao sin ´ a ica e semˆ an ica en e es es. No Algo i mo 5´ e ap esen ado o p ocesso implemen ado pa a o c´ alculo do coe icien e de simila idade en e dois e mos. No inal ´ e ob ido um alo en e ze o e um, sendo que quan o maio o esse alo , maio ´ e a semelhanc¸a en e os e mos compa ados. Es e c´ alculo n˜ ao a ibui um peso ` as medidas de simila idade sin ´ a ica e semˆ an ica, sendo que apenas de ol e o maio alo calculado en e es es. Assim, o alo do coe icien e de simila idade pode ia ap esen a alo es di e en es no caso de se em a ibu´ ıdos di e en es pesos a es as medidas. Algo i mo 5C´ alculo da simila idade en e dois e mos Requi e: x 16=None ∧ x 26=None Ensu e: es ≥0∧ es ≤1 syn ←calcula simila idade sin ´ a ica en e x 1 e x 2 i syn == 1 hen es ←syn e u n es else sem ←calcula simila idade semˆ an ica en e x 1 e x 2 i sem >syn hen es ←sem e u n es else es ←syn e u n es end i end i Simila idade sin ´ a ica O c´ alculo da simila idade sin ´ a ica ´ e especi icado num coe icien e en e ze o e um e mede a dis ˆ ancia, com base na oco ˆ encia de ca ac e es, en e dois e mos. Quan o maio es e alo , mais semelhan es s˜ ao os e mos a se compa ados. Inicialmen e, pa a calcula es e coe icien e, ´ e ei o o a amen o do ex o, ou seja, a sua no malizac¸˜ ao, como desc i o na Secc¸˜ ao 4.2.3. Como a in o mac¸˜ ao ´ e ecolhida de ´ a ias on es, possui o ma os di e en es, sendo necess´ a io coloc´ a-la oda no mesmo o ma o de o ma a pode compa ´ a-la. Depois, ´ e necess´ a io con e e a in o mac¸˜ ao num o ma o num´ e ico, is o ´ e, calcula os e o es dos dados a se em compa ados. De seguida, ´ e poss´ ı el ob e a semelhanc¸a en e os e o es calculados. A ´ ecnica u ilizada pa a es e e ei o oi a simila idade po cosseno, is o se uma ´ ecnica comummen e u ilizada [77]. Es a compa ac¸˜ ao e o na um alo en e ze o e um, sendo que o alo um ep esen a que os e mos que es ˜ ao a se compa ados s˜ ao 4.2. Implemen ac¸˜ ao 66 exa amen e iguais, e o alo ze o implica que n˜ ao ap esen am nenhuma semelhanc¸a en e si. De inic¸˜ ao 4.2.1“A simila idade po cosseno mede a semelhanc¸a en e dois e o es de um espac¸o in e no de p odu o. ´ E medido pelo cosseno do ˆ angulo en e dois e o es e de e mina se esses e o es apon am ap oximadamen e na mesma di ec¸˜ ao. ´ E usualmen e u ilizado pa a medi a simila idade en e documen os em an´ alise de ex o [74].” O Algo i mo 6ap esen a o p ocesso implemen ado pa a o c´ alculo da simila idade sin ´ a ica en e dois e mos. Algo i mo 6C´ alculo da simila idade sin ´ a ica Requi e: x 16=None ∧ x 26=None Ensu e: es ≥0∧ es ≤1 1←no maliza x 1 2←no maliza x 2 e o es ←calcula e o es de 1 e 2 es ←calcula simila idade po cosseno de e o es e u n es Simila idade semˆ an ica O c´ alculo da simila idade semˆ an ica ´ e especi icado num coe icien e en e ze o e um e mede a dis ˆ ancia, ao n´ ı el do signi icado, en e dois e mos. Tal como pa a o c´ alculo da simila idade sin ´ a ica, amb´ em aqui ´ e necess´ a io aze o a amen o do ex o, ou seja, a sua no malizac¸ ˜ ao, como desc i o na Secc¸˜ ao 4.2.3. Pa a o c´ alculo da simila idade semˆ an ica oi u ilizada a medida p opos a po Zhibiao Wu e Ma ha Palme [112], implemen ada na biblio eca nl k [31], e ap esen ada na De inic¸˜ ao 4.2.2. Es a medida de ol e um alo que ep esen a o qu˜ ao semelhan es s˜ ao os sen idos das pala as compa adas. Pode ia se u ilizada ou a medida pa a o c´ alculo da simila idade semˆ an ica, sendo que isso le a ia ` a ob enc¸ ˜ ao esul ados di e en es. De inic¸˜ ao 4.2.2“A semelhanc¸a concei ual en e C1e C2´ e: ConSim(C1, C2) = 2∗N3 N1+N2+2∗N3 C3´ e o concei o comum mais espec´ ı ico de C1e C2. N1´ eon´ ume o de n´ os no caminho de C1a C3. N2´ e o n´ ume o de n´ os no caminho de C2a C3. N3´ e o n´ ume o de n´ os no caminho de C3a ´ e a aiz [112].” O Algo i mo 7ap esen a o p ocesso implemen ado pa a o c´ alculo da simila idade semˆ an ica en e dois e mos. 4.2. Implemen ac¸˜ ao 67 Algo i mo 7C´ alculo da simila idade semˆ an ica Requi e: x 16=None ∧ x 26=None Ensu e: es ≥0∧ es ≤1 1←no maliza x 1 2←no maliza x 2 max ←0 signi icados1←calcula sen idos poss´ ı eis de 1 signi icados2←calcula sen idos poss´ ı eis de 2 o sig1em signi icados1do o sig2em signi icados2do sem ←calcula simila idade semˆ an ica en e sig1 e sig2 i sem >max hen max ←sem end i end o end o es ←max e u n es Na Figu a 4.10 s˜ ao ap esen ados alguns exemplos do c´ alculo do coe icien e de simila i- dade en e e mos. Figu a 4.10: Exemplos de u ilizac¸˜ ao do mecanismo que calcula a simila idade en e dois e mos. 4.2.10 Mapeamen o Nes e passo de em se ge adas as eg as de ans o mac¸ ˜ ao que desc e em o mapeamen o do modelo da base de dados no modelo da CMDB a u iliza . Tendo em con a que o mapeamen o dos modelos de o ma manual ´ e um p ocesso complexo, de ido ` a g ande dimens˜ ao e complexidade des es, oi necess´ a io desen ol e um mecanismo que execu asse es a a e a au oma icamen e. Es e mecanismo eco e ao c´ alculo de simila idade desc i o na Secc¸˜ ao 4.2.9e aos modelos de dados ob idos nas ases de p ocessamen o dos mesmos. Inicialmen e s˜ ao calculados os coe icien es de simila idade en e odos os ipos de CIs e elacionamen os exis en es nos dois modelos. Depois de ob e odos os alo es e de 4.2. Implemen ac¸˜ ao 68 os o dena de o ma dec escen e, s˜ ao selecionadas as combinac¸ ˜ oes mais semelhan es, ou seja, as que ap esen am um maio alo do coe icien e calculado. Pa a o caso em que s˜ ao encon adas combinac¸ ˜ oes com o mesmo alo de semelhanc¸a, oi dada a opc¸˜ ao de escolha ao u ilizado . As selec¸ ˜ oes e e uadas implicam o mapeamen o ´ unico en e os elemen os dos dois modelos, ou seja, um elemen o de um modelo, mapeia apenas no elemen o do ou o modelo cujo alo do coe icien e de simila idade ´ eom´ aximo calculado. A mesma me odologia ´ e depois aplicada aos a ibu os de cada ipo de componen e e elacionamen o. No inal ´ e ap esen ado o mapeamen o cons u´ ıdo, assim como o alo de simila idade calculado. Nes a ase o u ilizado de e de ini um alo limi e pa a selec¸˜ ao inal das eg as de ans o mac¸˜ ao. Pa a odos os coe icien es com alo in e io ao limi e de inido pelo u ilizado , os mapeamen os ˜ ao se desca ados. Assim, um maio alo do limi e ga an e a selec¸˜ ao de elemen os mais semelhan es. Na Figu a 4.11 ´ e poss´ ı el obse a o p ocesso de mapeamen o ealizado en e o modelo da base de dados p esen e na Lis agem 4.5e o modelo da CMDB p esen e na Lis agem A.1 do Anexo A. Na Lis agem 4.8´ e poss´ ı el obse a as eg as de ans o mac¸ ˜ ao ge adas nes e mapeamen o, conside ando que o alo limi e escolhido oi 0.80 (ze o pon o oi en a). Figu a 4.11: Exemplo de execuc¸˜ ao do mecanismo de mapeamen o en e dois modelos. Lis agem 4.8: Reg as de ans o mac¸˜ ao en e modelos. 4.2. Implemen ac¸˜ ao 69 { "ci_ ypes":{ "hos ":"C__OBJTYPE__HOST", "laye 3 ne wo k":"C__OBJTYPE__LAYER3_NET" }, " el_ ypes":{ "pa o ne wo k":"C__RELATION_TYPE__NET_CONNECTIONS" }, "ci_a ibu es":{ "hos ":{ "s a us":"s a us", "mac_add ess":"mac", "ope a ing sys em":"applica ion" }, "laye 3 ne wo k":{ " i le":" i le" } }, " el_a ibu es":{ "pa o ne wo k":{ " i le":" i le" } } } 4.2.11 Po oamen o da CMDB O obje i o des a e apa consis e em en ia ` aCMDB a in o mac¸˜ ao ecolhida ace ca da in aes u u a du an e o p ocesso de descobe a. Pa a is o ´ e necess´ a io acede ` a base de dados pa a ob e es a in o mac¸˜ ao e, eco endo ` as eg as de ans o mac¸˜ ao calculadas no p ocesso de mapeamen o, po oa a CMDB.´ E p eciso amb´ em e em conside ac¸ ˜ ao que es e po oamen o de e se e e uado a a ´ es da API da CMDB pa a e i a e os e incoe ˆ encias nos dados. Tendo em con a as di e enc¸as en e as ´ a ias CMDBs iden i icadas na Secc¸˜ ao 2.4.5e o qu˜ ao dis in as podem se as APIs, oi desen ol ido um mecanismo espec´ ı ico pa a cada so wa e. Des a o ma, o cus o de desenho da soluc¸˜ ao de po oamen o depende apenas da implemen ac¸˜ ao do p ocesso uma ez pa a cada ipo de so wa e. Du an e es e p ocesso ´ e ele an e e em a enc¸˜ ao que os CIs de em se os p imei os a se c iados, is o que es es es ˜ ao en ol idos nos elacionamen os. Ou seja, pa a c ia um elacionamen o ´ e necess´ a io que os CIs nes e en ol idos sejam p e iamen e c iados na CMDB, assim como ´ e p eciso e in o mac¸˜ ao ace ca do seu iden i icado na CMDB. Es e p ocesso ´ e ap esen ado no Algo i mo 8. 4.2. Implemen ac¸˜ ao 70 Algo i mo 8Po oamen o da CMDB cis ids ←ob e CIs exis en es na base de dados o ci em cis ids do cis ypes[ci]←ob e o ipo do ci cis a ibu es[ci]←ob e os a ibu os do ci end o els ids ←ob e elacionamen os exis en es na base de dados o el em els ids do els ypes[ el]←ob e o ipo do el els a ibu es[ el]←ob e os a ibu os do el sou ces[ el]←ob e o CI on e do el a ge s[ el]←ob e o CI al o do el end o o ci em cis ypes do ci id ←c ia ci na CMDB end o o el em els ypes do el id ←c ia el na CMDB end o i-doi No caso espec´ ı ico do i-doi , oi u ilizado o m´ e odo cmdb.objec .c ea e que pe mi e a c iac¸˜ ao de componen es e elacionamen os a a ´ es da sua API. O po oamen o ´ e iniciado com a c iac¸ ˜ ao dos CIs exis en es na base de dados. Pa a cada CI descobe o, ´ e e i icado o seu ipo. Caso n˜ ao exis a uma co espondˆ encia do seu ipo nas eg as de mapeamen o, es e n˜ ao ´ e c iado. Se exis i , s˜ ao de inidos os seus a ibu os. Pa a cada um des es ´ e e i icado o seu ipo nas eg as de ans o mac¸˜ ao. Se es es co espon- de em a um a ibu o que pe mi e apenas de e minados alo es p ´ e-de inidos, ´ e necess´ a io aze a co espondˆ encia en e o alo descobe o e os alo es pe mi idos. Nou o caso, ´ e apenas necess´ a io con e e o alo do a ibu o no ipo que ´ e u ilizado pela CMDB. No en- an o, pode acon ece de n˜ ao se poss´ ı el con e e o alo do a ibu o pa a o ipo u ilizado pela CMDB, n˜ ao sendo poss´ ı el en ia es a in o mac¸˜ ao no pedido. Quando o CI ´ e inal- men e de inido, segue-se o en io de um pedido pa a a sua c iac¸˜ ao. Pa a cada CI c iado, ´ e gua dado o seu iden i icado na CMDB pa a u iliza como e e ˆ encia nos elacionamen os. Depois de odos os CIs c iados, segue-se a c iac¸˜ ao dos elacionamen os. Tal como pa a os CIs, pa a cada elacionamen o ´ e inicialmen e e i icada a exis ˆ encia do seu ipo nas eg as de ans o mac¸˜ ao. Caso exis a uma co espondˆ encia s˜ ao depois e i icados os CIs en ol i- dos no elacionamen o. ´ E necess´ a io que es es enham sido p e iamen e c iados na CMDB. No amen e, pa a cada a ibu o ´ e e i icado o seu ipo nas eg as de ans o mac¸˜ ao. Se es es co esponde em a um a ibu o que pe mi e apenas de e minados alo es p ´ e-de inidos, ´ e necess´ a io aze a co espondˆ encia en e o alo descobe o e os alo es pe mi idos. Caso con ´ a io, ´ e apenas necess´ a io con e e o alo do a ibu o no ipo que ´ e u ilizado pela 4.2. Implemen ac¸˜ ao 71 CMDB, sendo que nos casos em que is o n˜ ao ´ e poss´ ı el, a in o mac¸˜ ao n˜ ao ´ e en iada. Quando o elacionamen o ´ e de inido, segue-se o en io de um pedido pa a a sua c iac¸ ˜ ao. De salien a que o m´ e odo cmdb.objec .c ea e n˜ ao pe mi e que o alo do pa ˆ ame o e e en e ao nome seja en iado a azio. Po isso, an o na c iac¸ ˜ ao dos CIs como dos ela- cionamen os, ´ e u ilizado o nome do ipo do obje o como nome pad ˜ ao. No en an o, caso o obje o ap esen e um a ibu o na BD associado ao nome, es e alo subs i ui o de inido an e io men e. Des a o ma, ´ e ga an ido que o pedido ´ e en iado. Pa a al´ em dis o, os a i- bu os ˆ em de se en iados de aco do com a ca ego ia a que pe encem, sendo no momen o da de inic¸˜ ao do pedido necess´ a io associa os a ibu os ` as ca ego ias a que pe encem. Na Lis agem 4.9´ e ap esen ado um exemplo da es u u a, em JSON, de um pedido do ipo cmdb.objec .c ea e pa a a c iac¸˜ ao de um obje o. Lis agem 4.9: Exemplo da es u u a JSON de um m ´ e odo cmdb.objec .c ea e pa a a c ia c¸ ˜ ao de um obje o no i-doi . { " e sion": "2.0", "me hod": "cmdb.objec .c ea e", "pa ams": { " ype": "C__OBJTYPE__HOST", " i le": "Hos example", "apikey": "xxx", "language": "en", "ca ego ies": { "C__CATG__CPU": [{ " equency": "2.0", 'co es': 4 }], "C__CATG__NETWORK": [{ "se ial": "abcde" }], "C__CATG__GLOBAL": [{ "desc ip ion": "Desc ip ion o hos example.", 's a us': 7 }] } }, 'id': 1 } Reco endo ` as eg as de ans o mac¸˜ ao p esen es na Lis agem 4.8, e aos dados p esen es na Lis agem 4.4, oi execu ado o po oamen o da CMDB.´ E poss´ ı el obse a a execuc¸˜ ao des e na Figu a 4.12 e o esul ado na CMDB na Figu a 4.13. 5.1. Caso de Tes e 1 78 Na Tabela 5.3´ e poss´ ı el obse a os a ibu os do CI que ep esen a a m´ aquina desc i a na Tabela 5.1que o am ecolhidos na ase de descobe a. Tabela 5.3: In o ma c¸ ˜ ao ecolhida sob e a m ´ aquina explo ada na ase de descobe a no p imei o caso de es e. A ibu o Valo i le macbookp ojoana hos name macbookp ojoana.local s a us up uuid 0B793129-B10E-5C77-89DD-4529FEF05AD6 se ial numbe C02S80K6G8WN desc ip ion MacBook P o MacBook P oMacBook P o mac add ess c4:b3:01:c0:1a:d3 ip 4 192.168.1.73 ip 6 2001:8a0: 576:7000:1cac:32c1:d287:1804 ip 6 2001:8a0: 576:7000:19c8:36e6:6c25:e634 os amily macOS os name Mac OS X os e sion 10.15.7 os macOS 10.15.7(19H15) ke nel e sion Da win 19.6.0 boo mode no mal boo ime since boo up 1:8:11:46 CPU Quad-Co e In el Co e i7 CPU co es 4 CPU speed 2,2GHz CPU equency 2,2 CPU equency uni GHz physical memo y 16 GB memo y am 16 physical memo y uni GB GPU kHW In elI isP oI em ba e y bq20z451 display Colo LCD Tamb´ em na ase de descobe a oi poss´ ı el encon a elacionamen os en e os CIs. Na Tabela 5.4´ e poss´ ı el obse a alguns dos elacionamen os p esen es na base de dados, sendo exibidos os nomes dos CIs en ol idos no elacionamen o e o nome e ipo do elaci- onamen o. 5.1.2Mapeamen o Na ase de mapeamen o o am analisados os modelos de dados da CMDB e da base de dados ge ada no p ocesso de descobe a, endo sido p oduzidos po enciais mapeamen os en e es es modelos. Tendo em con a que nes e caso oi u ilizado o i-doi , ´ e poss´ ı el con- sul a na Lis agem A.1do Anexo Ao esul ado pa cial do p ocessamen o do seu modelo de dados. Conside ando que o alo limi e escolhido pa a a selec¸˜ ao das eg as de ans o mac¸ ˜ ao oi 0.85 (ze o pon o oi en a e cinco), ´ e poss´ ı el obse a na Tabela 5.5as eg as de ans o mac¸˜ ao ge adas. 5.1. Caso de Tes e 1 79 Tabela 5.4: Alguns dos elacionamen os encon ados na ase de descobe a no p imei o caso de es e. Nome do CI Fon e Nome do CI Al o Tipo do Relacionamen o Nome do Relacionamen o macOS 10.15.7 19H15 macbookp ojoana unning os macOS 10.15.7 19H15 unning os macbookp ojoana macbookp ojoana macOS 10.15.7 19H15 ins alled os macbookp ojoana ins alled os macOS 10.15.7 19H15 macbookp ojoana Quad-Co e In el Co e i7associa ed p ocesso macbookp ojoana associa ed p ocesso Quad-Co e In el Co e i7 ssh 22 is unning on po ssh is unning on po 22 APPLE SSD SM0256G macbookp ojoana has s o age APPLE SSD SM0256G is s o age o macbookp ojoana Visual S udio Code macbookp ojoana has ins alled Visual S udio Code ins alled on macbookp ojoana Colo LCD macbookp ojoana display o Colo LCD display o macbookp ojoana Buil -in Mic ophone Apple Inc. has manu ac u e Buil -in Mic ophone has manu ac u e Apple Inc. macbookp ojoana PT loca ed macbookp ojoana loca ed PT PT macbookp ojoana loca ion o PT loca ion o macbookp ojoana Tabela 5.5: Reg as de ans o mac¸˜ ao ge adas no p imei o caso de es e. CMDB Base de dados Coe icien e de simila idadeNome Desc ic¸ ˜ ao Nome Desc ic¸ ˜ ao CIs C OBJTYPE APPLICATION Applica ion Applica ion applica ion 1 C OBJTYPE HOST Hos Hos hos 1 C OBJTYPE OPERATING SYSTEM Ope a ing Sys em Ope a ing Sys em ope a ing sys em 1 C OBJTYPE MONITOR Moni o Display display 0.947368 C OBJTYPE WORKSTATION Wo kplace Loca ion loca ion 0.933333 C OBJTYPE AMPLIFIER Ampli ie CPU cen al p ocessing uni 0.888889 C OBJTYPE CONVERTER Con e e Cha ge cha ge 0.875 A ibu os dos CIs C OBJTYPE APPLICATION i le Ti le i le i le 1 desc ip ion Desc ip ion desc ip ion desc ip ion 1 C OBJTYPE HOST equency CPU equency CPU equency cen al p ocessing uni equency 1 co es CPU co es CPU co es cen al p ocessing uni co es 1 i le Ti le i le i le 1 desc ip ion Desc ip ion desc ip ion desc ip ion 1 s a us Condi ion s a us s a us 1 equency uni CPU equency uni CPU equency uni cen al p ocessing uni equency uni 1 se ial Se ial numbe se ial numbe se ial numbe 1 uni Memo y uni physical memo y uni physical memo y uni 0.928369 memo y Memo y memo y am memo y andom access memo y 0.893177 plug ype Plug ba e y ba e y 0.888889 speed uni Speed uni CPU speed cen al p ocessing uni speed 0.877123 de ice On de ice display display 0.875 mac MAC mac add ess media access con ol add ess 0.866025 C OBJTYPE OPERATING SYSTEM assigned e sion Ve sion numbe e sion numbe e sion numbe 1 i le Ti le i le i le 1 C OBJTYPE MONITOR esolu ion Resolu ion esolu ion esolu ion 1 dep h Dep h dep h dep h 1 i le Ti le i le i le 1 connec ion ype Connec ion ype connec ion ype connec ion ype 1 da e Da e yea yea 0.857143 size Display display ype display ype 0.851235 C OBJTYPE WORKSTATION la i ude La i ude la i ude la i ude 1 longi ude Longi ude longi ude longi ude 1 i le Ti le i le i le 1 pa en Loca ion egion egion 0.888889 C OBJTYPE AMPLIFIER i le Ti le i le i le 1 changes Changes Speed speed 0.875 C OBJTYPE CONVERTER assigned connec o Connec ed o connec ed connec ed 1 image File cha ging cha ging 1 Relacionamen os C RELATION TYPE NETWORK PORT Po s po om po 1 C RELATION TYPE LOCATION Loca ion loca ion o loca ion 1 C RELATION TYPE OPERATION SYSTEM Ope a ing sys em unning os unning ope a ing sys em 0.942343 A ibu os dos Relacionamen os C RELATION TYPE NETWORK PORT i le Ti le i le i le 1 C RELATION TYPE LOCATION C RELATION TYPE OPERATION SYSTEM 5.1.3Po oamen o Tendo em con a os i ens descobe os e as eg as de ans o mac¸˜ ao ge adas, oi poss´ ı el comp o a a c iac¸˜ ao dos obje os que co esponde am a esses equisi os. ´ E poss´ ı el obse a 5.1. Caso de Tes e 1 80 na Tabela 5.6, as ins ˆ ancias c iadas na CMDB e os seus ipos associados. No caso dos elacionamen os, s´ o s˜ ao c iados se os CIs neles en ol idos enham amb´ em sido c iados. Des a o ma, mesmo que exis a um mapeamen o pa a um ipo de elacionamen o, es e n˜ ao ai se c iado na CMDB se n˜ ao hou e um mapeamen o poss´ ı el pa a os ipos de CIs en ol idos nes e. Pa a al´ em dis o, quando n˜ ao ´ e poss´ ı el con e e os ipos de dados dos a ibu os pa a os u ilizados pela CMDB, amb´ em n˜ ao ´ e poss´ ı el en ia essa in o mac¸˜ ao. Po exemplo, no caso do CI que co esponde ao sis ema ope a i o macOS 10.15.7, na base de dados es e possui o a ibu o ” e sion numbe “ com o alo ”10.15.7“. O mapeamen o des e a ibu o ´ e ei o com o a ibu o ”assigned e sion“ na CMDB, que co esponde a um alo in ei o. Des a o ma, es a in o mac¸˜ ao n˜ ao ´ e en iada no pedido ` aAPI is o n˜ ao se poss´ ı el con e e es e alo pa a um alo in ei o. Tabela 5.6: Elemen os c iados na CMDB no p imei o caso de es e. Tipo na CMDB Tipo na Base de Dados Nome dos obje os CIs C OBJTYPE APPLICATION Applica ion Fi e ox Pos man Slack zoom Adobe Ac oba Reade DC iMo ie PyCha m Visual S udio Code Spo i y Google Ch ome FileZilla MRT C OBJTYPE HOST Hos macbookp ojoana C OBJTYPE OPERATING SYSTEM Ope a ing Sys em macOS 10.15.7 19H15 C OBJTYPE MONITOR Display Colo LCD C OBJTYPE WORKSTATION Loca ion PT C OBJTYPE AMPLIFIER CPU Quad-Co e In el Co e i7 C OBJTYPE CONVERTER Cha ge C OBJTYPE CONVERTER Relacionamen os C RELATION TYPE OPERATION SYSTEM unning ope a ing sys em macOS 10.15.7 19H15 unning os macbookp ojoana C RELATION TYPE LOCATION loca ion o PT loca ion o macbookp ojoana Na Lis agem 5.1´ e poss´ ı el obse a a in o mac¸˜ ao em JSON do pedido ge ado pa a a c iac¸˜ ao do CI co esponden e ` a m´ aquina desc i a na Tabela 5.1. Es e oi ge ado endo po base a in o mac¸˜ ao ace ca do CI p esen e na base de dados, que pode se consul ada na Tabela 5.3, e as eg as de ans o mac¸˜ ao p esen es na Tabela 5.5. Na Figu a 5.1´ e poss´ ı el e i ica a c iac¸˜ ao des e CI na CMDB. Lis agem 5.1: In o ma c¸ ˜ ao JSON do m ´ e odo cmdb.objec .c ea e ge ado pa a a c ia c¸ ˜ ao do CI co es- ponden e ` a m´ aquina desc i a na Tabela 5.1. { ' e sion':'2.0', 'me hod':'cmdb.objec .c ea e', 'pa ams': { 'apikey':'cmdb-au o', 5.1. Caso de Tes e 1 81 'language':'en', ' ype':'C__OBJTYPE__HOST', ' i le':'C__OBJTYPE__HOST', 'ca ego ies': { 'C__CATG__CONTROLLER_FC_PORT': [{ 'speed_uni ':1 }], 'C__CATG__CPU': [{ ' equency':2.0, 'co es':4, ' equency_uni ':3 }], 'C__CATG__GRAPHIC': [{ 'memo y':16.0 }], 'C__CATG__NETWORK_PORT': [{}], 'C__CATG__DRIVE': [{}], 'C__CATG__MEMORY': [{ 'uni ':3 }], 'C__CATG__NETWORK': [{ 'se ial':'C02S80K6G8WN' }], 'C__CATG__GLOBAL': [{ ' i le':'macbookp ojoana', 'desc ip ion':'MacBook P o MacBook P oMacBook P o', 's a us':7 }], 'C__CATG__NETWORK_LOG_PORT': [{ 'mac':'c4:b3:01:c0:1a:d3' }] } }, 'id':1 } 5.1. Caso de Tes e 1 82 Figu a 5.1: Obje o e e en e ` a m ´ aquina desc i a na Tabela 5.1c iado na CMDB no p imei o caso de es e. Na Figu a 5.2´ e amb´ em poss´ ı el obse a os es an es CIs c iados na CMDB. Figu a 5.2: Obje os, e seus a ibu os, c iados na CMDB no p imei o caso de es e. Finalmen e, na Figu a 5.3, s˜ ao ap esen ados os elacionamen os p esen es na CMDB ap´ os o po oamen o. ´ E poss´ ı el e i ica a c iac¸˜ ao dos elacionamen os e a associac¸˜ ao des es com os CIs en ol idos nos mesmos. 5.2. Caso de Tes e 2 83 Figu a 5.3: Relacionamen os c iados na CMDB no p imei o caso de es e. 5.2 caso de es e 2 No segundo caso de es e, a e amen a ai se no amen e execu ada de o ma a ecolhe in o mac¸˜ ao de apenas uma m´ aquina ´ ısica. As ca ac e ´ ıs icas da m´ aquina a se explo ada podem se consul adas na Tabela 5.7. A e amen a ´ e execu ada na m´ aquina desc i a na Tabela 5.1, mas a base de dados e a CMDB u ilizada, que nes e caso se ´ a o iTop, s˜ ao execu adas na m´ aquina a se explo ada. 5.2. Caso de Tes e 2 84 Tabela 5.7: Ca ac e ´ ıs icas da m´ aquina pa a o segundo caso de es e. M´ aquina Dell Op iPlex 7010 Sis ema Ope a i o Ubun u 18.04.5LTS Ende ec¸o IP 192.168.1.88 RAM 8GB CPU 2,9GHz In el Co e i5-3470S G aphDB 9.3.1 i-doi 1.14 Open iTop 2.7.3-6624 Vi ualbox 5.2.42 Ubun u 137960 Vag an 2.2.14 SNMP 5.7.3 5.2.1Descobe a A descobe a e e po base o ende ec¸o IP e e en e ` a m´ aquina desc i a na Tabela 5.7. Na descobe a b´ asica, oi poss´ ı el ob e in o mac¸˜ ao da m´ aquina a a ´ es da e amen a Nmap e do p o ocolo SNMP. Na descobe a de alhada o am selecionadas as ca ego ias e e en es ao sis ema ope a i o, p ocessamen o, a mazenamen o e so wa e, sendo que as c edenciais da m´ aquina o am necess´ a ias pa a a ob enc¸˜ ao des e ipo de in o mac¸˜ ao. De ido ` a g ande ex ens˜ ao dos dados ecolhidos, ˜ ao se apenas ap esen ados esul ados pa ciais. Tendo em con a a m´ aquina explo ada e as ca ego ias selecionadas, ´ e poss´ ı el obse a na Tabela 5.8os CIs que se ia de espe a que ossem descobe os, e aqueles que o am e e i amen e c iados. Aqui s˜ ao apenas ap esen ados os nomes associados ` as ins ˆ ancias a mazenadas na base de dados, sendo que os seus a ibu os n˜ ao es ˜ ao ep esen- ados. Tamb´ em pa a o ipo de cada CI ´ e apenas ap esen ado o seu nome. Na Tabela C.2 do Anexo C´ e poss´ ı el obse a alguns a ibu os de alguns dos CIs descobe os. Tabela 5.8: Alguns dos CIs encon ados na ase de descobe a do segundo caso de es e. Espe ado Ca ego ia Encon ado Nome do ipo de CI Nome dos CIs M´ aquina desc i a na Tabela 5.7— Hos ubun u-pc Sis ema Ope a i o Ubun u Sis ema Ope a i o Ope a ing Sys em Ubun u 18.04.5LTS CPU P ocessamen o CPU In elR Co eTM i5-3470S CPU 2.90GHz Discos A mazenamen o SSD sda4 Aplicac¸ ˜ oes (apenas as que es ˜ ao a u iliza mais mem´ o ia i ual) So wa e Applica ion g aphdb- ee gnome-shell i e ox snapd e olu ion-da a-se e Tamb´ em na ase de descobe a oi poss´ ı el encon a elacionamen os en e os CIs. Na Tabela 5.9´ e poss´ ı el obse a alguns dos elacionamen os encon ados nes a ase, sendo exibido o nome, o nome do ipo e o nome dos CIs en ol idos no elacionamen o. 5.2. Caso de Tes e 2 85 Tabela 5.9: Alguns dos elacionamen os encon ados na ase de descobe a do segundo caso de es e. Nome do CI Fon e Nome do CI Al o Tipo do Relacionamen o Nome do Relacionamen o ubun u-pc In elR Co eTM i5-3470S CPU 2.90GHz associa ed p ocesso ubun u-pc associa ed p ocesso In elR Co eTM i5-3470S CPU 2.90GHz g aphdb- ee cumulus linux has ins alled ubun u-pc has ins alled g aphdb- ee ubun u-pc Dell has endo has endo Dell ubun u-pc Ubun u 18.04.5LTS ins alled os ubun u-pc ins alled os Ubun u 18.04.5LTS Ubun u 18.04.5LTS ubun u-pc unning os Ubun u 18.04.5LTS unning os ubun u-pc mysql 3306 is unning on po mysql is unning on po 3306 5.2.2Mapeamen o Na ase de mapeamen o o am analisados os modelos de dados da CMDB, que nes e caso oi o iTop, e da base de dados ge ada no p ocesso de descobe a, endo sido p oduzidos os po enciais mapeamen os en e es es modelos. Conside ando que o alo limi e escolhido pa a a selec¸˜ ao das eg as de ans o mac¸˜ ao oi 0.80 (ze o pon o oi en a), ´ e poss´ ı el obse a na Tabela 5.10 as eg as de ans o mac¸˜ ao ge adas. ´ E ele an e e e i que, no caso dos a ibu os, podem exis i , pa a um mesmo a ibu o, mapeamen os di e en es en e di e en es ipos de CIs is o que, di e en es ipos de CIs podem ap esen a o mesmo a ibu o. Tabela 5.10: Reg as de ans o mac¸˜ ao ge adas no segundo caso de es e. CMDB Base de Dados Coe icien e de Simila idadeNome Desc ic¸˜ ao Nome Desc ic¸˜ ao CIs se e se e Hos hos 1 so wa e so wa e Ope a ing Sys em ope a ing sys em 0.941176 pe iphe al pe iphe al CPU cen al p ocessing uni 0.888889 applica ionsolu ion applica ion solu ion Applica ion applica ion 0.871378 A ibu os dos CIs se e cpu cpu CPU cen al p ocessing uni 1 id id Machine ID machine id 0.880476 so wa e id id ID id 1 endo endo endo endo 1 ype ype desc ip ion desc ip ion 0.9 name name i le i le 0.923077 e sion e sion e sion numbe e sion numbe 0.819853 pe iphe al id id Vendo ID endo id 0.876197 applica ionsolu ion s a us s a us i le i le 0.833333 5.2.3Po oamen o Tendo em con a os i ens descobe os e as eg as de ans o mac¸˜ ao ge adas, ´ e poss´ ı el e i ica na Figu a 5.4a c iac¸˜ ao dos CIs que co esponde am a esses equisi os. Na Lis agem 5.2´ e poss´ ı el obse a a in o mac¸˜ ao em JSON do pedido ge ado pa a a c iac¸˜ ao do CI co esponden e ao sis ema ope a i o Ubun u da m´ aquina desc i a na Tabela 5.1. Es e oi ge ado endo po base a in o mac¸˜ ao a mazenada na base de dados, e as eg as de ans o mac¸˜ ao p esen es na Tabela 5.5. 5.3. Caso de Tes e 3 86 Figu a 5.4:CIs c iados no iTop no segundo caso de es e. Lis agem 5.2: In o ma c¸˜ ao JSON da ope a c¸˜ ao co e/c ea e ge ado pa a a c ia c¸˜ ao do CI co esponden e ao sis ema ope a i o da m´ aquina desc i a na Tabela 5.7. { 'ope a ion':'co e/c ea e', 'commen ':'Synch oniza ion om CMDB au oma ic c ea ion...', 'use ':'i op', 'passwo d':'i op-WebSe ices1', 'class':'So wa e', ' ields': { ' endo ':'Ubun u', ' e sion':'18.04', 'name':'Ubun u 18.04.5 LTS', ' ype':'Middlewa e' } } 5.3 caso de es e 3 No e cei o caso de es e, a e amen a ai se execu ada de o ma a ecolhe in o mac¸˜ ao de uma in aes u u a compu acional. Es a ´ e cons i u´ ıda po 7m´ aquinas i uais, endo sido u ilizado Vi ualBox [52] e Vag an [51] pa a a i ualizac¸˜ ao e adminis ac¸˜ ao des as. Es as m´ aquinas s˜ ao execu adas na m´ aquina ´ ısica ap esen ada na Tabela 5.7. As ca ac- e ´ ıs icas das m´ aquinas i uais que comp˜ oem a in aes u u a podem se consul adas na Tabela 5.11. A e amen a de c iac¸˜ ao au om´ a ica de CMDB ai se execu ada na m´ aquina iden i icada pelo nome ”ubun u“. A base de dados e a CMDB u ilizada - i-doi 1.14 Open - s˜ ao execu adas na m´ aquina desc i a na Tabela 5.7. 5.3. Caso de Tes e 3 87 Tabela 5.11: Ca ac e ´ ıs icas das m ´ aquinas que comp ˜ oe a in aes u u a compu acional pa a o e cei o caso de es e. M´ aquina Vag an Box Sis ema Ope a i o Ende ec¸o IP LLDP SNMP SSH Py hon Nmap Wi esha k ou e CumulusCommuni y/VX-3.0Cumulus Linux 3.3.0 192.168.10.10 0.7.16-430-g9ed8a25 5.7.3OpenSSH 6.7p1Debian-5+deb8u3, OpenSSL 1.0.1 — — — sw1CumulusCommuni y/VX-3.0Cumulus Linux 3.3.0 192.168.10.20 0.7.16-430-g9ed8a25 5.7.3OpenSSH 6.7p1Debian-5+deb8u3, OpenSSL 1.0.1 — — — sw2CumulusCommuni y/VX-3.0Cumulus Linux 3.3.0 192.168.10.30 0.7.16-430-g9ed8a25 5.7.3OpenSSH 6.7p1Debian-5+deb8u3, OpenSSL 1.0.1 — — — ubun u gene ic/ubun u1804 Ubun u 18.04.5LTS 192.168.10.22 0.9.9 5.7.3OpenSSH 7.6p1Ubun u-4ubun u0.3, OpenSSL 1.0.2n 3.9.1 7.60 2.6.10 windows gusz a a gad /windows-10 Mic oso Windows 10 En e p ise E alua ion 10.0.19042 192.168.10.21 N˜ ao ins alado N˜ ao ins alado — — — — dbs ubun u/xenial64 Ubun u 16.04.7LTS 192.168.10.31 N˜ ao ins alado 5.7.3OpenSSH 7.2p2Ubun u-4ubun u2.10, OpenSSL 1.0.2g — — — wbs ubun u/xenial64 Ubun u 16.04.7LTS 192.168.10.32 N˜ ao ins alado 5.7.3OpenSSH 7.2p2Ubun u-4ubun u2.10 OpenSSL 1.0.2g — — — 5.3.1Descobe a A descobe a e e po base a in o mac¸˜ ao expo ada da e amen a Ang y IP Scanne , que con ´ em in o mac¸˜ ao ace ca de ˆ es das m´ aquinas que comp˜ oem a in aes u u a. Os dados expo ados podem se consul ados na Tabela 5.12. Tabela 5.12: Fichei o CSV expo ado da e amen a Ang y IP Scanne pa a o e cei o caso de es e. IP Ping MAC Add ess Hos name Po s Ne BIOS In o MAC Vendo 192.168.10.10 0 ms 08:00:27:12:F6:B5[n/a] [n/a] [n/a] PCS Sys em echnik 192.168.10.20 0 ms 08:00:27:C7:45:8C [n/a] [n/a] [n/a] PCS Sys em echnik 192.168.10.30 0 ms 08:00:27:9C:71:2B [n/a] [n/a] [n/a] PCS Sys em echnik Na descobe a b´ asica, oi poss´ ı el ecolhe in o mac¸˜ ao a a ´ es dos p o ocolos LLDP e SNMP e da e amen a Nmap, de ido ao ac o de es es p o ocolos es a em con igu ados nas m´ aquinas que comp˜ oem a in aes u u a, e a e amen a es a ins alada na m´ aquina a execu a a descobe a. Des a o ma, oi poss´ ı el acede ` as abelas de o eamen o e abelas ARP dos disposi i os, o que pe mi iu, endo apenas conhecimen o de ˆ es das m´ aquinas, descob i as es an es. Na descobe a de alhada o am selecionadas as ca ego ias e e en es ao sis ema ope a i o, p ocessamen o, a mazenamen o, so wa e e se ic¸os, sendo que as c edenciais das m´ aquinas o am necess´ a ias pa a a ob enc¸˜ ao des e ipo de in o mac¸˜ ao. Nes e caso em espec´ ı ico, ´ e poss´ ı el e i ica que apesa de pelo menos duas m´ aquinas ap esen a em o mesmo sis ema ope a i o na mesma e s˜ ao - Cumulus Linux 3.3.0, po exemplo - oi apenas c iada uma ins ˆ ancia des e sis ema ope a i o na base de dados, p o- ando as capacidades do mecanismo de econciliac¸˜ ao. ´ E amb´ em ele an e e e i que o am c iados dois CIs e e en es ao CPU da m´ aquina desc i a na Tabela 5.7. Is o acon eceu po que as con igu ac¸ ˜ oes do CPU nas m´ aquinas i uais s˜ ao di e en es. De ido ` a g ande ex ens˜ ao dos dados ecolhidos, ˜ ao se apenas ap esen ados esul a- dos pa ciais, sendo poss´ ı el obse a na Tabela 5.13 os componen es que se ia de espe a que ossem descobe os, e aqueles que o am e e i amen e c iados. Aqui s˜ ao apenas ap e- sen ados os nomes associados ` as ins ˆ ancias a mazenadas na base de dados, sendo que 5.3. Caso de Tes e 3 94 a mais co e a - o alo ”MHz“ da base de dados oi mapeado com o alo ”2“ na CMDB, que e e i amen e co esponde ` a unidade ”MHz“. Lis agem 5.4: Resul ado da execu c¸ ˜ ao do m ´ e odo cmdb.dialog. ead pa a o a ibu o ” equency uni “ do i-doi . " esul ": [ { "id":"1", "cons ":"C__FREQUENCY_UNIT__KHZ", " i le":"KHz" }, { "id":"2", "cons ":"C__FREQUENCY_UNIT__MHZ", " i le":"MHz" }, { "id":"3", "cons ":"C__FREQUENCY_UNIT__GHZ", " i le":"GHz" }, { "id":"4", "cons ":"C__FREQUENCY_UNIT__THZ", " i le":"THz" } ] Figu a 5.6: Obje o, e a ibu os co esponden es, e e en e ` a m ´ aquina i ual descobe a, c iado na CMDB no e cei o caso de es e. 5.3. Caso de Tes e 3 95 Na Figu a 5.7´ e amb´ em poss´ ı el obse a os es an es CIs, e seus a ibu os, c iados na CMDB. Figu a 5.7: Obje os, e seus a ibu os, c iados na CMDB no e cei o caso de es e. Finalmen e, na Figu a 5.8, s˜ ao ap esen ados os elacionamen os p esen es na CMDB ap´ os o po oamen o. Os elacionamen os do ipo ”Hos add ess“ o am ge ados au oma i- camen e no momen o da c iac¸˜ ao das m´ aquinas i uais, po que es as o am associadas a um ende ec¸o IP 4. 5.4. Caso de Tes e 4 96 Figu a 5.8: Relacionamen os c iados na CMDB no e cei o caso de es e. 5.4 caso de es e 4 No qua o caso de es e oi a aliado o mecanismo de mapeamen o implemen ado. Es e, desc i o na Secc¸˜ ao 4.2.10, e i a a epe ic¸˜ ao en e concei os mapeados, ou seja, um elemen o de um modelo, mapeia apenas num elemen o do ou o modelo cujo alo do coe icien e de simila idade ´ e o m´ aximo calculado. Des a o ma, n˜ ao h´ a dois elemen os de um modelo a mapea no mesmo elemen o do ou o modelo. Nes e caso de es e, oi execu ado o mapeamen o en e modelos que pe mi e a epe ic¸˜ ao en e elemen os mapeados selecionando apenas o maio alo do coe icien e de simila i- dade calculado, de o ma a se poss´ ı el compa a com o mecanismo implemen ado. Es a compa ac¸˜ ao oi e e uada que pa a o mapeamen o da base de dados com o i-doi , que com o iTop. Os es es e e uados i e am em conside ac¸˜ ao a base de dados ob ida da combinac¸˜ ao dos esul ados das descobe as dos casos de es e 1,2e3. O p imei o caso ap esen ado ´ e e e en e ao mapeamen o com o i-doi . A Tabela 5.18 ap esen ada o n´ ume o de mapeamen os, co e os e e ados, ob idos ao execu a os dois mecanismos de mapeamen o pa a di e en es alo es de limi e. ´ E poss´ ı el obse a que ` a medida que o alo limi e aumen a, aumen a amb´ em a pe cen agem de mapeamen os co e os. Na Figu a 5.9´ e poss´ ı el obse a que pa a alo es limi e supe io es, a pe cen- agem de mapeamen os co e os aumen a. Is o acon ece po que ao limi a a epe ic¸˜ ao, o 5.4. Caso de Tes e 4 97 Tabela 5.18: N ´ ume o de mapeamen os, co e os e e ados, selecionados pa a o i-doi conside ando di e en es alo es limi e. Com epe ic¸˜ ao Sem epe ic¸˜ ao Valo limi e 0.5 0.7 0.8 0.9 1 0.5 0.7 0.8 0.9 1 CIs Co e os 6 6 6 6 5 6 6 6 6 5 E ados 23 13 6 2 1 22 12 6 2 1 Pe cen agem 20,68965517 31,57894737 50 75 83,3333333 21,4285714 33,3333333 50 75 83,3333333 Relacionamen os Co e os 8 7 5 4 2 3 3 3 3 2 E ados 27 16 5 1 0 26 9 5 1 0 Pe cen agem 22,85714286 30,43478261 50 80 100 10,3448276 25 37,5 75 100 To al Co e os 14 13 11 10 7 9 9 9 9 7 E ados 50 29 11 3 1 48 21 11 3 1 Pe cen agem 21,875 30,95238095 50 76,9230769 87,5 15,7894737 30 45 75 87,5 Figu a 5.9: Compa a c¸˜ ao de mapeamen os co e os en e os dois mecanismos de mapeamen o pa a di e en es alo es limi e no caso do i-doi . alo ge al do coe icien e de simila idade selecionado ai diminui , po que n˜ ao ai se o m´ aximo calculado en e odos os mapeamen os nos casos em que o elemen o j´ a enha sido mapeado. O segundo caso ap esen ado ´ e e e en e ao mapeamen o com o iTop. A Tabela 5.19 ap esen ada o n´ ume o de mapeamen os, co e os e e ados, ob idos ao execu a os dois mecanismos de mapeamen o pa a di e en es alo es limi e. ´ E poss´ ı el obse a que ` a medida que o alo limi e aumen a, aumen a amb´ em a pe cen agem de mapeamen os co e os. Na Figu a 5.10 ´ e poss´ ı el obse a que, no caso do iTop, a pe cen agem de mapeamen os co e os pa a o mecanismo que e i a epe ic¸ ˜ oes, ´ e semp e supe io . Is o acon ece po que ao limi a a epe ic¸˜ ao, o alo dos coe icien es de simila idade selecionados ai diminui , po que n˜ ao ˜ ao co esponde ao alo m´ aximo calculado nos mapeamen os em que os elemen os enham sido j´ a mapeados. 5.5. Sum´ a io 98 Tabela 5.19: N ´ ume o de mapeamen os, co e os e e ados, selecionados pa a o iTop conside ando di e en es alo es limi e.. Com epe ic¸ ˜ ao Sem epe ic¸ ˜ ao Valo limi e 0.5 0.7 0.8 0.9 1 0.5 0.7 0.8 0.9 1 CIs Co e os 5 4 3 3 3 6 5 4 3 3 E ados 21 14 8 2 0 20 13 6 2 0 Pe cen agem 19,23076923 22,22222222 27,27272727 60 100 23,07692308 27,7777778 40 60 100 Relacionamen os Co e os 3 1 0 0 0 3 1 0 0 0 E ados 22 5 0 0 0 12 5 0 0 0 Pe cen agem 12 16,66666667 0 0 0 20 16,6666667 0 0 0 To al Co e os 8 5 3 3 3 9 6 4 3 3 E ados 43 19 8 2 0 32 18 6 2 0 Pe cen agem 15,68627451 20,83333333 27,27272727 60 100 21,95121951 25 40 60 100 Figu a 5.10: Compa ac¸ ˜ ao de mapeamen os co e os en e os dois mecanismos de mapeamen o pa a di e en es alo es limi e no caso do iTop. ´ E en ˜ ao poss´ ı el pe cebe , que, endo em con a os alo es de limi e selecionados nos ˆ es casos de es e ap esen ados an e io men e, o mecanismo que e i a epe ic¸ ˜ oes pe mi e a selec¸˜ ao de um maio n´ ume o de mapeamen os co e os. 5.5 sum ´ a io Depois de execu ados os es es, ´ e poss´ ı el esponde ` as ques ˜ oes le an adas no in´ ıcio des e Cap´ ı ulo. O p ocesso de descobe a ´ e capaz de ecolhe a in o mac¸ ˜ ao eque ida pelo u ilizado ? Obse ando os esul ados dos es es, ´ e poss´ ı el a i ma que a e amen a ´ e capaz de ecolhe in o mac¸˜ ao de aco do com o solici ado, sendo que os dados que se espe am e- colhe s˜ ao e e i amen e descobe os. No en an o, ´ e poss´ ı el melho a os mecanismos de descobe a implemen ados, de o ma a que es es ecolham in o mac¸ ˜ ao mais de alhada. Pa a al´ em dis o, endo em con a que a e amen a pe mi e que sejam in eg ados quaisque ou os mecanismos de descobe a, ´ e amb´ em poss´ ı el desen ol e ou os mecanismos e u iliz´ a-los de o ma a descob i ou os ipos de in o mac¸˜ ao. Adicionalmen e, se ia amb´ em 5.5. Sum´ a io 99 ele an e in e i mais in o mac¸˜ ao endo em con a os dados descobe os. Os esul ados do mapeamen o e a am a co espondˆ encia en e os elemen os mais semelhan es dos dois modelos? O mapeamen o en e os modelos es ´ a semp e dependen e do alo limi e escolhido, ou seja, se o alo escolhido, que pode a ia en e ze o e um, o um, ´ e e i icado que os mapeamen os es ˜ ao e e i amen e co e os. Nos es es ealizados o am escolhidos alo es de limi e que a ia am en e 0.8(ze o pon o oi en a) e 0.86 (ze o pon o oi en a e seis), e ´ e poss´ ı el cons a a que a maio pa e dos mapeamen os ep esen am e e i amen e a co es- pondˆ encia en e os elemen os mais semelhan es dos dois modelos. No en an o, ´ e poss´ ı el obse a amb´ em alguns mapeamen os menos co e os. ´ E disso exemplo, no segundo caso de es e, o mapeamen o en e o ipo de CI que ep esen a um pe i ´ e ico com um ipo que ep esen a um CPU. Des a o ma, ´ e poss´ ı el conclui que o mecanismo de mapeamen o pode se melho ado, de o ma a o nece eg as de ans o mac¸˜ ao mais exa as. Is o pode se conseguido com a u ilizac¸ ˜ ao de, po exemplo, uma compa ac¸˜ ao en e e mos mais es- pec´ ı ica e baseada apenas no dom´ ınio da linguagem a se u ilizado. Ou o aspe o que pode melho a o mapeamen o en e os modelos, passa pelo ape eic¸oamen o da e mino- logia u ilizada no momen o da descobe a. Pa a al´ em dis o, es e mecanismo conside ou apenas o mapeamen o ´ unico de elemen os, is o ´ e, oi apenas pe mi ido que um elemen o de um modelo osse mapeado com apenas um elemen o do ou o modelo. Des a o ma, n˜ ao oi ido em conside ac¸˜ ao que dois ou mais elemen os de um modelo podem mapea num mesmo elemen o do ou o modelo. Es es casos podem acon ece quando exis em modelos de dados que possuem elemen os mais ab angen es, e ´ e sem d´ u ida um caso que pode ajuda na ge ac¸˜ ao de eg as de ans o mac¸˜ ao mais co e as. Apesa de o qua o caso de es e ap esen a melho es esul ados pa a o mecanismo que e i a a epe ic¸˜ ao, ´ e amb´ em poss´ ı el obse a que o mecanismo que pe mi e a epe ic¸˜ ao, apesa de ap esen a mais mapeamen os e ados, amb´ em ap esen a mais mapeamen os co e os. A in o mac¸ ˜ ao ´ e en iada pa a a CMDB? Foi poss´ ı el cons a a que os CIs e elacionamen os descobe os e que se enquad am nas eg as de ans o mac¸˜ ao ge adas s˜ ao e e i amen e c iados na CMDB. 6 CONCLUS ˜ OES E TRABALHO FUTURO Nes e ´ ul imo Cap´ ı ulo ´ e ei a uma ap eciac¸˜ ao global do abalho desen ol ido ao longo des a disse ac¸˜ ao, assim como uma abo dagem do abalho u u o. 6.1 conclus ˜ ao Nes a disse ac¸ ˜ ao oi ap esen ada uma e amen a de c iac¸˜ ao au om´ a ica de uma CMDB, que execu a a descobe a e explo ac¸ ˜ ao de uma in aes u u a, a mazenando a in o mac¸˜ ao ecolhida numa base de dados, e az o po oamen o de uma CMDB. Nes a ase, ´ e poss´ ı el aze uma compa ac¸˜ ao en e os esul ados ob idos e os obje i os le an ados na ase inicial do p oje o. Pe cebe como uncionam as ecnologias que implemen am CMDBs e como ´ e que os dados ecolhidos podem se a mazenados. Fo am analisadas cinco e amen as de so wa e, endo sido poss´ ı el pe cebe como ´ e que a e amen a desen ol ida pode ia se in eg ada com es as. Foi necess´ a io, essencial- men e, pe cebe como e a poss´ ı el ob e o modelo de dados das CMDBs, assim como o po oamen o des as pode ia se e e uado. Foi e i icado que ´ e poss´ ı el ob e o modelo de dados a a ´ es das APIs das CMDBs ou a a ´ es da an´ alise das suas bases de dados. Rela i- amen e ao po oamen o, es e pode se e e uado a a ´ es das APIs des as. Desen ol e uma a qui e u a pa a a au oma izac¸ ˜ ao do p ocesso de c iac¸˜ ao de uma CMDB. Du an e o desen ol imen o de odas as ases, p ocu ou-se implemen a o maio n´ ume o poss´ ı el de mecanismos au om´ a icos, de o ma a au oma iza odo o p ocesso. Na ase de descobe a, oi implemen ada a descobe a au om´ a ica da in aes u u a, que ´ e capaz de explo a as m´ aquinas encon adas de aco do com o seu ipo. Na ase de mapeamen o, o am implemen ados p ocessos que cap assem os modelos de dados da base de dados ge ada pelos dados ecolhidos e da CMDB a u iliza , de inindo au oma icamen e co espondˆ encias en e os elemen os dos dois modelos. Na ase de po oamen o o am de inidos p ocessos capazes de ans o ma a in o mac¸ ˜ ao descobe a, eco endo ` as eg as de ans o mac¸˜ ao calculadas na ase de mapeamen o, em pedidos ` as APIs das CMDBs. Implemen a um p ocesso de descobe a au om´ a ica dos elemen os compu acionais de uma o ganizac¸˜ ao eco endo a e amen as de an´ alise de edes e in en ´ a io de sis emas. 100 6.1. Conclus˜ ao 101 Com es e obje i o em men e, a ase de descobe a da in aes u u a oi desen ol ida de modo a que: • seja poss´ ı el pe sonaliza o de alhe da descobe a; • seja poss´ ı el in eg a qualque mecanismo de descobe a; • os mecanismos de descobe a sejam capazes de se execu ados de aco do com os dis- posi i os encon ados. Faze o po oamen o da CMDB, adap ando-o ` a e amen a escolhida pelo u ilizado . Inicialmen e, oi necess´ a io desen ol e um mecanismo capaz de p ocessa o modelo de dados da CMDB. Es e eco eu ` aAPI da CMDB ou a acessos di e os ` a sua base de dados pa a ob e es a in o mac¸˜ ao. Foi amb´ em necess´ a io desen ol e um mecanismo capaz de adap a o po oamen o de aco do com a API da CMDB escolhida. Te um mecanismo de p ocessamen o e ou o de po oamen o pa a cada so wa e n˜ ao ´ e o mesmo que de ini um mapeamen o pad ˜ ao pa a cada um. Como os modelos das CMDBs podem se pe sonalizados, n˜ ao ´ e poss´ ı el e um mapeamen o pad ˜ ao pa a cada soluc¸˜ ao, po que, pa a o mesmo so wa e, os modelos de dados podem se di e en es em di e en es o ganizac¸ ˜ oes. Des a o ma, os mecanismos desen ol idos indicam apenas como os mode- los de dados podem se ob idos e como a CMDB pode se po oada, ou seja, apesa de se em dependen es do so wa e, s˜ ao independen es do modelo de dados da CMDB. Minimiza o es o c¸o do u ilizado na a e a de c iac¸˜ ao da CMDB. Ao longo de odo o p ocesso as in e ac¸ ˜ oes com o u ilizado o am eduzidas apenas ao necess´ a io. Es e s´ o in e age com a e amen a pa a: • indica a u ilizac¸˜ ao, ou n˜ ao, de e amen as ex e nas; • de ini os ende ec¸os a explo a ; • especi ica as c edenciais dos disposi i os; • especi ica a base de dados a u iliza ; • especi ica a CMDB a se u ilizada; • seleciona os mapeamen os a ado a quando es es ap esen am o mesmo alo en e di e en es elemen os; • escolhe o alo limi e das eg as de ans o mac¸˜ ao a conside a . Al´ em dis o, ´ e amb´ em poss´ ı el e i ica como a e amen a desen ol ida esponde a al- guns dos p oblemas encon ados no p ocesso de c iac¸˜ ao de uma CMDB, enunciados na Secc¸˜ ao 2.4.3. Recu sos humanos e inancei os limi ados. Tendo is o em con a, a implemen ac¸˜ ao da e amen a oi simpli icada, esul ando no desen ol imen o de uma aplicac¸˜ ao Command Line In e ace (CLI). Como a in e ace com o u ilizado n˜ ao e a ˜ ao ele an e nes e p ocesso, oi dada uma maio impo ˆ ancia ` a 6.2. T abalho Fu u o 102 implemen ac¸˜ ao do p ocesso em si. Foi amb´ em u ilizada a linguagem Py hon, assim como c´ odigo open-sou ce, que ´ e acilmen e execu ado. N˜ ao planeamen o dos ipos, a ibu os e elacionamen os que se que man e , le a ` a en a i a insus en ´ a el de man e demasiada in o mac¸˜ ao. Nes e caso, o ac o de se poss´ ı el pe sonaliza o n´ ı el do de alhe da descobe a, ga an e que seja apenas ecolhida in o mac¸˜ ao de aco do com os obje i os do u ilizado . U ilizac¸˜ ao de uma abo dagem maio i a iamen e manual acaba po se insus en ´ a el endo em con a odo o p ocesso de c iac¸˜ ao e manu enc¸ ˜ ao da CMDB. O p ocesso desen ol ido ´ e au om´ a ico e en a diminui ao m´ aximo o es o c¸o desempe- nhado pelo u ilizado . In o mac¸ ˜ ao desa ualizada ou inco e a le a ` a inconsis ˆ encia da CMDB. A combinac¸˜ ao de ´ a ios mecanismos de descobe a pa a a ecolha de in o mac¸ ˜ ao ga an e que os dados ecolhidos s˜ ao o mais a ualizados ou exa os poss´ ı eis. Fal a de capacidade de in eg ac¸˜ ao com ou as e amen as. Possibilidade de in eg ac¸˜ ao de qualque mecanismo de descobe a e com qualque CMDB. Capacidades de econciliac¸˜ ao e no malizac¸ ˜ ao acas, que le am ` a inconsis ˆ encia da in o mac¸ ˜ ao. Fo am implemen ados mecanismos de no malizac¸˜ ao e econciliac¸˜ ao capazes de minimi- za a oco ˆ encia de incoe ˆ encias nos dados. Finalmen e, ´ e poss´ ı el amb´ em compa a a e amen a desen ol ida com as e amen as abo dadas na Secc¸˜ ao 2.7. A e amen a desen ol ida ´ e capaz de o e ece capacidades de descobe a semelhan- es, com a an agem de n˜ ao necessi a da de inic¸˜ ao de ´ a ias a e as - apenas uma com de inic¸˜ ao do n´ ı el de de alhe e explo ac¸˜ ao au om´ a ica de aco do com os disposi i os desco- be os. Pa a al´ em disso, ´ e uma soluc¸˜ ao open-sou ce em oposic¸˜ ao ao so wa e p op ie ´ a io, e usualmen e pago, des as e amen as. Finalmen e, o e ece a capacidade de in eg ac¸ ˜ ao com qualque CMDB em oposic¸ ˜ ao ` a in eg ac¸˜ ao com apenas a CMDB do mesmo o necedo de so wa e da e amen a de descobe a. 6.2 abalho u u o O abalho ap esen ado nes a disse ac¸˜ ao implemen a os p ocessos essenciais da c iac¸˜ ao de uma CMDB. No en an o, es e p ocesso pode se melho ado e a ´ e desen ol ido de o ma a execu a ou as unc¸ ˜ oes. Em ez de aze apenas a c iac¸˜ ao da CMDB, a e amen a pode ia amb´ em se adap- ada pa a aze a a ualizac¸˜ ao des a. Is o pode ia se conseguido comec¸ando po p oces- sa os dados j´ a a mazenados na CMDB. Depois, a descobe a pode ia se baseada nes a in o mac¸˜ ao, e o mecanismo de econciliac¸˜ ao pode ia se u ilizado de o ma a concilia a no a in o mac¸˜ ao descobe a com aquela que j´ a se encon a a na CMDB. Em ez en ia pedidos de c iac¸˜ ao ` aAPI, se ia necess´ a io adap a es es pa a aze a a ualizac¸˜ ao dos CIs e elacionamen os. Nes e caso, amb´ em a o ma como o u ilizado in e age com a e a- 6.2. T abalho Fu u o 103 men a pode se modi icada. No caso da c iac¸˜ ao da CMDB,´ e espe ado que o p ocesso seja ealizado apenas uma ez. Assim, a in oduc¸˜ ao dos dados ao longo da execuc¸˜ ao do p ocesso n˜ ao ap esen a qualque des an agem. No en an o, no caso da a ualizac¸˜ ao da CMDB,´ e espe ado que o p ocesso seja execu ado ´ a ias ezes. Assim, a u ilizac¸˜ ao de um ichei o de con igu ac¸˜ ao se ia mais con enien e, uma ez que a in o mac¸˜ ao n˜ ao i ia a ia , ou seja, o p ocesso em p inc´ ıpio i ia se execu ado semp e com base no mesmo ichei o de con igu ac¸ ˜ ao, azendo com que o u ilizado n˜ ao enha de in oduzi manualmen e a mesma in o mac¸˜ ao. Al´ em dis o, a e amen a pode ia amb´ em se ape eic¸oada, endo amb´ em j´ a sido enun- ciadas algumas des as melho ias na Secc¸˜ ao 5.5: • se pos´ ı el o u ilizado n˜ ao s´ o seleciona as ca ego ias, como amb´ em os mecanismos de descobe a a se em e e i amen e execu ados; • implemen a ou os mecanismos de descobe a de modo a explo a ou os ipos de disposi i os e ecolhe ou os ipos de dados; • se capaz de in e i in o mac¸˜ ao com base nos dados ecolhidos; • aze a in eg ac¸˜ ao com ou as e amen as ex e nas de descobe a; • basea o c´ alculo de simila idade apenas no dom´ ınio de linguagem das TIs; • se poss´ ı el e e ua o mapeamen o en e m´ ul iplos elemen os; • aze a in eg ac¸˜ ao com ou as CMDBs. bibliog a ia 110 [105] G. O. San os and J. C. Reis. Iden i icac¸˜ ao de mapeamen os en e on ologias em di e- en es l´ ınguas. Technical epo , Uni e sidade Es adual de Campinas - Ins i u o de Compu ac¸ ˜ ao, 2018. [106] T. Schaa and B. G¨ oge ap. Requi emen s and Recommenda ions o he Realiza ion o a Con igu a ion Managemen Da abase. Se ice Managemen ,2011. [107] T. A. Singe , S. L. Ch is enson, and B. Behesh i. Sys em and me hod o ne wo k au o-disco e y and con igu a ion, Dec. 2004. US Pa en 6,834,298. [108] B. S ini asa-Desikan. Na u al Language P ocessing and Compu a ional Linguis ics: A p ac ical guide o ex analysis wi h Py hon, Gensim, spaCy, and Ke as. Pack Publishing L d, 2018. [109] B. Tabba a. Me hod and appa a us o disco e ing ne wo k de ices, July 2014. US Pa en 8,775,584. [110] R. Thu low. RFC 5531 - RPC: Remo e P ocedu e Call P o ocol Speci ica ion Ve sion 2.h ps:// ools.ie .o g/h ml/ c5531,2009. Acedido: 23-12-2020. [111] T. Wang, S. T up il, and F. B´ enaben. An au oma ic model- o-model mapping and ans o ma ion me hodology o se e model-based sys ems enginee ing. In o ma ion Sys ems and e-Business Managemen ,15,05 2017. [112] Z. Wu and M. Palme . Ve bs seman ics and lexical selec ion. Associa ion o Compu- a ional Linguis ics, 1994. doi: 10.3115/981732.981751. [113] T. Ylonen and C. Lon ick. RFC 4252 - The Secu e Shell (SSH) Au hen ica ion P o ocol. h ps:// ools.ie .o g/h ml/ c4252,2006. Acedido: 30-12-2020. A RESULTADOS DO PROCESSAMENTO DE MODELOS DE DADOS Lis agem A.1: Resul ado (pa cial) do p ocessamen o do modelo de dados do i-doi . { "ci_ ypes": { "C__OBJTYPE__APPLICATION": "Applica ion", "C__OBJTYPE__SERVER": "Se e ", "C__OBJTYPE__SWITCH": "Swi ch", "C__OBJTYPE__ROUTER": "Rou e ", "C__OBJTYPE__ACCESS_POINT": "Wi eless Access Poin ", "C__OBJTYPE__LAYER3_NET": "Laye 3-ne ", "C__OBJTYPE__CONTAINER": "Con aine ", "C__OBJTYPE__OPERATING_SYSTEM": "Ope a ing Sys em", "C__OBJTYPE__HOST": "Hos ", "C__OBJTYPE__IT_SERVICE": "Se ice", "C__OBJTYPE__DBMS": "Dbms", [...] }, " el_ ypes": { "C__RELATION_TYPE__SOFTWARE": "So wa e assignmen ", "C__RELATION_TYPE__NETWORK_PORT": "Po s", "C__RELATION_TYPE__LOCATION": "Loca ion", "C__RELATION_TYPE__IP_ADDRESS": "Hos add ess", "C__RELATION_TYPE__DEFAULT": "Dependency", "C__RELATION_TYPE__DATABASE_INSTANCE": "Da abase ins ance", "C__RELATION_TYPE__NET_CONNECTIONS": "Ne wo k connec ions", "C__RELATION_TYPE__OPERATION_SYSTEM": "Ope a ing sys em", [...] }, "ci_a ibu es": { "C__OBJTYPE__APPLICATION": { "desc ip ion": "Desc ip ion", "p ice": "In es men cos s", "o de _da e": "O de da e", "gua an ee_da e": "Gua an ee da e", " i le": "Ti le", "id": "ID", 111 112 "c ea ed": "C ea ion da e", "changed": "Las change", "cmdb_s a us": "CMDB s a us", " ype": "Type", "applica ion_ ype": "Type", "assigned_license": "Assigned license", [...] }, "C__OBJTYPE__SERVER": { "moun _poin ": "D i e le e ", " i le": "Ti le", " ilesys em": "Filesys em", "se ial": "Se ial numbe ", " ee_space": "F ee Diskspace", "used_space": "Used Diskspace", "desc ip ion": "Desc ip ion", "manu ac u e ": "Manu ac u e ", "p ice": "In es men cos s", "ip_add ess": "(Sou ce) ip add ess", "id": "ID", "s a us": "Condi ion", [...] }, "C__OBJTYPE__SWITCH": { " i le": "Ti le", "desc ip ion": "Desc ip ion", "acqui emen da e": "Da e o in oice", "p ice": "In es men cos s", "id": "ID", "s a us": "Condi ion", "c ea ed": "C ea ion da e", "c ea ed_by": "C ea ed by", "changed": "Las change", "changed_by": "Las change by", "la i ude": "La i ude", "longi ude": "Longi ude", "manu ac u e ": "Manu ac u e ", "se ial": "Se ial numbe ", "wid h": "Wid h", "heigh ": "Heigh ", "dep h": "Dep h", "weigh ": "Weigh ", "ip 6_add ess": "IP 6 add ess", [...] }, "C__OBJTYPE__ROUTER": { " i le": "Ti le", 113 "desc ip ion": "Desc ip ion", "id": "ID", "s a us": "Condi ion", "manu ac u e ": "Manu ac u e ", "mac": "MAC", "laye 2_assignmen ": "Laye 2 Ne ", "ip 4_add ess": "IP 4 add ess", "ip 6_add ess": "IP 6 add ess", "hos name": "Hos name", "domain": "Domain", " ou ing_p o ocol": "Rou ing p o ocol", "ga eway_add ess": "Ga eway add ess" [...] }, "C__OBJTYPE__ACCESS_POINT": { "desc ip ion": "Desc ip ion", "in en o y_no": "In en o y numbe ", " i le": "Ti le", "s a us": "Condi ion", "manu ac u e ": "Manu ac u e ", "se ial": "Se ial numbe ", " i mwa e": "Fi mwa e", "in e ace": "Connec ed in e ace", "ssid": "SSID", [...] }, "C__OBJTYPE__LAYER3_NET": { "desc ip ion": "Desc ip ion", " i le": "Ti le", "s a us": "Condi ion", "ne mask": "Ne mask", "ga eway": "De aul Ga eway", " ange_ om": "DHCP om", " ange_ o": "DHCP o", "dns_se e ": "DNS se e ", "dns_domain": "DNS domain", "cid _su ix": "CIDR-Su ix", " e e se_dns": "Re e se DNS", "add ess_ ange": "Add ess ange", [...] }, "C__OBJTYPE__CONTAINER": { "desc ip ion": "Desc ip ion", "id": "ID", " i le": "Ti le", "s a us": "Condi ion", "c ea ed": "C ea ion da e", 114 "c ea ed_by": "C ea ed by", [...] }, "C__OBJTYPE__OPERATING_SYSTEM": { " i le": "Ti le", "ke nel": "Ke nel", " am": "RAM", "cpu": "CPU equency", "disc_space": "Disc space", "s a us": "Condi ion", "common_name": "Common Name", "assigned_ e sion": "Ve sion numbe ", "speci ica ion": "Speci ica ion", "manu ac u e ": "Manu ac u e ", "ins all_pa h": "Ins all pa h", [...] }, "C__OBJTYPE__HOST": { "moun _poin ": "D i e le e ", " i le": "Ti le", " ilesys em": "Filesys em", "se ial": "Se ial numbe ", " ee_space": "F ee Diskspace", "used_space": "Used Diskspace", "desc ip ion": "Desc ip ion", "manu ac u e ": "Manu ac u e ", "model": "Model", " i mwa e": "Fi mwa e", "p ice": "In es men cos s", "s o age_ ype": "S o age ype", "ne wo k_ ype": "Ne wo k ype", "co es": "CPU co es", [...] }, "C__OBJTYPE__IT_SERVICE": { "se ice_id": "Se ice-ID", "se ice_le el": "SLA se ice le el", " eac ion_ ime": "Reac ion ime", " eco e y_ ime": "Reco e y ime", "desc ip ion": "Desc ip ion", "ale _le el": "Ala m le el", "commen ": "Commen ", "se ice_numbe ": "Se ice numbe ", "se ice_desc ip ion_in e n": "Se ice desc ip ion in e nal", "se ice_desc ip ion_ex e n": "Se ice desc ip ion ex e nal", "se ice_alias": "Aliases", " i le": "Ti le", 115 "s a us": "Condi ion", [...] }, "C__OBJTYPE__DBMS": { " i le": "Ti le", "s a us": "Condi ion", "assigned_da abase_schema": "Da abase schema", "dbms": "DBMS", " a ian ": "Va ian ", "applica ion_ ype": "Type", "applica ion_p io i y": "P io i y", "assigned_license": "Assigned license", "assigned_license_key": "Assigned license key", "assigned_ e sion": "Ve sion numbe ", [...] }, [...] }, " el_a ibu es": { "C__RELATION_TYPE__SOFTWARE": { "objec 1": "Objec 1", "objec 2": "Objec 2", " ela ion_ ype": "Rela ion ype", "weigh ing": "Weigh ing", "desc ip ion": "Desc ip ion", " i le": "Ti le", "s a us": "Condi ion", [...] }, "C__RELATION_TYPE__NETWORK_PORT": { "objec 1": "Objec 1", "objec 2": "Objec 2", " ela ion_ ype": "Rela ion ype", "weigh ing": "Weigh ing", "desc ip ion": "Desc ip ion", " i le": "Ti le", "s a us": "Condi ion", "c ea ed": "C ea ion da e", "c ea ed_by": "C ea ed by", "ne _ ype": "Type", "ne ": "Ne ", "zone": "Ne zone", [...] }, "C__RELATION_TYPE__LOCATION": { "objec 1": "Objec 1", "objec 2": "Objec 2", 116 " ela ion_ ype": "Rela ion ype", "weigh ing": "Weigh ing", "desc ip ion": "Desc ip ion", [...] }, "C__RELATION_TYPE__IP_ADDRESS": { "objec 1": "Objec 1", "objec 2": "Objec 2", " ela ion_ ype": "Rela ion ype", "weigh ing": "Weigh ing", "desc ip ion": "Desc ip ion", "applica ion": "Applica ion", " i le": "Ti le", "s a us": "Condi ion", "p ima y_laye 3_ne ": "P ima y laye 3 ne ", "p ima y_hos add ess": "P ima y hos add ess", "p ima y_hos name": "P ima y hos name", "ne _ ype": "Type", "ip 4_add ess": "IP 4 add ess", "dns_se e ": "DNS Se e ", "dns_se e _add ess": "DNS Se e add ess", [...] }, "C__RELATION_TYPE__DEFAULT": { "objec 1": "Objec 1", "objec 2": "Objec 2", " ela ion_ ype": "Rela ion ype", "weigh ing": "Weigh ing", "desc ip ion": "Desc ip ion", " i le": "Ti le", "s a us": "Condi ion", "c ea ed": "C ea ion da e", "c ea ed_by": "C ea ed by", [...] }, "C__RELATION_TYPE__DATABASE_INSTANCE": { "objec 1": "Objec 1", "objec 2": "Objec 2", " ela ion_ ype": "Rela ion ype", "weigh ing": "Weigh ing", "desc ip ion": "Desc ip ion", "assigned_da abases": "Used da abases", "id": "ID", " i le": "Ti le", "s a us": "Condi ion", [...] }, 117 "C__RELATION_TYPE__NET_CONNECTIONS": { "objec 1": "Objec 1", "objec 2": "Objec 2", " ela ion_ ype": "Rela ion ype", "weigh ing": "Weigh ing", "desc ip ion": "Desc ip ion", "id": "ID", " i le": "Ti le", "s a us": "Condi ion", "ne _ ype": "Type", "zone": "Ne zone", "assigned_logical_po ": "Assigned po ", [...] }, "C__RELATION_TYPE__OPERATION_SYSTEM": { "objec 1": "Objec 1", "objec 2": "Objec 2", " ela ion_ ype": "Rela ion ype", "weigh ing": "Weigh ing", "desc ip ion": "Desc ip ion", " i le": "Ti le", "s a us": "Condi ion", "use _name_s a ic": "Use ", [...] }, [...] }, "ci_a ibu es_da a_ ypes": { "C__OBJTYPE__SERVER": { "moun _poin ": " ex ", " i le": " ex ", " ilesys em": "in ", "se ial": " ex ", " ee_space": " loa ", "used_space": " loa ", "desc ip ion": " ex _a ea", "manu ac u e ": "in ", "p ice": "double", "ip_add ess": "in ", "id": "in ", "s a us": "in ", [...] }, [...] }, " el_a ibu es_da a_ ypes": { "C__RELATION_TYPE__NETWORK_PORT": { 118 "objec 1": "in ", "objec 2": "in ", " ela ion_ ype": "in ", "weigh ing": "in ", "desc ip ion": " ex _a ea", " i le": " ex ", "s a us": "in ", "c ea ed": " ex ", "c ea ed_by": " ex ", "ne _ ype": "in ", "ne ": "in ", "zone": "in ", [...] }, [...] " el_ es ic ions": {}, "ci_dialog_a ibu es": { "C__OBJTYPE__SERVER": { "s a us": { "3": "A chi ed", "1": "Un eady", "4": "Dele ed", "2": "No mal", "6": "Templa e", "7": "Mass change empla e" }, "cmdb_s a us": { "1": "planned", "2": "o de ed", "3": "deli e ed", "4": "assembled", "5": " es ed", "6": "in ope a ion", "7": "de ec ", "8": "unde epai ", "9": "deli e ed om epai ", "10": "inope a i e", "11": "s o ed", "12": "sc apped" }, "ne _ ype": { "1": "IP 4 (In e ne P o ocol 4)", "2": "IPX (In e ne Packe Exchange)", "3": "AT (AppleTalk)", "1000": "IP 6 (In e ne P o ocol 6)" }, [...] 119 }, [...] }, " el_dialog_a ibu es": {} } 126 Tabela C.1: Exemplo de alguns a ibu os de CIs descobe os no p imei o caso de es e. Iden i icado Nome Tipo A ibu o Valo 110macbookp ojoana macbookp ojoana Hos os e sion 10.15.7 ke nel e sion Da win 19.6.0 ba e y bq20z451 os macOS 10.15.7(19H15) boo mode no mal boo ime since boo up 1:8:11:46 CPU Quad-Co e In el Co e i7 CPU speed 2;2GHz display Colo LCD CPU equency 2;2 CPU equency uni GHz CPU co es 4 physical memo y 16 GB memo y am 16 physical memo y uni GB GPU kHW In elI isP oI em hos name macbookp ojoana.local os name Mac OS X desc ip ion MacBook P o MacBook P oMacBook P o has ip 4 192.168.1.73 has ip 6 2001:8a0: 576:7000:19c8:36e6:6c25:e634 has ip 6 2001:8a0: 576:7000:1cac:32c1:d287:1804 mac add ess c4:b3:01:c0:1a:d3 os amily macOS se ial numbe C02S80K6G8WN s a us up uuid 0B793129-B10E-5C77-89DD-4529FEF05AD6 1211mac o s 10 15 7 19 h15 macOS 10.15.7 19H15 Ope a ing Sys em os amily Mac OS X e sion numbe 10.15.7 build e sion 19H15 3021py cha m PyCha m Applica ion a ch kind a ch i32 i64 in o PyCha m 2020.3.4; build PY-203.7717.65. Copy igh Je B ains s. .o.; (c) 2000-2021 las modi ied 2021-03-16T10:52:36Z pa h /Applica ions/PyCha m.app ob ained om iden i ied de elope desc ip ion 2020.3.4 1312quad co e in el co e i7Quad-Co e In el Co e i7CPU Speed 2;2GHz Numbe o Co es 4 L2Cache 256 KB L3Cache 6MB SMC Ve sion 2.29 24 1615p PT Loca ion coun y Po ugal egion B aga ci y Ba celos zip code 4750-106 ime zone Eu ope/Lisbon la i ude 41.5388 longi ude -8.6171 1816b a n k 1d i m m0BANK 1DIMM0RAM manu ac u e 0x802C pa numbe 0x31364B544631473634485A2D314736453120 size 8GB speed 1600 MHz a chi ec u e DDR3 se ial numbe - s a us ok 1917a p p l e s s d s m0256 g APPLE SSD SM0256G SSD Con olle bsd name disk0 de achable d i e no de ice model APPLE SSD SM0256G de ice e ision BXZ13A0Q pa i ion map ype guid pa i ion map ype emo able media no size 251 GB medium ype Solid S a e ncq Yes ncq dep h 32 link speed 8.0GT/s link wid h x4 physical in e connec PCI po desc ip ion AHCI Ve sion 1.30 Suppo ed p oduc SSD Con olle endo Apple se ial numbe S2Z5NY0H811261 127 Tabela C.2: Exemplo de alguns a ibu os de CIs descobe os no segundo caso de es e. Iden i icado Nome Tipo A ibu o Valo 1817ubun u pc ubun u-pc Hos Icon name compu e -desk op Chassis desk op Machine ID 93b6da13546247d 9c2c4e89abcc ea3 Boo ID d17d71c7440943a 87c6abc7a6db7822 Ope a ing Sys em Ubun u 18.04.5LTS endo Dell Ke nel Linux 5.4.0-70-gene ic A chi ec u e x86-64 os amily Ubun u os name Ubun u 18.04.5LTS os e sion 18.04 CPU co es 4 CPU In el(R) Co e(TM) i5-3470S CPU @ 2.90GHz CPU equency uni MHz CPU equency 1596.396 CPU speed 1596.396 MHz has ip 4 192.168.1.88 mac add ess F8:B1:56:AD:16:2F os amily Linux s a us up 2019ubun u 18 04 5 l s Ubun u 18.04.5LTS Ope a ing Sys em endo Ubun u DISTRIB RELEASE 18.04 DISTRIB CODENAME bionic DISTRIB DESCRIPTION Ubun u 18.04.5LTS ID ubun u ID LIKE debian e sion numbe 18.04 HOME URL h ps://www.ubun u.com/ SUPPORT URL h ps://help.ubun u.com/ BUG REPORT URL h ps://bugs.launchpad.ne /ubun u/ PRIVACY POLICY URL h ps://www.ubun u.com/legal/ e ms-and-policies/p i acy-policy VERSION CODENAME bionic UBUNTU CODENAME bionic desc ip ion 18.04.5LTS (Bionic Bea e ) 2120in el co e m i5 3470 s c p u 2 90 g hz In elR Co eTM i5-3470S CPU 2.90GHz CPU A chi ec u e x86 64 CPU op-modes 32-bi ; 64-bi By e O de Li le Endian CPUs 1 On-line CPUs lis 0-3 Th eads pe co e 1 Co es pe socke 4 NUMA nodes 0-3 Vendo ID GenuineIn el CPU amily 6 S epping 9 CPU equency uni MHz CPU equency 1596.396 CPU speed 1596.396 MHz CPU max MHz 3600;0000 CPU min MHz 1600;0000 BogoMIPS 5787.05 Vi ualiza ion VT-x L1d cache 6144K Flags pu me de pse sc ms pae mce cx8apic sep m pge mca... desc ip ion 58 2521sda4sda4SSD PARTUUID 0780dcb0-04 Filesys em /de /sda4 1K-blocks 177521492 Used 96% A ailable 7430508 Moun ed on / NAME sda4 MAJ:MIN 08:04 RM 0 SIZE 173G RO 0 MOUNTPOINT / desc ip ion pa pa pa pa pa pa pa uuid 57170c8d-8978-48 5-8c8e-ed4e1 32 182 2625g aphdb ee g aphdb- ee Applica ion A chi ec u e amd64 desc ip ion G aphDB 9.3.1 2725gnome shell gnome-shell A chi ec u e amd64 desc ip ion g aphical 3.28.4-0ubun u18.04.3 2825 i e ox i e ox A chi ec u e amd64 desc ip ion Sa e 87.0+build3-0ubun u0.18.04.2 2925snapd snapd A chi ec u e amd64 desc ip ion Daemon 2.48.3+18.04 3025e olu ion da a se e e olu ion-da a-se e A chi ec u e amd64 desc ip ion e olu ion 3.28.5-0ubun u0.18.04.3 This wo k is inanced by Na ional Funds h ough he Po uguese unding agency, Fundac¸ ˜ ao pa a a Ciˆ encia e a Tecnologia (FCT), wi hin p ojec UIDB/50014/2020.