Kewei Sun, Jie Qiu, Ying Li, Ying Chen IBM China Research Laboratory, Beijing, China

Preview:

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 Presentation

Citation preview

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

Recommended