Começando no console do seu espaço de trabalho Grafana - 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á.

Começando no console do seu espaço de trabalho Grafana

Esta seção fornece uma visão geral do console do Grafana dentro de um espaço de trabalho do Amazon Managed Grafana. É um bom lugar para aprender a usar o console Grafana.

O que é Grafana?

O Grafana é um software de visualização e análise de código aberto. Você pode usá-lo para consultar, visualizar, alertar e explorar suas métricas, não importa onde elas estejam armazenadas.

Por exemplo, se você quiser visualizar os dados métricos, de log e de rastreamento do seu aplicativo, você pode criar um painel. Se você é o administrador de uma empresa e gerencia o Grafana para várias equipes, talvez seja necessário configurar o provisionamento e a autenticação.

As seções a seguir fornecem uma visão geral do que você pode fazer com seu banco de dados e links da Grafana para que você possa aprender mais.

Explore métricas e registros

Explore seus dados por meio de consultas únicas ou ad hoc e detalhamento dinâmico. Você pode dividir a exibição e comparar diferentes intervalos de tempo, consultas e fontes de dados lado a lado.

Para ter mais informações, consulte Explore na versão 10 do Grafana.

Alertas

Se você estiver usando o alerta Grafana, os alertas podem ser enviados por meio de diferentes notificadores de alerta, incluindo os seguintes:

  • Amazon SNS

  • PagerDuty

  • VictorOps

  • OpsGenie

  • Slack

Para ter mais informações, consulte Alertas na versão 10 da Grafana.

Anotações

Faça anotações em gráficos com eventos avançados de diferentes fontes de dados. Faça uma pausa nos eventos para ver os metadados e as tags completos do evento.

Esse recurso, que aparece como um marcador gráfico na Grafana, é útil para correlacionar dados caso algo dê errado. Você pode criar as anotações manualmente pressionando Ctrl enquanto escolhe um gráfico e depois insere algum texto. Ou você pode buscar dados de qualquer fonte de dados.

Para ter mais informações, consulte Faça anotações nas visualizações.

Variáveis do painel

Use variáveis de modelo para criar painéis que podem ser reutilizados para vários casos de uso diferentes. Com esses modelos, os valores não são codificados. Isso significa que você pode usar um painel para vários servidores. Por exemplo, se você tiver um servidor de produção e um servidor de teste, poderá usar o mesmo painel para ambos.

A modelagem ajuda você a detalhar seus dados. Por exemplo, você pode detalhar todos os dados até dados da América do Norte, dados do Texas e muito mais. Você também pode compartilhar esses painéis entre as equipes da sua organização. Se você criar um ótimo modelo de painel para uma fonte de dados popular, também poderá contribuí-lo para que toda a comunidade o personalize e use.

Para ter mais informações, consulte Variáveis.

Criação de um painel

Siga estas etapas para criar um painel no console da Grafana.

Para criar seu primeiro painel
  1. Escolha o ícone + no painel esquerdo, escolha Criar painel e, em seguida, escolha Adicionar novo painel.

  2. Na exibição Novo painel/Painel de edição, escolha a guia Consulta.

  3. Configure sua consulta selecionando a fonte de dados que você gostaria de consultar. Por exemplo, se você tiver o TestDB adicionado como fonte de dados, isso gerará um painel de amostra chamado painel Random Walk.

Introdução às séries temporais

Imagine que você queira saber como a temperatura externa muda ao longo do dia. Uma vez a cada hora, você verificava o termômetro e anotava a hora junto com a temperatura atual. Depois de um tempo, você teria algo parecido com os seguintes dados.

Tempo Valor
09:00 24°C
10:00 26°C
11:00 27°C

Dados de temperatura como esses são um exemplo de uma série temporal — uma sequência de medições ordenadas no tempo. Cada linha na tabela representa uma medida individual em um horário específico.

As tabelas são úteis quando você deseja identificar medidas individuais, mas podem dificultar a visão geral. Uma visualização mais comum para séries temporais é o gráfico, que, em vez disso, coloca cada medição ao longo de um eixo temporal. Representações visuais, como o gráfico, facilitam a descoberta de padrões e características dos dados que, de outra forma, seriam difíceis de ver.

Outros exemplos de séries temporais são:

  • Uso de CPU e memória

  • Dados do sensor

  • Índice do mercado de ações

Embora cada um desses exemplos seja uma sequência de medições ordenadas cronologicamente, eles também compartilham outros atributos:

  • Novos dados são anexados no final, em intervalos regulares — por exemplo, de hora em hora às 09:00, 10:00, 11:00, e assim por diante.

  • As medidas raramente são atualizadas após serem adicionadas. Por exemplo, a temperatura de ontem não muda.

As séries temporais são poderosas. Eles ajudam você a entender o passado, permitindo que você analise o estado do sistema a qualquer momento. As séries temporais podem indicar que o servidor travou momentos depois que o espaço livre em disco caiu para zero.

As séries temporais também podem ajudar você a prever o futuro ao descobrir tendências em seus dados. Por exemplo, se o número de usuários registrados aumentou mensalmente em 4% nos últimos meses, você pode prever o tamanho da sua base de usuários no final do ano.

Algumas séries temporais têm padrões que se repetem em um período conhecido. Por exemplo, a temperatura geralmente é mais alta durante o dia, antes de cair à noite. Ao identificar essas séries temporais periódicas ou sazonais, você pode fazer previsões confiáveis sobre o próximo período. Se você sabe que a carga do sistema atinge o pico todos os dias por volta das 18:00, você pode adicionar mais máquinas logo antes.

Agregando séries temporais

Dependendo do que você está medindo, os dados podem variar muito. E se você quisesse comparar períodos maiores do que o intervalo entre as medições? Se você medisse a temperatura uma vez a cada hora, acabaria com 24 pontos de dados por dia. Para comparar a temperatura em agosto ao longo dos anos, você teria que combinar 31 vezes 24 pontos de dados em um.

A combinação de uma coleção de medidas é chamada de agregação. Há várias maneiras de agregar dados de séries temporais. Aqui estão alguns dos mais comuns:

  • A média retorna a soma de todos os valores dividida pelo número total de valores.

  • Min e Max retornam o menor e o maior valor da coleção.

  • Sum retorna a soma de todos os valores na coleção.

  • Count retorna o número de valores na coleção.

Por exemplo, ao agregar os dados em um mês, você pode determinar que agosto de 2017 foi, em média, mais quente do que no ano anterior. Se você quisesse ver qual mês teve a temperatura mais alta, você compararia a temperatura máxima de cada mês.

A forma como você agrega seus dados de séries temporais é uma decisão importante e depende da história que você quer contar com seus dados. É comum usar agregações diferentes para visualizar os mesmos dados de séries temporais de maneiras diferentes.

Séries temporais e monitoramento

No setor de TI, dados de séries temporais geralmente são coletados para monitorar coisas como infraestrutura, hardware ou eventos de aplicativos. Os dados de séries temporais gerados por máquina geralmente são coletados em intervalos curtos, para que você possa reagir a quaisquer mudanças inesperadas, momentos depois de elas ocorrerem. Os dados se acumulam em um ritmo rápido, tornando vital ter uma maneira de armazenar e consultar dados com eficiência. Como resultado, bancos de dados otimizados para dados de séries temporais tiveram um aumento na popularidade nos últimos anos.

bancos de dados de séries temporais

Um banco de dados de séries temporais (TSDB) é um banco de dados projetado explicitamente para dados de séries temporais. Embora seja possível usar qualquer banco de dados comum para armazenar medições, um TSDB vem com algumas otimizações úteis.

Os TSDBs modernos aproveitam o fato de que as medições só são anexadas e raramente atualizadas ou removidas. Por exemplo, os registros de data e hora de cada medição mudam pouco com o tempo, o que resulta no armazenamento de dados redundantes.

O exemplo a seguir mostra uma sequência de carimbos de data/hora do Unix.

1572524345, 1572524375, 1572524404, 1572524434, 1572524464

Analisando esses carimbos de data/hora, todos começam com1572524, levando a um uso inadequado do espaço em disco. Em vez disso, você pode armazenar cada timestamp subsequente como a diferença, ou delta, do primeiro, conforme mostrado no exemplo a seguir.

1572524345, +30, +29, +30, +30

Você pode até dar um passo adiante calculando os deltas desses deltas, conforme mostrado no exemplo a seguir.

1572524345, +30, -1, +1, +0

Se as medições forem feitas em intervalos regulares, a maioria delas delta-of-deltas será 0. Por causa de otimizações como essas, os TSDBs usam drasticamente menos espaço do que outros bancos de dados.

Outro recurso de um TSDB é a capacidade de filtrar medições usando tags. Cada ponto de dados é rotulado com uma tag que adiciona informações de contexto, como onde a medição foi feita.

Os seguintes TSDBs são suportados pela Grafana:

  • Grafite

  • InfluxDB

  • Prometheus

    weather,location=us-midwest temperature=82 1465839830100400200 | -------------------- -------------- | | | | | | | | | +-----------+--------+-+---------+-+---------+ |measurement|,tag_set| |field_set| |timestamp| +-----------+--------+-+---------+-+---------+
Coletando dados de séries temporais

Agora que você tem um local para armazenar suas séries temporais, como você realmente reúne as medidas? Para coletar dados de séries temporais, você normalmente instalaria um coletor no dispositivo, na máquina ou na instância que deseja monitorar. Alguns coletores são feitos com um banco de dados específico em mente e alguns oferecem suporte a destinos de saída diferentes.

Aqui estão alguns exemplos de colecionadores:

Um coletor envia dados para um banco de dados ou permite que o banco de dados extraia os dados do coletor. Cada abordagem vem com seu próprio conjunto de prós e contras.

Prós Contras
Push É mais fácil replicar dados para vários destinos. O TSDB não tem controle sobre a quantidade de dados enviados.
Extrair Mais controle sobre a quantidade de dados ingeridos e a autenticidade dos dados. Firewalls, VPNs ou balanceadores de carga podem dificultar o acesso aos agentes.

Como é ineficiente gravar cada medição no banco de dados, os coletores pré-agregam os dados e gravam no TSDB em intervalos regulares.

Dimensões da série temporal

Com dados de séries temporais, os dados geralmente são um conjunto de várias séries temporais. Muitas fontes de dados da Grafana oferecem suporte a esse tipo de dados.

O caso comum é emitir uma única consulta para uma medida com uma ou mais propriedades adicionais como dimensões. Por exemplo, você pode consultar uma medição de temperatura junto com uma propriedade de localização. Nesse caso, várias séries são retornadas dessa única consulta, e cada série tem uma localização exclusiva como dimensão.

Para identificar séries exclusivas em um conjunto de séries temporais, a Grafana armazena dimensões em rótulos.

Rótulos

Cada série temporal na Grafana tem, opcionalmente, rótulos. Os rótulos são um conjunto de pares de valores-chave para identificar dimensões. Os rótulos de exemplo são {location=us} ou{country=us,state=ma,city=boston}. Dentro de um conjunto de séries temporais, a combinação de seu nome e rótulos identifica cada série. Por exemplo, temperature {country=us,state=ma,city=boston}.

Diferentes fontes de dados de séries temporais têm dimensões armazenadas nativamente ou padrões de armazenamento comuns que permitem que os dados sejam extraídos em dimensões.

Normalmente, os TSDBs suportam nativamente a dimensionalidade. Prometheus armazena dimensões em etiquetas. Em TSDBs como Graphite ou OpenTSDB, o termo tags é usado em seu lugar.

Em bancos de dados de tabelas, como SQL, essas dimensões geralmente são os GROUP BY parâmetros de uma consulta.

Várias dimensões em formato de tabela

Em bancos de dados SQL ou semelhantes a SQL que retornam respostas de tabela, dimensões adicionais geralmente são colunas na tabela de respostas da consulta.

Dimensão única

Por exemplo, considere uma consulta como a do exemplo a seguir.

SELECT BUCKET(StartTime, 1h), AVG(Temperature) AS Temp, Location FROM T GROUP BY BUCKET(StartTime, 1h), Location ORDER BY time asc

A consulta pode retornar uma tabela com três colunas.

StartTime Temporário Local
09:00 24 LGA
09:00 20 CHEFE
10:00 26 LGA
10:00 22 CHEFE

O formato da tabela é uma série temporal de formato longo, também chamada de alta. Ele tem registros de data e hora repetidos e valores repetidos em Localização. Nesse caso, duas séries temporais no conjunto seriam identificadas como Temp {Location=LGA} Temp {Location=BOS} e.

As séries temporais individuais do conjunto são extraídas usando as seguintes dimensões:

  • A coluna de tempo digitado StartTime como o índice de tempo da série temporal

  • A coluna digitada numérica Temp como nome da série

  • O nome e os valores da Location coluna digitada por string para criar os rótulos, como location=LGA

Várias dimensões

Se a consulta for atualizada para selecionar e agrupar por mais de uma coluna de string (por exemplo,GROUP BY BUCKET(StartTime, 1h), Location, Sensor), uma dimensão adicional será adicionada.

StartTime Temporário Local Sensor
09:00 24 LGA A
09:00 24,1 LGA B
09:00 20 CHEFE A
09:00 20,2 CHEFE B
10:00 26 LGA A
10:00 26.1 LGA B
10:00 22 CHEFE A
10:00 22.2 CHEFE B

Nesse caso, os rótulos que representam as dimensões têm duas chaves com base nas duas colunas digitadas por string Location e. Sensor Os dados resultam em quatro séries:

  • Temp {Location=LGA,Sensor=A}

  • Temp {Location=LGA,Sensor=B}

  • Temp {Location=BOS,Sensor=A}

  • Temp {Location=BOS,Sensor=B}

nota

Nota: Várias dimensões não são suportadas de uma forma que seja mapeada para vários alertas no Grafana. Em vez disso, elas são tratadas como várias condições em um único alerta.

Vários valores

No caso de fontes de dados do tipo SQL, mais de uma coluna numérica pode ser selecionada, com ou sem colunas de string adicionais para serem usadas como dimensões; por exemplo,. AVG(Temperature) AS AvgTemp, MAX(Temperature) AS MaxTemp Isso, se combinado com várias dimensões, pode resultar em várias séries. Atualmente, a seleção de vários valores foi projetada para ser usada somente com visualização.

Introdução aos histogramas e mapas de calor

Um histograma é uma representação gráfica da distribuição de dados numéricos. Ele agrupa valores em compartimentos (às vezes também chamados de compartimentos). Em seguida, ele conta quantos valores caem em cada compartimento.

Em vez de representar graficamente os valores reais, os histogramas representam graficamente os compartimentos. Cada barra representa um intervalo, e a altura da barra representa a frequência (como contagem) dos valores que caíram no intervalo desse intervalo.

Os histogramas analisam apenas as distribuições de valores em um intervalo de tempo específico. O problema com os histogramas é que você não consegue ver nenhuma tendência ou mudança na distribuição ao longo do tempo. É aqui que os mapas de calor se tornam úteis.

Mapas de calor

Um mapa de calor é como um histograma ao longo do tempo, em que cada fatia representa seu próprio histograma. Em vez de usar a altura da barra como representação da frequência, ele usa células, colorindo uma célula proporcional ao número de valores no intervalo.

Dados pré-agrupados

Várias fontes de dados oferecem suporte ao histograma ao longo do tempo, incluindo as seguintes:

  • Amazon OpenSearch Service (usando uma agregação de compartimentos de histogramas)

  • Prometheus (com o tipo de métrica do histograma e a opção Formatar como opção definida como Mapa de calor)

Geralmente, você pode usar qualquer fonte de dados que retorne séries com nomes representando o limite do intervalo ou retorne séries classificadas pelo limite em ordem crescente.

Dados brutos versus dados agregados

Se você usa o mapa de calor com dados de séries temporais regulares (não pré-agrupados), é importante lembrar que seus dados geralmente já estão agregados pelo back-end de séries temporais. A maioria das consultas de séries temporais não retorna dados de amostra brutos. Em vez disso, eles incluem um grupo por intervalo de tempo ou maxDataPoints limite acoplado a uma função de agregação (geralmente média).

Depende do intervalo de tempo da sua consulta. O ponto importante é saber que o agrupamento de histogramas que o Grafana executa pode ser feito em dados já agregados e médios. Para mapas de calor mais precisos, é melhor fazer o agrupamento durante a coleta de métricas ou armazenar os dados em ou em OpenSearch outra fonte de dados que ofereça suporte ao agrupamento de histogramas nos dados brutos.

Se você remover ou diminuir o grupo por tempo (ou aumentar maxDataPoints) em sua consulta para retornar mais pontos de dados, seu mapa de calor será mais preciso. Mas isso também pode sobrecarregar a CPU e a memória. Se o número de pontos de dados se tornar excessivamente grande, isso poderá causar paralisações e falhas.