kewei sun, jie qiu, ying li, ying chen ibm china research laboratory, beijing, china
DESCRIPTION
“ A State Machine Approach for Problem Detection in Large-scale Distributed System”. 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 - PowerPoint PPT PresentationTRANSCRIPT
Kewei Sun, Jie Qiu, Ying Li, Ying ChenIBM China Research Laboratory, Beijing, China.
Network Operations and Management Symposium - NOMS 2008
Apresentado por Katia AbreuTó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-escalaSistemas distribuídos geram logs detalhados
para gravar suas atividades
Problemas ainda são inevitáveis: bug da aplicação, middleware instável, hardwareEmpresas: 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 subsistema
s
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?
SD é composto por um conjunto de componentesC = {c1,c2,…,cn}
Um ci é 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(ci) = {lp1,lp2,...lpm}
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 - Mr - de uma transação, servindo uma única requisição, através da tupla:
Estados da transação
Conjunto dos Eventos que geram
transiçõesA probab. de um Estado de Qr ser o
estado inicial
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:
Detecção de Anomalianum.
Estados de S4
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 S2 S5 e do Estado S5
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
1.200.000 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