Grafana: [Feat] Formatação condicional

Criado em 28 mar. 2018  ·  77Comentários  ·  Fonte: grafana/grafana

Introdução

No momento da escrita (Grafana v5.1-pre), temos suporte para

  • colorir fundo / valor no painel Singlestat com base em um intervalo numérico e 3 cores
  • colorir célula / valor / linha no painel Tabela com base em um intervalo numérico e 3 cores

image

image

Existem muitas solicitações / problemas de recursos que exigem maior suporte de coloração no painel da tabela e no painel singleestat:

  • # 7631 [Solicitação de recurso] Permitir mapeamentos de texto para valor no painel Singlestat
  • # 3601 painel da tabela: colorir o valor da célula com base na correspondência de padrão regex
  • # 9500 Solicitação de recurso: Permitir limites para a coluna Tempo nas tabelas
  • # 3608 Limites com mais de 3 valores separados por vírgula
  • # 8404 [Solicitação de recurso] Cor de valor nulo Singlestat
  • # 4821 A coloração do painel da tabela não deve exigir a exibição da coluna referenciada
  • # 9709 Painel de estatísticas único com cor gradiente
  • # 7411 [Solicitação de recurso] Valores de limite variável no painel Singlestats
  • # 7286 [Solicitação de recurso] Estilos de linha e / ou coluna na tabela

Historicamente, recebemos alguns PRs que tentaram resolver alguns dos problemas acima, mas não conseguimos mesclá-los porque achamos que as soluções são difíceis de entender da perspectiva do usuário ou tornam a base do código Grafana / recursos cada vez mais destruídos.

Proposta

Este problema tem como objetivo encontrar uma solução para resolver todos (ou a maioria) dos problemas acima e, assim, proporcionar uma experiência de usuário boa e consistente. Dito isso, provavelmente queremos dividir isso em questões menores se decidirmos que este é um bom caminho a seguir.

Em geral, o editor de Condições para alertas é muito semelhante a uma funcionalidade de editor de formatação condicional / regra e provavelmente caberia muito bem com algumas modificações. Isso é algo a se levar em consideração ao implementar isso.

image

Avaliador de regras condicionais

Um painel que precisa de formatação condicional não deve precisar implementar sua própria solução para avaliar regras condicionais, portanto, tornar isso um componente principal / biblioteca auxiliar é uma obrigação.
Seria bom se esse componente também pudesse retornar uma lista de tipos de regras que ele suporta.

Exemplos de tipos de regra:

  • O valor está vazio
  • O valor não está vazio
  • O texto contém
  • O texto não contém
  • O texto começa com
  • Texto termina com
  • O texto é exatamente
  • Data é
  • A data é antes
  • A data é depois
  • Maior que
  • Melhor que ou igual a
  • Menor que
  • Menos que ou igual a
  • É igual a
  • Não é igual a
  • Está entre
  • Não está entre

Painel Singlestat - colorir fundo / valor

Mudanças aqui em comparação com a funcionalidade atual é que

  • ele permite que você defina uma quantidade ilimitada de formatação de cores em comparação com o máximo de três hoje.
  • permite suporte para colorir com base em valores vazios / não vazios
  • permite suporte para colorir com base em valores de string / texto
  • permite suporte para colorir com base em valores de data / duração

Maquete / exemplo de UX para sublinhar a funcionalidade necessária / desejada

image

Painel da tabela - colorir células / valores / linhas

Mudanças aqui em comparação com a funcionalidade atual é que

  • ele permite que você defina uma quantidade ilimitada de formatação de cores em comparação com o máximo de três hoje.
  • permite suporte para colorir com base em valores vazios / não vazios
  • permite suporte para colorir com base em valores de string / texto
  • permite suporte para colorir com base em valores de data / duração
  • permite suporte para colorir uma linha com base em uma coluna oculta / não renderizada

Atualmente você pode definir limites para cada estilo de coluna definido. Talvez queiramos continuar tendo essa possibilidade, pois podemos tomar decisões inteligentes sobre a quais colunas aplicar as regras de formatação condicional.

Por outro lado, é bastante estranho continuar usando os estilos de coluna, pois eles basicamente fornecem opções de como renderizar células de coluna / converter valores de coluna brutos usando tipos de dados e opções específicos etc. afeta células ou linhas e as regras são avaliadas com base nos dados brutos retornados da consulta da fonte de dados, ou seja, após a conversão / opções. Na maquete abaixo, há um UX realmente simples que basicamente varreria todas as linhas e colunas retornadas da consulta da fonte de dados para aplicar a formatação condicional.

Uma opção para ter a formatação condicional dentro da guia Estilo da

Maquete / exemplo de UX para sublinhar a funcionalidade necessária / desejada

image

Compatibilidade futura

Quaisquer alterações necessárias nos modelos JSON do painel Singlestat e Tabela existentes devem ser compatíveis com versões futuras, o que significa que os painéis salvos existentes com o painel Singlestat / Tabela com coloração / limite habilitado devem ser migrados / convertidos para a nova solução quando tal painel for renderizado.

arepanesinglestat arepanetable typfeature-request typux

Comentários muito úteis

Atualização curta. Temos nos concentrado na migração do Angular to React e, devido a isso, não temos sido capazes de investigar isso. Queremos examinar isso depois que o gráfico, a tabela e outros painéis foram migrados para o React para torná-lo uma solução à prova de futuro que pode ser reutilizada por todos os painéis principais e externos.

Todos 77 comentários

Acho que essa proposta parece muito boa. Uma coisa que gostaria de mencionar que se relaciona a isso: painéis e alertas se tornariam muito mais poderosos se os limites pudessem ser definidos com base em outras consultas.

Um exemplo seria monitorar um cluster ceph. O Ceph requer um conjunto de daemons para formar um quorum. Seria muito útil se houvesse a opção de fazer um painel que rastreia o número de daemons no quorum a) ficar amarelo se number_in_quorum < number_all_daemons eb) ficar vermelho se number_in_quorum < number_all_daemons / 2 + 1

@torkelo , você tem alguma

Eu acho que isso parece muito interessante. Ele generaliza um conceito e de certa forma o torna mais fácil de usar (a string csv dos limites atuais é um pouco confusa)

Não tenho certeza de onde essa entrada deve ser fatorada ... mas gostaria de ver algo ao longo da linha de, digamos, a coluna A contém um valor de texto e a coluna B contém um valor numérico (0 ou 1) e também está oculto de o display. Quando a coluna B é 0, a coluna A é colorida de vermelho (com texto branco) e quando a coluna B é 1, a coluna A é colorida de verde (com texto branco). Em outras palavras, uma coluna pode ser consultada para controlar o atributo de cor de outra coluna ou, alternativamente, as condições para a cor de uma coluna podem ser expressas fatorando os dados de outra coluna?

@ centipede16 Sim, é sobre isso que se trata esta linha para o painel da mesa

  • permite suporte para colorir uma linha com base em uma coluna oculta / não renderizada

OK. Existe um prazo aproximado de quando essa funcionalidade seria provisoriamente disponibilizada, por exemplo, em algum momento de 2018 ou nenhum compromisso foi feito ainda?

Não há prazo ou marco no momento, mas desde que este e outros problemas relacionados tenham muitos votos, tentaremos e voltaremos com mais informações assim que tivermos mais informações.

Acho que isso está incluído no # 7411, mas quero apenas reiterar que, sempre que possível, esses campos de condição devem aceitar variáveis ​​de modelo como valores.

grafana

Manterá os olhos neste tópico.

+1 nestes. Ter que adaptar nossa especificação de dados às limitações do formato Grafana não é o ideal!

+1, @marefr alguma atualização sobre isso?

@sebawo Não, ainda não estou com medo.

+1.

+1

+1

+1

+1

+1

Eu gostaria de declarar que escrever "+1" não aumentará de forma alguma o trabalho para este item. Por favor, mantenha isso de lado, isso será processado assim que houver algum tempo de desenvolvedor para isso. Ou, em vez disso, você já poderia ter iniciado o trabalho nisso. :-) Obrigado

Parece bom.
Também precisaria ser capaz de alterar facilmente a ordem de aplicação da regra em primeiro / último

O que aconteceu com Limiares para a data?

O que aconteceu com Limiares para a data?

+1

@marefr há algum progresso nisso? Nós realmente adoraríamos que isso funcionasse adequadamente com nosso monitoramento de usung grafana, temos diferentes níveis de advertência / crítica para o mesmo serviço que estamos monitorando em servidores diferentes e poder usar um valor de consulta como limite significaria muito menos trabalho manual para nós!

Estou muito interessado neste tópico! Em particular de: "_ # 3608 Limiares com mais de 3 valores separados por vírgula_".

Alguma notícia sobre isso?

+1!
Coisas simples costumam ser as mais poderosas e necessárias!
Adoraria ver esses recursos em breve!
Você pode dar alguma notícia sobre isso? Especialmente Limiares com mais de 3 valores separados por vírgula.

Foi inaugurado há quase um ano - há algum status sobre o andamento?

Foi inaugurado há quase um ano - há algum status sobre o andamento?

Também me perguntando sobre o progresso aqui. Estou procurando usar o singleestat com um número adicional de limites e cores para exibir uma variedade de valores de status

Boas notícias sobre o recurso "painel da tabela: colorir o valor da célula com base na correspondência de padrão regex # 3601". Teria sido melhor se pudéssemos colorir um texto com base em regex ou comparação de strings (por exemplo, "Falha" - Vermelho, "Processando" - Yello, "Processado" - Verde).

Atualização curta. Temos nos concentrado na migração do Angular to React e, devido a isso, não temos sido capazes de investigar isso. Queremos examinar isso depois que o gráfico, a tabela e outros painéis foram migrados para o React para torná-lo uma solução à prova de futuro que pode ser reutilizada por todos os painéis principais e externos.

Ser capaz de alterar condicionalmente a cor nas células das tabelas com base em string seria muito útil para o meu projeto. Isso ajudaria muito a legitimar a grafana em nossa organização. Todos estão muito impressionados, mas recebo esses pedidos com frequência. "Você pode mudar a cor da tabela para mostrar"Estou ansioso para usar a coloração condicional.

Algum progresso nisso?

Temos alguma atualização sobre isso?
Definitivamente, é uma função obrigatória.

+1

alguma atualização disso?

+1

Eu também gostaria de ter esse recurso

Estou trabalhando em algo semelhante. Este é o painel Boom Summary usado para transformar a tabela em resumo de dados. Pode ser útil se alguém estiver procurando por isso.

image
image

Acho que neste problema https://github.com/grafana/grafana/pull/9455 a solução já estaria implantada para ser usada temporariamente até que a abordagem atual seja implementada, desculpe, mas o outro problema foi fechado e este é demorando muito para ser implantado. :(

Também gostaria que isso fosse um recurso, especificamente a string de tabela para mapeamentos de cores que seriam muito úteis para exibir uma "legenda" para anotações.

Alguma atualização quanto ao andamento desta solicitação? Tenho um projeto aguardando esse recurso para um painel de monitoramento SOC.

Também gostaria de saber se esse recurso será implementado 😎

Também estou ansioso por esse recurso. Especialmente em um painel de mesa. Qualquer hora prevista de chegada?

Em que estágio está? desenvolvimento planejado ou iniciado?

Devemos esperar algum progresso nisso? :-)

Qualquer eta em uma correção?

Def estou ansioso por este recurso. Espero começar a usá-lo em breve

Oi, alguma atualização sobre isso?

Além disso, encontrei um plug-in que pode ajudar nessa solicitação:

https://grafana.com/grafana/plugins/yesoreyeram-boomtable-panel

Eu apóio # 9500. Estou usando a grafana para mostrar uma sequência de pedidos cronometrados e quero destacar os que estão vencidos.

Algum progresso neste recurso?

Realmente interessado em https://github.com/grafana/grafana/issues/9500 . Como a maioria dos outros deseja destacar quando passou muito tempo desde a atualização.

+1

+9000

9500 e # 3601 melhorariam significativamente nossos painéis

No meu caso, gostaria de mostrar cores diferentes em meus gráficos dependendo da data

Oi
O "# 7631 [Solicitação de recurso] Permitir mapeamentos de texto para valor no painel Singlestat" foi implementado?

Para o novo painel "stat", será bom se um limite diferente puder ser definido para consultas diferentes.

Estou trabalhando em algo semelhante. Este é o painel Boom Summary usado para transformar a tabela em resumo de dados. Pode ser útil se alguém estiver procurando por isso.

image
image

parece que tentamos usar isso, mas travamos em nosso servidor usando o Elastisearch. usando Grafana 6.5.2

alguma atualização disso?

Não entendi, estava procurando uma solução para o pedido nº 9500, encontrei o PR nº 10594 que me parece promissor. Este PR foi encerrado por este recurso atual, no qual não encontro solução para o pedido inicial.

Perdi algo ?

+1 plix

Muito interessado nesse recurso!

+1

+1

Este é um recurso interessante ... Alguma atualização?

Você pode fornecer pelo menos alguma solução alternativa?

+1

+1

+1

Esta solicitação de recurso é realmente promissora. Mesmo apenas o mapeamento de texto para valor melhoraria muito o painel com grafana. Acho que temos que criar um valor numérico no banco de dados por enquanto. Compartilhe se você conhece uma solução alternativa além de manter um índice numérico na fonte de dados.

+1

+1

+1

+1

Alguém sabe se existe alguma atualização na capacidade de mapear valores de string para inteiros para poder visualizar em um gráfico? Este problema aqui foi mencionado em # 14222

+1

Olá @marefr , quando podemos esperar que esse recurso esteja disponível? estimativa aproximada

Eu realmente preciso desse tipo de exibição de células coloridas dependendo do valor da string

Esta página foi útil?
0 / 5 - 0 avaliações