240 likes | 416 Views
“ 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
E N D
“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 Pós-Graduação em Informática – UFPR – out/2008
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.
SD Definição do Ambiente O que é SD em larga-escala? componentes subsistemas Requisição da aplicação Transação O que é Maq. Estados? Estados = componentes + transição Controle de processamento é passado de um componente a outro
Definições Para o PDSM • SD é composto por um conjunto de componentes C = {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
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ções A 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
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 Anomalia num. Estados de S4 num. transições de um Estado para outro 99,9% Ponto de problema ou execução de um serviço acessado raramente? 0,1%
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
Algoritmo para Avaliar Estado Anormal • 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 Detecção de Padrão de Problema • 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
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
Inserção de Múltiplos Problemas • Número de Estados e número de transições aumentam a cada novo problema
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