Adicionar filtros permanentes a um painel personalizado

Neste documento, descrevemos como adicionar filtros permanentes no nível do painel. aos seus painéis personalizados. Filtros permanentes, que permitem modificar os dados exibidas por um painel sem ter que modificar cada widget. Tenha um estado padrão e podem ser aplicados a todo o painel ou apenas a modelos widgets. A barra de ferramentas do painel exibe cada filtro permanente, junto com um menu, que permite alterar temporariamente o valor do filtro.

Quando você quer definir uma apresentação padrão de dados em um painel junto com com opções orientadas pelo menu para modificar essa exibição e adicionar filtros permanentes. Para Por exemplo, se você quiser ver as métricas de todas as zonas e as métricas para uma zona específica e, em seguida, crie um filtro permanente com base no rótulo zone.

É possível criar e aplicar filtros permanentes usando o console do Google Cloud ou a API Cloud Monitoring. Neste documento, descrevemos como usar console do Google Cloud. Para mais informações sobre como usar a API Cloud Monitoring, consulte Criar e gerenciar painéis por API: filtros do painel.

Para informações sobre como adicionar e modificar agrupamentos e filtros temporários, consulte Adicionar filtros temporários a um painel personalizado.

Como funcionam os filtros do painel

Um filtro de painel especifica um rótulo e um valor. A série temporal que o as exibições do painel determinam os rótulos disponíveis para filtragem. A forma como um widget permite um filtro no painel depende do tipo de dados o widget exibido e a configuração do widget:

  • Para widgets que exibem dados de séries temporais, como gráficos de linhas, o as seguintes regras se aplicam:

    • Se a série temporal exibida pelo widget não for compatível com o rótulo em um filtro, o filtro do painel inteiro não alterará os dados exibidos.

      Por exemplo, se você adicionar um filtro no rótulo instance_id, mas um gráfico no painel não mostrar dados com um rótulo instance_id, então o filtro não altera os dados exibidos.

    • Se o widget especificar um valor para um rótulo, o o filtro geral do painel não altera os dados exibidos.

      Por exemplo, se você adicionar um filtro no rótulo instance_id, mas um gráfico no painel inclui um filtro baseado no rótulo instance_id e, em seguida, o filtro do painel não altera os dados exibidos.

    • Caso contrário, o gráfico vai filtrar os dados exibidos apenas série temporal que satisfaçam o filtro do painel.

  • Para widgets do painel de registros, filtros do painel que são baseados em um o rótulo de recurso atualiza a consulta. Por exemplo, se você adicionar o filtro cluster_name: mycluster em todo o painel, a consulta será atualizado para incluir resource.labels."cluster_name"="mycluster".

É possível adicionar vários filtros no painel. Esses filtros são unidos por uma AND lógico.

Antes de começar

Para receber as permissões necessárias para adicionar ou modificar filtros permanentes usando o console do Google Cloud, faça o seguinte: peça ao administrador para conceder a você Papel do IAM Editor do Monitoring (roles/monitoring.editor) no projeto. Para mais informações sobre como conceder papéis, consulte Gerenciar acesso.

Também é possível conseguir as permissões necessárias com papéis personalizados ou outros papéis predefinidos.

Para mais informações sobre papéis, consulte Controle o acesso com o Identity and Access Management.

Criar um filtro permanente

Ao projetar um painel, você pode identificar várias maneiras de visualizar as que o painel exibe. Por exemplo, quando um painel exibe métricas para instâncias de VM, convém conferir as métricas de todas as VMs e talvez você queira conferir métricas de VMs em uma zona específica. Você pode criar um filtro permanente para o rótulo zone com o padrão definido para todas as zonas, *. Ao visualizar o painel, você pode usar o no filtro zone para selecionar uma zona específica.

É possível restringir um filtro permanente a widgets específicos. Considere um cenário em que você quer uma visão lado a lado das métricas para VMs em duas zonas diferentes. Você constrói duas coleções de gráficos e crie um filtro para cada coleção. Sua configuração padrão e satisfaça seu objetivo original. No entanto, ao visualizar o painel, lista suas variáveis e inclui menus para permitir que você selecione diferentes e a distribuição dos valores dos dados. Você pode usar esses menus para exibir dados para diferentes zonas.

Os filtros permanentes que se aplicam apenas a widgets específicos às vezes são chamados variáveis de modelo. Depois de criar um filtro desse tipo, quando você adicionar um widget ao seu painel, também poderá aplicar o filtro a esse widget. Para mais informações, consulte Aplicar um filtro permanente a um widget.

Para criar um filtro permanente, faça o seguinte:

  1. No console do Google Cloud, acesse a página  Painéis:

    Ir para Painéis

    Se você usar a barra de pesquisa para encontrar essa página, selecione o resultado com o subtítulo Monitoramento.

  2. Na barra de ferramentas do painel, clique em Configurações, e selecione Gerenciar filtros.
  3. Clique em Marcador e selecione um marcador. Por exemplo: selecione zone.
  4. Clique em Valor padrão e selecione o padrão. para o rótulo. Para corresponder todos os valores, selecione *.

    Depois que o filtro é criado, ele é adicionado à barra de ferramentas do painel. Para alterar temporariamente o valor do filtro, selecionar o filtro e fazer uma no menu.

  5. Siga uma das seguintes ações:

    • Para aplicar o filtro a todos os widgets no painel, selecione Aplicar a todos, e selecione Aplicar.

    • Para aplicar o filtro a alguns widgets no painel:

      1. Desmarque Aplicar a tudo.
      2. No campo Nome da variável, insira o nome de exibição da variável.
      3. Expanda o menu Aplicar aos gráficos e selecione os widgets que o o filtro se aplica e selecione OK.

      4. Clique em Aplicar.

Aplicar um filtro permanente a um widget

Para aplicar um filtro permanente a um widget, você deve associá-lo pela variável:

  • Nos gráficos configurados com menus, é possível fazer essa associação ao criar ou editar o filtro.

  • No painel de registros, edite o widget e configure a consulta padrão. Siga as orientações da seção chamada Sintaxe para aplicar um filtro permanente.

  • Para gráficos e tabelas definidos por MQL ou PromQL, edite o gráfico ou tabela e, em seguida, modificar o MQL ou o PromQL. Siga as orientações da seção chamada Sintaxe para aplicar um filtro permanente.

Sintaxe para aplicar um filtro permanente

Por exemplo, o código a seguir mostra a representação JSON parcial de um painel. que define uma variável de modelo e um filtro em todo o painel:

{
  "dashboardFilters": [
      {
        "filterType": "RESOURCE_LABEL",
        "labelKey": "instance_id",
        "stringValue": "3133577226154888113",
        "templateVariable": "iid"
      },
      {
        "filterType": "RESOURCE_LABEL",
        "labelKey": "zone"
      }
    ],
  "displayName": "Illustrate Template Variables",
  ...

No JSON exibido, a primeira entrada na estrutura dashboardFilters é para uma variável de modelo chamada iid e um filtro em todo o painel com a chave de rótulo zone. A variável de modelo é um alias do marcador instance_id.

A estrutura de dados de uma variável de modelo não lista os widgets aos quais em que ele se aplica. Em vez disso, você associa um widget a uma variável de modelo a modificação da consulta do widget para incluir uma referência à variável. Quando o widget é exibido no painel, o valor da variável de modelo é resolvido.

Consulte as seções abaixo para saber como fazer anotações em painéis e gráficos de registros:

Painel de registros

Para configurar um painel de registros para filtrar a exibição com base no valor de um variável de modelo, adicione-a ao painel de consulta. O exemplo a seguir ilustra uma consulta que filtra pelo valor da variável de modelo iid:

${iid}

Antes de o painel de registros consultar os registros a serem exibidos, a variável de modelo for resolvida. Neste exemplo, se o valor da variável de modelo for "12345", então ${iid} será substituído pela instrução resource.labels."instance_id"="12345"

Também é possível incluir apenas o valor de uma variável de modelo em uma consulta. Recomendamos que você use o valor apenas como parte de um filtro definido com um expressão regular. Por exemplo, a consulta a seguir usa uma expressão regular para corresponder a entradas de registro que tenham um payload JSON que contenha os string:

jsonPayload.message=~"Connected to instance: ${iid.value}"

Se você configurou uma consulta para o painel de registros e selecionou o botão para abrir a Análise de registros, as variáveis de modelo são resolvidas antes a Análise de registros é aberta.

A tabela a seguir mostra como a variável de modelo é resolvida pelo painel de registros:

Sintaxe Selected
Value
Expressão do painel de registros resolvida
${iid} 12345 resource.labels."instance_id"="12345"
${iid} * ""
${iid.value} 12345 12345
${iid.value} * .*

Gráficos e tabelas definidos pelo MQL

Ao usar a linguagem de consulta do Monitoring (MQL, na sigla em inglês) para configurar um gráfico, anexe um pipe e a à string de consulta:

fetch gce_instance
| metric 'compute.googleapis.com/instance/cpu/utilization'
| every 1m
| ${iid}

Antes de o gráfico consultar a série temporal a ser exibida, a variável do modelo for resolvida. Neste exemplo, se o valor da variável de modelo for "12345", então ${iid} será substituído pela instrução filter (resource.instance_id == '12345') Este filtro corresponde ao horário séries com um rótulo chamado resource.instance_id e somente quando o valor desse rótulo é exatamente 12345.

Quando você quiser filtrar série temporal usando uma expressão regular, configure a consulta para incluir apenas o valor da variável de modelo. Para ilustrar a sintaxe, a seguinte mostra como usar uma expressão regular para determinar se o valor do o rótulo resource.instance_id contém o valor da variável de modelo iid:

fetch gce_instance
| metric 'compute.googleapis.com/instance/cpu/utilization'
| filter resource.instance_id=~"${iid.value}"
| group_by 1m, [value_utilization_mean: mean(value.utilization)]
| every 1m

A tabela a seguir mostra como a variável de modelo é resolvida para MQL consultas:

Sintaxe Selected
Value
Expressão MQL resolvida
${iid} 12345 filter (resource.instance_id == '12345')
${iid} * filter (true)
${iid.value} 12345 12345
${iid.value} * .*

Gráficos e tabelas definidos pelo PromQL

Ao definir um gráfico com PromQL, anexe à string de consulta o variável entre chaves:

compute_googleapis_com:instance_cpu_utilization {
    project_id="my-project", ${iid}
}

Antes de o gráfico consultar a série temporal a ser exibida, a variável do modelo for resolvida. Neste exemplo, se o valor da variável de modelo for "12345", então ${iid} será substituído pela instrução instance_id == '12345'

Assim como no MQL, ao definir um widget com o PromQL, a consulta pode extrair apenas o valor da variável de modelo. Recomendamos que você usar o valor apenas como parte de um filtro definido com uma expressão regular. Para ilustrar a sintaxe, o seguinte mostra como usar uma expressão regular para determinar se o valor do rótulo instance_id contém o valor do iid da variável de modelo:

compute_googleapis_com:instance_cpu_utilization{
    instance_id=~"${iid.value}"
}

A tabela a seguir mostra como a variável de modelo é resolvida para o PromQL consultas:

Sintaxe Selected
Value
Expressão PromQL resolvida
${iid} 12345 instance_id == '12345'
${iid} * noop_filter=~".*"
${iid.value} 12345 12345
${iid.value} * .+

Gráficos e tabelas definidos com filtros de série temporal

Ao definir um gráfico usando filtros de série temporal, anexe a variável à string de filtro:

"filter": "metric.type=\"compute.googleapis.com/instance/cpu/utilization\"
           resource.type=\"gce_instance\" ${iid}"

Ao contrário dos gráficos definidos por MQL e PromQL, não é possível usar o valor de uma variável de modelo em um filtro de série temporal.

A tabela a seguir mostra como a variável de modelo é resolvida:

Sintaxe Selected
Value
Expressão de filtro resolvida
${iid} 12345 resource.instance_id == "12345"
${iid} * Omitida
${iid.value} 12345 Sem suporte
${iid.value} * Sem suporte

Modificar um filtro permanente

alterar temporariamente o valor de qualquer filtro exibido no painel; na barra de ferramentas, clique no nome do filtro e insira um valor ou no menu.

Para alterar a configuração de um filtro permanente, faça o seguinte:

  1. No console do Google Cloud, acesse a página  Painéis:

    Ir para Painéis

    Se você usar a barra de pesquisa para encontrar essa página, selecione o resultado com o subtítulo Monitoramento.

  2. Na barra de ferramentas do painel, clique em Configurações, e selecione Gerenciar filtros.
  3. Encontre o filtro que você quer modificar e use os menus para tornar suas modificações.
  4. Clique em Aplicar.

Excluir um filtro permanente

  1. No console do Google Cloud, acesse a página  Painéis:

    Ir para Painéis

    Se você usar a barra de pesquisa para encontrar essa página, selecione o resultado com o subtítulo Monitoramento.

  2. Na barra de ferramentas do painel, clique em Configurações, e selecione Gerenciar filtros.
  3. Encontre o filtro que você quer remover e clique em Excluir.
  4. Clique em Aplicar.

A seguir