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á.
Primeiros passos no console do workspace Grafana
Esta seção fornece uma visão de alto nível do console Grafana dentro de um espaço de trabalho Amazon Managed Grafana. É um bom lugar para aprender a usar o console Grafana.
O que é o Grafana?
Grafana é um software de análise e visualização 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 exibir os dados de métrica, log e rastreamento do aplicativo, você pode criar um painel. Se você é o administrador de uma corporação 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 das coisas que você pode fazer com seu banco de dados e links do Grafana para que você possa saber mais.
Explore métricas e logs do
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 obter mais informações, consulte Explorar.
Alertas
Se você estiver usando alertas do Grafana, os alertas podem ser enviados por meio de notificadores de alerta diferentes, incluindo o seguinte:
Amazon SNS
PagerDuty
VictorOps
OpsGenie
Slack
Para obter mais informações, consulte alerta Grafana.
Anotações
Anote gráficos com eventos avançados de diferentes fontes de dados. Pause em eventos para ver os metadados e tags completos do evento.
Esse recurso, que aparece como um marcador gráfico no Grafana, é útil para correlacionar dados caso algo dê errado. Você pode criar as anotações manualmente pressionandoCtrlenquanto você escolhe um gráfico e depois insere algum texto. Ou você pode buscar dados de qualquer fonte de dados.
Para obter mais informações, consulte Anotações.
Variáveis de painel
Use variáveis de modelo para criar painéis que podem ser reutilizados para muitos 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 tiver um servidor de produção e um servidor de teste, você poderá usar o mesmo painel para ambos.
A modelagem ajuda você a detalhar seus dados. Por exemplo, você pode detalhar todos os dados para dados da América do Norte, até dados do Texas e além. Você também pode compartilhar esses painéis entre equipes em sua organização. Se você criar um ótimo modelo de painel para uma fonte de dados popular, também poderá contribuir com toda a comunidade para personalizar e usar.
Para obter mais informações, consulte Modelos e variáveis.
Criação de um painel
Siga estas etapas para criar um painel no console do Grafana.
Para criar seu primeiro painel
Escolha o ícone + no painel esquerdo, escolhaCriar painele, depois, escolhaAdicionar novo painel.
NoNovo painel/painel de ediçãoview, escolha oConsulteGuia.
Configure sua consulta selecionando a fonte de dados que você gostaria de consultar. Por exemplo, se você tiverTestDBadicionado como fonte de dados, isso gera um painel de exemplo chamado painel Random Walk.
Introdução às séries temporais
Imagine que você queria saber como a temperatura externa muda ao longo do dia. Uma vez a cada hora, você verificaria o termômetro e anotava o tempo junto com a temperatura atual. Depois de um tempo, você teria algo como os seguintes dados.
Tempo | Valor |
---|---|
09:00 | 24°C |
10:00 | 26°C |
11:00 | 27°C |
Dados de temperatura como este são um exemplo de umséries temporais—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 medições individuais, mas podem dificultar a visualização do quadro geral. Uma visualização mais comum para séries temporais é agrafos, que, em vez disso, coloca cada medida ao longo de um eixo de tempo. Representações visuais, como o gráfico, facilitam a descoberta de padrões e recursos 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 às 09:00, 10:00, 11:00 e assim por diante.
-
As medições 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 em qualquer momento. Séries temporais podem dizer que o servidor falhou momentos depois que o espaço livre em disco caiu para zero.
Séries temporais também podem ajudá-lo a prever o futuro, descobrindo tendências em seus dados. Por exemplo, se o número de usuários registrados vem aumentando mensalmente em 4% nos últimos meses, você poderá prever o tamanho de sua base de usuários no final do ano.
Algumas séries temporais têm padrões que se repetem durante um período conhecido. Por exemplo, a temperatura geralmente é maior durante o dia, antes de cair à noite. Identificando esses periódicos, ousazonal, séries temporais, você pode fazer previsões confiantes sobre o próximo período. Se você sabe que a carga do sistema atinge picos todos os dias por volta das 18:00, você pode adicionar mais máquinas logo antes.
Séries temporais agregadas
Dependendo do que você está medindo, os dados podem variar muito. E se você quisesse comparar períodos maiores que o intervalo entre as medidas? Se você medir 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 os 31 vezes 24 pontos de dados em um.
A combinação de uma coleção de medidas é chamadaagregação. Existem várias maneiras de agregar dados de séries temporais. Veja alguns dos comuns:
-
MédiaRetorna a soma de todos os valores divididos pelo número total de valores.
-
Mín.emáximoretorna o menor e maior valor da coleção.
-
SomaRetorna a soma de todos os valores na coleção.
-
Contagemretorna 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 tinha a temperatura mais alta, compararia a temperatura máxima para cada mês.
Como você agrega seus dados de séries temporais é uma decisão importante e depende da história que você deseja 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, os dados de séries temporais são frequentemente coletados para monitorar coisas como eventos de infraestrutura, hardware ou aplicativos. Os dados de séries temporais geradas por máquina são normalmente coletados com intervalos curtos, para que você possa reagir a quaisquer alterações inesperadas, momentos após elas ocorrerem. Os dados se acumulam em um ritmo acelerado, tornando vital ter uma maneira de armazenar e consultar dados de forma eficiente. Como resultado, bancos de dados otimizados para dados de séries temporais tiveram um aumento na popularidade nos últimos anos.
Bancos 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 regular 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 carimbos de data/hora para cada medição mudam pouco ao longo do tempo, o que resulta em dados redundantes sendo armazenados.
O exemplo a seguir mostra uma sequência de carimbos de data/hora Unix.
1572524345, 1572524375, 1572524404, 1572524434, 1572524464
Olhando para esses carimbos de data/hora, todos eles começam com1572524
, levando ao mau uso do espaço em disco. Em vez disso, você pode armazenar cada carimbo de data/hora subsequente como a diferença, oudelta, desde o primeiro, conforme mostrado no exemplo a seguir.
1572524345, +30, +29, +30, +30
É possível 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 tomadas em intervalos regulares, a maioria delas delta-of-deltas será 0. Devido a otimizações como essas, os TSDBs usam drasticamente menos espaço do que outros bancos de dados.
Outra característica de um TSDB é a capacidade de filtrar medições usandotags. 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 pelo Grafana:
-
weather,location=us-midwest temperature=82 1465839830100400200 | -------------------- -------------- | | | | | | | | | +-----------+--------+-+---------+-+---------+ |measurement|,tag_set| |field_set| |timestamp| +-----------+--------+-+---------+-+---------+
Coletar dados de séries temporais
Agora que você tem um lugar para armazenar suas séries temporais, como você realmente coleta as medidas? Para coletar dados de séries temporais, você normalmente instalaria umcoletorNo dispositivo, na máquina ou na instância que você deseja monitorar. Alguns coletores são feitos com um banco de dados específico em mente, e alguns suportam diferentes destinos de saída.
Veja alguns exemplos de colecionadores:
Um coletor ouempurradados para um banco de dados ou permite que o banco de dadospuxeos 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 que são enviados. |
Extrair | Mais controle sobre como 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 todas as medidas no banco de dados, os coletores pré-agregam os dados e gravam no TSDB em intervalos regulares.
Dimensões de séries temporais
Com dados de séries temporais, os dados geralmente são um conjunto de várias séries temporais. Muitas fontes de dados do Grafana suportam esse tipo de dados.
O caso comum é emitir uma única consulta para uma medição com uma ou mais propriedades adicionais como dimensões. Por exemplo, você pode consultar uma medição de temperatura junto com uma propriedade location. Nesse caso, várias séries são retornadas dessa única consulta, e cada série tem uma localização única como uma dimensão.
Para identificar séries exclusivas dentro de um conjunto de séries temporais, a Grafana armazena dimensões emetiquetas.
Rótulos
Cada série temporal no Grafana opcionalmente tem rótulos. Rótulos são um conjunto de pares chave-valor para identificar dimensões. Exemplos de rótulos 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 emetiquetas. Em TSDBs, como Graphite ou OpenTSDB, o termotagsÉ usado em vez disso.
Em bancos de dados de tabela como SQL, essas dimensões geralmente são asGROUP BY
parâmetros de uma consulta.
Várias dimensões em formato de tabela
Em bancos de dados semelhantes a SQL ou SQL que retornam respostas de tabela, dimensões adicionais geralmente são colunas na tabela de resposta de consulta.
Dimensão única
Por exemplo, considere uma consulta como o 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 | BOS |
10:00 | 26 | LGA |
10:00 | 22 | BOS |
O formato da tabela élongoséries temporais formatadas, também chamadasalta. Ele tem carimbos de data/hora repetidos e valores repetidos em Localização. Nesse caso, duas séries temporais no conjunto seriam identificadas comoTemp
{Location=LGA}
eTemp {Location=BOS}
.
Séries temporais individuais do conjunto são extraídas usando as seguintes dimensões:
A coluna digitada por tempo
StartTime
como o índice de tempo da série temporalA coluna digitada numérica
Temp
como o nome da sérieO nome e os valores da string digitada
Location
coluna para construir os rótulos, como location=LGA
Dimensões múltiplas
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 é adicionada.
StartTime | Temporário | Local | Sensor |
---|---|---|---|
09:00 | 24 | LGA | A |
09:00 | 24,1 | LGA | B |
09:00 | 20 | BOS | A |
09:00 | 20.2 | BOS | B |
10:00 | 26 | LGA | A |
10:00 | 26,1 | LGA | B |
10:00 | 22 | BOS | A |
10:00 | 22,2 | BOS | B |
Nesse caso, os rótulos que representam as dimensões têm duas chaves com base nas duas colunas digitadas de string,Location
eSensor
. 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
Observações: Várias dimensões não são suportadas de uma forma que mapeie para vários alertas no Grafana. Em vez disso, eles são tratados como várias condições para um único alerta.
Vários valores
No caso de fontes de dados semelhantes a 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. A seleção de vários valores está atualmente projetada para ser usada somente com visualização.
Introdução a histogramas e heatmaps
Um histograma é uma representação gráfica da distribuição de dados numéricos. Ele agrupa valores em buckets (às vezes também chamados de compartimentos). Em seguida, conta quantos valores caem em cada intervalo.
Em vez de representar gráficos os valores reais, os histogramas representam graficamente os intervalos. Cada barra representa um intervalo e a altura da barra representa a frequência (como contagem) de valores que caíram no intervalo desse intervalo.
Os histogramas olham apenas paradistribuições de valorem um intervalo de tempo específico. O problema com histogramas é que você não pode ver tendências ou mudanças na distribuição ao longo do tempo. É aqui que os heatmaps se tornam úteis.
Heatmaps
UMAheatmapé como um histograma ao longo do tempo, onde cada fatia de tempo representa seu próprio histograma. Em vez de usar a altura da barra como representação de frequência, ele usa células, colorindo uma célula proporcional ao número de valores no bucket.
Dados pré-distribuídos
Várias fontes de dados suportam histograma ao longo do tempo, incluindo o seguinte:
Amazônia OpenSearch Serviço (usando uma agregação de balde de histograma)
Prometheus (com ohistograma
Tipo de métrica e oFormatar comoopção definida comoHeatmap)
Geralmente, você pode usar qualquer fonte de dados que retorne séries com nomes representando o limite de intervalo ou retorna séries classificadas pelo limite em ordem crescente.
Dados brutos versus dados agregados
Se você usar o mapa de calor com dados de séries temporais regulares (não pré-intervalos), é importante lembrar que seus dados geralmente já sã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 intervalo de histograma que o Grafana realiza pode ser feito em dados já agregados e médios. Para mapas de calor mais precisos, é melhor fazer o intervalo durante a coleta de métricas ou armazenar os dados no OpenSearch, ou na outra fonte de dados que suporta fazer intervalos de histograma 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 heatmap será mais preciso. Mas isso também pode colocar uma carga pesada na CPU e na memória. Se o número de pontos de dados se tornar excessivamente grande, isso pode causar barracas e falhas.