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.