“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


Problemas ainda são inevitáveis: bug da aplicação,
middleware instável, hardware


Sistemas distribuídos geram logs detalhados para
gravar suas atividades
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
O que é SD em largaescala?
SD
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}


Ponto de Log é o local onde log de eventos são gerados.


Um ci é componente atômico se ele não contém outros
componentes
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


Não existe relógio global


Itens de log devem ter formato único
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 Anomalia
num. 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
e do Estado S5
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
Download

14-02 - UFPR