Kewei Sun, Jie Qiu, Ying Li, Ying Chen IBM China Research Laboratory, Beijing, China. Network Operations and Management Symposium - NOMS 2008 Apresentado por Katia Abreu Tópicos em Redes Pós-Graduação em Informática – UFPR – out/2008 “A State Machine Approach for Problem Detection in Large-scale Distributed System”
Motivação Detecção de problema é parte importante do gerenciamento de um sistema de larga-escala Sistemas distribuídos geram logs detalhados para gravar suas atividades Problemas ainda são inevitáveis: bug da aplicação, middleware instável, hardware Empresas: QoS reduzido, competitividade reduzida Abordagens existentes: Poucas consideram a análise de log de múltiplos hosts de um sistema distribuído em larga-escala Algumas detectam somente problemas conhecidos
Roteiro Objetivos Conceitos e Definições Transação, Eventos e Transições em ME Detecção de Anomalias e Padrões de Problemas Um Estudo de Caso Conclusão
Objetivos Apresentar um novo modelo de análise de logs: PDSM (Problem Detection State Machine) Baseia-se na projeção do comportamento de um sistema distribuído e mantém informações estatísticas desse comportamento Objetivo do método: coletar logs de componentes do sistema, construir uma Máquina de Estados, e usá-la pra verificar o comportamento de um sistema. Descrever como PDSM representa as atividades de um sistema de larga-escala em execução.
Definição do Ambiente SD subsistemas componentes Transação Estados = componentes + transição Controle de processamento é passado de um componente a outro Requisição da aplicação O que é Maq. Estados? O que é SD em larga- escala?
O Conceito de PDSM Projeção do comportamento dos componentes Requisições entrantes
SD é composto por um conjunto de componentes C = {c 1,c 2,…,c n } Um c i é componente atômico se ele não contém outros componentes Ponto de Log é o local onde log de eventos são gerados. O conjunto de pontos de log de um componente atômico é L(c i ) = {lp 1,lp 2,...lp m } Para cada transação disparada por uma requisição r, ∃ um conjunto de componentes C(r), onde C(r) ⊂ C Definições Para o PDSM
Máquina de Estados de Transação de Única Requisição Define-se Máquina de Estados - M r - de uma transação, servindo uma única requisição, através da tupla: Estados da transação Conjunto dos Eventos que geram transições A probab. de um Estado de Q r ser o estado inicial
Equação Considerando I r, P r e F r
PDSM Global Une todas as máquinas de estados de todas as requisições. Pode ser denotada por:
Questões com os Eventos Logs são geradas por diferentes componentes Itens de log devem ter formato único Não existe relógio global Um método deve determinar a ordem relativa dos eventos É requerido rastrear a transação e extrair os eventos relacionados a ela
PDSM: Processamento de Eventos Log de eventos são convertidos em um formato único, isto é, eventos base comum Para assegurar a abordagem adaptativa, não assume que todos os relógios são sincronizados Ordem parcial em um conjunto de eventos + informações de tempo real Para extrair os eventos relacionados à transação Magpie, Pinpoint
Algoritmos
Construção de Máquina de Estados Usando Log de Eventos Agrupamento de eventos em Estados De acordo com suas especificações e informações de mensagens O algoritmo:
Probabilidade de Transição A probabilidade de transição do Estado s para s’ é denotada pela divisão de n’ por n, onde: n : número total de estados s n’: número total de transições que acontecem entre s e s’
Detecção de Anomalia num. Estados de S 4 num. transições de um Estado para outro 99,9% 0,1% Ponto de problema ou execução de um serviço acessado raramente?
Como resolver? Usar informações detalhadas da transição S 2 S 5 e do Estado S 5 Algoritmo para avaliar a anomalia dos Estados Idéia básica: visitar uma série de Estados ruins que se desviam do percurso normal O Estado mais suspeito de ser um problema é distinguido dos demais
Classificação dos eventos em níveis de erro: error/fatal, exception, warning, information e unknown É aplicada uma função para verificar o nível do Estado de erro E(s) Para cada Estado a partir do seu nível de erro é calculado se o Estado é uma Anomalia, se é um estado Normal, ou se não é possível classificar. Algoritmo para Avaliar Estado Anormal
Para erros que acontecem intermitentemente em um ou mais Estados Conectividade: Existe uma ligação entre esses Estados com erros intermitentes Verifica se o problema acontece em pares de Estados conectivos e se ambos têm o problema Saída: o conjunto de transições consideradas padrões de problemas Algoritmo para Detecção de Padrão de Problema
Experimentação 4 máquinas Emprego do benchmark Trade 6 A abordagem é validada sobre a aplicação J2EE 3-tier
Problemas Introduzidos Introduzidos separadamente Com duração de 1 hora Após 30 minutos de execução do sistema
Detecção de Problema Individual Projeção de um problema de shutdown acidental em DB2
Inserção de Um Problema Um novo problema aumenta o número de Estados PDSM fornece uma projeção em tempo real
Detecção de Múltiplos Problemas Máquina de Estados Global para todos os problemas introduzidos
Número de Estados e número de transições aumentam a cada novo problema Inserção de Múltiplos Problemas
Compressão de Logs PDSM une informações redundantes De milhões de logs/cententas de Estados para logs/291 Estados
Conclusão PDSM é um modelo de análise de log que representa a execução de um sistema distribuído de larga-escala Mantém informações estatísticas de comportamento Reduz os esforços de análise de logs ao fazer compressão Não necessita de conhecimento de alguma base de dados de problemas É sensível a problemas desconhecidos