Práticas recomendadas para painéis - Amazon Managed Grafana

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Práticas recomendadas para painéis

Este tópico de documentação foi desenvolvido para espaços de trabalho do Grafana que oferecem suporte à versão 10.x do Grafana.

Para espaços de trabalho do Grafana que suportam a versão 9.x do Grafana, consulte. Trabalhando na versão 9 do Grafana

Para espaços de trabalho do Grafana que suportam a versão 8.x do Grafana, consulte. Trabalhando na versão 8 da Grafana

Esta seção fornece informações sobre as melhores práticas para administradores e usuários do Grafana sobre como criar e manter painéis do Grafana.

Para obter informações sobre os diferentes tipos de painéis que você pode criar, consulte os painéis do Grafana: um guia completo para todos os diferentes tipos que você pode criar postagens de blog no site do Grafana Labs.

nota

Esta seção pode ajudá-lo a criar uma estratégia para o monitoramento e a manutenção do painel. Você conhece melhor seus sistemas e deve usar esta seção para orientar sua compreensão. Em última análise, é sua responsabilidade criar a melhor estratégia para seu sistema.

Estratégias comuns de observabilidade

Quando você tem muito a monitorar, como um farm de servidores, precisa de uma estratégia para decidir o que é importante o suficiente para monitorar. Esta página descreve vários métodos comuns para escolher o que monitorar.

Uma estratégia lógica permite criar painéis uniformes e escalar sua plataforma de observabilidade com mais facilidade.

Diretrizes para estratégias

  • O método USE mostra o quanto suas máquinas estão felizes, o método RED mostra o quanto seus usuários estão satisfeitos.

  • USE relatórios sobre as causas dos problemas.

  • O RED relata a experiência do usuário e tem maior probabilidade de relatar sintomas de problemas.

  • O monitoramento de ambos é importante para entender seu sistema. Como melhor prática, alerte sobre os sintomas e não sobre as causas. Normalmente, os alertas são configurados em painéis RED.

Método USE

USE significa:

  • Utilização — Porcentagem de tempo em que o recurso está ocupado, como o uso da CPU do nó.

  • Saturação — quantidade de trabalho que um recurso precisa realizar, geralmente o tamanho da fila ou a carga do nó.

  • Erros — Contagem de eventos de erro.

Esse método é melhor para recursos de hardware na infraestrutura, como CPU, memória e dispositivos de rede. Para obter mais informações, consulte a postagem do blog de Brendan Gregg, The USE Method.

Método RED

RED significa:

  • Tarifa — Solicitações por segundo

  • Erros — Número de solicitações que estão falhando.

  • Duração — quantidade de tempo que essas solicitações levam, distribuição das medidas de latência.

Esse método é mais aplicável a serviços, especialmente a um ambiente de microsserviços. Para cada um dos seus serviços, instrumente o código para expor essas métricas para cada componente. Os painéis RED são bons para alertas e SLAs. Um painel RED bem projetado é um proxy para a experiência do usuário.

Para obter mais informações, consulte a postagem do blog de Tom Wilkie O método RED: Como instrumentar seus serviços.

Os quatro sinais dourados

De acordo com o manual do Google SRE, se você puder medir apenas quatro métricas do seu sistema voltado para o usuário, concentre-se nessas quatro.

Esse método é semelhante ao método RED, mas inclui saturação.

  • Latência — Tempo gasto para atender a uma solicitação.

  • Tráfego — Quanta demanda é colocada em seu sistema.

  • Erros — Taxa de solicitações que estão falhando.

  • Saturação — Quão “cheio” seu sistema está

Modelo de maturidade do gerenciamento de painéis

A maturidade do gerenciamento de painéis se refere ao quão bem projetado e eficiente é seu ecossistema de painéis. Recomendamos revisar periodicamente a configuração do painel para avaliar onde você está e como você pode melhorar.

Em termos gerais, a maturidade do painel pode ser definida como baixa, média ou alta.

Muito do conteúdo desse tópico foi retirado da palestra Fool-Proof Kubernetes Dashboards for Sleep-Prived Oncalls de KubeCon 2019.

Baixo — estado padrão

Nesse estágio, você não tem uma estratégia coerente de gerenciamento de painéis. Quase todo mundo começa aqui.

Como você pode saber que está aqui?

  • Todos podem modificar seus painéis.

  • Muitos painéis copiados, pouca ou nenhuma reutilização do painel.

  • Painéis únicos que duram para sempre.

  • Sem controle de versão (painel JSON no controle de versão).

  • Muita navegação por painéis, busca pelo painel certo. Isso significa muito tempo perdido tentando encontrar o painel de controle de que você precisa.

  • Não há nenhum alerta para direcioná-lo para o painel certo.

Médio — painéis metódicos

Nesse estágio, você está começando a gerenciar o uso do painel com painéis metódicos. Você pode ter traçado uma estratégia, mas há algumas coisas que você poderia melhorar.

Como você pode saber que está aqui?

  • Evite a expansão usando variáveis de modelo. Por exemplo, você não precisa de um painel separado para cada nó, você pode usar variáveis de consulta. Melhor ainda, você também pode tornar a fonte de dados uma variável de modelo, para poder reutilizar o mesmo painel em diferentes clusters e back-ends de monitoramento.

    Consulte a lista de exemplos emVariáveis, para obter ideias.

  • Painéis metódicos de acordo com uma estratégia de observabilidade.

  • Painéis hierárquicos com detalhamentos para o próximo nível.

  • O design do painel reflete as hierarquias de serviços. Por exemplo, você pode usar o método RED com uma linha por serviço. A ordem das linhas pode refletir o fluxo de dados à medida que você rola para baixo no painel.

  • Compare curtir com curtir: divida os painéis de serviço quando a magnitude for diferente. Certifique-se de que as métricas agregadas não ocultem informações importantes.

  • Gráficos expressivos com uso significativo de cores e eixos de normalização sempre que possível.

    • Exemplo de cor significativa: azul significa que é bom, vermelho significa que é ruim. Os limites podem ajudar com isso.

    • Exemplo de eixos de normalização: ao comparar o uso da CPU, meça por porcentagem em vez de número bruto, pois as máquinas podem ter um número diferente de núcleos. Normalizar o uso da CPU pelo número de núcleos reduz a carga cognitiva porque o espectador pode confiar que 100% de todos os núcleos estão sendo usados, sem precisar saber o número de CPUs.

  • A navegação direcionada reduz a adivinhação.

    • As variáveis do modelo dificultam a navegação aleatória ou sem rumo.

    • A maioria dos painéis deve ser vinculada por alertas.

    • A navegação é direcionada com links. Para ter mais informações, consulte Gerenciando links do painel.

  • Painel de controle de versão JSON.

Uso altamente otimizado

Nesse estágio, você otimizou o uso do gerenciamento do painel com uma estratégia consistente e cuidadosa. Requer manutenção, mas os resultados valem a pena.

  • Reduzindo ativamente a expansão.

    • Analise regularmente os painéis existentes para garantir que eles ainda sejam relevantes.

    • Somente painéis aprovados foram adicionados à lista de painéis principais.

    • Rastreamento do uso do painel. Você pode aproveitar os insights de uso.

  • Consistência por design.

  • Use bibliotecas de scripts para gerar painéis e garantir a consistência no padrão e no estilo.

    • grafonnet (Jsonnet)

    • grafanalib (Python)

  • Sem edição no navegador. Os visualizadores do painel alteram as visualizações com variáveis.

  • Procurar painéis é a exceção, não a regra.

  • Faça experiências e testes em uma instância separada do Grafana dedicada a esse propósito, não em sua instância de produção. Quando um painel no ambiente de teste for comprovadamente útil, adicione-o à sua instância principal do Grafana.

Práticas recomendadas para criar painéis

Esta seção descreve algumas das melhores práticas a serem seguidas ao criar painéis do Grafana.

Antes de começar

Aqui estão alguns princípios a serem considerados antes de criar um painel.

Um painel deve contar uma história ou responder a uma pergunta

Que história você está tentando contar com seu painel? Tente criar uma progressão lógica de dados, como grandes para pequenos ou gerais para específicos. Qual é o objetivo desse painel? (Dica: se o painel não tiver uma meta, pergunte a si mesmo se você realmente precisa do painel.)

Mantenha seus gráficos simples e focados em responder à pergunta que você está fazendo. Por exemplo, se sua pergunta for “quais servidores estão com problemas?” , então talvez você não precise mostrar todos os dados do servidor. Basta mostrar os dados dos que estão com problemas.

Os painéis devem reduzir a carga cognitiva, não aumentá-la

A carga cognitiva é basicamente o quanto você precisa pensar em algo para descobrir. Facilite a interpretação do seu painel. Outros usuários e o futuro de você (quando estiver tentando descobrir o que estourou às 2 da manhã) agradecerão.

Pergunte a si mesmo:

  • Posso dizer exatamente o que cada gráfico representa? É óbvio, ou eu tenho que pensar sobre isso?

  • Se eu mostrar isso para outra pessoa, quanto tempo ela levará para descobrir? Eles vão se perder?

Tenha uma estratégia de monitoramento

É fácil criar novos painéis. É mais difícil otimizar a criação de painéis e seguir um plano, mas vale a pena. Essa estratégia deve governar o esquema geral do painel e garantir a consistência no design individual do painel.

Consulte Estratégias comuns de observabilidade e níveis de maturidade do gerenciamento do painel para obter mais informações.

Anote

Depois de ter uma estratégia ou diretrizes de design, anote-as para ajudar a manter a consistência ao longo do tempo.

Melhores práticas a serem seguidas

  • Ao criar um novo painel, verifique se ele tem um nome significativo.

    • Se você estiver criando um painel para jogar ou experimentar, coloque a palavra TEST ou TMP no nome.

    • Considere incluir seu nome ou iniciais no nome do painel ou como uma tag para que as pessoas saibam quem é o proprietário do painel.

    • Remova os painéis temporários do experimento quando terminar de usá-los.

  • Se você criar muitos painéis relacionados, pense em como cruzá-los para facilitar a navegação. Para obter mais informações, consulte Práticas recomendadas para gerenciar painéis, mais adiante nesta seção.

  • Grafana recupera dados de uma fonte de dados. Uma compreensão básica Conectar-se à fonte de dados de suas fontes de dados gerais e específicas é importante.

  • Evite a atualização desnecessária do painel para reduzir a carga na rede ou no back-end. Por exemplo, se seus dados mudarem a cada hora, você não precisará definir a taxa de atualização do painel para 30 segundos.

  • Use os eixos Y esquerdo e direito ao exibir séries temporais com unidades ou intervalos diferentes.

  • Adicione documentação aos painéis e painéis.

    • Para adicionar documentação a um painel, adicione uma visualização do painel de texto ao painel. Registre coisas como a finalidade do painel, links de recursos úteis e quaisquer instruções que os usuários possam precisar para interagir com o painel.

    • Para adicionar documentação a um painel, edite as configurações do painel e adicione uma descrição. Qualquer texto que você adicionar aparecerá se você passar o cursor sobre o pequeno i no canto superior esquerdo do painel.

  • Reutilize seus painéis e garanta a consistência usando modelos e variáveis.

  • Tenha cuidado ao empilhar dados gráficos. As visualizações podem ser enganosas e ocultar dados importantes. Recomendamos desativá-lo na maioria dos casos.

Práticas recomendadas para gerenciar painéis

Esta página descreve algumas das melhores práticas a serem seguidas ao gerenciar os painéis da Grafana.

Antes de começar

Aqui estão alguns princípios a serem considerados antes de começar a gerenciar painéis.

Observabilidade estratégica

Existem várias estratégias comuns de observabilidade. Você deve pesquisá-los e decidir se um deles funciona para você ou se deseja criar o seu próprio. De qualquer forma, tenha um plano, anote-o e cumpra-o.

Adapte sua estratégia às necessidades em constante mudança, conforme necessário.

Nível de maturidade

Qual é o nível de maturidade do seu painel? Analise a configuração atual do painel e compare-a com o modelo de maturidade do gerenciamento do painel. Entender onde você está pode ajudá-lo a decidir como chegar onde você quer estar.

Melhores práticas a serem seguidas

  • Evite a expansão dos painéis, o que significa o crescimento descontrolado dos painéis. A expansão do painel afeta negativamente o tempo necessário para encontrar o painel certo. Duplicar painéis e alterar “uma coisa” (pior: manter as tags originais) é o tipo de expansão mais fácil.

    • Revise periodicamente os painéis e remova os desnecessários.

    • Se você criar um painel temporário, talvez para testar algo, prefixe o nome comTEST:. Exclua o painel quando terminar.

  • Copiar painéis sem alterações significativas não é uma boa ideia.

    • Você perde atualizações no painel original, como alterações na documentação, correções de bugs ou acréscimos às métricas.

    • Em muitos casos, cópias estão sendo feitas para simplesmente personalizar a exibição definindo os parâmetros do modelo. Em vez disso, isso deve ser feito mantendo um link para o painel principal e personalizando a exibição com parâmetros de URL.

  • Quando precisar copiar um painel, renomeie-o claramente e não copie as tags do painel. As tags são metadados importantes para painéis usados durante a pesquisa. Copiar etiquetas pode resultar em correspondências falsas.

  • Mantenha um painel de painéis ou painéis de referência cruzada. Isso pode ser feito de várias maneiras:

    • Crie links para painéis, painéis ou links de dados. Os links podem ir para outros painéis ou para sistemas externos. Para obter mais informações, consulte Gerenciar links do painel.

    • Adicione um painel de lista do Dashboard. Em seguida, você pode personalizar o que vê fazendo pesquisas por tags ou pastas.

    • Adicione um painel de texto e use o markdown para personalizar a exibição.