| Nome: | Descrição: | Tamanho: | Formato: | |
|---|---|---|---|---|
| 1.34 MB | Adobe PDF |
Orientador(es)
Resumo(s)
Sistemas de grande dimensão não são facilmente desenvolvidos ou mantidos. Em certos
casos Ć© difĆcil encontrar problemas no código, realizando apenas uma anĆ”lise estĆ”tica.
A maneira mais comum de lidar com este problema Ʃ atravƩs do uso de debuggers. No
entanto, pode nĆ£o ser fĆ”cil, por exemplo, testar todos os valores de input possĆveis ou
testar código que interaja com subsistemas complexos ou com código desconhecido.
De forma a encontrar problemas na execução de sistemas complexos, é necessÔrio
realizar uma monitorização contĆnua. Grande parte dos sistemas implementa registos
de eventos. Estes registos contêm informação acerca do estado de cada subsistema, que
podem ser usados para inferir o estado geral do sistema.
Nesta dissertação propƵe-se uma solução de monitorização modular, flexĆvel e configurĆ”vel,
baseada em registos de eventos de diferentes sistemas. Embora esta solução
tenha sido desenvolvida no Ć¢mbito de um projeto especĆfico com necessidades especĆficas,
pretende-se que esta possa ser adaptada para outros casos. De modo a facilitar o desenvolvimento
futuro, ao longo deste documento, irÔ ser descrita toda a implementação atual,
a sua estrutura e ainda, a anƔlise realizada para a escolha de ferramentas e para outras
tomadas de decisão.
De modo a avaliar a solução implementada, foram realizados alguns testes, comparando
o seu desempenho com uma outra solução semelhante, implementada anteriormente,
que se pretendia melhorar. Para avaliar a sua utilidade, foi ainda pedido a algumas
pessoas que testassem a nova solução e a comparassem com a solução antiga.
Systems with big dimensions are not easily developed or maintained. In some cases, it is hard to find every problem in the code by only executing a static analysis. The most common way to deal with this problem is by using debuggers, however, these tools also have some limitations, for example, it might not be possible to test every possible combination of input values, or to test code that interacts with complex systems or with unknown code. In order to find problems in the execution of complex systems, it is necessary to perform a continuous system monitoring. Most systems implement some type of logging. Log files contain useful information about the state of each subsystem, this information can then be used to infer the state of the main system. This dissertation proposes a flexible and configurable solution for monitoring, based on logs from different systems. This solution was developed in the context of a specific project with specific needs, however, it should be possible to be adapted to be used in other projects or systems. In order to help further development, in this document it will be described the development, structure and even the research and analysis executed in order to choose different tools or ways to implement the final solution. To evaluate this solution, some tests were conducted in order to compare its performance against another similar solution that was previously developed. To evaluate its usefulness, some people were asked to test the final solution and to compare it with the previous one.
Systems with big dimensions are not easily developed or maintained. In some cases, it is hard to find every problem in the code by only executing a static analysis. The most common way to deal with this problem is by using debuggers, however, these tools also have some limitations, for example, it might not be possible to test every possible combination of input values, or to test code that interacts with complex systems or with unknown code. In order to find problems in the execution of complex systems, it is necessary to perform a continuous system monitoring. Most systems implement some type of logging. Log files contain useful information about the state of each subsystem, this information can then be used to infer the state of the main system. This dissertation proposes a flexible and configurable solution for monitoring, based on logs from different systems. This solution was developed in the context of a specific project with specific needs, however, it should be possible to be adapted to be used in other projects or systems. In order to help further development, in this document it will be described the development, structure and even the research and analysis executed in order to choose different tools or ways to implement the final solution. To evaluate this solution, some tests were conducted in order to compare its performance against another similar solution that was previously developed. To evaluate its usefulness, some people were asked to test the final solution and to compare it with the previous one.
Descrição
Palavras-chave
Monitorização Debugging Logging Health Check
