Home

UNIVERSIDADE DE LISBOA

image

Contents

1. 78 79 84 85 92 92 95 96 96 97 99 100 102 103 105 106 107 108 126 127 128 129 130 Lista de Tabelas Tabela 1 Planeamento de Tarefas sas Be ae Sete BA ae es 6 Tabela 2 Excerto da tabela de Bases de Dados recomendadas pelo Zabbix 28 Tabela 3 Tabela de requisitos de bibliotecas e extens es para o servidor 28 Tabela 4 Tabela para estima o do espa o em disco necess rio para o servidor 29 Tabela 5 Conjunto de requisitos para a interface Web 33 Tabela 6 Excerto das tabelas de Items a recolher para monitoriza o do BIND 44 Tabela 7 Excerto do levantamento da monitoriza o da JVM 53 Tabela 8 Excerto do levantamento da antiga monitoriza o Oracle 57 Tabela 9 Levantamento dos indicadores a recolher para monitoriza o 58 Tabela 10 Excerto da lista de Web Items existentes no antigo sistema de monitoriza o Tabela II Levantamento das m quinas e servi os a incluir no novo sistema de MOntOrZACAO sinets eote e sy ben aa e e eae aee a taa seed Du ag 125 XI XII Capitulo 1 Introducao O DNS sigla para Domain Name System ou Sistema de Nomes de Dom nio um sistema de bases de dados distribu do num esquema de comunica o cliente servidor 1 Cada fragmento desta base de dados re
2. 78 Cap tulo 5 Dashboard DNS PL sadia CUL seaeesarea ch enseanteneeeetinseesete 81 VI Daly SECONIEXTUANZA O erer STRASS SRA OU Ana PURE pentose 81 5 2 Levantamento de ReqUISIOS casssasquasa amas esnatas smesvis goal goal rniges sm radios asno suaas 81 5 3 Dashboard Zabbix Avalia o sesta aus adis contactos ds Iqdas irass cul ana T alanis 82 5 4 Dashboard Zabbix VErcdnO qtas pas sgaane aguas raratheda es Red lass a nova Tengo peogaa 84 5 5 Levantamento de Dashboards da Comunidade 85 56 Novo Dashb ard DNS PL ssessiestgeas tenisu tag os quad franco ba para 86 5 6 1 Desenho do Sistemas aa use meato as neta Nao su aee RD a 87 5 6 2 Implementa o dos requisitos funcionais e n o funcionais 90 5 6 3 Desenvolvimento da P gina eee 91 5 6 4 Fluxo de navega o no dashboard ec eeeseeseceecseeeeeeeeeeeeteeeeseees 93 5 7 Implementa o da nova interface Dashboard eeccceeeceeeeteeeeeteeeteteeeeaes 97 dd P sma HOME senta Tapas nada e o ta gre TT ua Ga a EE reed 97 5 1 2 P gina ROS OUPS s sess o nie AAA CSS aa 100 ds P gina Host eingetan or E E yea Err a 100 5 7 4 P gina de Acknowledge sus jes sizysseagsassacsyscadentundsdiees santacesaetsatoaeusaes 103 5 8 Avalia o da primeira itera o de desenvolvimento 104 5 9 Implementa o das oportunidades de melhoria s sssesssessseesseesseessee 104 5 9 1 P gina de Web M
3. ent o poss vel perceber a import ncia da Associa o DNS PT na sa de da Internet Portuguesa e a influ ncia na Internet em geral sem servidor de nomes para a zona pt n o existe forma de aceder aos recursos atualizados que est o dispon veis ao mundo sob o dom nio pt Sem Resgistry funcional toda a l gica de neg cio associada com o registo de dom nios posta em causa e os Registrars deixam de poder exercer as suas fun es corretamente Mas o protocolo DNS apenas um dos pontos fulcrais onde este projeto vai incidir Esta contextualiza o pretende ilustrar a quantidade de sistemas que o DNS compreende e que ter o de ser monitorizados Existe um conjunto de outros sistemas sistema SIGA que suportam a restante atividade que foi desenvolvida em redor do servi o de Registry como servi os Web que s o prestados ao p blico e clientes da Associa o existindo ainda sistemas de bases de dados que albergam informa es cr ticas n o s para o sistema de DNS mas tamb m para os outros sistemas que foram criados no seguimento das fun es da Associa o DNS PT Todos estes sistemas necessitam de ser constantemente monitorizados pois o sucesso da atividade profissional da Associa o DNS PT depende do bom funcionamento de todos eles 1 1 Motiva o A Associa o DNS PT tem responsabilidades quanto manuten o de uma das infra estruturas que suporta a Internet Portuguesa Caso haja interrup o do
4. No Problems No Problems Centr Count Estat sticas 2014 07 07 10 034 Froe Job 32 DomainRenew Job J2 UpdateAudit 20407 1 AT Oayeght Time Figura 47 Pagina Home com os novos controlos de navega o conforme implementado na segunda itera o de desenvolvimento 5 9 4 P gina de Servidores de Nomes Esta p gina j tinha sido considerada antes da implementa o do novo dashboard Algumas informa es acerca dos Servidores de Nomes s o demasiado espec ficas para tentar generalizar e aplicar numa das outras p ginas Assim foi necess rio criar uma p gina espec fica adicionada ao Custom Screen como a p gna de Web Items A estrutura de p gina an loga p gina Home Na zona de gr ficos colocou se um conjunto de gr ficos de estado do servi o BIND um para cada servidor de nomes Na zona onde se situa a alarm stica da p gina Home configuraram se quatro caixas preenchidas com as seguintes informa es Incoming Queries per Second by Server Nesta caixa apresentam se as m dias di rias desde as O horas do dia at ao momento atual e ltimo valor recebido de volume por segundo de pedidos ao servidor de nomes uma entrada por cada servidor NXDOMAIN Replies per Second by Server Esta informa o apresentada numa tabela igual do item anterior com o valor m dio do dia e o ltimo valor para cada servidor de nomes Ter esta informa o atualizada periodicamente permite ver se
5. 5 9 3 Bot es de navega o dos carousels Os bot es padr o da componente carousel do Bootstrap s o embutidos na pr pria imagem que est a rodar Esta forma embora fa a uma gest o espacial da p gina mais eficiente compromete a legibilidade dos gr ficos Portanto foi necess rio conceber uma alternativa que permitisse a navega o sem perturbar a capacidade de visualiza o dos dados dos gr ficos Este objetivo foi alcan ado com a introdu o de quatro bot es por baixo de cada carousel Figura 47 tendo bot es para cada seta que existia anteriormente e mais dois bot es para duas novas funcionalidades parar e recome ar a rotatividade das imagens A implementa o destes bot es requereu maior utiliza o de espa o mas foi a melhor solu o que se conseguiu encontrar Estes bot es manipulam o carousel via JavaScript permitindo navegar pelos v rio gr ficos parar para visualizar melhor algum deles e retomar assim que se quiser 106 Name Servers SIGA CPU Load SIGA Network Stats SIGA JVM Heap Space lt ab E lt gt gt lt L gt gt lt n gt gt Hostgroup Information Name Servers ORACLE Databases Web Items SIGA Detected Problems lastcheck Detected Problems lastcheck Detected Problems lastcheck Detected Problems lastcheck 06 17 15pm 06 17 15pm 06 17 14p 06 17 15pm Problem Host Received Action Problem Host Received Action Problem Last Update Problem Host
6. 86 Devem se mostrar tantos gr ficos quanto os necess rios para obter as informa es que no modelo antigo de utiliza o da interface gr fica Zabbix eram obtidas atrav s de Screens criados para o prop sito com conjuntos de gr ficos selecionados informa o deve atualizar em per odos convenientes por exemplo dados que surjam de monitoriza o com periocidade muito frequente devem ser atualizados com maior periocidade do que aqueles que s o recebidos menos frequentemente Os gr ficos devem atualizar com uma frequ ncia compat vel com a velocidade de atualiza o dos valores que alimentam o gr fico Desta forma um gr fico que receba valores de 5 em 5 minutos deve ser atualizado a cada 5 minutos ou menos para que seja poss vel acompanhar a evolu o dos valores A atualiza o dos gr ficos deve ser no entanto ponderada para que n o sejam atualizados com tanta frequ ncia que se torna dif cil a sua visualiza o ou sobrecarreguem o sistema Uma vez identificados os requisitos que acabaram por ser um conjunto pequeno dada a objetividade daquilo que se pretendia ter apresentado no ecr passou se para a fase de desenho do sistema Este desenho passou por duas etapas desenho da interface e desenho do sistema 5 6 1 Desenho do Sistema Escolha da Linguagem Para poder come ar a desenvolver as funcionalidades necess rias para o novo dashboard foi necess rio decidir que op es tecn
7. exista devolve as suas informa es Posto isto procedeu se defini o das formas de obten o das m tricas de performance para cada um destes servi os Sendo servi os Web uma das caracter sticas mais importantes a ter em conta o tempo que um utilizador normal demora a fazer uma utiliza o normal deste servi o Entenda se com esta descri o a lat ncia de resposta de um certo pedido Assim definiram se alguns cen rios para estes servi os Avaliador t cnico Web Service Para este cen rio pretende se obter as m tricas de performance baseando se num acesso Web via protocolo SOAP Para medir a rapidez dever se seguir o URL do servi o enviar o pacote SOAP para o servidor e esperar at que a resposta surja Desta forma ser poss vel obter a lat ncia de resposta que um utilizador normal tem Avaliador t cnico servidor Neste cen rio pretende se saber a lat ncia que o pr prio servidor tem a tratar o pedido Este indicador permite discernir se eventuais atrasos nas respostas aos clientes adv m de problemas no servidor Neste caso a liga o feita diretamente ao servidor interno que trata destes pedidos e enviado um pacote SOAP para este medindo se o tempo entre o envio do pedido e a rece o da resposta Desta forma poss vel saber efetivamente o tempo que o servidor demora a tratar o pedido Whois Web Service Neste cen rio pretende se saber a lat ncia no acesso ao servi
8. terceira premissa foi necess rio executar a Zabbix Java Gateway que vem no conjunto de sources do sistema Zabbix Esta aplica o respons vel por tratar dos pedidos por indicadores JMX num Host fazendo ela os pedidos usando a API de gest o de JMX fornecida pela Oracle Para instalar e configurar a Zabbix Java Gateway necess rio fazer o seguinte Da mesma forma como se instalou o servidor e o agente Zabbix aceder aos sources e configurar a instala o da Java Gateway configure enable java prefix lt install dir gt Depois s preciso instalar correndo o comando make install Para iniciar a Java Gateway basta correr o script criado na instala o startup sh Depois de ter a Java Gateway funcional necess rio configurar o servidor Zabbix para que este saiba como a contactar Para isso preciso editar o ficheiro de configura o do servidor zabbix server conf e alterar os seguintes campos JavaGateway lt P do Servidor gt JavaGatewayPort 10052 Uma vez feitas as altera es necess rio reiniciar o servidor Zabbix para que as altera es sejam assimiladas e o sistema de monitoriza o est apto a recolher os dados via JMX Se tudo tiver corrido bem dever aparecer uma indica o visual do sucesso na comunica o via JMX de acordo com as Figuras 20 e 21 55 Figura 20 Hosts com interface JMX configurada e acessivel corretamente Z ih Figura 21 cone JMX que ilustra
9. um aspeto importante para o conhecimento do estado do sistema SIGA sendo neces rio saber a qualquer altura se os servi os est o a funcionar corretamente A primeira abordagem monitoriza o foi usando a funcionalidade de Web Items do sistema Zabbix Esta forma de recolha de indicadores para conte dos Web j era usada na vers o anterior do sistema Zabbix sendo apenas necess rio avaliar o que j existia quanto relev ncia para se poder integrar no novo sistema Fez se um levantamento de tudo o que era recolhido resultando na elabora o da Tabela 10 CreateUsers Electronicinvoices GenerateCSV MonitoringAlerting MonitoringAlerting Renew PaymentERP RedunicreProcess SMSSender ProofDocsGenerator Jobs Jenkins 2 EvaluateTechnicallnfo Legenda LetterSender Recolher NotificationTransform ReportsGenerator Auditoria Financeira ReportsGenerator Dispers o Geogr fica Tabela 10 Excerto da lista de Web Items existentes no antigo sistema de monitoriza o Do levantamento realizado apenas alguns Items foram mantidos Para chegar a esta conclus o foi necess rio julgar a validade destes indicadores reunindo com outros elementos da equipa t cnica para decidir quais eram importantes ter e quais n o apresentavam relev ncia para o conhecimento do estado do sistema Uma vez decidido o conjunto de Web Items a configurar no novo sistema de monitoriza o passou se implementa o deles cuja cria
10. 71 72 75 Figura 31 Ecr com a lista de Item Prototypes que dar o lugar a Items nos Hosts ERR E Figura 32 Ecr de Gil que STE o espa o vor Selos o eg no Presenter DSC em manso ua arcar ear o Nis ect Neenah Ns E e Figura 33 Exemplo de uma configura o do dashboard Zabbix Figura 34 Exemplo de um dashboard customizado apresentado pela comunidades sra Sa LC te Salat a a SO Figura 35 Esbo o da p gina Home da interface Dashboard vers o 1 Figura 36 Esbo o da p gina Home da interface Dashboard vers o 2 Figura 37 Esbo o para a Home do novo dashboard vers o 3 Figura 38 Esbo o da p gina de Host do novo dashboard algumas funcionalidades ainda n o estavam presentes por ainda n o ter sido pensado quais Senam tai dans nato e aa af a DT Yr Figura 39 Esbo o da p gina de HostGroup com as v rias caixas de alarm stica uma para cada Host que constitui O QTUPO cece cece eee eee e eee ne ence eee eee ened Figura 40 Esbo o para a p gina de Acknowledge onde se d conhecimento de VIE NONO esta ga O a a a aa tumdaamneuh snnatee Figura 41 Vers o final da p gina Home no fim da primeira itera o de desenvolvimentos sor rr nos eet do dai aliar flora Sia pad A e Figura 42 Vers o final da p gina HostGroups no fim da primeira itera o de desenvolvimento riram ias a code based sau o ab hacea
11. At a data de reda o deste relat rio o DSC recolheu informa o referente a mais de um ano de tr fego dos servidores de nomes da zona pt A Figura 4 mostra as estat sticas dos servidores de nomes portugueses numa semana de Agosto de 2014 17 Servers Nodes ServidoresPT gt ns dns pt gt ns2 dns pt gt ns dns br gt ns pt nlnetlabs nl PALOPS HostingDNS Plots By Node Qtypes Rcodes Classification Client Geography TLDs 2nd Level Domains 3rd Level Domains Rcodes by Client Address Popular Names IPv6 root abusers Opcodes Query Attributes CHAOS IP Version DNS Transport IP Protocols Qname Length Reply Lengths Source Ports Priming Queries Priming Responses Time Scale 1hour 6hour lday lweek Imonth IDO Y Axis Query Rate q s Percent of Queries 1400 1200 1000 800 600 Query Rate q s 400 200 Queries by Node Fron Aug 67 2014 07 01 38 To Aug 07 2014 11 61 38 BST E ns pt nlnetlabs nl D ns dns br Bi ns2 dns pt E ns dns pt 7 02 7 32 8 02 8 32 9 02 9 32 10 02 10 32 11 02 Tine BST The Queries by Node plot shows the amount of queries coming from each node in the server cluster If you would like to see the traffic for a single node select the node name in the Servers Nodes menu on the left Note that the By Node option disappears from the Plots list when you are viewing the data for a single node It reappears if you click on the Server name in
12. Estes tr s par metros quando passados no comando para executar a aplica o Java exp em a interface JMX para se poder recolher os dados para monitoriza o da JVM De notar que se prescindiu das camadas de seguran a por dois motivos o primeiro e mais importante por se tratar de comunica o entre m quinas na rede interna que j possuem prote o da firewall local e da firewall corporativa O segundo motivo por quest es de simplicidade dado que acrescentar prote o liga o adiciona complexidade que se achou na altura n o compensar visto ser algo que ainda era experimental Depois de se garantir o acesso aos dados para monitoriza o da JVM passou se parte mais importante que recolher os indicadores O levantamento feito anteriormente resultou numa listagem mais completa com tudo aquilo que se pretendia saber para a JVM de cada servidor integrante do SIGA conforme a Tabela 7 demonstra Java JVM Hosts ttems Loaded Heap Memory PermGen Process JVM Thread Classes Used Used CPU load Uptime Count pro lb01 pro bo01 e e e z pro bo02 e e e 5 pro bo03 e o e e e pro bo04 o e e A pro fe01 e e 4 e 53 pro fe02 pro bpmn01 pro infra01 Legenda vm08 e Indicador a recolher vm09 Indicador a nao recolher vm11 X A remover Tabela 7 Excerto do levantamento da monitoriza o da JVM De notar que um dos indicadores que se pretendia recolher era a carga de CPU gerada pelo proce
13. Todos os Triggers t m uma severidade associada para que possa existir diferencia o naquilo que a alarm stica reporta Podem se ter Triggers de cariz informativo sem que estes apresentem um problema As outras severidades permitem definir o grau do problema para que se possa distinguir e agir de acordo com o problema que apresentado 49 As Figuras 16 e 17 mostram como se configuram Triggers na interface Zabbix angu s sac on 105 Camata Ane AINO Serras prad incomes quacr Tata fost0 gt 1000 Sabet Total amount of Queries doubled on MOST namg Camplate Ane ANO Serve pod seguros guenata laatf0 gt 2 Tamplate Ane BIND Servas pd wrens ayers Tetal ava t3600 9 Tamaina Ago BIND sarene ng noming quscTstal tasa o gt 300 Eutiss alba 2 3 3 Copyright 3001 7014 by Fate SIA Figura 16 Ecr de cria o de Triggers Figura 17 Ecr de cria o das condi es para despoletar alarmes 4 2 3 Configura o dos Graphs A outra vertente de monitoriza o definida nos Templates a quest o da representa o da informa o A forma predileta o uso de gr ficos com os valores que o sistema de monitoriza o recolhe existindo uma forte componente gr fica no ecr gigante usado na Associa o DNS PT A configura o de Graphs requer que j existam Items definidos A cria o de um Graph simples sendo apenas necess rio decidir que Items incluir no gr fico e que tipo de gr fico
14. o do sistema operativo e recolha dos dados de monitoriza o do servi o BIND O sistema DSC est listado na Figura 5 mas n o est associado ao sistema de monitoriza o como fonte de informa o relativa ao BIND no entanto monitorizado o estado do servi o pois por ser uma fonte externa de informa o estat stica importante saber se est a funcionar corretamente O sistema operativo 24 monitorizado tamb m pelo monitor atrav s do agente Zabbix A monitoriza o da interface de rede para al m da realizada pelo agente Zabbix enquanto parte do sistema operativo tamb m feita atrav s da captura dos pacotes que chegam interface e que dizem respeito ao servi o de DNS Utilizando a biblioteca libpcap que permite obter informa es a n vel dos pacotes TCP e UDP a chegar interface de rede pretende se fazer uma monitoriza o adicional que n o feita nem pelo DSC nem pelo rndc que como se obt m as estat sticas do BIND Por fim tem se o sistema de alarm stica que despoletado sempre que os dados de monitoriza o revelam padr es ou valores que evidenciam algum problema com um dado servidor ou servi o A alarm stica procede ent o notifica o da ocorr ncia podendo ser via e mail SMS ou ticket neste caso o ticket ser submetido no sistema de trouble tickets da Associa o o OTRS e guarda registo desse evento numa base de dados esta base de dados a que o sistema Zab
15. problemas Com este levantamento de requisitos passou ent o a existir um conjunto de crit rios que permitiriam fazer um julgamento ponderado de que interface seria utilizada para o novo sistema de monitoriza o 5 3 Dashboard Zabbix Avalia o A interface gr fica do Zabbix Figura 33 foi posta em causa depois do levantamento de requisitos Perante todos os crit rios levantados fez se uma aprecia o daquilo a que a interface correspondia e n o correspondia Apresenta se de seguida a avalia o feita ao dashboard da plataforma Zabbix Interface intuitiva A interface do dashboard Zabbix uma interface simples e algo minimalista Composta por apenas alguns pain is informativos n o tem problemas de interpreta o daquilo que oferece a n vel de interoperabilidade No entanto e ainda que com um conjunto algo minimalista das informa es que apresenta registam se alguns problemas 82 1 Existem diversos pain is com a indica o dos problemas que cada Hostgroup tem a dado momento Quando se desloca o cursor sobre cada um destes aparece uma janela que identifica para cada um que Host tem problemas e a descri o do problema bem como um timestamp A janela em quest o desaparece assim que se desloca o cursor impedindo de se navegar para a p gina com mais informa es acerca do problema em quest o Como o cursor n o muda para o cursor de hyperlink usando a mnem nica do punho com o indicador esticad
16. configurados para ser executada todas as horas pares uma vez que a instala o da zona pt ocorre todas as horas mpares do dia contabilizando uma hora para as altera es se propagarem pelos servidores de nomes secund rios que recebem a notifica o para atualizarem a sua zona a diferentes momentos Em termos de configura o no sistema Zabbix as diferen as entre um Item usando a comunica o normal com o agente Zabbix e na forma zabbix trapper consiste principalmente na n o especifica o da periocidade de atualiza o de dados Em vez disso tem se de inserir a chave do Item para que o servidor Zabbix quando receber a 74 actualiza o associe o tempo e o Host aos dados recebidos A Figura 28 mostra como configurar um Item com zabbix_trapper na interface Web do Zabbix Template list Template Template App BIND SerialCheck Applications 1 Items 7 Triggers 7 Graphs 0 Screens 0 Discovery rules 0 Web scenarios 0 Type of information Data type Decimal Units Use custom multiplier eriod in days 90 Trend storage period in days 365 Populates host inve Figura 28 Ecr de configura o de um Item de Serial Check usando o zabbix_trapper 4 5 2 Monitoriza o DNSSEC DNSSEC um conjunto de extens es que foram introduzidas via resource records assinaturas e chaves digitais para aumentar a seguran a do protocolo DNS e assim ajudar na crescente necessidade
17. de criar de forma automatizada Custom Screens como aconteceu no caso da p gina de Name Servers Esta sugest o veio da necessidade de visualizar informa es acerca de servi os e de servidores que s o muito diferentes daquelas que j existem obrigando a mudar a estrutura da p gina para algo diferente das outras p ginas Pretende se ter a capacidade de criar p ginas medida tendo se a liberdade de escolher que gr ficos e que informa es colocar na p gina certo que a implementa o desta funcionalidade ser dif cil e ir constituir um desafio n o s por tudo o que um processo automatizado de cria o de p ginas acarreta ter se de se criar Templates para preencher que de acordo com o que o utilizador escolhe origine um p gina medida mas tamb m porque o conhecimento de desenvolvimento Web e programa o em PHP pode n o ser o suficiente sendo necess rio despender tempo para aprender todas as t cnicas necess rias para desenvolver esta funcionalidade Existem outras frameworks interessantes para usar na implementa o da interface Dashboard O AngularJS foi uma das hip teses contempladas desde o in cio mas existem outras que podem ser igualmente teis e at mais adequadas para o tipo de interface que se pretende alcan ar Por isso o compromisso futuro ser de revisitar outras tecnologias para melhorar o Dashboard 115 116 Lista de Acr nimos AJAX Asynchronous JavaScript And XML
18. o Funcionais Os requisitos n o funcionais prendem se com a forma de apresentar a informa o que neste caso assume uma dimens o tal que chega a ser t o importante quanto a pr pria informa o se se falhar na forma de apresenta o n o ser f cil ou intuitivo perceber o que est a acontecer nos sistemas se n o for objetiva e r pida a compreens o do que se est a observar pode se descurar eventuais ocorr ncias ou mesmo n o perceber se se passa ou n o algo de errado nos sistemas Zz A forma de apresenta o o meio para atingir o fim Por isso as decis es de implementa o ter o sempre de ser fi is aos requisitos de simplicidade objetividade intui o e apelo visual para a interface gr fica Nas sec es seguintes deste cap tulo descrevem se as op es de implementa o que respeitam os requisitos n o funcionais justificando as escolhas para cada pagina da nova interface 5 6 3 Desenvolvimento da P gina Inicialmente desenharam se duas vers es de dashboard um simplista muito orientado informa o e nem tanto ao estilo e grafismo e outro baseado no template de dashboard que o Boostrap oferece fazendo uma boa comunh o entre apelo visual e estrutura o da p gina A primeira vers o foi desenhada a pensar na utiliza o do espa o da p gina maximizar a quantidade de informa o a apresentar e na apresenta o de conte dos em forma de gr ficos Seria um dashboard apenas com gr fico
19. o e configura o difere bastante em rela o aos restantes Items 60 Um Web Item um conjunto de indicadores para um cen rio de navega o numa p gina que descrevem o sucesso ou insucesso de cada etapa desse cen rio Para configurar necess rio descrever que p gina ir ser utilizada indicando o URL qual o c digo HTTP e resposta da p gina esperadas para al m de definir a periocidade para efetuar estas verifica es As Figuras 23 e 24 mostram como configurar Web Items na interface gr fica do Zabbix Sueca Name Timeout URL Required Status codes 1 Job I flectrenictnvoices nose mt plore rer SUCCESS D003 prividne otiBOBOV e volces lastBulld apV eon Save Clone Cancel a Step of scenario Google Chrome EM i S ama dob 33 Hocroncinvoicos Mitsi pre S003 pre dna st 8080 janiena jo lectramel Figura 24 Ecr de especifica o dos passos a executar no cen rio Web Os Web Items para monitoriza o dos Web Services do sistema SIGA fazem se valer do sistema Jenkins para verificar a execu o de tarefas que o sistema faz periodicamente Estes Jobs como s o apelidados pelo Jenkins produzem um output que depois usado na monitoriza o do sucesso ou insucesso das tarefas 61 4 4 Monitoriza o de outros Servi os Web da Associa o Existem na Associa o DNS PT outros servi os Web para al m daqueles que o SIGA disponibiliza De seguida cobrem se os caso
20. o ou intera o com o sistema seria interrompida para a p gina voltar a carregar Decidiu se ent o que a p gina seria desenhada tendo em conta divis es estruturais bem definidas sendo que cada divis o ter o seu conte do atualizado periodicamente com periocidade program vel e sem influ ncia nas restantes estruturas que comp em a p gina Para satisfazer esta necessidade a melhor forma seria utilizar pedidos ass ncronos ao servidor sendo o uso de pedidos AJAX Asynchronous Javascript and XML 26 a melhor tecnologia para o efeito Esta metodologia permite realizar pedidos ao servidor para atualizar os elementos do DOM Document Object Model pretendidos de forma ass ncrona e sem interferir no comportamento da p gina atualizando informa o e efetuando opera es em segundo plano 26 A tarefa de obten o de dados e alarm stica do servidor de monitoriza o foi extremamente simplificada no momento em que se descobriu a API Web do Zabbix Com recurso s opera es desta API recolher informa o de monitoriza o e alarm stica para apresentar na p gina dependia apenas de alguns pedidos ao servidor O nico problema seria como fazer os pedidos ao servidor uma vez que n o se tinha vontade com a invoca o de RPCs via JSON Felizmente encontrou se uma API para o efeito PhpZabbixApi 27 um produto open source propriedade da Confirm IT solutions GmbH e da autoria de Domi Barton 90 Requisitos N
21. uma nova interface para o dashboard decidiu se avan ar com a implementa o de uma nova interface constru da de raiz que satisfizesse todas as suas necessidades de acordo com os requisitos levantados e apoiado pelas solicita es e sugest es de toda a equipa t cnica 5 6 Novo Dashboard DNS PT Depois da pesquisa sem resultados por um dashboard foi necess rio definir um plano para delinear o processo de desenvolvimento da interface pretendida Este plano come ou com uma fase de descoberta de requisitos funcionais e n o funcionais para a nova interface bem como que tecnologias a usar de acordo com a seguinte lista Aspetos Tecnol gicos Linguagem a usar Java PHP Obten o da informa o acesso base de dados Zabbix API Zabbix Outro Tipo de interface HTML JavaScript ou HTML JavaScript Frameworks Requisitos Funcionais Atualiza o de conte dos din mica Apresenta o dos dados provenientes do sistema de monitoriza o Apresenta o da alarm stica despoletada por eventos no sistema de monitoriza o Requisitos N o Funcionais Representa o de informa o em forma de gr ficos e tabelas de acordo com o sistema de monitoriza o Zabbix alarm stica deve se destacar de entre as restantes informa es presentes na p gina Deve se usar eficientemente a rea de visualiza o da p gina para apresentar conte dos deve se evitar grandes espa os em branco
22. 5 7 10050 a rr em pnv dns ot Applications 9 Items 60 Triggers 11 Graphs 22 Discovery 2 Web 0 10 0 5 122 10050 Template OS Windows Template App Zabbix Agent Monitored EDDO O adonvdosor Applications 9 Items 74 Triggers 11 Graphs 28 Discovery 2 Web 0 10 0 5 6 10050 Template OS Windows Template Anp Zabbix Agent Montord SOUT navoshectorpivdnst asokcalons 14 Items 70 Tigger 30 Graphs 14 Dscovery 3 Weh 0 100541 10050 ASAE ASR ID Tat qa atin Ain Zable T Template Anp BIND Service Template Apo Disk 10 Template App O ps enum dns ot Applications 15 Items 115 Triggers 24 Graphs 21 Discovery 3 Web 0 193 136 192 53 10050 D5C Colector Service Template OS Linux Template Aop Zabbix Mentored DMO Agent B nsdns pt Applications 12 Items 89 Triggers 19 Graphs 21 Discovery 2 Web 0 193 136 0 1 10050 oa es re ee Si Monitored SO O ns2dnsot Aoolcations 12 Items 88 Triogers 21 Graphs 19 Discovery 2 Web 0 193 136 2 226 10050 Male Anp BINO Service Template Apo DSC Callector Servas Mentored BAOT Template App BIND Service Template App Disk 10 Template App D os3dnsot Applications 15 Items 113 Triggers 24 Graphs 20 Discovery 3 Web 0 193 137 196 29 10050 DSC Collector Service Template OS Linux Template App Zabbos Monitored EZDO Agent Figura 12 Ecr de Hosts com a listagem de alguns dos Hosts que integram o sistema Depois de criados todos os Hosts necess rios de
23. Como ja se encontravam configurados associaram se logo os servidores de nomes O passo seguinte configurar os Items usando as Items Keys criadas para o BIND Saber o total at ao momento de queries feitas ao servidor de nomes n o muito interessante mas saber quantas est o a ser feitas por segundo por exemplo tem muito mais utilidade Para isso tem de se fazer o c lculo delta de dois valores consecutivos e depois dividir esse valor pelo tempo de atualiza o dos dados em segundos Por exemplo se se obtiverem os dados ao minuto o c lculo delta a dividir por 60 segundos dar a quantidade de dados por segundo que o que se pretende Felizmente o servidor Zabbix faz essa opera o sem necessidade de ajuda externa ao disponibilizar um p s processamento dos dados em duas formas delta speed per second e delta simple change O ltimo apresenta o valor como diferen a de dois valores consecutivos O intervalo com que os dados s o actualizados outra quest o importante Neste contexto o ideal seria ter informa o atualizada acerca destes Items o mais pr ximo poss vel de tempo real Como esta op o n o vi vel a quantidade de dados que seria enviada e a capacidade de processamento necess ria para lidar com isso n o traria vantagens optou se por p r um intervalo relativamente baixo 30 segundos Ter duas medi es por minuto permite ter uma boa base para estimar o n mero de queries por segundo que
24. Probtoms Host pro bo04 priv dns pt Detected Problems lastcheck 11 25 09am Problem Received Action No Problems Host vm08 dns pt Detected Problems lastcheck 11 25 10am Problem Received Action No Problems Host pro bo01 priv dns pt Detected Problems lastcheck 11 25 09am Problem Received Action No Problems Host pro lb01 dns pt Detected Problems lastcheck 11 25 10am Problem Received Action No Problems Host vm09 dns pt Detected Problems lastcheck 11 25 11am Problem Received Action No Problems Host pro bo02 priv dns pt Detected Problems lastcheck 11 25 09am Problem Received Action No Problems Host novo hector priv dns pt Detected Problems lastcheck 11 25 11am Probiem Received action Free disk space is less than 20 2014 07 04 on volume fusr 185057 Host vm11 priv dns pt Detected Problems lastcheck 11 25 11am Problem Received Action No Problems Figura 42 Vers o final da p gina HostGroups no fim da primeira itera o de desenvolvimento 5 7 3 P gina Host A p gina de Host Figura 43 a p gina mais espec fica em termos de vis o de sistema Apresenta informa es mais espec ficas da monitoriza o do Host Em termos de estrutura da p gina mant m se o cabe alho das p ginas Home e HostGroup e fazem se duas divis es horizontais de conte dos conforme acontece na p gina Home A primeira divis o a rea de gr ficos Os gr ficos
25. de monitoriza o 3 4 Avalia o do Sistema Existente Tendo em conta as anteriores an lises ao sistema existente pretende se agora fazer uma avalia o cr tica 3 4 1 Monitoriza o do sistema DNS Para monitorizar o estado do servi o de nomes BIND usava se o m todo descrito na Figura V em Anexo A utiliza o do rndc stats permite recolher os dados de utiliza o do servi o BIND em cada servidor de nomes agregando dados como n mero total e tipo de Queries recebidas Replies dadas total e parcial por tipo e todo o conjunto de estat sticas que a pr pria ferramenta guarda A forma atual para recolha dados era adequada pelo que se decidiu manter no novo sistema de monitoriza o Ficou ainda decido que se reveriam os scripts que operacionalizam a disponibiliza o da informa o para integrar no sistema de monitoriza o 21 3 4 2 Monitoriza o do sistema SIGA A monitoriza o do sistema SIGA estava dividida em 4 partes Monitoriza o da JVM das m quinas Monitoriza o das bases de dados Monitoriza o dos Web Services Monitoriza o das m quinas Quanto JVM os dados obtidos vinham de um Template pelo que seria necess rio rever a aplicabilidade de alguns Items e verificar se o que era poss vel obter poderia ser integrado na nova solu o Ap s o levantamento feito decidiu se rever a monitoriza o por JMX migrando apenas os Items que permitiam monitorizar o estado
26. dos sistemas se protegerem perante atos maliciosos ou suspeitos que ocorrem ao n vel deste protocolo permitindo adicionar uma camada de autenticidade ao tr fego DNS 17 O DNSSEC contribui para seguran a inform tica no atual paradigma de utiliza o segura da Internet pelo que monitorizar o seu funcionamento torna se imprescind vel A monitoriza o feita atrav s da verifica o da validade das zonas que s o assinadas com DNSSEC verifica se se a data de expira o da assinatura j passou Para tal concebeu se um script que faz a seguinte verifica o Obt m se a data de assinatura da zona pretendida por exemplo zona pt pedindo ao servidor de nomes pelo resource record DNSKEY que indica a chave p blica usada no processo criptogr fico da assinatura Este resource record cont m um campo para a data de assinatura em formato anom sdiahoraminutosegundo 75 Converte se essa data para formato UNIX Epoch que traduz uma data em segundos passados desde 1 de Janeiro de 1970 at a data atual Faz se a diferen a entre a data atual em formato UNIX Epoch e a data de assinatura obtendo o n mero de segundos passados desde a assinatura Converte se esse resultado em dias Envia se o valor para o servidor de monitoriza o Com esta informa o faz se a monitoriza o da validade de uma zona sendo que para diferentes zonas existem diferentes periocidades para a assinatura a zona pt assin
27. e apelativo As mais valias s o a quantidade de documenta o e a clareza desta os imensos demos que t m para come ar a construir uma interface e a simplicidade de implementa o s o maioritariamente estilos que s o acrescentados n o tendo a complexidade program tica sem ntica que o AngularJS apresentava O Bootstrap apareceu como a ideal conjuga o entre apelo visual e simplicidade funcional 89 5 6 2 Implementa o dos requisitos funcionais e nao funcionais Requisitos Funcionais Quanto aos requisitos funcionais aquele que apresentava o maior desafio era a atualiza o din mica de conte dos Como se queria que a informa o fosse mantida atualizada sem a interven o do utilizador seria necess rio um processo automatizado para obter informa o do servidor para alterar parcial ou totalmente a p gina Alterar apenas a parte da p gina que se pretendia atualizar sempre foi o ideal estruturando bem a p gina seria poss vel atualizar apenas uma parte da estrutura mantendo o resto da p gina igual Como se sabia que existira a possibilidade da informa o ser atualizada de forma ass ncrona esta metodologia pareceu a mais indicada Atualizar a p gina toda oferecia por um lado simplicidade de implementa o periodicamente recarregava se totalmente a p gina mas retirava o assincronismo que existe entre atualiza es de dados pr prios de um sistema de monitoriza o Qualquer visualiza
28. em milissegundos conforme a especifica o e ser o definidos Triggers de acordo com os valores que se acharem an malos para as lat ncias de resposta dos servi os em quest o As Figuras 25 e 26 ilustram a forma de utilizar os dados de monitoriza o dos Web Services para obter uma representa o gr fica Embora n o se preveja usar o Java Mission Control para as monitorizar a exist ncia de dials ponteiros que v o movendo lateralmente para indicar aumento e diminui o das lat ncias dos servi os fornece uma forma de visualiza o muito til para este tipo de dados 70 File Edit Window Help F i localhost9999 Leo MBean Server Dashboard POX Used Java Heap Memory JVM CPU Usage Whols Latency Socket Wihols Latency Web TechReviewer Latency Server TechReviewer Latency Web NA d fn Now 11 01 MB Max 14 17 MB Now 0 92 Max 7 28 Now438ms Max75296ms Now 1s283ms Mac12s70 ms Now 1s349ms Mac6s418ms Now 25283ms Mac 75569ms A o Runtime 100 Ml Machine CPU Usage bred j BLM CPU Usage sex ms em s am 30 am 1 ox ras nazase mano 122106 nan ae na vaa nas va Tone toada ts Remove e x 2535559035 ViBUsed Physical Memory Vil Used Java Heap i 122048 122054 12400 122106 nan wz wanao 12036 Tene Figura 25 Ambiente de testes Interface do Java Mission Control plataforma que permite consultar os MBeans N
29. foram ainda acknowldged Dessa listagem contam se os problemas para cada Host e o n mero total de problemas identificados Depois criam se badges que t m a capacidade de representar informa o num pequeno circulo 105 com cor configur vel com o n mero de problemas para cada Host na lista All Hosts e um outro badge junto ao menu All Hosts com o total de problemas Os badges sao de duas cores verde para quando existe zero problemas e vermelho para quando existe um ou mais problemas Todas as paginas atualizam periodicamente os badges na listagem do dropdown menu e no bot o que permite a expans o da lista Esta funcionalidade concretizada com recurso a um pedido AJAX que periodicamente atualiza todos os valores Host Groups o Custom Screens search ED Name Servers SIGA CPU Load SIGA Network Stats SIGA JVM Heap Space elmo bm gt Cee ee 4 eet ee 2 ejndpils gt Hostgroup Information CLE Databases Web Items SIGA d Problems lastcheck Detected Problems lastcheck Detected Problems lastcheck 6 12 14pm 06 12 14pm 08 12 16pm Name Servers Detected Problems lastcheck 06 12 14pm Problem Last Update Problem Host Received Action os Problem Host Received Actior Host Fi No Problems 1 1 Job J2 Update Audit 2014 07 07 175925 Figura 46 Pagina Home com a lista do Hosts e os badges associados conforme implementado na segunda itera o de desenvolvimento
30. infra estrutura t cnica onde se situam os servidores visados permitindo assim perceber aquando de valores an malos vindos de qualquer das partes se o problema vem de causas exteriores onde a lat ncia interna se mant m normal e a lat ncia externa elevada ou de causas interiores infra estrutura lat ncia interna e externa elevadas 4 4 6 Instala o e Configura o No lado do servidor que ir hospedar o servidor de MBeans apenas necess rio executar o programa Java e abrir a porta para as liga es JMX para que o servidor de monitoriza o possa aceder aos dados Essa porta definida a priori e para este cen rio escolheu se a porta 9999 muitas vezes usada como default para o efeito Numa primeira fase escolheu se n o ativar os mecanismos de seguran a para proteger a liga o JMX Isto deve se ao facto de aquando da implementa o tudo foi feito sem acrescentar a camada de seguran a liga o para facilitar os testes e porque a n vel interno as liga es est o protegidas com uma firewall institucional Quanto liga o com o servidor MBeans de perfil p blico ser acrescentada ent o a camada de seguran a adicionando uma palavra passe e encriptando a liga o recorrendo aos mecanismos nativos ao JMX para o efeito Quanto ao servidor de monitoriza o apenas se ter de configurar um novo conjunto de Items que ser o obtidos via Java Gateway Os itens recebidos ir o conter a lat ncia
31. o dos Hosts monitorizados para o servidor de monitoriza o Outro sistema que agradou muito devido sua versatilidade foi o Java JMX Esta tecnologia aprofundada no Cap tulo 4 sec o 4 4 Do levantamento de requisitos resultaram as seguintes conclus es Monitoriza o DNS Capacidade de obten o de N mero de Queries a chegar ao servidor de somes N mero de Queries a serem feitas pelo servidor de nomes Numero de Requests a chegar ao servidor de nomes Tipos de Queries a chegarem ao servidor de nomes Tipos de Queries a serem feitas pelo Servidor de nomes Tipos de Replies a serem dadas pelo servidor de nomes Quantidade de pedidos por protocolo IPv4 IPv6 Lat ncia de reposta dos Servidores de Nomes da zona pt Monitoriza o SIGA Capacidade de obten o de Estado das JVM Java Virtual Machine nos Hosts aplic veis quanto a 20 Espa o na Heap usado Espa o na Heap livre Estado da base de dados ORACLE Estado da base de dados MySQL Estado dos servi os JBOSS e LIFERAY Estado dos Web Services Monitoriza o dos Hosts Capacidade de obten o de Estado do disco Estado do CPU Estado da s interface s de rede Este levantamento serviu assim para se julgar a situa o do antigo sistema de monitoriza o e identificar que monitoriza o necess ria estava em falta e que informa o a ser obtida podia ou n o ser migrada para o novo sistema
32. o redireccionamento uma vez que o redireccionamento por fun o JavaScript n o funcionou a fun o window history back 1 e outras similares n o surtiram o efeito desejado pelo que foi necess rio abordar o problema desta forma Acknowledge Event Pe Close Figura 44 Vers o final da p gina Acknowledge no fim da primeira itera o de desenvolvimento 103 5 8 Avalia o da primeira itera o de desenvolvimento Depois de criada a primeira vers o da nova interface de dashboard foi necess rio avaliar se o que tinha sido criado podia ser melhorado Para tal submeteu se a nova interface a testes de aceita o por parte da equipa t cnica tendo sido identificados os seguintes pontos P gina Home A caixa de alarm stica para o grupo Web Items no caso de existirem mais de tr s problemas deve apresentar fun o para visualizar todos os problemas semelhan a do que acontece coma p gina de HostGroups Deve ser poss vel saber a qualquer momento se existem problemas com Hosts que n o est o a ser apresentados nas caixas de alarm stica Transversal a todas as p ginas Os bot es de navega o sobrep em se s imagens retirando alguma legibilidade aos gr ficos Seria ideal que o controlo de navega o n o causasse transtorno na visualiza o das imagens Novas Ideias Seria importante ter uma p gina com informa o acerca do estado do servi o de resolu o de nomes 5 9 Impleme
33. o sucesso na comunica o via JMX para certo Host 4 3 2 Monitoriza o da base de dados Oracle e MySQL A configura o da monitoriza o das bases de dados do sistema SIGA pode ser condensada numa s sec o devido forma encontrada de obten o dos indicadores para cada base de dados Embora completamente diferentes e com necessidades de monitoriza o distintas a forma encontrada para as monitorizar foi apenas uma DbforBIX 15 Come ando pelos requisitos levantados para a monitoriza o as necessidades de conhecimento do seu estado s o relativamente simples saber se a base de dados est saud vel No caso das bases de dados Oracle isto conseguido atrav s da monitoriza o dos seguintes indicadores Hit Ratio nas tabelas quantidade de pedidos que s o feitos e recaem sobre informa o j em cache N mero de sess es ativas Valor de PGA Process Program Global Area uma zona em RAM onde se guardam dados e informa es de controlo para um processo sendo monitorizado o espa o usado dessa zona Tentativas falhadas de acesso base de dados Este conjunto de indicadores suficiente para se estar a par de eventuais problemas sendo que a alarm stica recai nestes indicadores por exemplo quando h uma falha na autentica o aquando do acesso base de dados a alarm stica despoletada criando se um evento com as informa es relativas ao login falhado J no caso das bases de da
34. or host IP address ang por mumber of Zaba server as wel as the name of the nstaia on foptonal Host incahos Pon 10051 Name Figura 9 Exemplo do ecr para preenchimento dos dados do servidor Uma vez fornecidas todas as informa es solicitadas pode se passar ao pr ximo ecr que sumariza tudo o que foi feito nos passos anteriores Rev se se tudo est de acordo com o que se pretende para o sistema de monitoriza o e avan a se para a ltima etapa da configura o da interface Web A ltima etapa relativa ao ficheiro de configura es PHP da interface gr fica Neste ecr apenas se testa se o ficheiro est OK ou se existe algum problema neste ecr que se cria o ficheiro de configura o PHP de nome zabbix php conf fazendo download atrav s da pr pria p gina Uma vez guardado e confirmado que est tudo a postos para finalizar o processo o estado passa para OK aparece o bot o Finish Depois de clicar no ot o Finish o sistema far a configura o da interface gr fica e o ecr de login presente na Figura 10 deve aparecer se introduzirem as credenciais por defeito utilizador Admin palavra passe zabbix 37 vord EB Remember me for 30 days Zabbix 220 Copyright 2001 2013 by Zabbix SIA Figura 10 Ecr de Login da interface Web Zabbix Depois de todos estes procedimentos o servidor de monitoriza o ficou totalmente operacional com uma interface Web para gest o e consu
35. poss vel aceder a esses servi os e se os processos relativos a estes servi os est o efetivamente a correr Para esta monitoriza o utilizou se em grande parte os recursos que o pr prio Zabbix j disponibiliza para monitoriza o de portos e processos sem recorrer a scripts personalizadas como em casos anteriores Para a verifica o do estado dos processos por exemplo Apache mas aplica se tamb m a Tomcat JBOSS e Liferay pode se fazer de uma de duas formas a Saber quantos processos existem que contenham certo padr o no nome Ex system run ps auwx Igrep httpd grep v grep httpd wc l 58 b Saber quantos processos com estado running existem para certo user Ex proc num lt name gt lt user gt lt state gt lt cmdline gt onde name nome de processo por defeito all processes user nome de utilizador por defeito all users state all por defeito run sleep zomb cmdline filtrar por comando atrav s de express o regular A vers o a fornece uma vis o global dos processos que est o a correr com o nome ou owner httpd servi o Apache enquanto a vers o b permite distinguir o estado do processo com o nome ou owner pretendido Acabou se por implementar as duas formas usando a forma a para monitorizar o n mero de processos Apache e a forma b para verificar os estados dos processos run e sleep Desta forma tem se uma vis o geral dos processos existe
36. poss vel identificar as principais val ncias pretendidas para o novo dashboard Tudo aquilo que os principais casos de uso n o visaram seria necess rio aceder interface Zabbix para obter Com esta identifica o de necessidades adicionaram se os seguintes requisitos Tr s n veis de organiza o Geral p gina inicial do dashboard Grupo p gina com todos os Hosts que comp em um grupo e Individual p gina de cada Host Este fluxo de navega o das p ginas de uma representa o macrosc pica do sistema at aos componentes unit rios seria capaz de resolver os problemas de ter duas interfaces 94 de onde obter informa o do estado da infra estrutura aparecendo o novo dashboard como principal interface de utiliza o para consulta e mantendo se a interface do sistema Zabbix apenas para usos administrativos ou para consulta de alguma informa o mais espec fica Possibilidade de usar a nova interface para dar conhecimento de um problema Com esta capacidade passa a ser poss vel completar a opera o de Acknowledge usando apenas o novo dashboard Capacidade de visualizar a informa o hist rica de cada Host Com a implementa o deste requisito todos os Items que um Host tem ter o os seus dados acess veis via novo dashboard Essa informa o estar acess vel na p gina do Host escolhendo se o Item e janela temporal para apresenta o dos dados Estes novos requisitos resultaram na elabo
37. prim rio e secund rios de certa zona Estes indicadores permitem de uma forma ainda mais alargada perceber se o sistema BIND est a funcionar corretamente Para a monitoriza o das lat ncias de comunica o criou se um script simples que verifica quanto tempo demorou a obter um resource record de um certo servidor de nomes Esse tempo posteriormente enviado para o sistema de monitoriza o permitindo verificar se um certo servidor de nomes est a demorar mais tempo que o habitual a responder A monitoriza o dos Serial Numbers teve uma grande import ncia quer para o conhecimento mais aprofundado do estado do BIND quer para o enriquecimento do conhecimento sobre as val ncias do sistema de monitoriza o devido forma que se encontrou para implementar a obten o destes indicadores 13 O grande problema que levou a que se procurasse uma nova forma de integrar esta informa o no sistema de monitoriza o foi a impossibilidade de configurar um Item para ser recolhido a certas alturas do dia por exemplo de duas em duas horas mas sempre na hora certa s 12h00 14h00 16h00 etc Como os Items s o periodicamente obtidos com base na data em que se definiu essa periocidade ou seja se se definiu uma periocidade de duas horas s 12h45 o indicador ser recolhido s 14 45 16 45 18h45 etc n o seria f cil fazer com que um Item fosse obtido nas horas certas Para contornar este problema descobriu se q
38. projecto final 63 Entrega de Projeto Fim 1 day 1 day 1 day 1 day 5 days 2 days 2 days 1 day 0 days Fri 23 05 14 Fri 23 05 14 Fri 23 05 14 Mon 09 06 14 Tue 10 06 14 Tue 10 06 14 Wed 11 06 14 Fri 13 06 14 Mon 16 06 14 Fri 23 05 14 Fri 23 05 14 Fri 23 05 14 Mon 09 06 14 Mon 16 06 14 Wed 11 06 14 Thu 12 06 14 Fri 13 06 14 Mon 16 06 14 52 57 58 58 58 58 62 Tabela 1 Planeamento de Tarefas Qtr 4 2013 Qtr 1 2014 oc Nov l Dec Jan WON Dj S w N e 29 30 31 32 33 34 35 36 37 4747 24 12 24 12 24 12 38 39 41 42 43 45 47 49 50 51 52 53 54 55 56 57 58 59 61 62 63 E A amp Figura 1 Mapa de Gantt 9 1 4 Organiza o do documento A organiza o deste documento assenta na seguinte estrutura e Cap tulo 2 Fase Preliminar Antigo Sistema de Monitoriza o Faz se o levantamento dos componentes do antigo sistema de monitoriza o apresentam se algumas tecnologias e metodologias que se usavam e refere se algum do trabalho que foi feito nos tr s primeiros meses do projeto aquando da reda o do relat rio preliminar e Cap tulo 3 Fase Final Novo Sistema de Monitoriza o Explica todo o processo por detr s da idealiza o e conce o do novo sistema de monitoriza o apresentando pormenorizadamente todos os detalhes do sistema de monitoriza o criado e o porq
39. se a liga o invocando a fun o close da classe SOAPConnection Zz O valor que esta fun o retorna o tempo em milissegundos que demorou a executar a tarefa de pedir ao avaliador t cnico para avaliar o dom nio dns pt Este valor vai ser devolvido ao servidor de MBeans que o guardar no hist rico de execu o do m todo sendo assim poss vel obt lo para efeitos de monitoriza o void getTRLatencyViaWeb Este m todo igual ao anterior getTRLatencyViaServer exceto em dois pontos o URL que desta vez ser para aceder ao frontend Web que trata dos pedidos vindos do Website que disponibiliza a ferramenta e o pacote SOAP que tem algumas diferen as face ao enviado na comunica o direta com o servidor 67 Este novo pacote um pouco mais complexo do que o usado no m todo anterior Neste pacote SOAP necess rio definir se dois NameSpaces um para o URL do servi o NameSpace ser e outro com o NameSpace da defini o do schema XML NameSpace xsd OS URLs a usar s o respectivamente dos servi os Web e das especifica es do XML Quanto ao corpo da mensagem necess rio definir algumas informa es que n o foram descritas na anterior op o o tipo de pedido domainEvaluationRequest o ID do dom nio a avaliar domainID e a op o de guardar ou n o o resultado saveResult Depois do preenchimento do pacote SOAP o procedimento igual ao m todo anterior guarda se o tempo qu
40. servi o que leve total paragem da infra estrutura a estabilidade e disponibilidade da Internet Portuguesa posta em causa Embora seja um cen rio in extremis poss vel ocorrer e como tal tem de ser contemplado e tratado com anteced ncia para que nunca ocorra Neste aspeto as principais fraquezas que o antigo sistema de monitoriza o apresenta sao 1 Capacidade de saber em tempo real a quantidade de recursos afetos aos servidores de nomes a Quanto a recursos das m quinas f sicas CPU mem ria disco b Funcionamento do BIND quanto s perguntas que est o a chegar e as respostas a serem dadas 2 Severas lacunas quer na monitoriza o quer na alarm stica do sistema SIGA quanto a a Web Services i Disponibilidade li Tempos de Resposta b JVM i Funcionamento c Bases de dados i Estado il Volumes de pedidos SELECT UPDATE etc 3 Obten o de dados insuficientes para a monitoriza o compreensiva das m quinas e outros recursos f sicos virtuais da Associa o 4 Forma de apresenta o dos dados de monitoriza o e de alarm stica 1 2 Objetivos Os objetivos deste trabalho s o claros com base na atual implementa o da monitoriza o e alarm stica da Associa o DNS PT conceber uma solu o que permita abranger em termos de monitoriza o todos os recursos vitais para a manuten o dos v rios servi os que se prestam e configurar o sistema para que aqua
41. system and the creation of an interface for said system This last stage assumed special relevance because of the importance of how the data is presented to the Associa o DNS PT Keywords Monitoring Alerting Associa o DNS PT Domain Name System IV Contetido Lista de PIS AS vesener r n he son Bed sta a a a aS Ix ets tae Tabelas cus set Rins QUA RT DA AD a a ete XI Capitulo cInirodu o mrri pisa lisas Tas SONS ans gia Sagas ada arara 1 LE MIGUVACAG rasas Gu amar Ga SRD TA amanaenceete 3 De OBICLVOS e ie i u ra aa a a ae e a Rs eo aortos 4 1 3 Plan amentonesne ean n n a AE a AEE A T SA 6 1 4 Organiza o do documento sseseseeeesseesseessessseeseseetsstessesseeeseessseesseeso 10 Cap tulo2 Fase Preliminar Antigo Sistema de Monitoriza o 11 Ze Antigo sistemia Zabbix sistori sere areg sor aus a a ei Pg t 11 2 2 Zabbix no contexto da Associa o DNS PT sseeeeeeessessessesessseesseessee 12 2 3 A Monitoriza o na Associa o DNS PT 0 eee eeececeeeeeeeeeeeceteeeenteeeeeaes 14 2 4 DSC Monitoriza o dos Servidores de Nomes cccescceeeeeeeeeeeeeeeees 15 2 4 1 Estrutura e Funcionamento do Collector ceeeeeeeeeesseeeeeeeeeeeeees 15 2 4 2 Estrutura e Funcionamento do Presenter ssesssseeseessereseeessseesseee 16 Cap tulo 3 Fase Final Novo Sistema de Monitoriza o 19 Sal COMORIAN ZACAG serenon e i e A E E AUTORA 19 3 2 Levantamento de Assets Sist
42. transversais a todos Hosts s o de estado da utiliza o da interface de rede utiliza o de CPU de utiliza o 100 de disco e estat stica de opera es de disco Os gr ficos de utiliza o de disco por requererem acesso a funcionalidades que n o est o presentes em todas as distribui es de Linux necessita de acesso ao proc diskstats podem n o ser apresentados em Hosts que n o t m kernel Linux A outra divis o estrutural tem quatro caixas para apresentar quatro conte dos diferentes informa o do Host alarm stica ltimos dados para cada Item e hist rico de cada Item A informa o do Host apresenta dados teis como o endere o IP nome DNS e a distribui o de Sistema Operativo A caixa de alarm stica em tudo id ntica que existe na p gina Hostgroups As duas outras caixas t m duas particularidades n o s o atualizadas automaticamente e n o s o carregadas atrav s de um ficheiro PHP estando codificadas na pr pria p gina Isto prende se com as caracter sticas intr nsecas s fun es que desempenham pois para visualizar a informa o de um certo Item s se contacta o servidor quando se preenche um formul rio A caixa do hist rico de Items na interface Item History tem a fun o de apresentar quer sob a forma de tabelas quer sob a forma de gr ficos todos os dados que o sistema de monitoriza o tem para aquele Item durante um per odo de tempo definido pelo utilizad
43. tues a Ca 119 ANEXOS hie ah ais cepa Dea ab a OSS Pan OA asa Su Ra Dea Tea 123 Vill Lista de Figuras Figura 1 Mapa de Gantt capas drinn Figura 2 Fotografia do Ecr ae Montong no escrit rio a Ao socia o Figura 3 Exemplo de funcionamento do DSC collector e presenter Figura 4 Dados estat sticos do DSC para os Servidores de Nomes Portugueses Figura 5 Desenho do sistema de monitoriza o para Servidores de Nomes Figura 6 Desenho do sistema de monitoriza o para sistema SIGA Figura 7 Lista de pr requisitos e estado destes cece cece eee ne ence ene enees Figura 8 Exemplo do ecra para preenchimento dos dados da base de dados Figura 9 Exemplo do ecr para preenchimento dos dados do servidor Figura 10 Ecr de Login da interface Web Zabbix iii Figura 11 Ecr de cria o de um Host iaeiei Figura 12 Ecra de Hosts com a isaret de alpine ds Hosts que a fenta o SISTEMA noero epia ra A a E a a O IAT Figura 13 Ecr de cria o de um Template a neenon cee cee cee cee enn enn ences cee cee cence Figura 14 Bera de cria o de Items 2c ceca laldgtcue tum an elas Us Ga ES tae Figura 15 Ecr de configura o de um Item Figura 16 Ecr de cria o de Triggers nda Figura 17 Ecr de cria o das ESET para N O ae RR Op Figura 18 Ecr dos Graphs Figura 1
44. usa se o Template facultado para definir uma forma diferente de configurar os Items os Discovery Items O Discovery uma fase na comunica o com os Hosts em que s o estes que indicam o que se pode obter do sistema monitorizado Para usar um Discovery Item configuram se prot tipos Prototypes na aplica o Zabbix ver Figuras 30 e 31 que t m um esqueleto uma abstra o daquilo que vai ser feito Depois necess rio que no Host haja algo que forne a a informa o que ir despoletar a cria o dos Items Triggers e outros Prototypes definidos Para concretizar esta monitoriza o cria se um script que forne a a informa o dos discos nomes principalmente presentes na m quina num formato que o Zabbix entenda neste caso usada a nota o JSON para na fase de Discovery executar e obter o resultado Com essa informa o recolhida as vari veis nos prot tipos s o substitu das por informa o concreta permitindo assim que se criem Items Triggers e Graphs com correspond ncia a informa o real Figura 30 Ecr de configura o de um Item Prototype do Discovery Item 77 Item prototypes of Disk device discovery Displaying 1 to 8 of 8 found Template list Template Template App Disk IO Discovery list Discovery Disk device discovery Item prototypes 8 Trigger prototypes 0 Graph prototypes 1 Host prototypes 0 Name Key Interval History Trends Type Applications Status is
45. 04 12 13 20 22 Configura o Parametriza es 4 days Thu 05 12 13 Tue 10 12 13 21 23 An lise de propostas de novas 9 days Wed 11 12 13 Mon 23 12 13 22 tecnologias 24 Identifica o 25 Analise 26 Compara o 27 Reuni o de controlo de projecto 28 DELIVERABLES An lise e especifica o da solu o 29 Requisitos da solu o 30 Especifica o de solu o 31 Prepara o do ambiente de desenvolvimento 32 Aquisi o de Recursos 33 Elabora o de caderno de especifica o t cnica 34 Pedidos de cota o para equipamento 35 Equipamento adjudicado 36 Aquisi o 37 Prepara o do ambiente 38 Instala o do equipamento 39 configura o de equipamento 40 Instala o e configura o do ambiente Software e Servi os 41 Implementa o da solu o 42 Instala o de sistemas 43 Configura o de sistemas 44 Integra o entre os v rios sistemas 45 Implementa o de novas funcionalidades 46 Parametriza es 47 Reuni o de controlo de projecto 48 Testes 49 Elabora o de plano de testes 50 Execu o dos testes 51 Produ o de relat rio de testes 52 Produ o de documenta o da solu o 53 DELIVERABLES Documenta o da solu o 54 Manual de Utiliza o 5 days 2 days 1 day 1 day 1 day 1 day 1 day 41 days 31 days 1 day 7 days 5 days 18 days 10 days 3 days 2 days 5 da
46. 9 Ecra de cria o dau um Enab Ea UR Ra AE cd te Figura 20 Hosts com interface JMX sonfigurada e ab sdivel correctamente Figura 21 cone JMX que ilustra o sucesso na comunica o via JMX para certo Host e ul ias alta tee AN ESA ltt Figura 22 Ecr de hems para monitoriza o aie Servi o o Apathe spa oe ohaxs Figura 23 Ecr de cria o de um Web Item RR E ite Figura 24 Ecr de especifica o dos passos a executar no cen rio Web eamate tai Figura 25 Ambiente de testes Interface do Java Mission Control plataforma que permite consultar os MBeans Na figura o dashboard com os dials a indicarem em tempo real a lat ncia dos S rViGOS eecee eee ence eee eeeaeeeneees Figura 26 Ambiente de testes A mensagem que aparece quando se invoca o m todo syConnechoFestO cur pros ETSI oi Sa ERA RT da SOR Figura 27 Excerto do documento com as afina es do sistema de MONTOZA eos ae vandnese sieges ab alisa unas das ETE Renas dao una ga atras Figura 28 Ecr de configura o de um Item de Serial Check usando o zabbix trapper Dn he ace aa sac Rania TD R a Figura 29 Ecr J configura o do om para monitoriza o d assinatura d zona PR assi pactos E pa Si Ea E UR Pad ara aii Ea aid Figura 30 Ecr de configura o de um Item Prototype do Discovery Item 14 17 18 24 26 35 36 37 38 43 43 47 48 49 50 50 51 51 56 56 59 61 61 71
47. ENS ieiti ioios 104 5 9 2 Total de problemas detetados pelo Sistema de Monitoriza o 105 5 9 3 Bot es de navega o dos Carousel s c ccceeececsecceceeeeeeeeeeeesneeeesaes 106 5 9 4 P gina de Servidores de Nomes eccccceseceeseececeeeeeceeeeeceseeeesaes 107 5 10 Avalia o da segunda itera o de desenvolvimento 108 Capitulo 6 DisCUSS O saga pads ad a SA UCS SS AS 109 6 1 An lise dos resultados obtidos rr 109 6 1 1 Avaliar o antigo Sistemas gic auras guta dido panda cagar awedacnfebededesducnactdant 109 6 1 2 Desenhar o novo SISEMA se sigrase an iaaa sa cesto aro cessed guasT nes lg aca ces ud ago a 109 6 13 Implementar O NOVO sistema sais cas alta sensapan da adro tn pasop ass auta Le a 110 6 1 4 Identificar trabalho futuro oo ee ee eee rn 110 62 TRAV AINC Rosa Dn GS DADOS EG 111 63 Planeamento ach ide Hectic roses heed USE asa dels beck ta teus gue ti maa am tela OERE 112 6 4 Trabalho Patino m sinsi sao des eie e E E vine eS 112 6 4 1 Sistema de Monitoriza o Zabbix sesesssesssesessseesseessesseeseeesseee 113 6 4 2 Monitoriza o Java Mbeans seseseeessesssesseeeesseesseesseesseesseeessee 114 6 4 3 Interface Dashboard ssseeeseseeeseseesseseseseesseseresresseseresresseseresresseseees 115 Est d ACLOMINIOS sis 0 ahora seine lacrangeee iaeei RC Seas paus SE EE sS 117 BIDIAGO RANA sura ones asa nani ca DON R NU SS inne
48. GGER Pool dict cache Pool free mem Pool lib cache Pool misc Pool sql area Processes Processor load Processor load15 Processor load5 Session Active Session Inactive Session System Tabela 8 Excerto do levantamento da antiga monitoriza o Oracle Manter DN E De acordo com a Tabela 8 fez se um levantamento para a base de dados Oracle quanto aos indicadores existentes tendo sido feita posteriormente uma aprecia o do que se devia e n o devia manter No entanto a forma como se obtinham os indicadores no sistema antigo via ORABBIX que foi descontinuado em detrimento do DBforBIX ficou obsoleta verificando se na instala o do DBforBIX que existiam Templates 57 bastante completos para a monitoriza o pretendida Assim decidiu se usar o Template at receber o administrador de bases de dados 4 3 3 Monitoriza o dos servi os JBOSS e LIFERAY A monitoriza o dos servi os JBOSS e LIFERAY feita de uma forma simples recolhendo os indicadores apresentados na Tabela 9 Port Port Port Port Apache Tomcat JBOSS Liferay Hosts ltems 80 443 700 3121 Service Service Service Service Status Status Status Status Status Status Status Status pro lb01 pro bo01 pro bo02 pro bo03 pro bo04 pro fe01 pro fe02 pro bpm01 pro infra01 vm08 vm09 vm11 Tabela 9 Levantamento dos indicadores a recolher para monitoriza o A monitoriza o destes servi os feita em dois aspetos se
49. Job J2 Enhimporter Detected Problems lastcheck 12 15 27pm Detected Problems lastcheck 12 15 27pm Detected Problems lastcheck 12 15 27pm Problem Last Update Problem Last Update Problem Last Update No Problems Job J2 DomainRenew 2014 07 07 11 583 No Problems Job J2 LetterSender Job J2 MassChangesQueueProcess Job J2 Productimporter Figura 45 P gina de Web Items com os gr ficos e alarm stica no final da segunda itera o de desenvolvimento 5 9 2 Total de problemas detetados pelo Sistema de Monitoriza o A melhor forma encontrada para satisfazer o trade off entre aspeto minimalista e a necessidade de informa o foi colocar no cabe alho onde j existe uma lista de todos os Hosts uma indica o de todos os problemas que existem e que ainda n o foram atendidos que ainda n o foi dado acknowledge Desta forma seria poss vel ver em qualquer parte da interface o n mero global de problemas e expandindo a lista Figura 46 ver para cada Host quantos problemas esse tem Para concretizar a parte visual recorreu se aos badges do Bootstrap enquanto a obten o dos totais e parciais de problemas foram resolvidos fazendo pedidos ao sistema de monitoriza o A atualiza o peri dica foi feita via pedidos AJAX A implementa o da mostragem do n mero de problemas para cada Host e para o total de problemas foi feita num ficheiro PHP que faz um pedido ao Zabbix por todos os problemas existentes que n o
50. Monitoriza o do sistema DSC O sistema DSC tem capacidade de captar informa o que o sistema de monitoriza o Zabbix e os scripts de recolha de indicadores do BIND n o t m No entanto como n o poss vel integrar diretamente os dados do DSC no Zabbix o que se consegue monitorizar para este sistema relativamente limitado A monitoriza o do DSC que feita no sistema Zabbix quanto ao estado de execu o da aplica o DSC nas m quinas collector e quanto ao espa o em disco usado pelo DSC na m quina presenter No que toca a saber se o DSC est a correr ou n o usa se uma forma an loga que se usou na monitoriza o do Apache m todo a no Cap tulo 4 sec o 4 3 3 executando se o comando remoto na m quina collector e vendo se existe alguma tarefa com o nome DSC A alarm stica neste caso o despoletar de um aviso caso n o exista nenhuma tarefa a executar com o nome DSC Quanto ocupa o do disco do presenter a monitoriza o necessitou de recorrer a scripts pois n o poss vel obter o espa o que dada diretoria ocupa no disco recorrendo 78 apenas s fun es nativas do Zabbix Como o espa o em disco um recurso finito e que chegando a n veis muito baixos faz com que a aplica o DSC e outras aplica es deixe de funcionar corretamente a cria o de uma forma avan ada de monitoriza o foi uma necessidade Para concretizar esta monitoriza o configuraram se UserPa
51. S Jod eyowa oedse3 ap uoweap O NO oaas O sopep JelAua e S SOpep ap aseq eu OB eZLIOJIUOUI ap ogede e as oguos q spJoMssed ap 011 y4914 O Opelay Vy 09S p Wa aJAl OSedsa ap e e4 SAI IVY COW aww ap ezed oxleq Wa S HSS ap OS AJas O yss pyss OU OBSEIISIPOIN XIGBJQ oe OPXBUOD ep Opes ag eu sossa00 g ap OJ UNN sopeq ap aseg ep opes ag eu sagssas ap o1awNN OB BZLIOJIUOIA oJd 9d sup aud TOa oJd 4d sup aud Touwdq oJd 4d sup aud yooq oJd yd sup Alidegoq oJd 4d sup aud zooq oJd 9d sup aud TOOg oJd 9d udoy sisid qd uD2y sog oud qd sup psu d sup gsu 9d sup wunua su 9d sup AUd 0 aU OAOU 9d sup aud TOa Aap qd sup aud Tooq Aap Qd sup aud ttp Iq ad sup aud TTp qad sup aud oTp q Ad sup aud 6op q 1d sup aud gop q d sup aud sop gd sup aud pop q d sup aud g OPIg d sup aud zop g Yd sup aud TOp q seuinbeia 01uUa SAaAIaS WIEN Spuz UO14 s201j40eg seunbew sep OS Op apnes csuppud a TSUppad jpe10 sopeq ap saseg XIQQeZ OB EZLIO IUOIN BP BUIBISIS OSIMOS Tabela I Excerto da Tabela de Levantamento da Monitoriza o na Associa o DNS PT 124 Group Zabbix Servers d D lt Name Servers SIGA Host dev zabbixserver01 priv dev zabbixchild01 priv dev zabbixchild02 priv vm18 priv dns pt dev intra priv ns dns pt ns2 dns pt ns3 dns pt ns4 dns pt ns enum dns pt phobos fccn pt ns dns br ns pt nInetlabs nl qu
52. UNIVERSIDADE DE LISBOA Faculdade de Ci ncias Departamento de Informatica LISBOA UNIVERSIDADE DE LISBOA CONSOLIDA O E OPTIMIZA O DA MONITORIZA O E ALARM STICA DE SISTEMAS DA ASSOCIA O DNS PT Andr Manuel Amaro Matias PROJETO MESTRADO EM ENGENHARIA INFORM TICA Arquiteturas Sistemas e Redes de Computadores 2015 UNIVERSIDADE DE LISBOA Faculdade de Ci ncias Departamento de Informatica LISBOA UNIVERSIDADE DE LISBOA CONSOLIDACAO E OPTIMIZACAO DA MONITORIZACAO E ALARMISTICA DE SISTEMAS DA ASSOCIACAO DNS PT Andr Manuel Amaro Matias PROJETO MESTRADO EM ENGENHARIA INFORMATICA Arquiteturas Sistemas e Redes de Computadores Trabalho orientado pelo Prof Doutor Carlos Eduardo Ramos dos Santos Louren o e co orientado por Assis Guerreiro 2015 Agradecimentos Este projeto seria inconceb vel sem a preciosa ajuda de toda a Associa o DNS PT com especial nfase na ajuda prestada pela rea t cnica cujos conhecimentos permitiram a concretiza o de v rios aspetos deste projeto especialmente no que diz respeito ao sistema de monitoriza o e alarm stica Quero tamb m formalmente agradecer a todos os colaboradores da Associa o transversalmente a todas as reas cuja ajuda disponibilidade e amabilidade facilitaram a integra o na equipa e tornaram a estadia nas instala es da Associa o mais agrad vel Ana Cunha Isabel Miranda S nia Veloso Sandra Costa Joa
53. a base de dados Oracle obter informa es sobre o estado da base de dados quanto ao motor desta e ao estado interno estrutura Estado dos servi os JBOSS e LIFERAY Monitorizar o estado dos servi os atrav s da monitoriza o do estado dos portos de comunica o com as aplica es e observa o dos processos Estado dos Web Services Monitorizar via MBeans ou atrav s da funcionalidade de Web Monitoring Web Items do Zabbix auxiliado pelo sistema Jenkins 52 4 3 1 Monitoriza o da JVM Come ando com a monitoriza o da JVM definiram se alguns indicadores a recolher baseado se no que j existia no antigo sistema de monitoriza o no que foi investigado acerca desta tecnologia e no do que Util se poderia obter para a monitoriza o do estado da JVM A monitoriza o via JMX interface para monitoriza o da JVM necessita primeiro que o servidor onde corre a JVM tenha a op o de JMX ativada e esteja habilitado a ser acedido para recolher os dados Para tal aquando da execu o da aplica o Java deve se adicionar as seguintes op es destinadas JVM Dcom sun managment jmxremote port 9999 Indica o porto remoto para comunica o JMX Dcom sun managment jmxremote ssl false Indica que n o se usa a camada protocolar SSL para proteger a liga o Dcom sun managment jmxremote authenticate false Indica que n o se usam credenciais para autenticar os acessos interface JMX
54. a bo1 qua bo2 qua bo3 qua fe01 qua bpmn01 qua infra01 pro lb01 pro bo01 priv pro bo02 priv pro boO3 priv pro bo04 priv pro fe01 priv pro fe02 priv pro bpmn01 priv pro infra01 priv vm08 dns pt vm09 dns pt vm11 priv novo hector priv bld01 priv BD i bld02 priv MAIL Interno vmwim priv erp priv rh priv virusserver priv gd priv Linux eje eje 0 0 0 0 0 0 0 0 0 0 0 0 SU VV ux oo oo FreeBSD Windows BIND DSC DSC JBOSS ol ES OB ee Sl GE LIFERAY E QUI QUI UI GUI eI Base de Dados e MySQL e MySQL e ORACLE e ORACLE Mail Server Tabela II Levantamento das m quinas e servi os a incluir no novo sistema de monitoriza o 125 Esquema de Monitoriza o do BIND em NameServers Os OIDs das queries t m de corresponder aos que est o i Kg definidos no snmpd conf Zabbix Server Sih Para o efeito foi criado uma N community e definidos OIDs para moitorizar por SNMP Replies TCP 161 APP SNMPv2 Agent Queries Est a correr em fail ns2 dns pt contam Este ficheiro guarda a E comunidade OID customizado para se obterem as estat sticas de queries snmpd conf O script em PERL Os scripts consultam Cont m uma entrada por o ficheiro para script encontrarem os exec OID comando valores a devolver script local param named stats acc named stats listas de pedidos e
55. a de acordo as opini es da equipa t cnica com recurso ao que foi evidenciado pelos levantamentos 3 Implementa o da solu o Plano de desenvolvimento flex vel e baseado em itera es m todo gil de desenvolvimento de software com etapa de avalia o para saber o que se pode melhorar no fim de cada itera o O feedback da equipa e os testes ser o fulcrais para esta fase pelo que se pretende reunir com a equipa e ter per odos de testes para avaliar a solu o e encontrar motivos de melhoria 4 Identifica o de oportunidades de melhoria Identificar pontos de melhoria nomeadamente implementa es que foram descartadas em detrimento de outras com mais urg ncia ou simplesmente novos requisitos Os resultados obtidos da utiliza o do novo sistema auxiliados pelas opini es da equipa dever o potenciar a identifica o de oportunidades de melhoria 1 3 Planeamento O Planeamento pretende tra ar uma calendariza o mais ou menos fiel ao que se pretende ser o fluxo de trabalho durante os 9 meses de dura o do projeto As fases do trabalho seguem o formato padr o para um desenvolvimento de software levantamento e an lise de requisitos desenvolvimento e implementa o fase de testes e produ o de documenta o 2 A Tabela 1 apresenta a descri o detalhada das tarefas que constituem o trabalho que resulta na elabora o de uma Mapa de Gantt que est vis vel na Figura 1
56. a durante a execu o do programa Quanto ao PermGen 14 parte da mem ria da JVM guardada para informa o que subsiste s sucessivas execu es do Garbage Collector da JVM um indicador importante a recolher devido import ncia que tem para as aplica es com tempos de execu o muito prolongados Uma monitoriza o ativa do valor de PermGen permite perceber se necess rio aumentar o espa o dedicado na JVM o que melhora a performance do programa este indicador foi recolhido no seguimento de alguns 2 Garbage Collector a funcionalidade do Java que permite libertar o espa o em mem ria que j n o utilizado pelo programa ou sequer pela JVM 54 epis dios onde problemas na aplica o Java foram resolvidos com o aumento do espa o reservado para o PermGen Para recolher os dados via JMX utilizou se o Template gen rico que a aplica o Zabbix j disponibiliza e que cont m aquilo o necess rio para satisfazer os requisitos de monitoriza o da JVM Para obter todos estes indicadores necess rio que as seguintes premissas se verifiquem 1 AJVM a monitorizar tem a interface JMX capaz de ser contactada 2 Existe um Host no sistema de monitoriza o com uma interface JMX definida 3 O servidor de monitoriza o tem uma Java Gateway em execu o A primeira premissa foi satisfeita com a passagem dos tr s par metros JVM A segunda premissa foi satisfeita aquando da cria o dos Hosts Quanto
57. a figura o Dashboard com os dials a indicarem em tempo real a lat ncia dos servi os Oracle Java Mission Control 8 File Edit Window Help GEM Event CO 5 EE a MBean Browser oms 4 localhost 39999 E MBean Server MBean Tree MBean Features lc Recorder Fitter Attributes Operations Notifications Metadata JMimplementation Operations Name 3i Value comsunmanagement sayTestConnection void javalang amp javanio amp java utillogging This class declares a set of methods that test and temporize the 4 sysinfo connection setup to the Technical Reviewer and Whols services E TestConnection This MAean shows the latency in milliseconds of Associa o DUS PT s webservices Runtime Execute sayTestConnection E MBean Browser Triggers Figura 26 Ambiente de testes A mensagem que aparece quando se invoca o m todo sayConnectioTest 71 4 5 Estado Atual do Sistema de Monitoriza o Ap s todas as a es efetuadas de cria o e configura o das componentes do novo sistema de monitoriza o foi tempo de avaliar o trabalho feito Esta avalia o come ou por olhar para o sistema agora funcional e fazer dois julgamentos o que h e o que falta Perante o acompanhamento evolu o do sistema feito diariamente iam se efetuando alguns ajustes como altera es nas sensibilidades dos Triggers definidos ou altera es nos tipos de indicadores recebidos nomea
58. acordo com o levantamento feito passou se cria o e configura o dos Items 43 4 2 Configura o da monitoriza o e alarm stica do BIND A Tabela 6 serviu de guia no que toca aos v rios dados que se necessitava recolher como os v rios resource records v rios tipos de informa es que um dom nio pode disponibilizar teis para saber o estado do BIND Esta lista n o extensiva quanto a tipos de resource records mencionando apenas os que s o teis para o efeito Incoming Queries Hosts Items RESERVEDO A NS MD CNAME SOA NULL PTR HINFO MX TOTAL ns dns pt ee e ns2 dns pt ee e ns3 dns pt e ns4 dns pt ns enum dns pt phobos fccn pt Incoming Requests Hosts Items QUERY IQUERY UPDATE NOTIFY ns dns pt X X X ns2 dns pt X X X ns3 dns pt ns4 dns pt ns enum dns pt Legenda indicador a recolher Indicador a n o recolher phobos fccn pt X Aremover Tabela 6 Excerto das tabelas de Items a recolher para monitoriza o do BIND Relembrando o que foi identificado no levantamento de requisitos da monitoriza o do BIND temos as seguintes abordagens ao que foi proposto inicialmente N mero de queries a chegar ao servidor de nomes Alcan ado com a obten o dos totais de resource records a serem pedidos ao servidor de nomes N mero de queries a serem feitas pelo servidor de nomes Alcan ado com a obten o dos totais de resource records que s o pedidos pelo servidor de nomes N mero d
59. ada collector tem de haver uma diretoria com o nome dele no sistema 16 Dentro dessa a estrutura diferente da do collector existe uma diretoria para cada dia com dados para efeitos de janelas temporais com extens o dat para compress o uma diretoria done com os dados em XML para ser mais r pido o acesso informa o dos ltimos 5 dias este par metro personaliz vel mais facilmente leg vel e uma diretoria incoming com os dados que est o a ser recebidos vindos do collector Um exemplo de cadeia de diretorias para encontrar dados no presenter de um certo collector a seguinte dsc data ServidoresPT ns dns pt 2013 11 16 Para a representa o gr fica o presenter usa o ploticus uma biblioteca gr fica em C C O trabalho da m quina presenter resume se ent o a receber dados vindos da comunica o remota com os collectors extra o da informa o nos ficheiros XML para ficheiros dat lidos pela aplica o que os desenha ploticus constru o dos gr ficos consoante os datasets definidos em fun o dos pedidos do utilizador que usa a p gina Web da aplica o O presenter contempla ainda uma fun o de limpeza de registos antigos para poupar espa o em disco A Figura 3 retirada do manual oficial da aplica o 7 representa esquematicamente o funcionamento do DSC Collectors STORAGE DISPLAY grapher extractor Figura 3 Exemplo de funcionamento do DSC collector e presenter
60. ada de duas em duas horas enquanto as restantes zonas relevantes para monitoriza o s o assinadas duas vezes por m s No ltimo passo usado apenas para a zona pt usa se a comunica o zabbix trapper para enviar os dados para o servidor cinco minutos ap s o in cio das horas mpares Para as restantes zonas manteve se a forma normal deixando o servidor recolher os dados junto do agente A Figura 29 representa a configura o na interface Zabbix da validade da assinatura da zona pt que usa o zabbix trapper Figura 29 Ecr de configura o do Item para monitoriza o da assinatura da zona PT 4 5 3 Monitoriza o do Disco das M quinas 2 O disco r gido um recurso precioso para o bom funcionamento de qualquer servidor Para saber o seu estado descobriu se que o sistema operativo Linux disponibiliza um ficheiro diskstats que re ne os tempos que os v rios tipos de opera es de disco est o a demorar Esta informa o permite saber por exemplo o 76 tempo que o disco est a executar leituras escritas ou em 1 O tempo que se passou espera que se acedesse ao disco para executar uma opera o Para implementar esta monitoriza o utilizou se uma forma proposta por Dennis Kanbier no seu blog 18 que utiliza o diskstats O conte do do ficheiro filtrado e obten vel atrav s de um conjunto de UserParameter definidos no Template que Dennis criou Na integra o com o Zabbix
61. adines ada Pao pimeliadas 45 422 Configura o dos Trigger as uiniradsis lisa aiii a nina awed can fadada e dos apenas 49 423 Configura o dos Craphs sacveveasseesuscesisedsevacavenansesaveadeenstvonsneegoedeeeseese 50 4 3 Configura o da monitoriza o e alarm stica do SIGA 52 4 3 1 Monitoriza o da JVM Jc seeviesamvesiuess aquosa amalgasassa dias aasndes ade ngdo seuelcas 53 4 3 2 Monitoriza o da base de dados Oracle e MySQL 56 4 3 3 Monitoriza o dos servi os JBOSS e LIFERAY n se 58 4 3 4 Monitoriza o dos Web Services SIGA eesccceesseceesceeeeeeeeeteeeesneees 60 4 4 Monitoriza o de outros Servi os Web da Associa o 62 4 4 1 Java MBeans e o Sistema de Monitoriza o 62 4 4 2 Monitoriza o com MBeans Motiva o e Balan o 63 4 4 3 Utilidade do MBeans para monitoriza o dos recursos da Associa o DNS PT 64 4 4 4 Implementa o dos MBeans ii rrrererecerereeereranas 66 4 4 5 Mbeans no plano de monitoriza o 69 4 4 6 Instala o e Configura o e eeererereaa 70 4 5 Estado Atual do Sistema de Monitoriza o 72 ASA Monitoriza o BIND 5 csccistsaccateosseteet on ceatessmecnateaceandarcctaatenctavess 73 45 2 Monitoriza o DNSSEC i GoGo eee ees 75 4 5 3 Monitoriza o do Disco das M quinas 76 4 5 4 Monitoriza o do sistema DSC
62. and maintainer of the domains under the Portuguese Top Level Domain pt manages a service fundamental to the well being of the Portuguese Internet and so has the need for constant monitoring regarding the resources used to assure the availability of said service In this context it is vital that there is a system gathering data in real time to monitor the resources tied to the services that the institution offers and that in the event of concerning values the right alerting mechanisms are triggered The project presents a set of tasks of analysis and criticism to the previous system establishing a starting point for the creation of monitoring and alarming suited to the reality of the Associa o as well as a set of tasks for implementation of an information system with iterations such as research design and evaluation in order to materialize the new monitoring and alarming system always doing the best effort to maintain what was useful and rethink what was obsolete In the first phase from September through December of 2013 research was made to extensively understand what were the problems to address what existed and what needed changing During this time implementation of auxiliary monitoring systems such as the DSC also took place The final phase of this project from January through July of 2014 consisted in three diferent stages planning and design of the new monitoring and alarming system implementation of the new
63. apresentar integra o simples com sistemas de monitoriza o Servi os Saber informa es do desempenho dos servi os em execu o ou saber se podem ser executados Atrav s do PID de um processo por exemplo h muitas possibilidades no que toca a recolher informa o Pode se interagir tamb m com o servi o recolhendo dados para integrar na monitoriza o A monitoriza o segundo esta forma apresenta no entanto uma camada de processamento adicional nos sistemas O facto de se passar para uma plataforma Java acrescenta alguma entropia no pr prio sistema monitorizado e no monitor que tem de usar canais pr prios Java Gateway do Zabbix para contactar remotamente a JVM Deve se portanto refletir nos casos em que se quer aplicar monitoriza o usando MBeans em detrimento de por exemplo SNMP ou agentes pois o processo de obten o desses indicadores via MBeans pode n o apresentar ganhos a qualquer n vel Definiram se alguns crit rios que devem ser seguidos aquando desta decis o J existe forma de obter a informa o em quest o nativamente no monitor J existe m caso s onde se obt m obt m dados segundo esse canal Se sim poss vel obter de uma s vez os dados para todos os itens Se n o mais f cil adicionar novo canal mais f cil configurar um MBean E mais exigente em termos de sistema num todo rede processamento armazenamento usar o novo canal ou permanecer no a
64. ava que envia queries SQL e uma base de dados relacional para se ligar base de dados ORACLE usada na atividade da Associa o DNS PT 25 Plataforma Java JVM Utilizar Java Gateway do Zabbix para se ligar a interface JMX nos servidores de conte dos A Java Gateway mecanismo que a plataforma Zabbix tem para concretizar a liga o aos servidores JMX Servidores de Conte dos Monitorizar liga es de rede e outras m tricas do Sistema Operativo atrav s das funcionalidades oferecidas pelo agente Zabbix A Figura 6 pretende ser um guia na estrutura o da monitoriza o e alarm stica para o sistema SIGA Interface Web Registo dos Eventos Comunica o Monitoriza o de servi os para controlo secund rios periocidade reduzida ou que usem muitos recursos Gest o Monitor m MAIN Monitorizagdodo m f Zabbix Agent estado do servi o Monitoriza o Monitoriza o Alarm stica do estado da do estado do m quina servi o a G E Mail Ticket SMS Base de Dados mj Tomcat Liferay JBoss Figura 6 Desenho do sistema de monitoriza o para sistema SIGA 26 Todos estes esbo os dos sistemas representam uma abordagem inicial ao desenho do sistema final Servem de guia para implementar uma l gica e como tal est o suscet veis a altera es que se julguem necess rias 3 6 Planeamento da Implementa o Para preparar todo o processo de impl
65. bdom nios mais espec ficos facilitando o acesso ao tipo de informa o pretendida A figura abaixo mostra o monitor que usado no escrit rio da Associa o DNS PT com v rios gr ficos em tempo real para consulta dos estados dos v rios sistemas monitorizados 2 4 DSC Monitoriza o dos Servidores de Nomes Uma vez finalizado o processo de conhecimento e ambienta o ao sistema de monitoriza o e alarm stica da Associa o DNS PT passou se fase de investiga o com o objetivo de solucionar os problemas do atual sistema Como primeiro projeto a tarefa foi implementar o sistema de monitoriza o de servidores de nomes DSC DNS Statistics Collector do DNS OARC DNS Operations Analysis and Research Center 7 para se obter uma outra perspetiva de monitoriza o de servidores de nomes diferente daquela que o Zabbix fornece Por ser um software criado com o nico prop sito de monitorizar o DNS o DSC oferece dados para monitorizar o tr fego DNS nos servidores de nomes Este software que atualmente est vigente em todos os servidores de nomes geridos pela Associa o DNS PT est dividido em duas componentes um coletor de dados collector e um apresentador de dados presenter 2 4 1 Estrutura e Funcionamento do Collector O collector respons vel por obter os dados do servidor de nomes em que est a correr capturando e guardando os pacotes de rede usando o lib pcap uma biblioteca de fun es que pe
66. bix usa Toda a informa o bem como a gest o do sistema de monitoriza o est presente na interface Web do Zabbix facilitando a leitura e utiliza o do sistema de monitoriza o 3 5 2 Sistema SIGA O sistema SIGA assume um n vel de complexidade superior ao dos servidores de nomes O SIGA composto por um conjunto de servi os distribuidos que necessitam de ser monitorizados heterogeneamente Por exemplo a monitoriza o dos Web Services requer uma tecnologia e abordagem diferente da monitoriza o do estado de um servi o ou da monitoriza o de uma JVM Estas diferen as potenciam a utiliza o de diferentes t cnicas e tecnologias para obten o de informa o como a utiliza o da tecnologia JMX para obten o informa o da JVM ou mesmo para configura o de MBeans ou a utiliza o de bibliotecas para comunica o com as bases de dados quer seja Oracle quer seja MySQL como o ORABIX ou DBforBIX ou mesmo apenas utilizando o agente Zabbix para recolher os dados de monitoriza o Todas estas metodologias necessitam de ser configuradas e ajustadas para obter o melhor rendimento poss vel para a o sistema de monitoriza o Assim definiram se a priori algumas tecnologias a usar para monitoriza o dos diferentes servi os Bases de dados ORABIX ou equivalente DBforBIX Utilizar comunica o via JDBC Java Database Connectivity que um driver que permite a liga o entre uma plataforma J
67. board da Comunidade Zabbix https www zabbix com forum showthread php t 19258 consultado a 1 de Janeiro de 2015 21 Documenta o da tecnologia JAX RS http docs oracle com javaee 6 tutorial doc gijqy html consultado a 1 de Janeiro de 2015 22 Tutorial PHP http www w3schools com php consultado a 1 de Janeiro de 2015 120 23 P gina oficial da Zabbix API https www zabbix com documentation 2 2 manual api consultado a 1 de Janeiro de 2015 24 P gina oficial da framework AngularJS https angularjs org consultado a 1 de Janeiro de 2015 25 P gina oficial da framework Bootstrap http getbootstrap com consultado a 1 de Janeiro de 2015 26 Turtorial AJAX http www w3schools com ajax default asp consultado a 1 de Janeiro de 2015 27 P gina oficial da API PHP http zabbixapi confirm ch consultado a 1 de Janeiro de 2015 121 122 Anexos 123 ps 009 gt ae ow EN EEN Dow e e ojintuu esa ede e S PIAA opelojutad 104 anb eoipu anb Jojen oa wn e JOJajJU 9 ORSS S ep epia ap odw O apo ap sowsiuedaw BIA JOpIM S O29 Je e U09 aAIssod a ogu Jopessa00 d op e3423 y OpedIUIaJ 10 SOU O JAAISSBIeU PISO JSOY O oednaaxa w sossa00ud SOpeIseWaq NN NN epa Doo pow TT mo w TT Ojeda pod Dow VN ojauewy pod USS BIA JOPIAIaS O99 Jepejuoo JaAIssod 9 ogu Oped j POW 10 HS
68. camente e cujo funcionamento descrito de seguida 2 4 2 Estrutura e Funcionamento do Presenter A m quina presenter ao contr rio da m quina collector n o tem um programa a correr constantemente pois funciona base de scripts na linguagem de programa o Perl dos quais o CGI usado para apresentar no browser a p gina interativa das estat sticas que trabalham os dados de forma peri dica 7 O objectivo transformar os dados que chegam em XML em gr ficos que demonstram a utiliza o dos servidores de nomes A compreens o do esquema cliente servidor que est subjacente comunica o collector presenter conseguida atrav s de encadeamento de diretorias que t m um significado pr prio para a aplica o no collector cada diretoria de presenter indica para onde o collector ir enviar os seus dados enquanto no presenter se tem o oposto uma diretoria por cada collector de onde se recebem os dados O presenter semelhan a do collector tem uma estrutura bem definida de diretorias para que consiga compreender de onde v m os dados nomeadamente de que m quinas v m os dados num esquema semelhante ao collector em estrutura mas com as seguintes diferen as Existe a diretoria data em vez de run onde se encontram os dados vindos de outros collectors Dentro desta diretoria encontra se a diretoria com o nome do grupo de collectors e nesta que se definem de que collectors se recebem dados Para c
69. ccTLD country code Top Level Domain CGI Computed Generated Imagery DB DataBase DNS OARC Domain Name System Operations Analysis and Research Center DNS Domain Name System gTLD generic Top Level Domain HTML HyperText Markup Language IANA Internet Assigned Numbers Authority IP Internet Protocol address IPMI Intelligent Platform Management Interface API Application Interface Programming CPU Central Processing Unit CSS Cascade Style Sheet DNSSEC Domain Name System Security Extensions DOM Document Object Model DSC DNS Statistics Collector HTTP HyperText Transfer Protocol ICMP Internet Control Message Protocol ID Identifier Identificador IPv4 Internet Protocol version 4 address IPv6 Internet Protocol version 6 address 117 Java SE Java Standard Edition JAX RS Java API for RESTful Web Services MB Mega Bytes ODBC Open DataBase Connectivity PHP PHP Hypertext Processor RPC Remote Procedure Call SIGA Sistema de Informa o e Gest o Administrativa SMS Short Message System SNMP Simple Network Management Protocol SOA Start of Authority TCP Transmission Control Protocol UDP User Datagram Protocol URI Uniform Resource Identifier XML eXtensible Markup Language JPEG Joint Photographic Experts Group Formato Ficheiro de Imagem JSON JavaScript Object Notation JVM Java Virtual Machine OTRS Open source Ticket R
70. com a calendariza o e depend ncias das tarefas Task Name Duration Start Finish Pre 1 Projecto Monitoriza o 196 days Mon 16 09 13 Mon 16 06 14 2 Inser o no ambiente de trabalho 6 days Mon 16 09 13 Mon 23 09 13 3 Reuni o de arranque 1 day Mon 16 09 13 Mon 16 09 13 4 Apresenta o equipa 2 days Tue 17 09 13 Wed 18 09 13 3 5 Apresenta o dos recursos instala es 3 days Thu 19 09 13 Mon 23 09 13 4 e servi os da organiza o 6 An lise e especifica o da solu o 66 days Tue 24 09 13 Tue 24 12 13 5 7 An lise prospectiva 15 days Tue 24 09 13 Mon 14 10 13 5 8 An lise prospectiva 2 days Tue 24 09 13 Wed 25 09 13 5 9 Levantamento de requisitos 13 days Thu 26 09 13 Mon 14 10 13 8 10 An lise funcional 17 days Tue 15 10 13 Wed 06 11 13 9 11 Defini o de Objectivos 5 days Tue 15 10 13 Mon 21 10 13 9 12 Defini o de itens de monitoriza o 10 days Tue 22 10 13 Mon 04 11 13 11 ieee oa manigas de 2days Tue 05 11 13 Wed 06 11 13 12 14 An lise n o funcional 6 days Thu 07 11 13 Thu 14 11 13 13 15 Defini o de Objectivos 3 days Thu 07 11 13 Mon 11 11 13 13 Mos waal ee 1 day Tue 12 11 13 Tue 12 11 13 15 O seeds Ta 1 day Wed 13 11 13 Wed 13 11 13 16 18 Reuni o de controlo de projecto 1 day Thu 14 11 13 Thu 14 11 13 17 19 An lise t cnica da solu o 18 days Fri 15 11 13 Tue 10 12 13 18 20 Arquitectura 5 days Fri 15 11 13 Thu 21 11 13 18 Pe aaa Get menitoriza o nos 9days Fri 22 11 13 Wed
71. da JVM e que ja vinham no Template e definir se uma nova abordagem usando Custom MBeans conforme explicado no Cap tulo 4 sec o 4 3 No caso das bases de dados decidiu se refazer todo o processo de obten o de dados Como o sistema usado ORABBIX ficou obsoleto com o lan amento do sistema DBforBIX do mesmo criador do ORABBIX decidiu se usar o DBforBIX n o sendo o ORABBIX transit vel para o novo sistema de monitoriza o Relativamente aos Web Services que eram monitorizados via Zabbix Web Items a sua utiliza o foi questionada Embora a forma existente fosse usada eficientemente na monitoriza o dos Web Services a descoberta das capacidades do JMX e dos Custom MBeans levantou algumas ideias para monitorizar os Web Services Decidiu se manter a monitoriza o dos Web Services da forma existente via Web Items e desenvolver uma forma adicional de monitoriza o atrav s da interface JMX Por fim quanto utiliza o das m quinas que suportam o SIGA verificou se que a forma como era j feita a monitoriza o usando o agente Zabbix para remotamente verificar o estados das m quinas era apropriada pelo que n o se viu obst culos em migrar integralmente a forma de obten o para o novo sistema de monitoriza o 3 4 3 Monitoriza o dos Hosts Os Hosts j estavam num estado mais aceit vel no que toca situa o do antigo sistema de monitoriza o Por serem usados os Templates do Zabbix para obt
72. damente a n vel das periocidades Durante algum tempo manteve se um di rio de bordo para as altera es que foram sendo feitas de acordo com o que a Figura 27 ilustra Triggers Desativados 30 05 2014 Desativados 29 05 2014 Alterados 30 05 2014 Template JMX Generic Template ORACLE gg Concurrent Mark Sweep in fire fighting mode on HOST NAME PGA Alarm on HOSTNAME Ec Mark Sweep Compact in fire fighting mode on HOST NAME gG PS Mark Sweep in fire fighting mode on HOST NAME Severity gt Warning mem Heap Memory fully committed on HOST NAME Motivo mem Non Heap Memory fully committed on HOST NAME R k mp CMS Old Gen fully committed on HOST NAME QOPGA s afetado durante dois per odos do dia imp CMS Perm Gen fully committed on HOST NAME Backups madrugada mp Code Cache fully committed on HOST NAME mp Perm Gen fully committed on HOST NAME Acesso intensivo BD in cio do dia mg PS Old Gen fully committed on HOST NAME 1 OMGE mp PS Perm Gen fully committed on HOST NAME mg Tenured Gen fully committed on HOST NAME Alive HOST NAME De Template App Oracle DBforBIX Oracle alive lastio 1 Para Template Ann Oracle DBforBIx Oracle alive lastl3 2 Motivo Motivo N o s o tidos como indicadores de perigo Template IMAP O aumento do n mero de tentativas antes de alarmar para a impossibilidade IMAP service is down on HOST NAME de se ligar BD diminui a sensibilidade e os falsos p
73. dos MySQL a monitoriza o recai nos Items definidos por defeito pela aplica o DBforBIX uma vez que a base de dados MySQL n o tem o mesmo n vel de import ncia que as bases de dados Oracle A alarm stica que vem por 56 defeito com os Templates da aplica o DBforBIX para esta base de dados tamb m foi a usada importante salientar que a monitoriza o das bases de dados quer Oracle quer MySQL ainda n o foi revista e analisada cuidadosamente Isto deve se ao facto de pretender que esta an lise seja feita por um administrador de bases de dados que tem os conhecimentos e compet ncias para discernir o que deve e n o deve ser monitorizado e s depois configurar a monitoriza o e alarm stica de acordo com o seu feedback Monitoriza o Existente antiga ORACLE Alive Archivelog Audit CPU Util CPU Util Classic Idle CPU Util Classic System DB Block Gets DB Consistent Gets DB Files Size DB Hit Ratio DB Physical Reads DB Size DB Version FRA Size FRA Used Free memory Hit ratio BODY Hit ratio SQLAREA Hit ratio TABLE PROCEDURE Hit ratio TRIGGER LI O Block Change LI O Consinstent Read LI O Current Read Locks Manter V E E Max Sessions Miss Latch OrabbixVersion PGA PGA Aggregate target PHI O Datafile Reads PHI O Datafile Writes PHI O Redo Writes Pin hit ratio BODY Pin hit ratio SQLAREA Pin hit ratio TABLE PROCEDURE Pin hit ratio TRI
74. dos Websites usando aplica es externas Jenkins e internas Web Items do Zabbix 130
75. dos indicadores e da alarm stica associada a estes intuitiva na utiliza o e vers til naquilo que consegue disponibilizar 5 2 Levantamento de Requisitos O dashboard por defeito da plataforma Zabbix fica aqu m das necessidades da equipa t cnica que lida diariamente com a leitura e interpreta o dos v rios dados que s o disponibilizados pelo sistema de monitoriza o Esta interface foi usada intensivamente n o s o dashboard mas tamb m outras p ginas de gr ficos e tabelas dos indicadores recebidos aquando do sistema antigo de monitoriza o Com o desenho e implementa o de um novo sistema de monitoriza o achou se oportuno para satisfazer as necessidades da equipa t cnica levantarem se alguns requisitos m nimos que a interface deveria ter Deve ser intuitiva Manusear a interface deve ser simples e percet vel N o deve haver ambiguidade de interpreta o nas opera es que a interface apresenta e as opera es que a interface consegue desempenhar devem ser facilmente reconhec veis no mapeamento das mesmas deve ter mnemOnicas que clarifiquem o que cada ac o far Deve ser completa O dashboard deve apresentar a informa o mais relevante seguindo o princ pio do Pareto 19 80 dos dados que se visualizam devem corresponder a 20 de toda a infra estrutura Nesses 20 devem estar os aspetos mais 81 criticos e recorrentes da infra estrutura t cnica aqueles que habitualmente necessita
76. e Bibliotecas Da lista apenas n o se manteve OpenIPMI e libiksemel por n o se ponderar o uso de IPMI tecnologia de gest o de m quinas remotas usando liga o a este sistema em vez de se estabelecer liga o ao Sistema Operativo e por n o se querer utilizar o Jabber servi o de Instant Messaging usado como forma de contacto para alarm stica respetivamente FrontEnd e Java Instalou se tudo conforme os requisitos Foi tamb m necess rio decidir o espa o em disco dispon vel para a m quina Este aspeto toma especial relev ncia se se tiver em conta que sem um planeamento cuidadoso do tamanho inicial do disco rapidamente se pode esgotar o espa o Portanto recorreu se s f rmulas apresentadas na Tabela 4 para estimar o espa o em disco necess rio Par metro F rmula para espa o em disco necess rio em bytes Zabbix Tamanho fixo 10 Megabytes aproximadamente configuration History F rmula dias itens refresh rate 24 3600 bytes itens n de itens dias n de dias que os dados devem persistir refresh rate tempo m dio de refresh dos itens recolhidos bytes n de bytes para guardar um valor dependendo da BD cerca de 50 bytes 29 Trends F rmula dias itens 3600 24 3600 bytes itens n de itens dias n de dias que os dados devem persistir bytes n de bytes para guardar um valor trend dependendo da BD cerca de 128 bytes Events F rmula dias eventos 24 3600 bytes eventos n de
77. e impulsionou a g nese do DNS O DNS aparenta ser um sistema relativamente simples e intuitivo guarda se a informa o para localizar os servi os que s o disponibilizados na Internet e acede se a esse reposit rio para se saber a tradu o do nome para o IP respetivo do recurso em 1 Servidores raiz ou root servers s o servidores que se encontram no topo da hierarquia com endere os IP est ticos que servem de ponto inicial para a pesquisa na hierarquia de nomes 1 causa ou vice versa No entanto uma das premissas do DNS de ser distribu do pelo que a no o reposit rio algo centralizado n o vi vel A permissa da distribui o do DNS leva a que seja necess rio espalhar as informa es deste por v rios servidores servidores de nomes respons veis por traduzir nomes para endere os IP e vice versa e criar uma hierarquia que permita de qualquer ponto da rede obter informa o necess ria para aceder ao recurso que se pretende Esta abordagem leva a que seja necess rio lidar com o problema da colis o de nomes de dom nios que surge quando se assume uma dimens o muito grande para um espa o de nomes finito e onde as mnem nicas podem facilmente repetir se 1 Este esquema hierarquico resolve v rios problemas como por exemplo a tradu o de um endere o IP ou de um nome de dom nio ou a tentativa de ter dom nios iguais ao impor uma camada de gest o na hierarquia Com a introd
78. e mais de 9 meses de trabalho foi o de um projeto produtivo quer para a Associa o DNS PT quer para a minha realiza o pessoal e profissional No final fica um sentimento de objetivo cumprido dentro do que era poss vel fazer de notar que o trabalho feito na Associa o DNS PT n o foi todo no mbito do projeto nem o sistema de monitoriza o ficou fechado aquando do t rmino do projeto No decorrer dos 9 meses de dura o do projeto foi poss vel fazer muito daquilo que se queria fazer mas nem tudo o que foi feito decorreu de acordo com o planeado Em grande parte este cen rio ocorreu devido aos problemas que houve na coordena o entre a equipa t cnica os tempos necess rios para as v rias etapas das concretiza o e de forma geral o tempo que se teve para que o sistema fosse feito medida das necessidades da organiza o Durante a fase inicial do projeto que culminou com a entrega do relat rio preliminar a Associa o DNS PT estava num ponto de viragem na sua hist ria houve uma dr stica mudan a no funcionamento quaotidiano coisa que se refletiu em mudan a de instala es e de v rias mudan as a n vel da operacionaliza o do neg cio Em suma depois de Janeiro de 2014 houve maior stress no seio da Associa o o que levou a que houvesse mais trabalho em curso novos projetos e a n vel geral menos tempo para despender nos v rios trabalhos que decorriam no mbito deste projeto Isso fez com qu
79. e o pouco tempo que a equipa t cnica tinha para auxiliar no projeto diminu sse traduzindo se numa maior carga sobre mim para investigar planear e concretizar todos os aspetos do sistema de monitoriza o Ainda assim sa do o empenho e dedica o dentro do poss vel que a equipa t cnica demonstrou ao ajudar nas tarefas que sem essa ajuda teriam sido imposs veis de concluir Portanto o balan o que se faz ao fim de 9 meses um balan o positivo com obst culos que foram sendo ultrapassados uns mais gil e pacificamente outros mais problem ticos e custosos mas que no final potenciaram aprendizagem e me permitiram 111 crescer enquanto profissional desenvolvendo capacidades de organiza o independ ncia e novas val ncias t cnicas 6 3 Planeamento O planeamento que foi tra ado no in cio do projeto e revisto em Dezembro de 2013 foi parcialmente cumprido Num c mputo geral o planeamento foi cumprido tendo se conseguido terminar o projeto dentro da data prevista cerca de dia 16 de Junho de 2014 com as funcionalidades necess rias desenvolvidas e funcionais No entanto existiram algumas tarefas do projeto que n o foram totalmente cumpridas como as reuni es com a equipa t cnica tendo se muitas vezes ficado s pela discuss o com o orientador Assis Guerreiro e outras tarefas a serem apenas parcialmente cumpridas como a fases de testes e a produ o de manuais e documenta o do sistema Os
80. e passou desde o envio at rece o das informa es e termina se a liga o Este m todo importante para se saber a lat ncia que um utilizador comum pode estar a experienciar Permite em conjunto com o getTRLatencyViaServer saber se o sistema est lento se existem dificuldades a n vel da rede ou se o utilizador tem problemas no seu lado da comunica o getWILatencyViaSocket A semelhan a do que acontece para o avaliador t cnico pretende se saber o tempo m dio que o servi o WhoIs demora a responder a pedidos Com este m todo a medi o feita com base na m quina que trata dos pedidos podendo assim saber a lat ncia na origem A forma como aqui se mede neste caso a lat ncia do servi o Whols simples estabelece se uma liga o via Socket ao porto 43 envia se o dom nio pretendido via Socket e aquando da rece o da resposta calcula se a diferen a de tempo entre rece o e envio do pedido No final de tudo isto termina se a liga o fechando o Socket getWILatencyViaWeb Este m todo para obten o da lat ncia do servi o Whols um pouco diferente do usado para o servi o avaliador t cnico O procedimento de acordo com a seguinte descri o 1 Come a se por se criar um objeto URL que identifica um recurso na Web Este URL vai permitir estabelecer uma liga o HTTP ao servidor do recurso pretendido 2 Abre se a liga o usando o m todo openConnection que executa
81. e requests a chegar ao servidor de nomes Alcan ado com a obten o dos totais de requests que chegam ao servidor de nomes 44 Tipos de queries a chegarem ao servidor de nomes Alcan ado com a obten o dos valores por segundo de queries por dado resource record ao servidor de nomes Tipos de queries a serem feitos pelo servidor de nomes Alcan ado com a obten o dos valores por segundo de queries por dado resource record que o servidor de nomes faz a outros servidores de nomes Tipos de replies a serem dadas s Queries feitas ao servidor de nomes Alcan ado com a obten o dos totais de replies que o servidor de nomes est a enviar como resposta s queries que lhe chegam Quantidade de pedidos por protocolo IPv4 IPv6 Alcan ado com a obten o dos totais de pedidos em IPv4 e IPv6 que o servidor de nomes recebe Para concretizar o que se prop s anteriormente foi necess rio desenvolver uma forma de obter as informa es citadas 4 2 1 Configura o dos Items O sistema antigo de monitoriza o obtinha os dados estat sticos do BIND pelo rndc stats 1 e pela filtragem desses dados procurando apenas aquilo que se pretendia De facto as informa es que esta ferramenta providencia v o muito al m de apenas os tipos de queries feitas ao servidor de nomes parciais e totais por tipo pelo que se achou importante que fosse integrado no sistema Zabbix toda a informa o til que
82. e se ver o conjunto de Items que comp em este Graph e as cores que cada um assume podendo se editar as cores de cada um e escolher se se pretende apresentar o m nimo a m dia ou m ximo que cada Item possa ter para cada medi o apenas aplic vel para Items que tenham mais de uma medi o para cada instante 51 Este conjunto de Items aliados aos Triggers definidos constituem a monitoriza o e alarm stica para os servidores de nomes quanto aplica o BIND 4 3 Configura o da monitoriza o e alarm stica do SIGA O sistema SIGA mais complexo e heterog neo em termos de monitoriza o do que a aplica o BIND devido ao conjunto de sistemas que o constituem e da necessidade de v rias metodologias de monitoriza o para a recolha dos indicadores Do levantamento levado a cabo obtiveram se as seguintes necessidades no que toca monitoriza o do sistema SIGA Estado das JVM Java Virtual Machine nos Hosts aplic veis quanto a Espa o na Heap usado Usando as capacidades da tecnologia JMX obter o espa o utilizado na Heap da JVM Espa o na Heap livre Usando as capacidades da tecnologia JMX obter o espa o livre na Heap da JVM Estado da base de dados ORACLE Recorrendo a liga es base de dados via Driver de liga o ODBC obter estat sticas de performance do motor de base de dados e do estado das tabelas e acessos Estado da base de dados MySQL De forma an log
83. e ser nico no sistema de monitoriza o endere o IP do Host pode ser IPv4 ou IPv6 e o nome DNS do Host A documenta o oficial do sistema Zabbix aconselha que seja usada preferencialmente a liga o por endere o IP mas pode estar definido o endere o IP e o nome DNS Estas duas informa es s o usadas na defini o da interface de comunica o a usar pelo servidor que podem ser as seguintes Interface Zabbix Agent 4 sendo a interface mais utilizada para monitoriza o este modo de comunica o usa o agente que foi instalado nos servidores para recolher indicadores de v rias formas permitindo por exemplo acesso ao servidor para execu o remota de comandos vindos do servidor de monitoriza o ou a defini o de UserParameters Interface SNMP 11 O protocolo SNMP o protocolo por excel ncia para efeitos de monitoriza o N o no entanto dada primazia sua utiliza o devido s 41 variadas capacidades que o agente Zabbix apresenta e do facto de as m quinas utilizadas terem na sua grande maioria um agente Zabbix a correr Ainda assim este protocolo vital para monitoriza o de Hosts que n o possuam agentes Zabbix como por exemplo Routers e outro equipamento que n o tem sistema operativo compat vel com o agente Zabbix Interface JMX 12 A interface JMX utilizada para comunica o entre dois pontos usando tecnologia Java que foi criada exatamente para gest o de variado
84. ec o Anexo Para compreender o panorama de monitoriza o da Associa o DNS PT foi necess rio perceber o que era efetivamente monitorizado que servi os e servidores dispositivos e em que medida os indicadores estavam a ser utilizados para a alarm stica Neste mbito foi feito um levantamento pormenorizado t o completo quanto poss vel dos indicadores e valores marginais para despoletar a alarm stica definida para cada servidor e servi o Na sec o Anexo consta a Tabela II com um excerto do levantamento feito 2 3 A Monitoriza o na Associa o DNS PT A monitoriza o feita utilizando o Zabbix baseia se na leitura dos valores que v o sendo recebidos e na interpreta o dos gr ficos associados A Figura 2 demonstra a utiliza o de um ecr gigante para visualizar a informa o fornecida pelo Zabbix Figura 2 Fotografia do Ecr de Monitoriza o no escrit rio da Associa o DNS PT 14 Existem tr s servidores de monitoriza o cada um espec fico para cada vertente de monitoriza o um servidor que monitoriza os servidores e dispositivos quanto a indicadores de sistema operativo m tricas de desempenho de rede de armazenamento etc um servidor que monitoriza os indicadores de aplica es bases de dados servidores Web servi o de nomes etc e um servidor que agrega esta informa o para a gera o de gr ficos Esta separa o permite dividir o dom nio de monitoriza o em su
85. ede IP como servidores e outros dispositivos monitoriz veis que hospedam servi os e que produzem informa o ou pelo menos permitem o acesso informa o para o sistema de monitoriza o recolher 4 Items S o os indicadores m tricas de utiliza o de certos recursos a recolher Um Item est diretamente relacionado com a monitoriza o de um certo recurso numa m quina ou num conjunto delas 4 Triggers a concilia o entre a monitoriza o e a alarm stica Um Trigger associa indicadores Items com valores marginais para o qual se pretende realizar uma altera o de estado de monitoriza o de um recurso caso o valor marginal n o seja atingido caso seja igualado ou caso seja ultrapassado Um Trigger o despoletar da a o prim ria de alarm stica ao fornecer informa o de alarme sobre o estado de certo recurso 4 Actions As a es ou Actions s o a outra componente informativa da alarm stica do Zabbix e comportam grande parte da alarm stica do sistema vigente Cada a o associa um ou v rios Triggers a um procedimento 4 Esse procedimento pode ser meramente informativo um e mail um SMS um ticket ou pode ser reativo realizando alguma a o para lidar com a ocorr ncia que despoletou o alarme desligar ou ligar um sistema bloquear ou desbloquear recursos entre outros 2 2 Zabbix no contexto da Associa o DNS PT As configura es Zabbix padr o v o desde a monitori
86. egrassem bem com o sistema Zabbix na vers o utilizada A procura n o foi frut fera a grande parte das aplica es encontradas limitavam se a mudar os tipos de pain is que s o apresentados no dashboard como a interface da Figura 34 que apenas apresentava mais informa o nos pain is do dashboard Embora mais teis que os que s o disponibilizados pela pr pria plataforma Zabbix apenas apresentavam uma melhor organiza o e possibilidade de configurar que indicadores apareceriam em cada painel ou simplesmente uma expans o da informa o que na vers o original estava acess vel apenas depois de passar com o cursor sobre pain is Se bem que esta vers o seria mais til equipa t cnica do que a vers o usada se apresentava faltava uma componente importante poder integrar os gr ficos com os alarmes que v o sendo gerados medida que os dados de monitoriza o v o sendo analisados Esta componente gr fica assume especial import ncia pois mais f cil analisar um gr fico no ecr do que conjuntos de dados em tabelas Al m dos alertas sobre aquilo que est a acontecer tamb m til que haja apresenta o da evolu o do estado de certos sistemas para poder haver proatividade na a o preventiva de incidentes Discovery IT services Figura 34 Exemplo de um Dashboard customizado apresentado pela comunidade 20 85 Ap s concluir que a comunidade n o apresentava op es vi veis para implementar
87. eguido utilizando por parte do Zabbix as funcionalidades de verifica o de conte do Web os Web Items que assenta num outro sistema que disponibiliza os dados para a monitoriza o o Jenkins 6 O Jenkins n o s por si uma ferramenta de monitoriza o mas sim uma fonte de indicadores que alimenta a monitoriza o Esta ferramenta atua como um escalonador de jobs a es que se devem executar com uma certa periocidade executando um URL um recurso Web que traduz uma funcionalidade do servi o e devolvendo o seu valor de retorno guardando um hist rico de execu o de jobs 6 A conjuga o Web Items Jenkins permite monitoriza o da coer ncia das funcionalidades de um Web Service ao verificar se o valor de retorno dessas funcionalidades est de acordo com o esperado 13 Para integrar com o servidor Zabbix o Jenkins fornece os indicadores a monitorizar para que estes sejam filtrados por um c digo de retorno por exemplo um c digo HTTP 200 OK ou um valor pr prio do Web Service como SUCCESS No entanto a monitoriza o externa dos conte dos Web est a cargo do Pingdom servi o externo Associa o DNS PT que monitoriza as respostas HTTP que se recebem aquando do acesso ao Website www dns pt Caso o retorno HTTP esteja fora dos valores esperados esta ferramenta ativa os mecanismos de alarm stica via SMS O esquema de funcionamento dos Web Items est explicado na Figura V da s
88. eja alguns Items t m no nome 1 por exemplo Ap s v rias tentativas de for ar a resolu o das vari veis ou expandi las n o foi poss vel faze lo sendo mais um problema a ser abordado no futuro dado o impacto que causa boa utiliza o do sistema Por fim tem se tal como na p gina Home em rodap um rel gio com a data e hora Al Hosts search eson Host ns3 dns pt Network Graphs CPU Graphs xvda2 Graphs Disk space Graphs tea A ana pe Diak apace wage 7 Host Information General Information Detected Problems lastcheck 11 35 13am Latest Item Values Item History IP 93 137 196 20 DNS Name ns3 dns pt Problem Received Action m from the list Choose an tem from the list No Problems Operating System Host name of zabbix_agentd running pst name of zabbix_agentd running Figura 43 Vers o final da p gina Host no fim da primeira itera o de desenvolvimento 102 5 7 4 Pagina de Acknowledge A quarta p gina da interface diz respeito fun o de acknowledge ou tomada de conhecimento de um problema Acess vel atrav s do bot o Ack existente por cada problema listado nas caixas de alarm stica a funcionalidade concretizada numa p gina unicamente para o efeito Esta p gina permite enviar para o sistema de monitoriza o a mensagem de tomada de conhecimento do problema em quest o tendo assim a capacidade de causar altera es no sistema de monitoriza o ao inv s de apena
89. emas e Servi os sessssssesssesssssrsssrssee 19 3 3 Levantamento de REQUISItOS s 3 25 cecsscajcundeids ives cadeia gabi ats bandasedueasdcccssdoncdes 20 3 4 Avalia o do Sistema Existente 0 eee eececesncecssececeeececseeeeceseeeesteeeesaes 21 3 4 1 Monitoriza o do sistema DNS e ce eeeeeeeeececeeeeeceeececeeeeeenteeeenaeees 21 3 4 2 Monitoriza o do sistema SIGA 00 eee eee eeeeeeeceeeeeeeceeeeeeeeeeeceeeeenaeees 22 3 4 3 Monitoriza o dos Hosts 0 ec eesecesscecssececesececsecceceseeecseeeeesteeeesaeees 22 DAM NCTOOIO oxseauctee tens eaciaadatest teases O sae nates RR ER 23 So o Desenho do Sistema ans ques road Adam i a 23 3 5 1 Servidores de Nomes BIND rrenan 24 3 52 Sistema SIGA eniin iie E A pe e a aai 25 3 6 Planeamento da Implementa o ee ce eeeescceessececseececeeececeseeeeseeeeesaes 27 3 6 1 Levantamento de Requisitos para o ServidOF eecceeeeeceeeseeeeeees 27 So T st la o do Sistema senenin a E TE 32 3 8 Configura o das M quinas a Monitorizar sseesseeesssesserssessseeeessressee 38 Cap tulo 4 Concretiza o do Novo Sistema de Monitoriza o 41 4 1 Configura o dos Hosts vases cscccavsynnssenetnansaengierearnsedescs uadaven tees saveatonaneceees 41 4 2 Configura o da monitoriza o e alarm stica do BIND 44 4 2 1 Configura o dos Merss Ges esis Goes ds ques Fara dado atas Sam
90. ementa o do novo sistema de monitoriza o foi necess rio planear cuidadosamente v rias etapas para dividir os v rios processos que estariam envolvidos Assim definiram se as seguintes etapas Levantamento de requisitos para o servidor Instala o da m quina servidor Instala o do sistema de Monitoriza o Zabbix Configura o do sistema Estas quatro etapas ditam o processo de instala o e configura o do servidor do sistema de monitoriza o Passa se agora a explicar o que se espera de cada etapa 3 6 1 Levantamento de Requisitos para o Servidor Nesta etapa adquire se conhecimento de todas as tecnologias que s o necess rias para a instala o do sistema de monitoriza o Zabbix De acordo com os requisitos que podem ser encontrados na p gina Web do software Zabbix o servidor necessita de Sistema Operativo Linux Mac OS X IBM AIX Solaris FreeBSD Windows 2000 Server 2003 XP NetBSD Vista Server 2008 7 8 Server 2012 Zabbix agent apenas OpenBSD HP UX As Tabelas 2 e 3 apresentam os requisitos de software para a instala o do servidor Zabbix 27 Base de dados do Servidor de Monitoriza o Software Vers o Considera es MySQL 5 0 3 ou superior Se for usado para a base de dados do backend necess rio InnoDB engine Oracle 10g ou superior N A PostgreSQL 8 1 ou superior A vers o sugerida para esta base de dados pelo menos PostgreSQL 8 3 devid
91. ente como um servi o no Sistema Operativo para que se possa rapidamente parar e reinici lo A configura o do agente simples sendo necess rio fazer algumas mudan as no ficheiro de configura o 9 em rela o ao que j vem por defeito As altera es a fazer s o EnableRemoteCommands 1 em vez de O Permite que se possam executar remotamente comandos na m quina Especialmente til caso se queira configurar algum Item que dependa do resultado de um comando preciso especial aten o ao dar esta habilidade ao agente pois fica se vulner vel a executar comandos que podem potencialmente corromper a m quina em quest o Server lt IP do servidor de monitoriza o gt Necess rio para saber de quem deve aceitar liga es e pedidos por informa o Hostname lt nome da m quina no sistema de monitoriza o gt Esta defini o cr tica para o funcionamento do sistema Quando o Host criado no Zabbix o nome tem de coincidir exatamente com o nome indicado no ficheiro de configura o caso contr rio o servidor n o reconhece o Host Existe ainda mais uma configura o a fazer talvez a mais importante em termos de utilidade para o sistema de monitoriza o que o UserParameter 10 O UserParameter que pode ser traduzido como Par metro de Utilizador um dos aspetos que torna o agente Zabbix t o vers til e completo pois permite que se definam de forma totalmente livre Items que podem s
92. equest System PNG Portable Network Graphics RTT Round Trip Time SOAP Simple Object Access Protocol SQL Structured Query Language SSH Secure SHell SSL Secure Socket Layer TLD Top Level Domain URL Uniform Resource Locator 118 Bibliografia 1 ALBITZ Paul amp LIU Cricket DNS and BIND 4 Edi o O Reilly Abril de 2001 2 VERNA Dinesh Chandra Principles of Computer Systems and Network Management 1 Edi o Springer 2009 3 Funcionalidades do sistema Zabbix http www zabbix com functionality php consultado a 1 de Janeiro de 2015 4 Manual do Zabbix Vers o 2 2 https www zabbix com documentation 2 2 manual consultado a 1 de Janeiro de 2015 5 Documenta o relativa ao ORABBIX http www smartmarmot com wiki index php Orabbix consultado a 1 de Janeiro de 2015 6 Funcionamento do software Jenkins http en wikipedia org wiki Jenkins software consultado a 1 de Janeiro de 2015 7 Documenta o do DNS Statistics Collector http dns measurement factory com tools dsc documentation html consultado a de Janeiro de 2015 8 Referencias para instala o do Sistema Zabbix https www zabbix com documentation 2 2 manual installation requirements consultado a 1 de Janeiro de 2015 9 Configura o do agente Zabbix https www zabbix com documentation 2 2 manual appendix config zabbix_agentd consultado a 1 de Janeir
93. er invocados remotamente e que retornam resultados dependendo da script que foi definida para tal O seu raio de a o vai desde a simples invoca o de um comando e retorno do valor resultante at execu o de scripts que aceitam par metros e que podem at gerar altera es no pr prio sistema A capacidade do UserParameter para todos efeitos limitada pelo pr prio limite daquilo que se consegue fazer usando scripts e pela quantidade m xima de dados que podem ser retornados numa execu o 512 KB 10 Para configurar um UserParameter necess rio aceder ao agente na m quina em que se pretende recolher algum dado espec fico e adicionar no ficheiro de configura o do agente ficheiro zabbix agentd conf a keyword UserParameter 10 Para definir um novo UserParameter apenas se necessita de duas informa es a chave que indica o 39 nome do UserParameter e que tem de ser nica no conjunto de UserParameters para o agente em que se est a configurar e o comando a ser invocado que fornece o output do UserParameter Seguem se alguns exemplos de UserParameter um sem argumentos e outro com argumentos UerParameter exemple custom helloworld echo Hello World UerParameter exemple custom echo echo 1 O primeiro exemplo um UserParameter simples que apenas executa o comando echo para devolver uma string J o segundo exemplo um pouco mais complexo utilizando par metros para passar ao comand
94. er os dados de monitoriza o de CPU dos processos a correr na m quina dos checksums dos ficheiros de configura o mais importantes por exemplo o etc passwd n o aparentava haver problema em migrar integralmente No entanto descobriu se que apenas os Templates por defeito n o tinham capacidade de satisfazer as necessidades 22 requeridas por exemplo n o haviam dados para estat sticas de utiliza o do disco apenas o estado da ocupa o do mesmo Ficou ent o decidido que se integraria uma forma de obter estas estat sticas no novo sistema de monitoriza o Quanto s estat sticas de rede estas eram obtidas atrav s do agente Zabbix que invoca na pr pria m quina o programa que apresenta os dados de utiliza o da interface de rede comando ps da Shell de Linux Por ser a forma mais til e simples decidiu se manter e migrar para o novo sistema 3 4 4 Veredito Depois de avaliado o que havia a manter e o que seria implementado na fase de passagem do sistema antigo para o novo chegou se seguinte conclus o Monitoriza o a manter Toda a monitoriza o de Hosts Web Items Monitoriza o do servi o de DNS Monitoriza o a rever Monitoriza o da JVM Monitoriza o das bases de dados Monitoriza o a implementar Novas formas de monitorizar Web Services com JMX 3 5 Desenho do Sistema Depois do processo de levantamento de servi os servidores e da monitoriza o associada foi necess
95. ersa a pads Rugs a Figura 43 Vers o final da p gina Host no fim da primeira itera o de desenvolvimento rs cones pes e T Ea ssa senso Figura 44 Vers o final da p gina Acknowledge no fim da primeira itera o de desenvolvimento srren News nuas E ani E asa Viu ada acao Si Sieg ans Figura 45 P gina de Web Items com os gr ficos e alarm stica no final da segunda itera o de desenvolvimento ccc ecee ence ence eee eeeaeeneeeeaeeeas Figura 46 Pagina Home com a lista do Hosts e os badges associados conforme implementado na segunda itera o de desenvolvimento eeeeee eee es Figura 47 P gina Home com os novos controlos de navega o conforme implementado na segunda itera o de desenvolvimento Figura 48 P gina de Name Servers e menu Custom Items conforme implementado na segunda itera o de desenvolvimento Figura I Esquema de monitoriza o do BIND em Name Servers dista Figura II Esquema de Monitoriza o dos Tempos de R spon dos Nai DEVET uns a o don abra Non ci A a rat gt E E bans Figura II Esquema do Funcionamento do NETSTAT baseado em Zabbix Agents a E Figura IV Enema de Purcionaiiiente da Monnot das as de dados usando ORABBIX ente amena par pri ti en piss AED Figura V Esquema do Funcionamento da Monitoriza o dos Websites usando aplica es externas Jenkins e internas Web Items do Zabbix
96. esde o in cio do desenvolvimento do dashboard que se questionou se este seria apenas uma p gina com informa o de monitoriza o e alarm stica condensada ou teria a capacidade de se navegar por p ginas para obter mais informa o Concretamente foi preciso decidir que a nova interface seria apenas uma p gina com alguns dados de monitoriza o e alarm stica semelhan a do dashboard Zabbix ou se se pretendia uma interface mais completa que condensasse num s lugar as capacidades da interface Web do Zabbix O grande problema em ter apenas o dashboard para condensar alguma informa o seria a necessidade de aceder interface Zabbix sempre que se quisesse saber algo para al m dos problemas e gr ficos disponibilizados como por exemplo aceder a dados hist ricos para os v rios sistemas e servi os dar conhecimento de um problema reportado ou executar alguma a o pr pria do sistema de monitoriza o que s est presente na interface do Zabbix Por outro lado temia se cair na tenta o de 93 desenvolver uma nova interface Zabbix tendo tudo o que a outra j tinha o que seria problem tico considerando n o s o tempo e o conhecimento dispon veis para a implementa o mas tamb m a duplica o de informa o e opera es que ocorreria com esta implementa o Considerando os cen rios atr s descritos chegou se a um meio termo naquilo que o novo dashboard seria capaz de fazer Definiram se alguns cen ri
97. est a devolver relativamente aos pedidos que est o a chegar bind request ipv4 ipv6 Este indicador permite obter o total de pedidos feitos ao servidor em IPv4 e IPv6 respetivamente Com esta implementa o faltava apenas configurar na interface Web do Zabbix como recolher estas informa es No sistema de monitoriza o criou se o seguinte standard para definir a monitoriza o de um sistema ou servi o primeiro cria se um Template 4 para o efeito onde se definem os indicadores a recolher atrav s das chaves que identificam o dado a obter a alarm stica a associar e ainda os gr ficos com a representa o dos dados obtidos Desta forma a configura o da monitoriza o e alarm stica fica abstra da da concretiza o podendo se adicionar e remover Hosts facilmente pois uma vez aplicado um Template a um Host este herda todos os Items Triggers e Graphs que o Template define Configura o na interface Web O primeiro passo ent o criar o Template de nome Template App BIND service Figura 13 O nome escolhido segue uma conven o que se definiu para os nomes dos Templates que deve come ar com Template seguindo se o tipo do alvo monitorizado que neste caso uma aplica o Depois disto segue se o nome do servi o BIND ZABBIX am i Figura 13 Ecr de cria o de um Template 47 No conjunto de Hosts a associar indicam se a que Hosts este Template sera aplicado
98. estrutura t cnica que se pretende monitorizar de acordo com o que est presente na Tabela II da sec o Anexo 19 3 3 Levantamento de Requisitos Para fazer uma avalia o competente e pertinente foi fulcral saber o que se pretendia obter de um sistema de monitoriza o e alarm stica e s depois julgar o sistema existente Para tal foram feitos variados levantamentos de informa es para conhecer todas as facetas que um sistema deste tipo apresenta Come ou se por fazer uma listagem compreensiva dos Items que existiam dos sistemas e servi os que eram monitorizados e da estrutura do pr prio sistema de monitoriza o Quanto lista de de Items obtiveram se conforme apresentado em Anexo na Tabela II todos os que eram usados na monitoriza o e alarm stica ficando a conhecer se o que poderia ser mudado e o que estaria apto para transitar para o novo sistema Para conhecer a estrutura da monitoriza o e compreender os seus processos elaboram se esquemas presentes em Anexo nas Figuras I a V que visam o conhecimento dos fluxos e t cnicas de obten o de informa o de monitoriza o e alarm stica Por fim identificaram se as formas existentes para obter informa o dos Hosts configurados no sistema de monitoriza o O protocolo SNMP e o pr prio agente de comunica o Zabbix ambos explicados no Cap tulo 4 sec o 4 1 foram as duas principais formas de estabelecer canais de fluxo de informa
99. ete cancel Figura 11 Ecr de cria o de um Host Esta configura o das mais importantes no que diz respeito s bases do sistema de monitoriza o sendo a outra a defini o dos Items Uma vez configurados os Hosts se tudo tiver corrido bem o ecr com a listagem de Hosts dever aparecer conforme a Figura 12 ZABBIX Monitoring Inventory Reports Configuration Help Get support Print Profile Debug Logout Administration Maintenance Actions Screens Sde shows Host groups Templates Maps Discovery IT services History Status of Web monitoring Latest data Status of Web monitoring Latest data Configuration of hosts CONFIGURATION OF HOSTS Create host Import Hosts Group all Displaying 1 to 30 of 30 found Name jike DNS ike IP like Port Name Applications Items Triggers Graphs Discovery Web Interface Templates Status Availability B 14 Items 128 Trggers 40 Graphs 27 Discovery 2 Web 0 10 0 4 1 10050 aS Template OS Linux Template App Zabbix Moston BooD pido orv dns ot Anoications 14 Items 127 Triggers 37 Graphs 28 Discovery 2 Web 0 10 0 4 2 10050 mike Oe Montoed W0 pido7 prv dns ot Applications 12 Items 52 Triggers 21 Graphs 11 Discovery 2 Web 0 10 0 5 47 10050 Template OS Linux Template App Zabbix Agent Nome SAOD dev zabbuchidotorvdospt Apoications 13 Items 53 Triggers 24 Graphs 10 Discovery 3 Web 0 10 0
100. eventos por segundo Um 1 evento por segundo na pior das hip teses dias n de dias que os dados devem persistir bytes n de bytes para guardar um valor trend dependendo da BD cerca de 130 bytes Tabela 4 Tabela para estima o do espa o em disco necess rio para o servidor 8 De acordo com a tabela de refer ncia Tabela 4 estima se que o espa o em disco seja o seguinte Dias para a History cerca de uma semana 7 dias necess rio para se terem os valores exatamente como foram recolhidos Para Trends e Events ser suficiente guardar se durante cerca de um ano 365 dias Itens para calcular este valor usou se uma abordagem por compara o com aguilo que o sistema antigo tinha Como no anterior sistema de monitoriza o existiam tr s servidores Zabbix dois para monitoriza o espec fica e outro que condensava toda a monitoriza o considerou se que os valores que estes servidores recolhiam estavam obsoletos e ou duplicados pelo que se descartou o valor do servidor que apenas condensava informa o Concluiu se ent o que cerca de 85 daquilo que existia na monitoriza o de Sistema Operativo e na monitoriza o das Aplica es era realmente til chegando ao seguinte valor estimado para o n mero de Items 604 2372 0 85 2529 Refresh Rate Pedidos por Segundo o refresh rate o valor mais dif cil de estimar em muito devido ao tipo de monitoriza o heterog nea que se pretende imple
101. fosse poss vel obter Assim resolveu se criar um novo script para obter o que se queria da ferramenta rndc stats de nome parser sh com o seguinte funcionamento 1 2 3 Executar 0 rndc stats Filtrar os ltimos dados estat sticos por defeito a ferramenta acrescenta ao fim do ficheiro named stats as estat sticas cumulativas para a ltima execu o Percorrer o ficheiro e retirar para ficheiros distintos os v rios grupos de informa o presentes a Cria o dos ficheiros CacheDBRRsets IncomingQueries IncomingRequests NameServerStatistics 45 OutgoingQueries ResolverStatistics SocketlOStatistics ZoneMaintenanceStatistics b Preenchimento dos ficheiros com os dados referentes a cada grupo anteriormente referido 4 Remo o dos ficheiros tempor rios de apoio As capacidades que este script tem face ao que existia anteriormente recaem principalmente na facilidade de obter os diversos dados para monitoriza o de cada categoria Agora para saber quantas queries chegam a um certo servidor de nomes basta aceder ao ficheiro IncomingQueries e procurar pelo resource record pretendido Usando comandos de pesquisa UNIX como o grep pode se rapidamente saber quantas queries pelo resource record SOA foram feitas no total por exemplo Similarmente se se quiser saber quantos pedidos chegaram a um certo servidor de nomes em IPv4 basta aceder ao ficheiro NameServerStatistics e procurar por IPv4 requests rece
102. grar a monitoriza o de mais servi os desta forma pensando se para j num cen rio em que todos os servi os Web da Associa o t m monitoriza o atrav s de MBeans Sendo um plano ambicioso pois s o v rias dezenas planeia se que seja algo a pensar e idealizar durante os restantes seis meses deste ano sendo que a concretiza o pode come ar antes mas dever ficar feita no primeiro trimestre do ano 2015 No entanto apenas um plano que ainda n o foi formalmente definido embora a monitoriza o dos MBeans j tenha dado provas de que til para a monitoriza o destes servi os 114 6 4 3 Interface Dashboard O trabalho futuro aparece como objetivo de m dio a longo prazo para melhorar a interface quer a nivel de front end quer a nivel de back end A n vel de front end embora satisfeito com o produto alcan ado existem algumas melhorias nomeadamente nas p ginas dos Hosts Pondera se uma restrutura o dos conte dos nomeadamente a n vel das caixas com informa es sobre Items que dever o apresentar as informa es acerca destes sem os nomes das vari veis pois dificultam bastante o trabalho de encontrar os Items pretendidos Esta melhoria tamb m implica altera es no back end da p gina pois necess rio encontrar uma forma de obter os nomes das vari veis para depois as apresentar nos nomes dos Items Outra funcionalidade que ficou adiada para futuro desenvolvimento a capacidade
103. heiro PHP que trata dos gr ficos Eventuais problemas que se possam ter com caching das imagens s o resolvidos recorrendo se introdu o de um timestamp em formato Epoch no URL das imagens Para concretizar a atualiza o autom tica dos conte dos recorre se a um script invocado no body da p gina e define um temporizador fun o setlnterval de JavaScript que periodicamente faz o pedido AJAX que atualiza a informa o Zona de Alarm stica Na terceira divis o horizontal de conte dos da p gina encontra se a alarm stica Nesta zona encontram se os avisos para problemas encontrados para certos sistemas como servidores de nomes ou o sistema SIGA Composto por quatro caixas o resumo da alarm stica apresenta as ltimas 3 ocorr ncias de problemas ordenadas por severidade e um ink para as restantes se existirem Nesta caixa Thumbnail na framework Bootstrap existe uma entrada por cada problema com uma cor que traduz a severidade do problema 98 Verde Nao existirem problemas no sistema mostra um texto acerca disso Amarelo Indica se que existe um problema de severidade m dia Apresenta o nome do Trigger despoletado Host que tem problema a data em que esse problema foi criado e um bot o para a a o de Acknowledge Vermelho O problema associado de severidade alta ou muito alta necessitando de aten o imediata Tem a mesma estrutura do aviso amarelo Como n o se quis que a p gina ex
104. ilizador final um cliente de cariz dom stico ou empresarial que n o fornece servi o de resolu o de nomes para outros utilizadores ou seja que o n final da cadeia de resolu o de nomes O ccTLD Portugu s ent o respons vel por oferecer o servi o de resolu o de nomes para identificar o servidor de nomes destes Registrars entidades que contactam diretamente com a Associa o DNS PT e que s o o core de neg cio da institui o importante ter em considera o que alguns Registries tamb m podem ser Registrars no sentido em que podem eles pr prios aceitar o registo de dom nios e 2 delegar os mesmos Os Registrars necessitam ainda de ser acreditados por um Registry para que possam exercer as fun es de delega o e gest o de nomes de dom nios que lhes perten am pelo que se garante que a cadeia de resolu o sempre gerida pelo ccTLD com consci ncia dos intervenientes no processo de resolu o de nomes Os Registrars podem registar dom nios diretamente sob o ccTLD por exemplo lt nome gt pt ou configurar dom nios sob um subdom nio exclusivamente seu como por exemplo lt nome gt lt subdominio gt pt Sumariamente para resolver um nome de dominio em pt um certo cliente tera de percorrer a hierarquia come ando num root server passando para o servidor de nomes pt passando depois pelo servidor de nomes de um Registrar com o endere o IP do servidor que cont m o recurso que se procura
105. in micas para aplica es Web O AngularJS permite estender o vocabul rio HTML para a aplica o Web a ser construida 24 De facto esta framework parecia resolver o problema do dinamismo das p ginas poder se ia ter conte do din mico em HTML implementando apenas a framework AngularJS Contudo e embora todas as virtudes que apresentava a curva de aprendizagem n o foi compat vel com o tempo que se tinha para a implementa o da nova interface Mesmo depois de se conclu rem os tutoriais existiam ainda muitas d vidas de como desenvolver certas funcionalidades com esta framework e devido ao insucesso em desenvolver uma interface usando AngularJS decidiu se deixar esta ideia para o futuro onde se poder repensar a interface usando esta framework A framework Bootstrap 25 uma framework para front end ou seja para a p gina que o cliente visualiza e interage O objetivo do front end apresentar informa o e recolher entradas que o utilizador quer passar para o sistema processando as para depois as usar no desempenho das opera es portanto importante que este front end seja intuitivo e eficiente sem que se prescinda do aspeto gr fico apelativo O Bootstrap permite tudo isto ao apresentar uma framework de CSS e JavaScript que oferece um leque vasto de op es para a interface gr fica em HTML que melhoram a intui o e a clareza das intera es com o sistema oferecendo ao mesmo tempo um grafismo limpo
106. ipamento que serve os v rios objetivos da Associa o Assim apenas natural que o sistema de monitoriza o se tenha de adaptar quando tal acontecer prevendo se a adi o de novas m quinas e possivelmente novas tecnologias para concretizar a monitoriza o dos novos recursos Com isto se as atuais formas de obten o dos indicadores ser o suficientes ainda n o se sabe mas certo que o sistema ter de se adaptar nova realidade e isso poder passar por atualiza es e implementa es de novas tecnologias para se manter atualizada a monitoriza o e a alarm stica Devido ao ponto anterior e ao constante crescimento que se tem verificado para o sistema de monitoriza o pondera se a possibilidade de usar uma das funcionalidades do sistema Zabbix para distribui o de carga o Zabbix Proxy Servindo de ponto interm dio entre o servidor de monitoriza o e os Hosts esta proxy permitir lidar com a crescente carga que o servidor tem vindo a experienciar permitindo aliviar um a sua carga Devido a todas as configura es que ter o de ser feitas quer configura es da aplica o quer configura es a n vel de m quinas para hospedar estas proxies esta funcionalidade ser implementada apenas se 1 O aumento dos recursos de processamento e armazenamento do servidor n o apresentarem melhoria no rendimento 113 2 Houver m quinas para hospedar as proxies O ponto 1 simples de compreender dado
107. ived Com esta funcionalidade abre se um vasto leque de op es sobre aquilo que a dado momento poss vel saber para o funcionamento do BIND Para se ter o valor que se pretende por m tem de ser configurado um UserParameter espec fico em cada servidor de nomes que permite o Zabbix obter remotamente a informa o pretendida Configuraram se um conjunto de Item keys para identificar os recursos a obter de acordo com o seguinte bind incoming query Esta chave que aceita como argumento a abreviatura do resource record pretendido permite ao servidor de monitoriza o obter o valor total de queries por esse resource record que chegaram ao servidor de nomes bind outgoing query An logo ao anterior devolve o total de queries por resource record que o servidor de nomes efetuou bind incoming queryTotal Esta chave define o UserParameter respons vel por devolver o total de todas as queries que chegaram ao servidor de nomes bind outgoing queryTotal Igual ao anterior mas devolve o total de queries que o servidor de nomes efetuou bind incoming requestTotal Devolve o total de requests que chegam ao servidor de nomes Um request identificado pelo opcode podendo ser entre outros uma query um update um notify etc 46 bind reply nxdomain nxrrset successful authoritative nonAuthoritative Esta key define um conjunto de UserParameters para obter os tipos de resposta que o servidor de nomes
108. ix n o contemplava Embora cumpra os requisitos da completude e dinamismo da informa o o facto de ter alguma repeti o da informa o que apresenta e de ser muito orientada intera o com o utilizador achou se que o melhor seria optar por uma interface que apresentasse tudo o que se queria ver mantendo o princ pio do Pareto com um fluxo de a es simples para chegar da vis o macrosc pica do sistema at a um detalhe de um Host Adicionalmente seria imprescind vel que a interface apresentasse sempre a informa o o mais atualizada poss vel sem que para isso fosse necess ria interven o do utilizador utilizando de prefer ncia toda a rea de visualiza o para apresentar a informa o Concluiu se que a interface para o dashboard do novo sistema de monitoriza o seria algo mais adaptado s necessidades espec ficas da equipa t cnica pelo que se teria de optar entre procurar na comunidade de utilizadores da plataforma Zabbix uma interface que assegurasse os requisitos levantados e que fosse compat vel com a vers o da plataforma Zabbix utilizada ou desenvolver uma nova interface medida das necessidades e requisitos levantados 5 5 Levantamento de Dashboards da Comunidade Com base no que se procurava num dashboard procedeu se procura entre a comunidade de utilizadores da plataforma Zabbix de interfaces feitas por utilizadores open source livres para utilizar segundo a permiss o do autor e que int
109. k DISK 1 0 In pri custom vfs dev io active DISK 60 90 365 Zabbix agent 1 O Stats Enabled Disk DISK reads completed custom vfs dev read ops DISK 60 90 365 Zabbix agent 1 0 Stats Enabled Disk DISK sectors read custom vfs dev read sectors DISK 60 90 365 Zabbix agent 1 0 Stats Enabled i ritten custom vfs dev write sectors DISK 60 90 365 Zabbix agent 1 0 Stats Enabled Disk DISK time spent on 1 0 custom vfs dev io ms DISK 60 90 365 Zabbix agent 1 0 Stats Enabled ki iti ni ii custom vfs dev read ms DISK 60 90 365 Zabbix agent 1 0 Stats Enabled Disk DISK time spent writting custom vfs dev write ms DISK 60 90 365 Zabbix agent 1 O Stats Enabled Disk DISK writes completed custom vfs dev write ops DISK 60 90 365 Zabbix agent 1 0 Stats Enabled 2 2 2 2001 2014 by Zabbix S Figura 31 Ecr com a lista de Item Prototypes que dar o lugar a Items nos Hosts Depois de criados os Items com a informa o toda s o usados os UserParameter que ir o usar o ficheiro diskstats para recolher a informa o que ser associada em cada Host para as v rias parti es encontradas Esta capacidade que os Discovery Items oferecem de n o se prender a configura es est ticas oferece ao sistema de monitoriza o uma din mica muito interessante permitindo que seja o pr prio sistema a descobrir que Items ir criar a partir de prot tipos e de listagens que o Host disponibiliza 4 5 4
110. lta e completamente apto a ser configurado para obten o de m tricas de monitoriza o bem como a cria o de alarm stica associada as essas m tricas recolhidas 3 8 Configura o das M quinas a Monitorizar Para que uma m quina possa ser monitorizada no sistema Zabbix ela tem de estar acess vel pelo servidor Por isso a primeira preocupa o foi garantir que o servidor de monitoriza o conseguia estabelecer comunica o no porto 10050 porto padr o para o agente Zabbix estar escuta com a m quina a monitorizar Para tal foram abertas exce es na firewall para permitir estabelecer liga es vindas do servidor de monitoriza o para os agentes nas m quinas a monitorizar Normalmente a comunica o estabelece se do servidor para o agente sendo o servidor que pede ao agente que lhe retorne os valores que pretende No entanto existe monitoriza o que requer que seja o agente a iniciar a comunica o com o servidor zabbix trapper pelo que existiu a necessidade de permitir que o servidor fosse contactado na porta 10051 vindo dos servidores monitorizados Depois de garantir o acesso s m quinas come ou se a instala o dos agentes nas referidas m quinas Para isso configuraram se as sources com o comando configure enable agent 38 seguido do habitual make install Esta opera o instala o agente na m quina com todos os bin rios execut veis e ficheiros de configura o e define ainda o ag
111. ly Average v6 Dally Average Last Zone signature NS ONS PT 268 332 NS DNS PT 4 NS ONS PT ature of PT zone hour s NS2 0NS PT 209 255 NS2 0NS PT a 2 NS2 0NS P 4 u re oFDNS PT 6 day s NS3 0NS PT 3 a NS3 DNS PT 0 o NS DNS PT NS4 DNS PT o 2 NS4 DNS PT 0 0 NS4 DNS PT Vo Data Days since the last signature of ENUM zone 6 day s NS ENUMONS PT o 7 NS ENUM ONS PT 0 0 NS ENUM ONS PT PHOBOS FCCN PT a 24 PHOBOS FCCN PT 9 8 PHOBOS FCCN PT 23 Yo Data Figura 48 Pagina de Name Servers e menu Custom Items conforme implementado na segunda itera o de desenvolvimento 5 10 Avalia o da segunda itera o de desenvolvimento Depois de se implementarem todas as altera es e sugest es que surgiram das p ginas criadas na primeira itera o de desenvolvimento voltou se a avaliar a interface e as novas funcionalidades Dado que as principais quest es ficaram resolvidas nas implementa es da segunda itera o de desenvolvimento decidiu se tra ar objetivos futuros para melhorar a interface uma vez que o tempo existente n o seria suficiente para concretizar tudo o que se pretendia dada a proximidade do fim do projeto 108 Capitulo 6 Discussao 6 1 An lise dos resultados obtidos 6 1 1 Avaliar o antigo sistema A avalia o do antigo sistema permitu fundar as bases com que se construiu o novo sistema Foi com base nos levantamentos e na avalia o do antigo sistema que se obtiveram os requisitos para a cria o de um sistema
112. m de maior aten o Ao aplicar este princ pio deve se ter uma interface que seja capaz de habilmente representar informa es suficientes para detetar os casos mais reincidentes No entanto o dashboard deve ser capaz de apresentar informa o que alerte para problemas com menos incid ncia mas que nem por isso t m menos criticidade Deve ser din mica a informa o disponibilizada no dashboard deve ser atualizada periodicamente e sem a interven o do utilizador Desta forma a informa o deve ser apresentada na interface e atualiza es que ocorram no sistema de monitoriza o devem fazer se refletir Existe ainda um outro requisito relacionado com a forma de apresenta o que se prende com a exist ncia de um ecr gigante na rea t cnica a rea de visualiza o do ecr principal do dashboard deve ocupar um ecr sem ter conte do apenas visualiz vel fora do viewport rea de desenho da p gina excluindo se os casos de dropdowns e outros estilos de apresenta o de conte dos propositadamente escondidos Desta forma a informa o est sempre totalmente vis vel no ecr gigante Deve ser apelativa os problemas devem ser facilmente detetados e entre a informa o visual apresentada e a exist ncia de t cnicas de representa o de dados como gr ficos tabelas e outros estilos de representa o de dados altamente encorajada para mais facilmente passar informa o e nela discernir eventuais
113. mas possibilitou que o desenho fosse feito de ra z com um conjunto de ideias firmes sem os inevit veis desvios que v rias 109 opini es por vezes trazem Olhando em retrospectiva reconhe o que mais opini es e sugest es teriam ajudado mas as avalia es feitas aos desenhos demonstraram que mesmo assim as ideias acabaram por coincidir 6 1 3 Implementar o novo sistema A implementa o do novo sistema foi dividida em duas partes implementa o do sistema de monitoriza o e alarm stica Zabbix e a cria o da nova interface para o sistema Dashboard DNS PT O primeiro foi relativamente mais f cil de concretizar que o segundo O facto de ja haver bastante conhecimento da ferramenta dentro da rea t cnica facilitou o debugging e a resolu o dos problemas que foram aparencendo com as configura es pelo que se excederam as expectativas A ajuda na instala o dos pr requisitos t cnicos do sistema bem como o sistema em si decorreu com supervis o principalamente do co orientador Assis Guerreiro e o sistema Zabbix foi configurado rapidamente sendo que as afina es ao sistema foram feitas no decorrer do m s seguinte Tendo sido necess rias apenas duas itera es para chegar a uma vers o est vel do sistema de monitoriza o conclui se que o planeamento e o desenho foram feitos corretamente Quanto ao desenvolvimento do Dashboard considero ter sido uma vit ria devido ambiociosa tarefa que se prop
114. mentar Assim como tanto existir o Items a serem recolhidos com uma periocidade inferior a um minuto como existir o Items com periocidades superior a uma hora decidiu se usar os valores dos servidores de monitoriza o antigos para se ter uma abordagem mais realista Assim na mesma linha de racioc nio usado para o c lculo do n mero de Items tem se o seguinte valor de pedidos por segundo 30 7 38 22 68 0 85 26 De acordo com a f rmula estima se que se necessite do seguinte espa o para a Histor 7 dias 26 Items seg 24 horas 3600 segs 50 bytes 786240000 bytes 750 Megabytes Para o espa o necess rio para guardar os Trends chegou se ao seguinte valor 365 dias 2529 Items 3600 segs 24 horas 3600 segs 128 bytes 2835717120 bytes 2 6 Gigabytes J para os Events estima se pelo pior caso usando o valor de 1 evento por segundo 365 dias 1 evento seg 24 dias 3600 segs 130 bytes 4099680000 bytes 3 8 Gigabytes Total 10 Megabytes Configura o 750 Megabytes History 2 6 Gigabytes Trends 3 8 Gigabytes Events Total 7 14 Gigabytes No total espera se usar cerca de 7 14 Gigabytes num ano de monitoriza o Perante este valor decidiu se come ar com 10 Gigabytes de espa o em disco para ter alguma margem de manobra para o futuro Posto tudo isto o servidor Zabbix ficou com a seguinte especifica o N de Processadores 2 Mem ria RAM 3 Gigabytes Si
115. na Pena Sara Monteiro Assis Guerreiro Eduardo Duarte Pedro Goes Lu sa Gueif o In s Esteves e Marta Moreira deixo um especial apre o por todo o apoio prestado Quero tamb m agradecer a disponibilidade que os intervenientes da parte da Faculdade de Ci ncias da Universidade de Lisboa tiveram neste projeto a sua ajuda foi importante para que este projeto chegasse a bom porto Ao Professor Doutor Carlos Louren o um obrigado pelo seu trabalho na orienta o desta disserta o Por fim quero agradecer a todos os amigos e familiares cujo apoio em momentos mais dif ceis aliviaram a carga que este projeto apresentou durante nove meses O constante apoio presen a e conselho que prestaram foram fundamentais para o sucesso deste projeto Deixo ent o um especial agradecimento a Manuel Isabel Christine e Lucie Matias Carolina Carvalho ao Fl vio Saraiva Eduardo Matos Ruben Campos e Hugo Sousa entre muitos outros sem os quais n o seria hoje a mesma pessoa II Resumo A Associa o DNS PT na qualidade de respons vel pela gest o registo e manuten o de dom nios sob o Dom nio de Topo Portugu s pt gere um servi o fundamental para o bom funcionamento da Internet Portuguesa Este servi o necessita de constante monitoriza o quanto aos recursos utilizados para garantir a disponibilidade e correto funcionamento Neste contexto necess rio que exista um sistema que recolha dados em tempo real para monitorizar o
116. ndo da exist ncia de motivos de alarme se despoletem os mecanismos certos para informar acerca da ocorr ncia Esse processo deve estar bem afinado para que se possam mitigar os efeitos nefastos e deve conseguir guardar registo dos eventos para efeitos de an lise e depura o das causas da ocorr ncia e de potenciais causadores principalmente no caso de ataques premeditados Para concretizar o sistema que se pretende s o tra ados os seguintes objectivos e respectivas formas de avalia o 1 An lise cr tica do antigo sistema Ser necess rio avali lo criteriosamente pretendendo se reunir com equipa para identificar problemas a tratar e virtudes a manter Fazer levantamento do que precisa de ser revisto de acordo com a qualidade da informa o que presta performance relev ncia e compet ncia dos processos avalia o ser feita tendo em conta a valida o pelos restantes elementos da equipa bem como do resultado da investiga o em fontes externas recursos bibliogr ficos e webgr ficos 2 Desenho de um novo sistema e planeamento da implementa o Verificar se se tem as tecnologias necess rias para concretizar bem como o conhecimento t cnico para implementar Considerar as conclus es retiradas da avalia o feita anteriormente para elaborar um esbo o daquilo a que se quer chegar identificando o que se deve manter melhorar e implementar Avaliar a propost
117. nta o das oportunidades de melhoria 5 9 1 P gina de Web Items Para poder ter um link para todos os problemas dos Web Items foi criada a p gina dedicada para tal conforme apresentado na Figura 45 Para al m de se mostrarem todos os problemas que existem achou se til apresentar os gr ficos associados velocidade de reposta dos pedidos dos Web Items Para concretizar a p gina usou se um novo ficheiro PHP que apresenta todos os Web Items e alarm stica associada bem como os gr ficos para o tempo de resposta A implementa o foi similar usada para operacionalizar a alarm stica de Web Items da p gina Home Para a apresenta o dos gr ficos foi necess rio fazer mais um pedido para cada Webltem para obter os IDs de cada gr fico para depois ser poss vel apresenta los na p gina 104 Para que esta p gina n o ficasse apenas visualiz vel a partir da caixa de alarmistica na pagina Home foi adicionado um bot o igual ao que existe nas outras caixas e uma entrada para esta p gina no cabe alho de todas as p ginas no menu Custom Screens Centr Count Estat sticas Job J2 Anhimporter Job J2 BindDNSTotal Detected Problems lastcheck 12 15 27pm Detected Problems lastcheck 12 15 27pm Detected Problems lastcheck 12 15 27pm Problem Last Update Problem Last Update Problem Last Update Centr Count Estatisticas 2018 07 07 120343 No Problem No Problems Job J2 CreateEANHEntityDomain Job J2 DomainRenew
118. ntes no Host para cada servi o e uma vis o mais detalhada para cada um desses processos A Figura 22 exemplifica a monitoriza o do Apache Figura 22 Ecr de Items para monitoriza o do servi o Apache A monitoriza o dos portos de comunica o via Zabbix consiste na verifica o se o porto est em LISTEN state e se poss vel conectar se A obten o dos indicadores feita das seguintes formas net tcp listen 700 Este indicador permite saber se o porto 700 est escuta ou seja est em LISTEN mode net tcp port lt default gt 700 Este indicador permite saber se poss vel estabelecer liga o ao porto 700 Com estes dois indicadores poss vel saber a qualquer momento se por exemplo se o porto 700 porto destinado comunica o do protocolo EPP usado na comunica o entre registries e registrars est apto a ser utilizado na comunica o O porto 3121 usado para testes de EPP da se monitorizar tamb m da mesma forma como se monitoriza o porto 700 Os portos 80 e 443 por serem de protocolos bem conhecidos na utiliza o da Web t m indicadores espec ficos que j v m nos Templates do Zabbix para monitoriza o do servi o HTTP e HTTPS As chaves dos Items s o 59 net tcp service http e net tcp service https e oferecem as mesmas informa es que os outros indicadores referidos oferecem 4 3 4 Monitoriza o dos Web Services SIGA A monitoriza o dos Web Services
119. ntigo O facto de o Java conseguir virtualmente resolver todos os problemas de obten o de informa o n o deve ser pretexto para implementar MBeans para todos os casos principalmente porque n o s o Java adiciona mais uma camada de abstra o que custa recursos mas tamb m vulner vel a ataques 4 4 3 Utilidade do MBeans para monitoriza o dos recursos da Associa o DNS PT Ap s an lise cuidadosa dos recursos que se queria monitorizar e do trade off de desempenho da monitoriza o por MBeans chegou se conclus o que seria proveitoso monitorizar alguns servi os desta forma Assim os servi os a monitorizar seriam 64 Avaliador T cnico O avaliador t cnico um servi o Web que disponibilizado no Website da Associa o DNS PT para confirma o das configura es t cnicas de um dom nio uma ferramenta crucial para o desempenho dos objetivos da Associa o DNS PT e como tal necess rio saber se a performance est dentro dos valores aceit veis ou se est com problemas Whois o whois um servi o crucial em qualquer registry usando este servi o que os utilizadores da Internet com especial incid ncia nos registrars podem saber as informa es t cnicas de DNS para certo dom nio usado intensivamente pois oferece as informa es necess rias para descobrir a quem pertence um dom nio com quem contactar e como est configurado Este servi o recebe um nome de dom nio e caso
120. o n o se percebe que clicando a janela fica fixa permitindo assim a navega o pelos hyperlinks 2 A informa o est dispersa por v rios pain is O painel de System Status cont m colunas para cada severidade de problema em ordem crescente de severidade Not Classified Informaion Warning Average High e Disaster e linhas para cada Hostgroup definido Para cada linha dada coluna tem o n mero de ocorr ncias para os Hosts desse grupo Apenas deslocando o cursor se consegue saber quais os problemas que cada host tem J no painel de Host Status repetem se as linhas com Hostgroups tendo se agora tr s colunas uma com o n mero de Hosts com problemas outra com o n mero de hosts sem problemas e uma coluna com o total de Hosts para cada Hostgroup Para al m da duplica o de informa o o painel acima descrito oferece toda esta informa o e mais alguns detalhes ao se deslocar o cursor para a c lula com indica o de problemas apenas apresentado uma tabela de Hosts por severidade do problema tendo apenas os n meros de problemas para cada severidade sem ser naveg vel Interface completa Quanto completude da informa o que apresentada n o existem problemas a identificar toda a informa o relevante quanto aos problemas no sistema visualiz vel a parir do dashboard poss vel saber que Hosts t m problemas que problemas s o e quando foram identificados Para visualizar mais informa es p
121. o Software necess rio Base de dados Java Apache Instala o do Zabbix Server PHP A instala o decorreu nos seguintes passos 1 Cria o de um utilizador do Sistema Operativo zabbix pertencente ao grupo de utilizadores zabbix 2 Cria o da base de dados MySQL para o Zabbix Server Cria o do schema da base de dados descri o formal da estrutura da base de dados e descreve a sua organiza o e como est constru da cria o das imagens usadas pelo sistema e inser o dos dados iniciais 3 Configura o das sources e instala o do servidor com o seguinte comando para a configura o configure enable server enable agent with mysql enable ipv with net snmp with libcurl with libxml2 4 De seguida passou se instala o do Zabbix Server usando o comando make install 32 Com estes passos completos ficou se com um servidor de monitoriza o pronto a ser configurado de acordo com as especifica es definidas ficando a faltar a interface Web A interface Web do Zabbix Server necessita de um servidor de conte dos Apache e de PHP para as funcionalidades das v rias p ginas Assim para instalar a interface foi apenas necess rio copiar os v rios ficheiros que vinha no arquivo para uma subdiretoria da diretoria padr o do Apache a diretoria zabbix Uma vez copiados os ficheiros a p gina est pronta a visualizar assim que seja lan ado o servi o httpd A res
122. o a performance Tabela 2 Excerto da tabela de bases de dados recomendadas pelo Zabbix Extens es e Bibliotecas para o Servidor Requisito Considera es libssh2 Necess rio para suporte a SSH Vers o 1 0 ou superior ping Necess rio para ICMP ping Items libcurl Necess rio para monitoriza o Web net snmp Necess rio para suporte a SNMP OpenIPMI Necess rio para suporte a IPMI libiksemel Necess rio para integra o com Jabber Tabela 3 Tabela de requisitos de bibliotecas e extens es para o servidor FrontEnd Servidor de Conte dos Apache Vers o 1 3 12 ou Superior PHP Vers o 5 3 0 ou Superior 28 Java Java SE Runtime Environment Vers o 1 7 0 ou superior Destes requisitos levantados optou se pela seguinte configura o para o servidor Sistema Operativo CentOS 6 4 Este Sistema Operativo j amplamente usado na Associa o e uma vers o de Linux robusta e atual Decidiu se portanto que seria uma boa op o para hospedar o Servidor Zabbix Base de dados MySQL Por ser um sistema de base de dados j utilizado no seio da Associa o e por ter todas as funcionalidades que se desejam de uma base de dados aliadas forte documenta o existente optou se por usar esta base de dados para o Servidor Zabbix Outro fator que pesou a decis o foi o uso desta base de dados no sistema antigo de monitoriza o e nunca terem existido problemas graves Extens es
123. o de 2015 10 P gina do manual de utiliza o de UserParameter https www zabbix com documentation 2 2 manual config items userparameters consultado a 1 de Janeiro de 2015 119 11 Especifica es do protocolo SNMP http www ietf org rfc rfc 1 157 txt consultado a 1 de Janeiro de 2015 12 Tutorial JMX http docs oracle com javase tutorial jmx overview index html consultado a 1 de Janeiro de 2015 13 Protocolo IPMI http en wikipedia org wiki Intelligent Platform Management Interface consultado a 1 de Janeiro de 2015 14 Explica o dos v rios tipos de espa os na mem ria do Java http stackoverflow com questions 2070791 young tenured and perm generation consultado a 1 de Janeiro de 2015 15 Documenta o DBforBIX http www smartmarmot com wiki index php DBforBIX consultado a 1 de Janeiro de 2015 16 Documenta o relativa ao conceito MBeans http docs oracle com javase tutorial jmx mbeans consultado a 1 de Janeiro de 2015 17 O que o DNSSEC http dnssec pt index php lang pt amp id 2 consultado a 1 de Janeiro de 2015 18 Monitoriza o de I O de Disco usando Zabbix http www denniskanbier nl blog monitoring monitoring disk io using zabbix consultado a 1 de Janeiro de 2015 19 Princ pio do Pareto http pt wikipedia org wiki Princ WC3 ADpio de Pareto consultado a 1 de Janeiro de 2015 20 WIP Custom Dash
124. o de elementos gr ficos no ecr getTRLatencyViaServer Neste m todo a comunica o feita enviando um pacote SOAP para o servidor com o pedido conforme os passos seguintes 1 Cria o de uma factory classe que cria objetos SOAPConnection cujo nome SOAPConnectionFactory Com esta factory obt m se uma inst ncia que servir de base para as liga es envios e rece es de informa o pelo protocolo SOAP 2 Envio do pacote SOAP com o pedido Recorre se ao m todo que a classe SOAPConnection oferece o call cujos argumentos s o uma fun o de callback e um URL O URL o caminho para o servi o Web do avaliador t cnico no servidor e a fun o de callback uma fun o privada que encapsula a defini o dos par metros do pacote SOAP O seu nico prop sito criar uma inst ncia da classe SOAPMessage vinda da MessageFactory e preenchendo a adicionando a informa o necess ria ao NameSpace usado nesta comunica o SOAP Retorna a SOAPMessage que representa o pedido que se pretende fazer ao servidor A fun o call fica ent o respons vel por enviar a mensagem at ao endpoint o servidor e bloqueia at receber a resposta O URL usado o localizador do servidor interno para que se possa testar a lat ncia de comunica o num ambiente interno 3 Mede se o tempo de lat ncia de resposta como a fun o bloqueia no momento em que se faz a diferen a de tempos a resposta j conhecida 4 Termina
125. o que se associa chave do UserParameter Neste caso o comando echo vai usar o par metro passado como pr prio par metro do comando Como referido anteriormente o comando que se associa a um UserParameter pode ser qualquer coisa desde um comando b sico da Shell de UNIX neste caso at a invoca es de scripts que encapsulam v rias a es Esta funcionalidade basilar para o sistema de monitoriza o e amplamente usada na monitoriza o que recorre a meios mais avan ados como o caso da monitoriza o do BIND ver Cap tulo 4 sec o 4 2 2 40 Capitulo 4 Concretizacao do Novo Sistema de Monitorizacao Configurar o sistema de monitoriza o Zabbix a parte mais importante e de maior complexidade deste projeto Todo o processo de configura o requer a pondera o de v rios fatores sendo a alarm stica e a forma de obten o dos dados os mais importantes a considerar 4 1 Configura o dos Hosts Uma das partes mais importante do sistema de monitoriza o s o os Hosts Todos os sistemas que produzam indicadores que se queira monitorizar t m de constar no sistema Zabbix A Tabela II da sec o Anexo foi o ponto de partida para a listagem dos Hosts a configurar Criar um Host um processo simples sendo apenas necess rio utilizar as fun es para tal na interface Web do Zabbix Para configurar preciso saber tr s informa es 4 nome a dar ao Host no sistema de monitoriza o tem d
126. o via Web no browser Atrav s do URL espec fico para um pedido simples saber informa es para o dominio dns pt recebe se a resposta analisa se o header HTTP desta e verifica se a exist ncia de erros Mede se a lat ncia entre o momento em que se abre a liga o com o URL e o momento em que se analisa o header Posto isto tem se o tempo que um utilizador tem aproximadamente de esperar pela resposta via Web Whois servidor Este cen rio serve para saber se uma eventual lentid o do servi o se deve ao servidor ou a fatores externos como rede ou mesmo problema do cliente 65 Faz se a liga o ao servidor diretamente porta para o servi o Whols porta 43 A lat ncia medida desde que se escreve o pedido no canal stream estabelecido at rece o da resposta Desta forma consegue se saber se a lat ncia de resolu o dos pedidos no servidor est dentro dos valores normais ou n o 4 4 4 Implementa o dos MBeans Uma vez definidos os cen rios passou se implementa o dos recursos MBean para monitoriza o da performance dos servi os j descritos A primeira tarefa foi implementar a interface para servir os prop sitos estabelecidos Para satisfazer os requisitos da especifica o JMX o nome escolhido para a interface foi TestConnectionMBean que declara os seguintes m todos sayTestConnection descreve o funcionamento e prop sito destes MBeans Faz parte da especifica o JMX 12 ge
127. obusta de monitoriza o de n vel empresarial que permite monitorizar em tempo real a disponibilidade e performance dos recursos da organiza o e capaz de representar os dados de monitoriza o graficamente 3 Esta ferramenta apresenta uma interface gr fica Web que permite o acesso e configura o da monitoriza o e alarm stica 3 O Zabbix permite contacto com as m quinas e servi os que monitoriza atrav s de protocolos como SNMP 11 Simple Network Management Protocol um standard na comunica o entre agentes e sistemas de gest o e obten o dos indicadores que os agentes recolhem HTTP HyperText Transfer Protocol forma mais usual de comunica o de dados na Web SSH Secure Shell uma forma criptograficamente segura de controlo remoto de uma linha de comandos e at por IPMI Intelligent Platform Management Interface servi os de acesso out of band ou seja servi os a usar aquando da interrup o da comunica o com o hardware para remotamente aceder a um sistema computacional e obter indicadores 3 A forma mais usada na monitoriza o s o os agentes Zabbix que s o pequenos servi os executados nas m quinas alvo que intercomunicam com o servidor Zabbix para variadas tarefas de monitoriza o 11 Na quest o do sistema Zabbix o levantamento efetuado permitiu conhecer o presente da monitoriza o e alarm stica da Associa o identificando se Hosts Sistemas computacionais que funcionam numa r
128. ois deveria avan ar para implementa o Acabou se por chegar conclus o que o ideal seria ter um misto dos dois na seguinte forma Gr ficos usar se ia o carousel para mostrar os gr ficos permitindo assim que houvesse mais gr ficos no dashboard sem com isto implicar p ginas longas verticalmente ou encher a p gina s com gr ficos Acordou se que existiria um carousel para cada sistema CPU Load n mero de liga es de rede para cada servidor etc e que as imagens alternariam segundo uma periocidade bem definida rea da p gina utilizada acordou se que a barra lateral no esbo o 2 s ocupava espa o que podia ser utilizado para representar informa o Assim passaram se as funcionalidades que estavam nessa barra lateral para o cabe alho mudando de collapsable menu para um estilo de dropdown menu rea de Alarm stica o formato da vers o 1 seria o desejado tendo uma caixa para cada sistema a definir mas apareceriam apenas os problemas identificados para esse grupo A cada momento existiria um conjunto de indica es com cores que traduzissem a severidade dos problemas ou a indica o de inexist ncia de problemas Com esta altera o a rea de alarm stica ficaria mais simples e eficaz na apresenta o dos problemas Houve outra grande altera o que se decidiu a esta altura a implementa o de um fluxo de navega o na nova interface de dashboard 5 6 4 Fluxo de navega o no dashboard D
129. ologias se utilizariam Fizeram se levantamentos a n vel da utiliza o da linguagem Java para desenvolvimento de Websevices nomeadamente a utiliza o de Java RESTful Web Services JAX RS 21 Esta op o foi ponderada devido ao conhecimento que j existia na utiliza o da linguagem Java As APIs RESTful t m aspetos bastante aliciantes como a identifica o dos recursos via URI e manipula o destes usando apenas as 4 opera es de header HTTP que o protocolo HTTP apresenta GET POST PUT e DELETE 21 O facto de ser uma forma leve de transmitir dados que iriam diretamente por HTTP num formato bem estruturado como o XML ou o JSON e de as intera es com os recursos serem feitas no formato stateless ou seja as mensagens que s o trocadas cont m toda a informa o necess ria para a execu o da opera o sendo a informa o passada no URI em cookies ou mesmo escondida em campos invis veis dos formul rios 21 87 Apesar de todas as virtudes a curva de aprendizagem mostrou se demasiado grande devido inexperi ncia que se tinha no desenvolvimento de servi os Web e de todo o conhecimento necess rio para concretizar os servidores de conte dos como por exemplo servlets Devido escassez de tempo que existia para desenvolver a nova interface decidiu se abandonar esta abordagem A linguagem PHP 22 apresentou se como uma alternativa igualmente vi vel para desenvolver o sistema A sua capacidade de mani
130. or defeito s o vis veis os gr ficos da quantidade de pedidos por segundo aos servidores carga de CPU carga de liga es de rede e estado destas e estado da JVM das m quinas de front end e back end do sistema SIGA Estes quatro conjuntos de gr ficos s o apresentados num carousel sendo que periodicamente os gr ficos alternam Para concretizar isto recorreu se a dois ficheiros PHP um deles respons vel pelos gr ficos dos servidores de nomes que ao contr rio dos outros n o vem do sistema Zabbix mas do sistema DSC e outro respons vel pelos restantes gr ficos associados ao estado das componentes do sistema SIGA O funcionamento destes ficheiros PHP muito id ntico cada um operacionaliza a obten o dos gr ficos mais recentes para cada informa o pretendida No caso dos gr ficos DSC a obten o feita recorrendo a um pedido com os par metros de URL apropriados sendo que no URL segue a janela temporal de apresenta o de dados e o servidor de nomes pretendido J no caso dos gr ficos do sistema SIGA o pedido feito ao sistema Zabbix tamb m por URL indicando o identificador num rico associado a cada gr fico estes identificadores est o inclu dos no c digo da p gina Os gr ficos s o atualizados recorrendo a pedidos AJAX Para tal a estrutura da p gina divida em divs identificadas por um id nico que periodicamente t m o seu conte do atualizado com a resposta que v m dos pedidos AJAX ao fic
131. or no formul rio Existem tr s elementos a escolher uma lista de Item a visualizar a janela de tempo para apresenta o dos dados e a forma de apresenta o gr fico ou em tabela A apresent o sob a forma de gr fico necessita de um per odo m nimo de amostragem de uma hora pelo que se adicionou um bot o de informa o com informa o de como utilizar o campo da janela temporal Quando se submete o pedido aparece mais abaixo na caixa o gr fico ou a tabela com os valores No caso do gr fico aparece ainda um bot o para se fazer zoom que maximiza o gr fico recorrendo se funcionalidade de Modal da framework Bootstrap e com bot es para fechar a janela Esta funcionalidade de visualiza o de hist rico tem no entanto um problema Quando se tenta visualizar informa o acerca de Item cujos valores s o palavras o sistema Zabbix incapaz de apresentar essa informa o Decidiu se contornar o problema introduzindo uma outra caixa a Latest Item Values que apresenta os dois ltimos valores obtidos para cada Item correctamente A utiliza o desta fun o simples escolhe se o Item pretendido e submete se a decis o aparecendo abaixo os dois ltimos valores sejam eles num ricos ou alfab ticos 101 Outro problema que existe com estas duas caixas e com a informa o apresentada prende se com as listagens dos Items As macros e vari veis usadas pelo sistema n o s o resolvidas no nome do Item Ou s
132. os ltimos valores recolhidos est o discrepantes face m dia di ria podendo indicar a exist ncia de ataques aos servidores de nomes IPv4 6 Requests per Second by Server Apresenta as m dias di rias dos pedidos que chegam em IPv4 e IPv6 a cada um dos servidores de nomes 107 DNSSEC Last Signatures Esta caixa referente aos dados de DNSSEC indica a cada momento se as zonas est o assinadas ou seja o DNSSEC est funcional para essa zona ou n o Usam se cores verde e vermelho consoante esteja tudo bem ou exista algum problema Por fim tem se tal como na p gina Home e Host em rodap um rel gio em tempo real com a data e hora A Figura 48 mostra a p gina no fim desta itera o Toda esta informa o atualizada periodicamente com recurso a um pedido AJAX que invoca um ficheiro PHP respons vel por englobar os pedidos e apresentar os resultados Fosco AlHoss Custom Sacer conch o Custom Screen Name Servers NS DNS PT NS2 DNS PT NS3 e NS4 Enum e Phobos p SANS D Incoming Queries Dashboard 2h c ss Dashboard 1h E m sim iri lt jm p gt Hostgroup Information Incoming Queries per Second by Server NXDOMAIN Replies per Second by Server IPv4 6 Requests per Second by Server DNSSEC Last Signatures lasteheck 05264 pm astche o mi 517pm asteneck 05 26 25pm lastcheck 06 28 30pm lasteneck 0528 35p Host Dally Average Last Value Host Dally Average Last Value Host v Dai
133. os obtidos No entanto antes de se integrar com a plataforma de monitoriza o os seguintes pontos tiveram de ser ponderados 1 Qualo melhor ponto na rede para realizar os testes 2 Quer se monitorizar as conex es internas e externas aos servi os a partir do mesmo ponto de origem Pode considerar se que o ponto 2 consequ ncia do ponto 1 pois para escolher o melhor ponto para realizar os testes s liga es necess rio saber se se pretende ter uma separa o ou se se quer testar em bloco a partir de um ponto espec fico Testar na rede interna traz alguma veracidade e coer ncia aos resultados das liga es feitas diretamente aos servidores que hospedam os servi os mas descura se a componente principal das liga es aos servi os via Web que aceder aos servi os pelos meios que o p blico em geral acede Por outro lado monitorizar a partir de um ponto exterior apresenta o oposto o objetivo de testar as liga es diretas aos servidores deturpado pois n o se consegue discernir problemas de servi os ou problemas terceiros sendo a liga o de rede a mais importante 69 Chega se portanto conclus o que o mais coerente ser ter dois perfis para a monitoriza o um p blico onde de um ponto externo rede dos servidores e da infra estrutura t cnica firewalls principalmente se testam as liga es via Web e um interno de onde se monitoriza o funcionamento do servi o a partir da mesma rede e
134. os de utiliza o em que seria til ter a informa o presente no novo dashboard e outros em que seria necess rio recorrer interface Zabbix para obter mais informa o ou realizar alguma opera o Deste modo criaram se os seguintes casos de uso 1 Ver os problemas existentes num dado servidor Host a Aceder ao dashboard b Se n o estiver apresentado na p gina inicial do dasboard continuar c Aceder p gina do Host em quest o navegando na lista de Hosts d Na p gina de Hosts visualizar a informa o em quest o 2 Ver os dados recebidos na ltima hora para certa m trica Item a Aceder ao dashboard b Se n o est representado nos gr ficos da p gina inicial navegar na lista de Hosts e aceder p gina do Host que cont m a informa o pretendida c Na p gina do Host aceder lista de Items que este disponibiliza definir a janela temporal desejada e confirmar a opera o d Visualizar a informa o pretendida na p gina 3 Dar conhecimento de uma ocorr ncia Acknowledge a Aceder ao dashboard b Aceder ao problema que se pretende dar conhecimento 1 Se estiver listado na p gina inicial realizar a opera o de Acknowledge e saltar para o passo d ii Se n o estiver aceder ao Host em quest o navegando pela lista de Hosts c Realizar a opera o de Acknowledge d Escrever a mensagem de tomada de conhecimento e Confirmar a submiss o da informa o Com estes tr s casos de uso foi
135. os geograficamente por v rios pa ses A Figura II da sec o Anexo ilustrativa da monitoriza o feita NETSTAT Embora o Zabbix tenha a capacidade de obter indicadores para os dispositivos de rede foram criados scripts que fazem a recolha de indicadores de rede baseando se nas capacidades dos agentes do Zabbix Estes agentes daemons ou servi os aut nomos em segundo plano s o configurados para executarem scripts que refinam a capacidade de obten o normal que o Zabbix tem para indicadores de rede Na Figura II da sec o Anexo pode se ver a representa o esquem tica do funcionamento destes agentes para obten o de dados de rede ORABBIX O ORABBIX 5 uma componente externa que integra com o Zabbix para permite monitorizar as bases de dados Oracle Esta componente fornece as informa es das bases de dados que albergam informa es de neg cio indicador importante devido criticidade que as bases de dados t m no servi o de Registry O esquema de funcionamento est graficamente dispon vel na Figura IV da sec o Anexo Web Items Pingdom Forma de monitoriza o do SIGA Sistema de Informa o e Gest o Administrativa muito utilizado pelos colaboradores e cujos servi os Web s o essenciais para o exerc cio das fun es t cnicas administrativas e de gest o de um ccTLD fulcral que o sistema seja constantemente monitorizado quanto coer ncia das suas funcionalidades algo que cons
136. ositivos Motivo Desativados 11 06 2014 N o representa a situa o real Alterados 11 06 2014 Template OS Linux Alterados 29 05 14 Lack of available memory on server HOST NAME Template JMX Generic Severity gt Warning HOST NAME is not reachable Motivo nedata iminute gt nodata 10minute De momento a pouca mem ria da maquina n o apresenta preocupa es para aus seja comunicado via e mail Motivo B Desativados 23 06 2014 Demasiado sens vel o novo per odo reflete melhor um problema real Alterados 23 06 2014 Template OS Linux Locks on HOSTNAME Severity gt Warning Motivo Este problema n o apresenta criticidade para que seja necess rio enviar g mail Figura 27 Excerto do documento com as afina es do sistema de monitoriza o Esta avalia o que tem sido levada a cabo desde o dia em que o sistema ficou operacional proporcionou a adapta o do sistema realidade da Associa o e s suas necessidades Este acompanhamento constante permitiu identificar lacunas na monitoriza o o que levou ao planeamento de nova monitoriza o e alarm stica fora do pensado inicialmente Identificar o que faltava fazer veio naturalmente com o tempo De facto dizer que um sistema deste cariz est fechado e que a implementa o foi terminada n o um cen rio realista Da utiliza o di ria apercebe se que h novos indicadores que s o teis 72 recolher
137. oss vel navegar pela interface e aceder a outras p ginas com a informa o mais detalhada para os Hosts problemas totais ou individuais para cada componente monitorizada e visualizar gr ficos e tabelas de indicadores recolhidos Interface din mica As informa es presentes no dashboard v o sendo atualizadas por per odos configur veis existe em cada painel um bot o de menu que permite definir o intervalo temporal de atualiza o e cada painel tem no rodap o timstamp da ltima atualiza o Interface apelativa Neste aspeto a interface dashboad Zabbix falha Embora apresente cores diferentes consoante os diferentes problemas e severidades que s o encontrados o grafismo em termos gerais pobre o tamanho de letra demasiado pequeno para ser facilmente percet vel dist ncia n o tem gr ficos integrados nesse 83 mesmo dashboard e a disposi o dos pain is que embora amoviveis gera sempre organiza es que n o tiram o m ximo proveito do espa o de visualiza o da p gina prt omite Bolo ln o Do 2 PRESS GENE ERED ERE LL lo To lp rtm ew vies nw osc E Se Figura 33 Exemplo de uma configura o do dashboard Zabbix 5 4 Dashboard Zabbix Veredito x Ap s a an lise cr tica feita interface do dashboard da plataforma Zabbix percebeu se que existiam alguns pontos que se pretendiam ter numa interface dashboard para o novo sistema de monitoriza o e que o dashboard Zabb
138. ou que certos indicadores ficaram obsoletos com a introdu o de outros mais adequados Ao longo do tempo percebe se que a alarm stica pensada numa fase inicial n o est perfeitamente adequada ao estado do sistema atual e necess rio abordar o caso de outra forma portanto natural que tenham sido identificados novos objectivos mal o sistema de monitoriza o terminou a fase de configura o dos aspetos cr ticos Nesta segunda itera o de configura es abordou se a monitoriza o e alarm stica para sistemas que n o eram cr ticos na fase inicial do sistema mas cuja import ncia ditou que fossem integrados no sistema de monitoriza o o quanto antes De seguida listam se os sistemas cuja monitoriza o foi integrada nesta fase Monitoriza o de mais aspetos do BIND SerialCheck e QueryTime Monitoriza o DNSSEC Monitoriza o do disco das m quinas Monitoriza o do sistema DSC 4 5 1 Monitoriza o BIND A monitoriza o do core do servi o BIND foi alcan ada durante a primeira fase de implementa o Depois disso alguns indicadores teis que foram adiados na altura da primeira itera o foram revisitados A monitoriza o em falta prendia se com a verifica o do Serial Number da instala o da zona cada instala o de uma nova zona tem o Serial Number diferente para distinguir zonas ao longo do tempo e a obten o da lat ncia de comunica o que se tem para com os servidores de nomes
139. pandisse demasiado na vertical todos os problemas que n o forem apresentados nesta caixa est o apresentados na p gina do HostGroup do sistema Cap tulo 5 sec o 5 7 2 Adiciona se uma entrada na lista com o link para esta p gina Para apresentar a informa o de alarm stica usou se um ficheiro PHP que obt m todas as ocorr ncias que estejam com estado de problema para cada Host que integra o grupo Da lista que devolvida filtram se os problemas com maior severidade para aparecerem primeiro na caixa Para se manter atualizada a alarm stica usam se pedidos AJAX para recolher novas informa es periodicamente A caixa de alarm stica apresenta dois outros elementos um timestamp para indicar a ltima atualiza o dos dados e um bot o que remete para a p gina do HostGroup respetivo Por fim no rodap da p gina Home existe um rel gio com a data e hora Name Servers SIGA CPU Load SIGA Network Stats SIGA JVM Heap Space Hostgroup Information Name Servers ORACLE Databases Web Items SIGA Detected Problems lastcheck Detected Problems lastcheck Detected Problems lastcheck Detected Problems lastcheck 11 14 04am 1 4am 11 14 07am Problem Host Received Action Problem Host Received Action Problem Last Update Problem Host Received Action 20140704 ERR pt 185057 No Problems Disk VO is overloaded or bbid01 priv dns Disk VO is overloaded on bid02 priv dns pt Figura 41 Ver
140. pedidos e 29 st respostas ee acuma oN o COP os respostas Valores er 1 yao crontab output da execu o do comando rndc stats x Name Service Est a correr em APP BIND funcionamento Era servi o Replies s Queries e l valores periodicamente Figura I Esquema de monitoriza o do BIND em Name Servers 126 Esquema de Monitoriza o dos Tempos de Resposta dos NameServers DNS ZONE CHECK Est a correr localiza o das scripts com comandos a executar aw pasdoja Amb Sig ns dns br IPv time Figura II Esquema de Monitoriza o dos Tempos de Resposta dos Name Servers 127 Esquema de Funcionamento de Zabbix Agent Scripts e Commands Est a correr N KS NC SG APP We Zabbix Server N N Replies TCP 10051 value numeral TCP 40050 Queries key netstak t TIME WAIT 4 Zabbix Agent Est a correr Este ficheiro conf cont m cont m UserParameters extende para o agente zabbix a funcionalidade de execu o de comandos personalizados como scrips ou bash commands executa e devolve UserParameter netstat netstat 1 n a grep c 52 O pr prio agente executa o command Neste caso executar na bash do host onde est o command net stat e devolvendo o valor ao servidor Figura III Esquema do Funcionamento do NETSTAT baseado em Zabbix Agents 128 Esq
141. pular URIs permitiria concretizar o mesmo conceito de interac o com os recursos que o JAX RS apresenta cada opera o a ser levada a cabo levaria no URI toda a informa o necess ria para a concretizar 22 expressamente declarado que h uma transfer ncia de estado ao se passarem par metros por URI no caso do GET ou por HTTP no caso de se usar POST 22 O PHP apresentou uma menor curva de aprendizagem sendo simples e f cil come ar a desenvolver software mesmo tendo em conta o pouco conhecimento que havia sobre o assunto Com apenas alguns dias e seguindo alguns tutoriais 22 foi adquirido conhecimento suficiente para come ar a implementar o sistema de dashboard tendo se posteriormente feita investiga o medida que foi necess rio acerca de t cnicas e documenta o da linguagem para melhor saber como implementar as ideias para o sistema Obten o da Informa o O problema de como obter os dados de monitoriza o apresentou se a dois n veis onde como recolher a informa o e como guardar a informa o Para obter a informa o primeiro pensou se em aceder base de dados da pr pria plataforma Zabbix Sendo uma base de dados MySQL seria simples integrar as informa es com a interface acedendo via PHP e apresentando as informa es relevantes no dashboard No entanto a documenta o encontrada n o era muito expl cita quanto ao prop sito de cada tabela usada pelo Zabbix e eram dema
142. que muitas vezes mais simples e eficaz dar se mais recursos a uma m quina do que implementar um sistema de balanceamento de carga Como os servidores s o virtualizados os recursos empregues em novas m quinas proxy s o os mesmos recursos que podem ser dados m quina que tem o servidor Zabbix Por m pondera se migrar o servidor Zabbix para uma m quina f sica dedicada o que poder resolver os problemas ou dar mais apoio ideia de implementar as tais proxies Para tomar uma decis o consciente ter se de fazer um estudo dos pr s e contras de aumentar os recursos da m quina versus implementar as Zabbix Proxy Finalmente e porque era um dos objetivos deste projeto planeia se a implementa o das sondas DNS que a Associa o DNS PT possui Tendo sido relegado para um segundo plano devido criticidade de outros aspetos estas sondas apresentam um grande potencial para a monitoriza o do DNS principalmente a n vel do tr fego Est se neste momento a planear internamente como abordar a monitoriza o do sistema DNS usando estas sondas que vir o acrescentar mais qualidades j vasta capacidade de monitoriza o que existe para o DNS 6 4 2 Monitoriza o Java Mbeans Toda a implementa o do protocolo JMX para monitoriza o de MBeans foi pensada com um prop sito simples e concreto obter informa es que as outras vias de monitoriza o n o conseguiam Um dos planos para o futuro pr ximo inte
143. que se adaptasse realidade da Associa o Assim embora dif cil foi encontrado algum tempo para discutir com a equipa aquilo que se pretendia fazer tendo a no o que o contributo deles seria sempre uma mais valia na cria o de um sistema que fosse verdadeiramente uma mais valia para a equipa N o existiram tantas reuni es quanto se pretendia o que teve algum impacto naquilo que se conseguiu descobrir quer numa fase preliminar quer j aquando da implementa o mas no geral foi poss vel conciliar o pouco tempo existente com os objectivos e criar uma boa base para conceber um plano para criar o sistema pretendido 6 1 2 Desenhar o novo sistema Um bom desenho s conseguiria ser atingido mediante o levantamento e a avalia o do sistema anterior com especial nfase no que estava errado para se poder solucionar no novo sistema Todas as dificuldades sentidas na fase de avalia o foram sentidas transitivamente nesta fase Ainda assim foram feitos os esfor os necess rios para garantir que se conseguiria criar um sistema que todos os elementos da equipa t cnica se identificassem O tempo que n o foi empregue em reuni es foi usado para investiga o de novas funcionalidades a constar no novo sistema e para avaliar at que ponto as componentes do anterior sistema deveriam passar para o novo Avan ar em vez de esperar por mais feedback dificultou um pouco o desenho do sistema e distanciou o de um consenso geral
144. r o pedido ao servi o WhoIs de acordo com o que est especificado no URL para obten o das informa es do dom nio dns pt 3 Obt m se o statusCode da resposta via header HTTP da resposta usando o m todo getHeaderField 0 Caso a resposta seja OK statusCode gt 200 amp lt 68 300 devolve se o tempo que demorou a a o a decorrer Caso contr rio um erro lan ado a indicar que n o houve resposta v lida Este m todo vai permitir saber se existem tempos de espera fora do normal para o servi o de Whols aquando da utiliza o do servi o Web para obter informa es acerca de um dom nio Em conjunto com o m todo getWiILatencyViaSocket poss vel ter uma no o do estado do servi o Whols terminateServer O ltimo m todo desta classe o que permite remotamente terminar o servidor de MBeans caso seja necess rio A sua implementa o a seguinte 1 Aquando da invoca o apresentada um pop up com a informa o que o servidor ir ser encerrado 2 A execu o do programa servidor MBeans terminada enviando um pedido de System exit 0 sendo que o O indica que terminou pacificamente 4 4 5 Mbeans no plano de monitoriza o Os MBeans foram pensados como uma parte da solu o de monitoriza o e como tal seriam inclu dos na plataforma Zabbix para que se pudesse ter n o s monitoriza o das lat ncias de comunica o mas tamb m poder gerar alarm stica com base nos dad
145. ra o da vers o 3 do dashboard Figuras 37 38 e 39 Figura 37 Esbo o para a Home do novo dashboard vers o 3 95 Figura 38 Esboco da pagina de Host do novo dashboard algumas funcionalidades ainda nao estavam presentes por ainda n o ter sido pensado quais seriam Figura 39 Esbo o da p gina de HostGroup com as v rias caixas de alarm stica uma para cada Host que constitui o grupo Para a p gina da funcionalidade de Acknowledge esbo ou se um g nero de pop up como exemplificado na Figura 40 onde se introduz a mensagem de tomada de conhecimento para enviar para o servidor 96 message Figura 40 Esbo o para a p gina de Acknowledge onde se d conhecimento de um evento 5 7 Implementa o da nova interface Dashboard 5 7 1 P gina Home A p gina Home Figura 41 a p gina principal do dashboard Est desenhada para conter a principal informa o acerca do estado da infra estrutura t cnica apresentando as informa es de monitoriza o atualizadas para os sistemas mais cr ticos bem como alarm stica para os principais grupos Esta p gina composta por Cabe alho O cabe alho da p gina cont m funcionalidades como os menus com os v rios Hosts e HostGroups o logo da Associa o DNS PT que serve tamb m de link para voltar p gina Home e a funcionalidade de pesquisa Este cabe alho que est presente transversalmente interface dashboard cont m quat
146. ra a interface Web Depois de confirmar que todos estes pr requisitos eram cumpridos a interface apresenta a pagina como sugere a Figura 7 ZABBIX ox ox ox ox ox ox ox oK ox ox ox OK OK ox Figura 7 Lista de pr requisitos e estado destes Quando todos os itens estiverem a OK pode se seguir para a pr xima fase que se prende com as informa es da base de dados a ser usada pelo servidor Zabbix No ecr representado na Figura 8 introduzem se os dados para configurar o acesso base de dados MySQL de suporte ao servidor 35 ZABBIX Please create Catabase manualy and set the configuianon parameters for connection to tts database Press Test conection button when done Databasetype MySQL a Database host Jocalhost Z Database port o Labbi Figura 8 Exemplo do ecr para preenchimento dos dados da base de dados Depois de testar a conex o e esta estar OK passa se fase seguinte que trata do preenchimento dos detalhes do servidor Zabbix A Figura 9 representa o ecr de configura o do servidor pedindo apenas tr s informa es Nome DNS do servidor porta a usar e nome a dar ao servidor relevante para identifica lo no sistema de monitoriza o Para o efeito foram usadas as seguintes informa es Host lt nome DNS do servidor gt Porto 10051 porto por defeito para o servidor Zabbix Nome ZabbixServer 36 ZABBIX Please enter host name
147. rameters no presenter do DSC que fazem a leitura de um ficheiro que periodicamente atualizado com o espa o que cada diretoria de collector est a usar No lado do servidor existe um Graph com a representa o do espa o que cada collector est a usar no presenter como se pode ver na Figura 32 Desta forma sabe se a qualquer momento quanto que o volume de dados do DSC est a ocupar permitido tomar medidas caso tenha um crescimento fora do normal que acima quer abaixo das expetativas pro dsc dns pt Disk space used by Collector s on the Presenter 6d 126 Mk 07 Mk 587 78 KK 68 MK 11 Mk 83437 KK 29112 KK Table 2 2 2 Copyright 2001 2014 by zabki STA Figura 32 Ecr de Graph que representa o espa o usado pelos Collectors no Presenter DSC 79 80 Capitulo 5 Dashboard DNS PT 5 1 Contextualizacao A necessidade de monitorizar os recursos da Associa o foi satisfeita com a implementa o do sistema de monitoriza o Zabbix No entanto um dos aspetos fulcrais de um sistema de monitoriza o a forma como a informa o apresentada admitindo uma import ncia acrescida se se tiver em conta que se tem de conhecer os v rios estados dos sistemas de uma forma pr tica e que imediata Desta forma um bom sistema de monitoriza o e alarm stica deve n o s ter um bom sistema de obten o de indicadores mas tamb m ter uma boa interface gr fica que permita uma representa o
148. rincipal componente deste agente JMX o servidor MBean que gere os tais recursos A classe que concretiza o servidor n o est suscet vel a especifica es pelo que pode ter qualquer nome O ponto mais importante deste servidor o registo dos MBeans criados Para isso preciso criar o servidor de MBeans onde se v o registar as opera es sendo para tal necess rio obter uma inst ncia de servidor via ManagementFactory Esta factory consiste num conjunto de m todos est ticos independentes das inst ncias de objetos que retornam plataformas MXBeans MBeans que apenas permitem tipos que estejam em java lang que representam a interface de gest o de uma componente da JVM 4 4 2 Monitoriza o com MBeans Motiva o e Balan o Este sistema apenas ser relevante se existir forma de utilizar estes MBeans proactivamente num ambiente de monitoriza o Assim as interfaces de MBeans devem ser constru das com o intuito de obter informa o para alimentar o sistema de monitoriza o principalmente em aspetos que o atual sistema de monitoriza o incapaz ou deficiente no desempenho dessa fun o Os MBeans cobrem algumas das lacunas na monitoriza o por agentes ou por SNMP Fortes candidatos para este tipo de monitoriza o s o 63 Sistemas Operativos Informa o n o habitual como registry keys Windows informa o acerca de ficheiros ou processos dados de performance de componentes que podem n o
149. rio pensar em como concretizar este novo sistema Conceptualmente o sistema poder se ia descrever da seguinte forma 23 3 5 1 Servidores de Nomes BIND T InterfaceWeb Registo de Eventos Monitor AUX Monitoriza o de servi os secund rios periocidade reduzida ou que usem muitos recursos Comunica o para controlo Gest o Base de Dados Monitor j ee ae MAIN Gera Monitoriza o do estado do servi o I i I Alarm stica Monitoriza o do a estado da maquina Notifica o Monitoriza o dos pacotes de DNS libpcap Recolhe Lista de pedidos e respostas amp E Mail Ticket SMS Figura 5 Desenho do sistema de monitoriza o para Servidores de Nomes Na Figura 5 identificam se facilmente tr s grandes componentes o monitor que recolhe informa o o sistema monitorizado que faculta informa o e a alarm stica O monitor est dividido em monitor principal main e monitor secund rio pensando se j na possibilidade de se descentralizar o sistema de monitoriza o Com v rios servidores de monitoriza o secund rios que comunicam com um principal diminui se a carga que um s monitor teria mitigam se eventuais falhas nos servidores e permite se que a monitoriza o n o falhe por completo se uma parte falhar Quanto ao sistema monitorizado a recolha de dados ocorre a dois n veis recolha dos dados de monitoriza
150. rmitem capturar os pacotes TCP IP que passam numa dada interface de rede O collector condensa as informa es nesses pacotes em ficheiros XML eXtensible Markup Language cuja estrutura est associada aos datasets conjuntos de dados a representar num gr fico definidos no ficheiro de configura o 7 Cada collector tem uma diretoria onde se guardam os dados capturados run dentro da qual existe a diretoria com o nome do servidor de nomes no contexto do 15 sistema Os ficheiros XML que v o sendo criados ao longo do tempo s o guardados na diretoria run lt nome ns gt upload Nesta agrupam se os ficheiros XML por data na diretoria lt nome do presenter gt para que se possa enviar sempre os dados com consci ncia temporal Um exemplo de caminho para encontrar os dados no servidor de nomes ns dns pt dsc run ns dns pt upload presenter 2013 11 16 A fun o da m quina collector no sistema DSC simples de compreender capturar os pacotes respetivos ao tr fego DNS e condensar essa informa o em ficheiros XML transferir os ficheiros para a m quina que os vai apresentar atrav s de mecanismo de transfer ncia de dados remota rsync um sistema de transfer ncia de dados incremental usando SSH para comunica o segura e scripts executados periodicamente para limpar os dados que j foram transmitidos Os dados s o transmitidos para uma outra m quina o presenter que tem o objectivo de os apresentar grafi
151. ro elementos interativos o bot o Home que est incorporado no nome Dashboard DNS PT e logo da Associa o dois menus expans veis dropdown menus com conte do din mico e uma caixa de texto para pesquisa tamb m ela com conte do din mico No caso dos menus expans veis HostGroups e All Hosts a informa o para popular a lista vem do servidor de monitoriza o Para o efeito faz se um pedido ao servidor por todos os HostsGroups no sistema e por todos os Hosts que n o sejam Template para listar nos menus HostGroups e All Hosts respetivamente J no caso da funcionalidade de pesquisa a abordagem diferente Para implementar esta fun o foi necess rio recorrer a pedidos AJAX a um ficheiro PHP e a um ficheiro XML O ficheiro PHP operacionaliza a pesquisa por texto que o utilizador insere respons vel por aceder ao ficheiro XML com todas as entradas que s o pesquis veis de momento apenas Hosts s o pesquis veis e recolher a informa o que coincide com aquela escrita na caixa de pesquisa Os pedidos AJAX servem para que 97 sempre que o utilizador escreva o PHP pesquise no XML aquilo que o utilizador escreve e integre os resultados como sugest es por baixo da caixa de pesquisa Com isto medida que um utilizador escreve na caixa de pesquisa aparece uma lista com itens podem ser clicados levando o utilizador para a p gina respetiva Zona de Gr ficos Nesta rea da p gina surgem quatro gr ficos P
152. s Sem ter conhecimentos de PHP nem de Web design contruir uma interface que interligasse com o sistema Zabbix fosse funcional e que esteticamente fosse apelativa foi uma tarefa que n o tinha antecipado conseguir com os resultados obtidos A interface mostra se capaz de apresentar a informa o de forma clara e objetiva pelo que ajuda nas tarefas do dia a dia de monitoriza o e alarm stica Tendo aprendido e feito grande parte sozinho e uma pequena parte com ajuda externa Associa o considero que o produto final foi bem acolhido e cuja utiliza o n o tem detetado grandes necessidades de melhoramento para al m daquelas que constam do trabalho futuro 6 1 4 Identificar trabalho futuro z Esta tem tica abordada mais frente neste cap tulo sec o 6 4 Trabalho Futuro mas enquanto objetivo que tinha sido delineado penso que foi concretizado de forma satisfat ria 110 A equipa deu o seu input e fomentou algumas ideias para o futuro mas as principais altera es a fazer j foram identificadas desde os planeamentos iniciais Neste momento a Associa o DNS PT est na imin ncia de evoluir a sua infra estrutura t cnica e como consequ ncia atualizar o sistema de monitoriza o e alarm stica Independentemente disso foi poss vel criar a lista de trabalhos futuros conforme se pretendia dando continuidade aos trabalhos no sistema de monitoriza o e alarm stica 6 2 Balan o O balan o a fazer d
153. s o final da p gina Home no fim da primeira itera o de desenvolvimento 99 5 7 2 Pagina HostGroups Esta pagina serve de interm dio entre a pagina Home e a pagina de cada Host A pagina ilustra uma caixa para cada Host que faz parte do grupo e uma entrada para cada problema que esse tenha com a representa o de cores consoante a severidade dos problemas A Figura 42 ilustra a p gina no final desta itra o Em termos estruturais esta p gina herda o cabe alho da p gina de Home A alarm stica apresentada nesta p gina muito semelhante apresentada na p gina Home sendo as diferen as apenas duas o n mero de problemas n o est limitado a tr s e em vez de existir um bot o para ir para a p gina de HostGroups tem um bot o para a p gina do Host Os dados para alarm stica s o carregados a partir de um s pedido AJAX que tamb m usado para os atualizar periodicamente da mesma forma como se faz para a alarm stica na p gina Home Host Groups All Hosts HostGroup SIGA Host pro fe01 priv dns pt Detected Problems lastcheck 11 25 08am Problem Received Action Mo Problems Host pro bo03 priv dns pt Detected Problems lastcheck 11 25 09am Problem Received Acton No Problems Host pro infra01 priv dns pt Detected Problems lastcheck 11 25 10am Problem Received Action No Problems Host pro fe02 priv dns pt Detected Problems lastcheck 11 25 09am Problem Receives Action No
154. s recursos 12 desde a JVM at recursos locais na m quina ou mesmo conte dos Web parte importante para monitoriza o de aspetos que o agente Zabbix n o capaz de saber A sua utiliza o referida ao longo deste documento com nfase durante a explica o da monitoriza o por Java MBeans Cap tulo 4 sec o 4 3 1 Interface IPMI 13 Esta interface permite o contacto com sistemas mesmo quando estes est o desativados Atrav s de uma liga o direta ao hardware liga se diretamente ao sistema em causa sem ser necess rio aceder pelo sistema operativo para contactar com ele e independente do CPU da m quina esta interface permite aceder s m quinas quando estas est o desligadas possibilitando algo que raramente poss vel para sistemas computacionais aceder a eles mesmo quando est o desligados 13 N o existem planos para monitorizar Hosts com esta tecnologia pelo que a interface IPMI n o tem utilidade para j para o sistema de monitoriza o Quando se cria um Host necess rio associ lo a um grupo Os grupos neste novo sistema agrupam Hosts que partilham o mesmo paradigma ou sistema para que um grupo tenha Hosts que se relacionam entre si e com a informa o associada ao nome do grupo Por exemplo o grupo Linux ter apenas Hosts cujo sistema operativo seja Linux independentemente de serem servidores de nomes servidores aplicacionais ou outros tipos de servidores Esta divis o l gica do
155. s e alarm stica como principal componente Na Figura 35 podemos ver um esbo o daquilo que foi pensado para a vers o 1 do dashboard Composta por uma estrutura de gr ficos menu de op es e alarm stica esta vers o teria gr ficos est ticos a atualizarem periodicamente e um conjunto de caixas com alarm stica para as principais abstra es do sistema servidores de nomes bases de dados m quinas Linux m quinas Windows etc A barra central teria algumas fun es como mostrar outras informa es do sistema que n o estavam vis veis 91 Figura 35 Esbo o da p gina Home da interface Dashboard vers o 1 A segunda vers o Figura 36 apresenta uma p gina mais cuidada e com recurso a t cnicas de organiza o e apresenta o de elementos mais complexas como o caso do carousel nome dado ao conjunto de imagens que desliza lateralmente de imagem em imagem no desenho representado por caixas com setas nos lados ou os collapsable menus que ao clicar na seta expandem uma caixa por baixo revelando a informa o escondida no desenho representado na barra lateral esquerda com setas A alarm stica est presente de uma forma an loga vers o 1 em caixas cujas entradas coloridas indicam a severidade do problema de um dado grupo Figura 36 Esbo o da p gina Home da interface Dashboard vers o 2 92 Estes esbo os foram apresentados equipa t cnica sendo depois debatido qual dos d
156. s o usar para obter informa o A p gina est ilustrada na Figura 44 A p gina tem apenas uma caixa de texto para introduzir a mensagem e dois bot es um para submeter e outro para cancelar Ao contr rio do que se idealizou o Acknowledge n o um pop up mas como uma p gina normal com a mesma estrutura das restantes p ginas da interface tem o cabe alho igual exceto as funcionalidades dos dropdown menus e da caixa de pesquisa que foram removidos e com apenas a possibilidade de submeter a mensagem ou cancelar e voltar onde estava Envia se a informa o que foi introduzida na caixa de mensagem para o servidor sob a forma de um pedido cuja resposta reflete o sucesso recebe se o ID do evento que foi dado o conhecimento ou o insucesso a resposta n o contempla o ID do evento em quest o Caso haja sucesso redireciona se o utilizador para a p gina onde estava Caso contr rio exibe se um alerta indicando que a tarefa falhou pelo que deve voltar a tentar deixando o utilizador na mesma p gina A funcionalidade de redireccionamento desenvolveu se da seguinte forma quando se clica no bot o de Ack em qualquer caixa de alarm stica a p gina que carregada leva par metros no URL sendo eles o id do evento a dar conhecimento e a p gina onde se estava anteriormente para que quando se decide sair da p gina de Acknowledge o utilizador seja remetido para a p gina onde estava Esta foi a forma encontrada para implementar
157. s que n o foram abrangidos pela monitoriza o via Web Items 4 4 1 Java MBeans e o Sistema de Monitoriza o Por j existir conhecimento em programa o Java e alguns servidores em quest o ja terem Java instalado achou se til utilizar a tecnologia MBeans 16 do Java disponibilizada em todas as JVM e integrar os dados que se obt m diretamente no sistema de monitoriza o Zabbix Um MBean Managed Bean um objeto Java que representa um recurso que pode ser gerido como uma aplica o ou um servi o Este recurso exp e uma interface de gest o que consiste num conjunto de atributos de leitura e ou escrita opera es que podem ser invocadas e uma descri o pr pria Estas caracter sticas adv m dos padr es de design definidos pela especifica o JMX 12 pretendendo criar um standard no que toca a especifica es para desenho de aplica es de gest o de recursos 16 Para concretizar um MBean s o necess rios os seguintes componentes Uma interface que seja conforme com a especifica o JMX Uma classe que implemente a interface descrita Uma classe servidor que operacionalize a classe definida e a disponibilize para acesso Segue se uma breve explica o de cada uma das componentes Interface nomeMBean A especifica o imp e que o nome da interface apresente explicitamente a inten o de usar MBeans 16 da o nomeMBean A interface declara dois tipos de fun es relativa a a
158. s recursos afetos ao servi o e que caso existam indicadores que apresentem condi es preocupantes se despoletem os mecanismos certos para alarm stica O projeto apresenta um conjunto de tarefas de an lise e cr tica ao anterior sistema permitindo estabelecer uma base para a cria o de monitoriza o e alarm stica que se adapte realidade da Associa o Para concretizar o novo sistema de monitoriza o e alarm stica executou se um conjunto de tarefas de implementa o com itera es de levantamento de requisitos desenho e avalia o da solu o havendo sempre a preocupa o de manter o til e repensar o obsoleto Numa primeira fase de Setembro a Dezembro de 2013 fez se o levantamento para perceber extensivamente quais os problemas a abordar o que existia e o que precisava de ser mudado Procedeu se tamb m implementa o de sistemas de monitoriza o auxiliar como o DSC A fase final do projeto de Janeiro a Julho de 2014 consistiu em tr s etapas distintas planeamento e desenho do novo sistema de monitoriza o e alarm stica implementa o da solu o e cria o de uma interface gr fica para esta Esta ltima teve especial relevancia devido import ncia que a apresenta o dos dados representa para a Associa o DNS PT Palavras chave Monitoriza o Alarm stica Associa o DNS PT Domain Name System MI Abstract The Associa o DNS PT in its role of manager registry
159. s servidores importante para manter a organiza o e legibilidade do sistema No ecr de cria o de um Host Figura 11 pode se associar a grupos existentes ou criar um novo grupo sendo que um grupo de Hosts um HostGroup no sistema Zabbix n o tem grande quantidade de informa o associada apenas nome e se se quiser Hosts associados 42 ZABBIX Monitoring Inventory Reports Configuration Help Get support Print Profile Debug Logout Administration Host groups Templates Maintenance Actions Screens Slide shows Maps Discovery IT services History Latest data Configuration of host groups Latest data Configuration of hosts Status of Web monitoring CONFIGURATION OF HOSTS Host list Host ym09 dns pt Monitored SAMM applications 14 Items 71 Triggers 29 Graphs 12 Discovery rules 2 Web scenarios 0 Host Templates IPMI Macros Host inventory Hostname vm09 dns pt Visible name Groups In groups Other groups Linux servers Discovered hosts SIGA DSC Presenters Enclosure Hypervisors Intemal Services Mail Servers MySQL Databases Name Servers ORACLE Databases Templates New group Agent interfaces IP address DNS name Connect to Port Default 193 137 196 35 vm09 dns pt IP ons 10050 SNMP interfaces Add JMX interfaces Add IPMI interfaces Add Monitored by proxy no proxy Status Monitored Save Cloe Fut done Del
160. se podem esperar chegar a certo servidor de nomes As Figuras 14 e 15 mostram como se processa a cria o de um Item na interface Zabbix IZABBIX hee Triggers Figura 14 Ecr de cria o de Items 48 EE 3001 9014 by Ea ted Figura 15 Ecr de configura o de um Item Findo o processo de configura o dos Items passou configura o de Triggers que faz parte da alarm stica do sistema 4 2 2 Configura o dos Triggers Os Triggers t m depend ncia dos Items pois necessitam dos dados que estes fornecem para avaliar condi es de alarme 3 A defini o de Triggers passa sempre por definir uma fun o que dependendo do valor que o Item despolete um alarme ou n o S o sempre de cariz booleano e existe um n mero limitado mas grande de condi es pr definidas a que um Item pode ser submetido Para este caso a fun o mais usada foi a que verifica o valor dos ltimos dados recebidos e os compara para verificar se s o superiores a certo limite imposto ou se a diferen a denota um aumento muito grande Os Triggers definidos para o BIND t m como objetivo verificar aumentos bruscos atrav s da media di ria e aumentos muito significativos atrav s do limite fixo de um valor nas queries que se recebem O Trigger para a m dia ainda limitado por um valor fronteira para evitar que em per odos de baixa utiliza o haja ocorr ncias desnecess rias
161. se pretende criar tamb m se pode alterar as cores que cada Item toma na representa o deixando o resto das op es de configura o com os valores padr o 4 Uma das op es que til por vezes mudar o tipo de gr fico podendo escolher entre normal gr fico de linhas que unem os pontos referentes aos valores obtidos para dado Item normal empilhado a origem para cada Item n o a origem do referencial mas o valor do ltimo ponto recolhido ou seja desenha se sempre para cima em rela o ao ltimo Item o que leva a que se tenha um gr fico empilhado onde o maior valor no 50 eixo dos YY corresponde soma de todos os valores para o valor no eixo dos XX e cil ndrico em ingl s pie chart representa informa o dividida em fatias de um todo Configuraram se os Graphs Figuras 18 e 19 de acordo com os Items recolhidos agregando num nico gr fico a representa o de por exemplo todos os tipos de query que chegam a um servidor de nomes Como os Graphs est o definidos num Template todos os Hosts os v o herdar tendo assim um conjunto de Graphs relacionados com o BIND para cada servidor de nomes Template ist Template Temoiinte Ago BIND Service Applications 1 Items 42 Triaoers 2 Grophe 8 Screens 0 Discovery rules 0 Web senarios 0 Mame it width Height Graph type o sacas achas Figura 19 Ecr de cria o de um Graph No ltimo exemplo na Figura 19 pod
162. siadas para se conseguir compreender e formar queries SQL para o que se pretendia Ap s alguma investiga o descobriu se que a plataforma Zabbix traz por defeito uma API 23 para comunicar com a plataforma oferecendo m todos para obter e at atualizar indicadores e da pr pria estrutura que o constitui De acordo com o que se pode ler na documenta o oficial a API Zabbix uma API baseada na Web que usa comandos remotos HTTP para chamar a API tamb m uma API JSON RPC o que significa que todos os comandos enviados para a API devem ser codificados em formato JSON 23 Esta API permitiria n o s tratar de todos os pedidos necess rios 88 para obter a informa o a apresentar no dashboard mas tamb m invalidaria a necessidade de bases de dados adicionais quer para obter informa o quer para a guardar Componente Gr fica Por ltimo foi necess rio decidir como se construiria a interface gr fica da p gina A indecis o estava entre usar um formato simples de HTML puro e JavaScript para operacionalizar as funcionalidades da p gina ou se se queria adicionar alguma framework para enriquecer o aspeto visual e operacional da p gina Inicialmente foram ponderadas duas frameworks AngularJS e Bootstrap A framework AngularJS foi inicialmente ponderada pois citando a p gina Web da framework o HTML timo para declarar conte dos est ticos mas falha quando se tentam declarar views p ginas d
163. spons vel por uma fra o de informa o acerca do ponto onde se encontra e de como chegar a outros fragmentos da base de dados onde se pode encontrar mais informa o A distribui o apresenta se no formato de uma hierarquia em rvore com uma raiz bem conhecida de onde todos os n s prov m diretamente ou por descend ncia de n s que ligam diretamente Esta base de dados cont m informa o sobre os recursos da Internet que necessitam de uma refer ncia para serem conhecidos uma mnem nica dom nio e um identificador inequ voco um endere o IP 1 Um dom nio de DNS um nome que serve para para localizar e identificar de forma un voca computadores na Internet E um conjunto de informa es necess rias para se poder chegar ao servidor pretendido para aceder ao um website e mail e outros servi os que estejam disponibilizados atrav s da Internet Cada recurso na Internet est dispon vel de duas formas ou por nome nome leg vel e com significado literal ou por endere o IP c digo num rico com significado para as m quinas 1 O ser humano compreende e ret m melhor a informa o sob a forma de palavras mnem nicas do que n meros e os computadores o contr rio ent o necess rio encontrar um tradutor entre as duas linguagens um sistema que fa a a tradu o de forma transparente ao utilizador da Internet para que este chegue aos recursos desejados Esta necessidade foi o catalisador qu
164. sso da JVM Este indicador foi posteriormente removido das inten es de monitoriza o por n o ser por um lado algo que fa a sentido monitorizar do ponto de vista da JVM mas sim pelo Sistema Operativo e por outro lado n o se saber at que ponto que esse indicador seria apropriado para a monitoriza o da JVM ficava sempre a inc gnita se a carga era relativa ao panorama geral do CPU se era apenas do CPU reservado para a JVM sendo algo que n o se conseguiu perceber Os indicadores recolhidos para o estado da JVM s o todos importantes para ter a no o a qualquer momento de como est o estado da JVM parte da carga de CPU para o processo que j foi abordada no par grafo anterior os outros indicadores prendem se com o desenrolar das a es que o programa Java executa e s o pr prios do ciclo de vida da aplica o O n mero de classes carregadas Loaded Classes e o n mero de Threads Thread Count sao importantes para monitorizar os recursos que a JVM est a utilizar Um aumento ou diminui o nestes valores pode indicar um comportamento anormal do programa ou da pr pria JVM sendo que a contagem das Threads usadas pode revelar que o programa est a necessitar de mais ou menos recursos que o habitual J quanto mem ria da pr pria JVM Heap Space 14 a sua monitoriza o indispens vel para se saber quando por exemplo a JVM ficou sem mais espa o para alocar a informa o que vai sendo criad
165. stema Operativo CentOS 6 4 Espa o em disco 10 Gigabytes Base de dados MySQL 5 1 FrontEnd Apache 2 2 15 PHP 5 3 3 BackEnd Java Runtime Environment 1 7 libssh2 fping libcurl netsnmp 31 3 7 Instala o do Sistema Depois de levantados todos os requisitos e decididas as especifica es da maquina que ir hospedar o servidor Zabbix passou se instala o A infra estrutura t cnica de servidores na Associa o DNS PT tem uma forte componente de virtualiza o Existe um esfor o para tentar sempre que poss vel criar servidores virtuais por todas as vantagens que isso traz Uma m quina virtual seria uma mais valia pela facilidade de gest o existe um sistema de gest o centralizada de virtualiza o o XenCenter da Citrix rapidez de cria o de novos servidores o XenCenter permite em poucos passos criar uma m quina apenas selecionando o Sistema Operativo e especificando os atributos t cnicos da m quina como n mero de CPUs quantidade de mem ria e disco e simplicidade de processos de backup poss vel tirar um snapshot uma imagem do sistema operativo tal como est para recuperar caso aconte a algo m quina original Postas todas estas vantagens criou se uma m quina virtual com as caracter sticas J apresentadas no levantamento de requisitos do servidor que rapidamente ficou pronta para come ar o processo de instala o e configura o do sistema de monitoriza o Instala o d
166. tTRLatencyViaServer fun o que retorna a lat ncia de resposta do avaliador t cnico via liga o ao servidor getTRLatencyViaWeb fun o que retorna a lat ncia de resposta do avaliador t cnico via Web getWILatencyViaSocket fun o que retorna a lat ncia de resposta do servi o Whois via servidor getWILatencyViaWeb fun o que retorna a lat ncia de resposta do servi o Whois via Web Definiu se ainda uma fun o que se prende com o servidor de MBean e n o com a monitoriza o que a fun o terminateServer usada para terminar a execu o do servidor remotamente Uma vez definida a interface passou se implementa o da classe TestConnection que implementa a interface TestConnectionMBean e vai ser respons vel por concretizar a obten o das lat ncias de resposta dos servi os nos diferentes cen rios Em seguida descrevem se as op es de implementa o de cada um dos m todos anteriormente apresentados void sayTestConnection Este m todo mostra apenas uma janela com a mensagem This class declares a set of methods that test and measure the time it takes for the 66 connection setup to the Technical Reviewer and WhoIs services This MBean shows latency in milliseconds of the Associa o DNS PT s Web Services Esta breve descri o aparece num pop up recorrendo classe JOptionPane que usa elementos da classe Javax swing classe respons vel pelo desenh
167. tante configura o da interface Web feita j no browser onde aparece a listagem de pr requisitos conforme a Tabela 5 para a interface funcionar corretamente Pr Requisito Valor M nimo Descri o Vers o de PHP 5 3 0 PHP memory limit 128MB No ficheiro de configura o php ini memory limit 128Mb PHP post max size 16MB No ficheiro de configura o php ini post max size 16Mb PHP 2MB No ficheiro de configura o php ini upload max filesize upload max filesize 2Mb PHP 300 segundos No ficheiro de configura o php ini max execution time max execution time 300 PHP max input time 300 segundos No ficheiro de configura o php ini max input time 300 PHP session auto start Tem de estar No ficheiro de configura o php ini desabilitado session auto_start O base de dados Uma das seguintes Uma das seguintes bases de dados IBM DB2 MySQL tem de estar instalada Oracle ibm db2 MySQL oci8 pgsql PostgreSQL SQLite sqlite3 33 bcmath mbstring sockets gd 2 0 ou superior libxml 2 6 15 xmlwriter xmlreader ctype session gettext php bcmath php mbstring php net socket Necess rio para o support a scripts php gd Extens o PHP GD tem de suportar imagens PNG with png dir imagens JPEG with jpeg dir e FreeType 2 with freetype dir php xml ou php5 dom php xmlwriter php xmlreader php ctype php session php gettext Tabela 5 Conjunto de requisitos pa
168. tar s novas exig ncias sempre que estas surgirem 112 6 4 1 Sistema de Monitoriza o Zabbix Uma das primeiras altera es que o sistema Zabbix ir sentir prende se com a necessidade de afinar a monitoriza o das bases de dados A monitoriza o e a alarm stica ser o aconselhadas por um especialista e portanto o que existe poder n o ser o que mais se adequa s necessidades reais Assim que um administrador de bases de dados decidir o que deve e n o deve ser monitorizado o sistema dever refletir estes conselhos e monitorizar as bases de dados corretamente Outra necessidade futura a afina o geral que os Items transversalmente a todo o sistema Os Items necessitam de ser revistos a n vel de periocidade de recolha e de quanto tempo se guardam os indicadores Embora sempre que se configure um Item se tenha aten o a este pormenor alguns Items vieram de Templates outros foram criados imagem das necessidades da altura e outros foram importados do antigo sistema sem avaliar se a periocidade era a mais correta Este problema toma propor es maiores devido ao armazenamento ser um assunto t o delicado Otimizar sempre para a poupan a m xima deste recurso algo que tem de se ter sempre em conta o que impulsiona a necessidade de rever cuidadosamente esta quest o Num futuro pr ximo a Associa o DNS PT prev altera es na sua infra estrutura t cnica ponderando se algumas mudan as a n vel do equ
169. testes foram sendo feitos medida que era necess rio sem planeamento concreto apenas definindo um per odo de tempo para observar os comportamentos e depois agir de acordo com os resultados Quanto documenta o grande parte foi criada para compor este relat rio sendo que agora existem alguns documentos individuais que servem de documenta o para a ferramenta at se conseguir criar algo mais formal Tirando estas duas fases conseguiu se com alguma destreza contornar todos os obst culos que impediam a concretiza o das tarefas conseguindo sempre cumpri las embora nem sempre nos per odos planeados Ainda assim considera se que o planeamento foi cumprido embora com algumas falhas pois conseguiu se cumprir com o que se prometeu 6 4 Trabalho Futuro Esta sec o pretende expor as ambi es para o futuro quer de funcionalidades que ou n o ficaram desenvolvidas ou ficaram apenas parcialemente desenvolvidas durante o tempo do projeto quer de novas ambi es que v m complementar o trabalho realizado uma forma de se dar continuidade ao que foi feito que em muito se deve ao aspeto mut vel e de constante necessidade de adapta o que um sistema de monitoriza o est exposto no seio de um ambiente corporativo Tendo em conta o futuro da Associa o DNS PT e das suas ambi es prev se que haja necessidades de adapta o a v rios n veis sendo que o pr prio sistema de monitoriza o ter de se adap
170. the Servers Nodes menu Figura 4 Dados estat sticos do DSC para os Servidores de Nomes Portugueses 18 Capitulo 3 Fase Final Novo Sistema de Monitorizacao 3 1 Contextualizacao Depois de uma fase preliminar primeiros tr s meses do projeto onde se incidiu principalmente na investiga o e compreens o dos sistemas que constituem a infra estrutura t cnica da Associa o DNS PT foi tempo de reestruturar com base no conhecimento adquirido at ent o a monitoriza o e alarm stica dos sistemas apresentando um novo sistema para o efeito mais adaptado s necessidades e melhor preparado para o futuro Se numa fase inicial se incidiu mais em conhecer o protocolo DNS e como a Associa o se envolve nele nesta fase dar se mais import ncia ao conjunto dos sistemas e servi os que a Associa o tem que servem de suporte direto ao DNS ou ao neg cio e de como integr los na monitoriza o e alarm stica Neste cap tulo explora se todo o processo de desenvolvimento do novo sistema de monitoriza o come ando por avaliar o sistema antigo e planear o desenvolvimento do novo 3 2 Levantamento de Assets Sistemas e Servi os Este levantamento foi levado a cabo em duas partes no in cio do projeto como forma de perceber a infra estrutura t cnica e aquando da necessidade de listar tudo aquilo que se queria monitorizar Assim criou se uma listagem de m quinas e servi os que ilustra a composi o da infra
171. tributos e opera es gen ricas atrav s desta especifica o que se pode inferir quais recaiem sobre atributos pelos prefixos get e set dos m todos e quais as opera es geralmente sem nenhum prefixo ou sufixo associado As opera es podem ou n o alterar os valores dos atributos dado que a especifica o n o r gida quanto ao que estas opera es podem fazer 62 Classe nome A classe que implementa os m todos declarados pela interface tem como nome o nome da interface sem o sufixo MBeans Assim para a interface XyzMBeans a classe que a implementa chamar se ia Xyz Esta classe respons vel por implementar os m todos declarados respeitando as opera es e atributos conforme a especifica o dita Se a interface tiver dois m todos getA e getB ent o a classe ter de apresentar dois atributos A e B A especifica o de getters indica que estes m todos apenas devolvem os valores destes atributos pelo que n o dever o ter quaisquer argumentos aquando da invoca o do m todo nem realizar nenhuma a o que possa alter los No que toca a setters estes dever o alterar o valor dos atributos a que se referem tendo normalmente um argumento que o novo valor a dar ao atributo em quest o ou desencadear uma a o que o altere Agente JMX Server O agente JMX o respons vel por gerir os recursos que foram registados na documenta o da Oracle 16 apelida se como instrumentados pelo MBeans A p
172. u o de root servers resolve se o problema de saber por onde come ar a procura introduzindo o ponto de partida para a pesquisa Estes servidores de nomes sabem quem s o os servidores respons veis por dom nios diretamente sob eles dom nios apelidados de topo que s o as primeiras folhas nesta estrutura Os dom nios de topo Top Level Domains dividem se em duas categorias ccTLD Country Code TLD ou Dom nio de Topo de C digo de Pa s e gTLD Generic TLD ou Dom nio de Topo Gen rico onde o primeiro se refere a dom nios afetos a pa ses e o segundo a dom nios de cariz geral sem liga o direta a um pa s A Associa o DNS PT na qualidade de ccTLD para Portugal o Registry do pt ou seja respons vel pela gest o registo e manuten o da zona pt que o conjunto dos dom nios associados a Portugal na grande maioria Os ccTLD s o respons veis por providenciar as informa es relevantes para aceder a dom nios sob o lt pa s gt e no caso do ccTLD Portugu s respons vel por disponibilizar informa o sobre os dom nios pt No entanto a cadeia de resolu o de nomes n o termina aqui Uma camada abaixo encontramos de novo servidores de nomes respons veis pela resolu o de nomes dos subdom nios do dom nio pt dns pt ou ul pt por exemplo Neste panorama entram os Registrars ou Agentes de Registo entidades intervenientes no processo de resolu o ao providenciar o contacto com o ut
173. u de serem pensados dessa forma e Cap tulo 4 Concretiza o do Novo Sistema de Monitoriza o Descreve toda a implementa o que foi feita para concretizar o sistema de monitoriza o idealizado desde a configura o do servidor Zabbix at implementa o de tecnologias para recolha de indicadores configura o de alarm stica e integra o no sistema de monitoriza o e Cap tulo 5 Dashboard DNS PT Cobre todo o trabalho feito no mbito da nova interface gr fica para o sistema de monitoriza o na Associa o DNS PT e Cap tulo 6 Discuss o um cap tulo de opini o pessoal onde irei refletir sobre o balan o do projeto como correu face ao planeamento e perspetivas de trabalho futuro 10 Capitulo 2 Fase Preliminar Antigo Sistema de Monitoriza o Desde a data de in cio de fun es 16 de Setembro de 2013 at ao fim do ano 2013 sensivelmente at meados de Dezembro de 2013 foram realizadas v rias atividades no mbito do conhecimento do panorama atual do sistema de monitoriza o e alarm stica na pesquisa e levantamento de requisitos a cumprir na conce o do novo sistema e implementa o de novas metodologias de monitoriza o da utiliza o dos recursos da Associa o DNS PT Al m de tudo isto houve um momento de integra o no contexto da Associa o na equipa e na miss o desta 2 1 Antigo sistema Zabbix 2 O software Zabbix uma ferramenta r
174. ue o Zabbix permite subverter a l gica de integra o de dados no sistema de monitoriza o permitindo que seja o agente a enviar os dados para o servidor periodicamente Esta forma utiliza o zabbix trapper porto 10051 na comunica o com o servidor Este m todo foi conciliado com um script e com o conceito de calendariza o de execu es de scripts de forma a conseguir o envio autom tico e peri dico da informa o para o servidor O objetivo desta monitoriza o saber o atraso que um certo servidor secund rio tem em rela o ao servidor prim rio para a instala o de uma zona Isto importante porque para a sanidade do sistema de DNS importante que n o haja servidores de nomes a difundir informa es d spares para a mesma zona Quanto ao script em si o seu funcionamento o seguinte Obt m se a informa o do Serial Number para o servidor prim rio da zona em quest o Obt m se a listagem de servidores de nomes secund rios para a referida zona Para cada servidor de nomes secund rio faz se a compara o com o Serial Number do servidor de nomes prim rio Se a verifica o falhar envia se para o servidor de moniotirza o um valor a indicar que os Serial Numbers n o s o iguais caso contr rio envia se a confirma o de que est tudo bem Este script configurado no crontab da m quina aplica o que gere a execu o automatizada de comandos baseando se em per odos temporais pr
175. uema de Monitoriza o das Bases de Dados ORACLE via ORABBIX Cont m APP Tabela preenchida amp Tabela preenchida velo Oracle DB e Orabix pelo Oracle DB Queries Queries TCP 1521 TCP 1521 Replies Replies Onde est a base de dados prddns1 prddns2 Drivers de liga o base de dados jdbc Cont m Queries a realizar Orabbix Table prddns1 prddns2 Pr S 8 gt 5 Cont m Q 5 gt S Figura IV Esquema de Funcionamento da Monitoriza o das bases de dados usando ORABBIX 129 Esquema de Monitoriza o das Funcionalidade dos WebSites via Jenkins Webltems DE a Mo Soenaria Monitoriza o de sto a ng Horia um sh item Composto por ee Update lotecual Mene Agent browser a usar a Steps x URL a verificar Retorno esperado Status de sucesso Timenut da ac o SA plier parsed pelo Server com o N Perens pretendido Caso N falhe o status altera Replies ssnssas C digo HTTP da resposta ag pedido feito Queries Executa Scenario O o f execute e guarda A Jobs Replies tarefas WEB a fazer localizado em cada um dos hosts Cada Job corre conforme calendarizado na m quina iva O Jenkins guarda os resultados sendo o ltimo resultado o mais importante para efeitos de monitoriza o Exemplos de Servidores Figura V Esquema do Funcionamento da Monitoriza o
176. ys 68 days 10 days 10 days 40 days 20 days 19 days 1 day 7 days 1 day 5 days 1 day 10 days 1 day 1 day Wed 11 12 13 Wed 18 12 13 Fri 20 12 13 Mon 23 12 13 Tue 24 12 13 Tue 24 12 13 Tue 24 12 13 Tue 24 12 13 Tue 24 12 13 Tue 24 12 13 Wed 25 12 13 Fri 03 01 14 Fri 10 01 14 Wed 05 02 14 Wed 05 02 14 Mon 10 02 14 Wed 12 02 14 Wed 19 02 14 Wed 19 02 14 Wed 19 02 14 Wed 05 03 14 Wed 05 03 14 Wed 02 04 14 Tue 29 04 14 Wed 30 04 14 Wed 30 04 14 Thu 01 05 14 Thu 08 05 14 Fri 09 05 14 Fri 23 05 14 Fri 23 05 14 Tue 17 12 13 Thu 19 12 13 Fri 20 12 13 Mon 23 12 13 Tue 24 12 13 Tue 24 12 13 Tue 24 12 13 Tue 18 02 14 Tue 04 02 14 Tue 24 12 13 Thu 02 01 14 Thu 09 01 14 Tue 04 02 14 Tue 18 02 14 Fri 07 02 14 Tue 11 02 14 Tue 18 02 14 Fri 23 05 14 Tue 04 03 14 Tue 04 03 14 Tue 29 04 14 Tue 01 04 14 Mon 28 04 14 Tue 29 04 14 Thu 08 05 14 Wed 30 04 14 Wed 07 05 14 Thu 08 05 14 Thu 22 05 14 Fri 23 05 14 Fri 23 05 14 22 24 25 26 27 27 27 27 33 34 35 32 36 38 39 40 40 40 43 43 45 46 47 47 49 50 51 52 55 Listagem detalhada de monitoriza o 56 Relat rio de testes 57 Reuni o de controlo de projecto 58 Entrada em produ o e Opera o 59 Revis o da solu o 60 Refinamento da solu o Tunning 61 Identificar trabalho Futuro 62 Reuni o de controlo de
177. za o do estado das m quinas cargas de CPU de mem ria de disco de rede at ao estado de servi os estados das bases de dados de ambientes de produ o e qualidade velocidades de resposta a queries estados dos servidores de conte dos servidores Apache quer de frontend quer de backoffice entre outros Esta configura o permite obter um grande volume de dados posteriormente usados para gerar gr ficos que representam o que est a acontecer nos v rios componentes do sistema Com o conhecimento das fun es b sicas do Zabbix e das suas utiliza es na monitoriza o dos sistemas foi importante perceber as outras fun es mais avan adas usadas nesta linha Foram identificadas as seguintes funcionalidades avan adas 12 BIND O BIND o software que permite a resolu o de nomes de dom nio e a publica o destes para os outros sistemas computacionais na Internet 1 monitorizado recorrendo se utiliza o do dc stats uma funcionalidade de estat sticas do BIND permitindo saber que queries requests chegam aos servidores de nomes e que replies estes devolvem entre outros indicadores Na sec o Anexo pode se ver com detalhe na Figura I como se faz a monitoriza o no sistema atual ZoneCheck o ZoneCheck um script criado medida das necessidades t cnicas para recolher os dados dos tempos de resposta dos servidores de nomes para a zona pt prim rio e secund rios estando estes dispers

Download Pdf Manuals

image

Related Search

Related Contents

Manuel additif Four sous vide FRA    Nextar MA230 User's Manual  WD-TR350 - JVCケンウッド  BA_EasyClean200e_52 403 781  

Copyright © All rights reserved.
DMCA: DMCA_mwitty#outlook.com.