Usar a fonte de dados Amazon OpenSearch Service. - 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á.

Usar a fonte de dados Amazon OpenSearch Service.

Editor de consultas métricas

O editor de consultas do OpenSearch permite selecionar várias métricas e agrupar por vários termos ou filtros. Use os ícones de mais e menos à direita para adicionar e remover métricas ou agrupar por cláusulas. Algumas métricas e cláusulas agrupadas por têm opções. Escolha o texto da opção para expandir a linha a fim de visualizar e editar a métrica ou agrupar por opções.

Usar a Piped Processing Language (PPL)

A fonte de dados Amazon OpenSearch Service é compatível com a Piped Processing Language (PPL), que habilita recursos de consulta e visualização mais simples e avançados para o OpenSearch. A PPL permite que os clientes explorem e encontrem dados sem precisar compor longas declarações de OpenSearch Domain Specific Language (DSL) ou escrever consultas usando objetos JSON. Com a PPL, você pode escrever consultas como um conjunto de comandos delimitados por pipes semelhantes aos pipes UNIX.

Veja a seguinte consulta DSL como um exemplo:

GET opensearch_sample_data_logs/_search{"from":0,"size":0,"timeout":"1m","query":{"bool":{"should":[{"term":{"response.keyword":{"value":"404","boost":1}}},{"term":{"response.keyword":{"value":"503","boost":1}}}],"adjust_pure_negative":true,"boost":1}},"sort":[{"_doc":{"order":"asc"}}],"aggregations":{"composite_buckets":{"composite":{"size":1000,"sources":[{"host":{"terms":{"field":"host.keyword","missing_bucket":true,"order":"asc"}}},{"response":{"terms":{"field":"response.keyword","missing_bucket":true,"order":"asc"}}}]},"aggregations":{"request_count":{"value_count":{"field":"request.keyword"}},"sales_bucket_sort":{"bucket_sort":{"sort":[{"request_count":{"order":"desc"}}],"size":10}}}}}}>

A consulta DSL anterior pode ser substituída pelo seguinte comando PPL, que é conciso e legível por humanos.

source = opensearch_sample_data_logs | where response='404' or response='503' | stats count(request) as request_count by host, response | sort –request_count

Para obter mais informações sobre a PPL, consulte Consulta de dados do Amazon OpenSearch Service usando Piped Processing Language.

Padrões de nomenclatura e aliases de séries

Você pode controlar o nome da série temporal usando o campo de entrada Alias.

Padrão Descrição
{{term fieldname}} Substituído pelo valor de um termo Agrupar por.
{{metric}} Substituído pelo nome da métrica (p. ex., média, mínimo, máximo).
{{field}} Substituído pelo nome do campo da métrica.

Métricas de pipeline

Algumas agregações de métricas são chamadas de agregações de pipeline; por exemplo, média móvel e derivada. As métricas de pipeline do OpenSearch exigem outra métrica na qual se basear. Use o ícone de olho ao lado da métrica para impedir que as métricas apareçam no grafo. Isso é útil para métricas que você só tem na consulta para uso em uma métrica de pipeline.

Modelos

Em vez da codificação rígida dos nomes de servidores, das aplicações e dos sensores em suas consultas de métricas, você pode usar variáveis no lugar deles. As variáveis são mostradas como caixas de seleção suspensas na parte superior do dashboard. Você pode usar essas caixas suspensas para alterar os dados exibidos no dashboard.

Para obter mais informações sobre modelos e variáveis de modelos, consulte Modelos e variáveis.

Variável de consulta

A fonte de dados OpenSearch Service é compatível com dois tipos de consultas que você pode usar no campo Consulta das variáveis de consulta. A consulta é escrita usando uma string JSON personalizada.

Consulta Descrição
{"find": "fields", "type": "keyword"} Retorna uma lista de nomes de campo com o tipo de índice keyword.
{"find": "terms", "field": "@hostname", "size": 1000} Retorna uma lista de valores para um campo usando agregação de termos. A consulta usará o intervalo de tempo atual do dashboard como intervalo de tempo para a consulta.
{"find": "terms", "field": "@hostname", "query": '<lucene query>'} Retorna uma lista de valores para um campo usando agregação de termos e um filtro de consulta do Lucene especificado. A consulta usará o intervalo de tempo atual do dashboard como intervalo de tempo para a consulta.

Há um limite de tamanho padrão de 500 nas consultas de termos. Para definir um limite personalizado, defina a propriedade de tamanho na sua consulta. Você pode usar outras variáveis dentro da consulta. O exemplo de código a seguir mostra a definição de consulta para uma variável denominada $host.

{"find": "terms", "field": "@hostname", "query": "@source:$source"}

No exemplo anterior, usamos outra variável denominada $source dentro da definição da consulta. Sempre que você altera, usando a lista suspensa, o valor atual da variável $source, ela inicia uma atualização da variável $host. Após a atualização, a variável $host contém somente nomes de host filtrados, nesse caso, pela propriedade @source do documento.

Essas consultas, por padrão, retornam os resultados na ordem dos termos (que podem então ser classificados em ordem alfabética ou numérica como para qualquer variável). Para produzir uma lista de termos classificados por contagem de documentos (uma lista dos N maiores valores), adicione uma propriedade orderBy de doc_count. Isso seleciona automaticamente uma classificação decrescente. Usar asc com doc_count (uma lista com os N menores) pode ser feito configurando order: "asc", mas não é recomendado porque aumenta o erro na contagem de documentos. Para manter os termos na ordem de contagem de documentos, defina a lista suspensa Classificar da variável como Desabilitada. Como alternativa, você pode querer usar a Ordem alfabética para reordená-los.

{"find": "terms", "field": "@hostname", "orderBy": "doc_count"}

Usar variáveis em consultas

Há duas sintaxes:

  • $<varname> Exemplo: @hostname:$hostname

  • [[varname]] Exemplo: @hostname:[[hostname]]

Por que duas formas? A primeira sintaxe é mais fácil de ler e escrever, mas não permite que você use uma variável no meio de uma palavra. Quando as opções Vários valores ou Incluir todos os valores estão habilitadas, o Grafana converte os rótulos de texto simples para uma condição compatível com o Lucene.

No exemplo anterior, temos uma consulta do Lucene que filtra documentos com base na propriedade @hostname usando uma variável denominada $hostname. Ela também está usando uma variável na caixa de entrada do campo agrupar por Termos. Isso permite que você use uma variável para alterar rapidamente a forma como os dados são agrupados.

Anotações

As anotações permitem que você sobreponha informações importantes de eventos nos grafos. Você adiciona consultas de anotação usando o menu Dashboard ou a visualização Anotações. O Grafana pode consultar qualquer índice do OpenSearch para eventos de anotação. Para ter mais informações, consulte Anotações.

Nome Descrição
Query Você pode manter a consulta de pesquisa em branco ou especificar uma consulta do Lucene.
Time O nome do campo de hora; deve ser campo de data.
Time End O nome opcional do campo de hora de término deve ser campo de data. Se definidas, as anotações serão marcadas como uma região entre a hora e a hora de término.
Text Campo de descrição do evento.
Tags Nome de campo opcional a ser usado para tags de eventos (pode ser uma matriz ou uma string CSV).

Consultar os logs do

A consulta e a exibição de dados de logs do OpenSearch estão disponíveis no Explore. Para exibir os logs, selecione a fonte de dados OpenSearch Service e, opcionalmente, insira uma consulta do Lucene. Para ter mais informações, consulte Explore.

Consultas de log

Depois que o resultado é retornado, o painel de logs mostra uma lista de linhas de logs e um gráfico de barras em que o eixo x mostra a hora e o eixo y mostra a frequência ou a contagem.

Filtrar mensagens de logs

Opcionalmente, insira uma consulta do Lucene no campo de consulta para filtrar as mensagens de logs. Por exemplo, usando uma configuração padrão do Filebeat, você deve ser capaz de usar fields.level:error para mostrar somente mensagens de logs de erros.