

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á.

# Consultar as métricas do Prometheus
<a name="AMP-query"></a>

Agora que as métricas estão sendo ingeridas no espaço de trabalho, você pode consultá-las.

Para criar painéis com representações visuais de suas métricas, você pode usar um serviço como o Amazon Managed Grafana. O Amazon Managed Grafana (ou uma instância autônoma do Grafana) pode criar uma interface gráfica que mostra suas métricas em uma ampla variedade de estilos de apresentação. Para obter mais informações sobre o Amazon Managed Grafana, consulte o [Guia do usuário do Amazon Managed Grafana](https://docs.aws.amazon.com/grafana/latest/userguide/).

Você também pode criar consultas pontuais, explorar seus dados ou escrever seus próprios aplicativos que usam suas métricas via consultas diretas. As consultas diretas usam a API do Amazon Managed Service for Prometheus e a linguagem de consulta padrão do Prometheus, PromQL, para obter dados do seu espaço de trabalho do Prometheus. Para obter mais informações sobre o PromQL e sua sintaxe, veja [Consultando Prometheus](https://prometheus.io/docs/prometheus/latest/querying/basics/) na documentação do Prometheus.

**Topics**
+ [Folha de dicas do PromQL](#promql-cheat-sheet)
+ [Seletores básicos](#promql-basic-selectors)
+ [Seletores de vetores de alcance](#promql-range-selectors)
+ [Operadores de agregação](#promql-aggregation-operators)
+ [Funções comuns](#promql-functions)
+ [Operadores binários](#promql-operators)
+ [Exemplos de consultas práticas](#promql-practical-examples)
+ [Proteger suas consultas de métricas](AMP-secure-querying.md)
+ [Configurar o Amazon Managed Grafana para uso com o Amazon Managed Service for Prometheus](AMP-amg.md)
+ [Configurar o Grafana de código aberto ou o Grafana Enterprise para uso com o Amazon Managed Service for Prometheus](AMP-onboard-query-standalone-grafana.md)
+ [Consulta usando Grafana em execução em um cluster do Amazon EKS](AMP-onboard-query-grafana-7.3.md)
+ [Consulte usando compatível com Prometheus APIs](AMP-onboard-query-APIs.md)
+ [Obtenha estatísticas sobre o uso de cada consulta](AMP-stats.md)

## Folha de dicas do PromQL
<a name="promql-cheat-sheet"></a>

Use esta folha de dicas do PromQL (Prometheus Query Language) como referência rápida ao consultar métricas em seu espaço de trabalho do Amazon Managed Service for Prometheus. Com o PromQL, você pode selecionar e agregar dados de séries temporais em tempo real com a linguagem de consulta funcional dele.

Para obter mais detalhes sobre o PromQL, consulte a [folha de dicas do PromQL no site](https://promlabs.com/promql-cheat-sheet/). *PromLabs*

## Seletores básicos
<a name="promql-basic-selectors"></a>

Selecione séries temporais por nome de métrica e correspondências de rótulos:

```
# Select all time series with the metric name http_requests_total
http_requests_total

# Select time series with specific label values
http_requests_total{job="prometheus", method="GET"}

# Use label matchers
http_requests_total{status_code!="200"}          # Not equal
http_requests_total{status_code=~"2.."}          # Regex match
http_requests_total{status_code!~"4.."}          # Negative regex match
```

## Seletores de vetores de alcance
<a name="promql-range-selectors"></a>

Selecione uma variedade de amostras ao longo do tempo:

```
# Select 5 minutes of data
http_requests_total[5m]

# Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks), y (years)
cpu_usage[1h]
memory_usage[30s]
```

## Operadores de agregação
<a name="promql-aggregation-operators"></a>

Agregue dados em várias séries temporais:

```
# Sum all values
sum(http_requests_total)

# Sum by specific labels
sum by (job) (http_requests_total)
sum without (instance) (http_requests_total)

# Other aggregation operators
avg(cpu_usage)                    # Average
min(response_time)               # Minimum
max(response_time)               # Maximum
count(up)                        # Count of series
stddev(cpu_usage)               # Standard deviation
```

## Funções comuns
<a name="promql-functions"></a>

Aplique funções para transformar seus dados:

```
# Rate of increase per second (for counters)
rate(http_requests_total[5m])

# Increase over time range
increase(http_requests_total[1h])

# Derivative (for gauges)
deriv(cpu_temperature[5m])

# Mathematical functions
abs(cpu_usage - 50)              # Absolute value
round(cpu_usage, 0.1)           # Round to nearest 0.1
sqrt(memory_usage)              # Square root

# Time functions
time()                          # Current Unix timestamp
hour()                          # Hour of day (0-23)
day_of_week()                   # Day of week (0-6, Sunday=0)
```

## Operadores binários
<a name="promql-operators"></a>

Execute operações aritméticas e lógicas:

```
# Arithmetic operators
cpu_usage + 10
memory_total - memory_available
disk_usage / disk_total * 100

# Comparison operators (return 0 or 1)
cpu_usage > 80
memory_usage < 1000
response_time >= 0.5

# Logical operators
(cpu_usage > 80) and (memory_usage > 1000)
(status_code == 200) or (status_code == 201)
```

## Exemplos de consultas práticas
<a name="promql-practical-examples"></a>

Consultas de monitoramento comuns que você pode usar no seu espaço de trabalho do Amazon Managed Service for Prometheus:

```
# CPU usage percentage
100 - (avg by (instance) (rate(node_cpu_seconds_total{mode="idle"}[5m])) * 100)

# Memory usage percentage
(1 - (node_memory_MemAvailable_bytes / node_memory_MemTotal_bytes)) * 100

# Request rate per second
sum(rate(http_requests_total[5m])) by (job)

# Error rate percentage
sum(rate(http_requests_total{status_code=~"5.."}[5m])) / 
sum(rate(http_requests_total[5m])) * 100

# 95th percentile response time
histogram_quantile(0.95, sum(rate(http_request_duration_seconds_bucket[5m])) by (le))

# Top 5 instances by CPU usage
topk(5, avg by (instance) (cpu_usage))
```