

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Kueri metrik Prometheus Anda
<a name="AMP-query"></a>

Sekarang metrik sedang dicerna ke ruang kerja, Anda dapat menanyakannya.

Untuk membuat dasbor dengan representasi visual metrik, Anda dapat menggunakan layanan seperti Grafana Terkelola Amazon. Grafana yang Dikelola Amazon (atau instance Grafana mandiri) dapat membuat antarmuka grafis yang menampilkan metrik Anda dalam berbagai gaya presentasi tampilan. Untuk informasi selengkapnya tentang Grafana Terkelola Amazon, lihat Panduan Pengguna [Grafana Terkelola Amazon](https://docs.aws.amazon.com/grafana/latest/userguide/).

Anda juga dapat membuat kueri satu kali, menjelajahi data Anda, atau menulis aplikasi Anda sendiri yang menggunakan metrik Anda dengan menggunakan kueri langsung. Kueri langsung menggunakan Layanan Terkelola Amazon untuk Prometheus API dan bahasa kueri Prometheus standar, PromQL, untuk mendapatkan data dari ruang kerja Prometheus Anda. Untuk informasi selengkapnya tentang PromQL dan sintaksnya, lihat Meminta Prometheus dalam dokumentasi [Prometheus](https://prometheus.io/docs/prometheus/latest/querying/basics/).

**Topics**
+ [Lembar contekan PromQL](#promql-cheat-sheet)
+ [Selektor dasar](#promql-basic-selectors)
+ [Rentang pemilih vektor](#promql-range-selectors)
+ [Operator agregasi](#promql-aggregation-operators)
+ [Fungsi umum](#promql-functions)
+ [Operator biner](#promql-operators)
+ [Contoh kueri praktis](#promql-practical-examples)
+ [Amankan kueri metrik Anda](AMP-secure-querying.md)
+ [Siapkan Grafana Terkelola Amazon untuk digunakan dengan Amazon Managed Service untuk Prometheus](AMP-amg.md)
+ [Siapkan open source Grafana atau Grafana Enterprise untuk digunakan dengan Amazon Managed Service for Prometheus](AMP-onboard-query-standalone-grafana.md)
+ [Kueri menggunakan Grafana yang berjalan di cluster Amazon EKS](AMP-onboard-query-grafana-7.3.md)
+ [Kueri menggunakan Prometheus-kompatibel APIs](AMP-onboard-query-APIs.md)
+ [Dapatkan statistik tentang penggunaan kueri Anda untuk setiap kueri](AMP-stats.md)

## Lembar contekan PromQL
<a name="promql-cheat-sheet"></a>

Gunakan lembar contekan PromQL (Prometheus Query Language) ini sebagai referensi cepat saat menanyakan metrik di Amazon Managed Service untuk ruang kerja Prometheus. Dengan PromQL, Anda dapat memilih dan menggabungkan data deret waktu secara real time melalui bahasa kueri fungsionalnya.

Untuk detail lebih lanjut tentang PromQL, lihat Lembar Cheat [PromQL](https://promlabs.com/promql-cheat-sheet/) di situs web. *PromLabs*

## Selektor dasar
<a name="promql-basic-selectors"></a>

Pilih deret waktu berdasarkan nama metrik dan pencocokan label:

```
# 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
```

## Rentang pemilih vektor
<a name="promql-range-selectors"></a>

Pilih berbagai sampel dari waktu ke waktu:

```
# 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]
```

## Operator agregasi
<a name="promql-aggregation-operators"></a>

Data agregat di beberapa deret waktu:

```
# 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
```

## Fungsi umum
<a name="promql-functions"></a>

Terapkan fungsi untuk mengubah data Anda:

```
# 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)
```

## Operator biner
<a name="promql-operators"></a>

Lakukan operasi aritmatika dan logis:

```
# 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)
```

## Contoh kueri praktis
<a name="promql-practical-examples"></a>

Kueri pemantauan umum yang dapat Anda gunakan di Amazon Managed Service untuk ruang kerja 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))
```