Métricas do Sistema
As métricas provem uma idéia do que está acontecendo com o cluster
. Estas são um recurso inestimável
para monitoração e depuração. Alluxio possui um sistema configurável de métricas baseado no
Coda Hale Metrics Library. No sistema de métricas, as métricas
origens são as métricas geradas e as métricas filtros consomem os registros gerados pelas métricas origens.
O sistema de métricas elege periodicamente métricas origens e passa seus registros para as métricas filtros.
As métricas do Alluxio são particionadas em diferentes instâncias correspondendo aos componentes do Alluxio. Dentre cada instância, os usuários podem configurar um conjunto de filtros para quais as métricas serão relatar. As seguintes instâncias estão suportadas atualmente:
- Master: O processo master independente do Alluxio.
- Worker: O processo worker independente do Alluxio.
Cada instância pode relatar entre zero ou mais filtros.
- ConsoleSink: Produz os valores de métricas para o console.
- CsvSink: Exporta os dados das métricas para arquivos CSV em intervalos regulares.
- JmxSink: Registra métricas para visualicação em um console JMX.
- GraphiteSink: Envia métricas para um servidor Graphite.
- MetricsServlet: Adiciona um servlet dentro da Web UI para disponibilizar as métricas como dados JSON.
Algumas métricas como BytesReadLocal
dependem de dados coletados a partir de um client heartbeat
.
Para pegar uma métrica preciso, é esperado que o client
feche o AlluxioFileSystem client
depois de
utiliza-lo.
Configuração
O sistema de métricas é configurado através de um arquivo de configuração que o Alluxio espera estar
presente em $ALLUXIO_HOME/conf/metrics.properties
. Um local personalizado pode ser especificado na
propriedade de configuração alluxio.metrics.conf.file
. Alluxio prove um arquivo
(metrics.properties.template) dentro do diretório conf
que possui todos as propriedades de
configuração. Por padrão, MetricsServlet
é habilitado e você pode enviar requisições HTTP
“/metrics/json” para pegar uma imagem de todas as métricas registradas em formato JSON.
Métricas Suportadas
As métricas são classificadas como:
- Geral: medições gerais do
cluster
(exemplo CapacityTotal). - Operações Lógicas: número de operações realizadas (exemplo FilesCreated).
- Invocações RPC: número de invocações RPC por operação (exemplo CreateFileOps).
A seguir são informados os detalhes das métricas disponíveis.
Master
Geral
- CapacityTotal: Capacidade total de
file system
embytes
. - CapacityUsed: Capacidade utilizada de
file system
embytes
. - CapacityFree: Capacidade disponível de
file system
embytes
. - PathsTotal: Número total de arquivos e diretórios dentro de um
file system
. - UfsCapacityTotal: Capacidade total do
under file system
embytes
. - UfsCapacityUsed: Capacidade utilizada do
under file system
embytes
. - UfsCapacityFree: Capacidade disponível do
under file system
embytes
. - Workers: Número de
workers
.
Operações Lógicas
- DirectoriesCreated: Número total de diretórios criados.
- FileBlockInfosGot: Número total da informação de blocos de arquivos retornados.
- FileInfosGot: Número total da informação de arquivos retornados.
- FilesCompleted: Número total de arquivos completos.
- FilesCreated: Número total de arquivos criados.
- FilesFreed: Número total de arquivos liberados.
- FilesPersisted: Número total de arquivos mantidos.
- FilesPinned: Número total de arquivos fixados.
- NewBlocksGot: Número total de novos blocos recebidos.
- PathsDeleted: Número total de arquivos e diretórios apagados.
- PathsMounted: Número total de diretórios montados.
- PathsRenamed: Número total de arquivos e diretórios renomeados.
- PathsUnmounted: Número total de diretórios desmontados.
Invocações RPC
- CompleteFileOps: Número total de operações
CompleteFile
. - CreateDirectoryOps: Número total de operações
CreateDirectory
. - CreateFileOps: Número total de operações
CreateFile
. - DeletePathOps: Número total de operações
DeletePath
. - FreeFileOps: Número total de operações
FreeFile
. - GetFileBlockInfoOps: Número total de operações
GetFileBlockInfo
. - GetFileInfoOps: Número total de operações
GetFileInfo
. - GetNewBlockOps: Número total de operações
GetNewBlock
. - MountOps: Número total de operações
Mount
. - RenamePathOps: Número total de operações
RenamePath
. - SetAttributeOps: Número total de operações
SetAttribute
. - UnmountOps: Número total de operações
Unmount
.
Worker
Geral
- CapacityTotal: Capacidade total do
worker
embytes
. - CapacityUsed: Capacidade utilizada do
worker
embytes
. - CapacityFree: Capacidade dispon[ivel do
worker
embytes
.
Operações Lógicas
- BlocksAccessed: Número total de blocos acessados.
- BlocksCached: Número total de blocos em
cache
. - BlocksCanceled: Número total de blocos cancelados.
- BlocksDeleted: Número total de blocos deletados.
- BlocksEvicted: Número total de blocos expulsos.
- BlocksPromoted: Número total de blocos promovidos.
- BlocksReadLocal: Número total de blocos lidos localmente pelo
worker
. - BlocksReadRemote: Número total de blocos lidos remotamente pelo
worker
. - BlocksWrittenLocal: Número total de blocos escritos localmente para o
worker
. - BytesReadLocal: Número total de
bytes
lidos localmente peloworker
. - BytesReadRemote: Número total de
bytes
lidos remotamente peloworker
. - BytesReadUfs: Número total de
bytes
lidos pelounder file system
noworker
. - BytesWrittenLocal: Número total de
bytes
escritos localmente para oworker
. - BytesWrittenUfs: Número total de
bytes
escritos para ounder file system
noworker
.