Implementando marcadores de liberação em grafite

Por Allen Fung, Engenheiro Sênior de Software

No ShareThis, usamos o Graphite para o monitoramento de aplicações. Aqui está um gráfico típico do Graphite.

imagem

Isto mostra os "eventos por minuto" que uma aplicação tem consumido ao longo do tempo. Como você pode ver, nenhum registro foi consumido por algumas horas na segunda-feira à tarde. Ao combinar os marcadores de lançamento com o gráfico acima, podemos ver que o consumo parou devido a um lançamento ruim. Eis como isto parece.

imagem

Ao implementar o marcador de liberação, descobrimos que o nome do marcador não pode ter nenhum valor arbitrário. Ao invés disso, ele precisa ser sufixado com ".count". Isto porque o xFilesFactor para ".count$" é definido como zero por padrão, mas não para outros padrões. Se uma métrica tem um xFilesFactor diferente de zero, os seus valores só são garantidamente visíveis durante as últimas 24 horas. O xFilesFactor pode ser configurado no seguinte arquivo.

/opt/graphite/conf/storage-aggregation.conf.

Aqui está o comando real que usamos no auto-desdobramento para gerar o marcador de liberação.

echo release_marker.$APPLICATION.$HOST.count 1 `date +%s` | nc -w 2 graphite.ops.sharethis.com 2003

O comando acima define o valor da métrica para o número um no momento especificado. Se tentarmos apenas exibir a métrica, não veremos nada, pois seus valores são muito pequenos. Para tornar a métrica visível, precisamos passá-la para a função drawAsInfinite. Isto fará com que cada ponto de dados não zero da métrica seja exibido como uma linha vertical.

Sobre ShareThis

ShareThis has unlocked the power of global digital behavior by synthesizing social share, interest, and intent data since 2007. Impulsionado pelo comportamento do consumidor em mais de três milhões de domínios globais, ShareThis observa acções em tempo real de pessoas reais em destinos digitais reais.

Subscreva a nossa Newsletter

Receba as últimas notícias, dicas e actualizações

Assine

Conteúdo relacionado