

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

# Menggunakan aturan untuk memodifikasi atau memantau metrik saat diterima
<a name="AMP-Ruler"></a>

Anda dapat mengatur aturan untuk menindaklanjuti metrik saat diterima oleh Amazon Managed Service for Prometheus. Aturan ini dapat memantau metrik atau bahkan membuat metrik baru yang dihitung berdasarkan metrik yang diterima.

Amazon Managed Service untuk Prometheus mendukung dua jenis aturan yang dievaluasi *secara* berkala:
+ *Aturan perekaman* memungkinkan Anda untuk menghitung ekspresi yang sering dibutuhkan atau mahal secara komputasi dan menyimpan hasilnya sebagai rangkaian waktu baru. Menanyakan hasil yang telah dihitung sebelumnya seringkali jauh lebih cepat daripada menjalankan ekspresi asli setiap kali diperlukan.
+ *Aturan peringatan* memungkinkan Anda menentukan kondisi peringatan berdasarkan PromQL dan ambang batas. Ketika aturan memicu ambang batas, pemberitahuan dikirim ke [manajer peringatan](AMP-alert-manager.md), yang dapat dikonfigurasi untuk mengelola aturan, atau meneruskannya ke notifikasi hilir ke penerima seperti Amazon Simple Notification Service.

Untuk menggunakan aturan di Amazon Managed Service for Prometheus, Anda membuat satu atau beberapa file aturan YAML yang menentukan aturan. File aturan Layanan Terkelola Amazon untuk Prometheus memiliki format yang sama dengan file aturan di Prometheus mandiri. Untuk informasi selengkapnya, lihat [Mendefinisikan aturan Perekaman dan Aturan](https://prometheus.io/docs/prometheus/latest/configuration/recording_rules/) [Peringatan di dokumentasi](https://prometheus.io/docs/prometheus/latest/configuration/alerting_rules/) Prometheus.

Anda dapat memiliki sejumlah file aturan di sebuah workspace. Setiap file aturan terpisah terkandung dalam *namespace* terpisah. Dengan memiliki sejumlah file aturan, Anda dapat mengimpor file aturan Prometheus yang ada ke workspace tanpa harus mengubah atau menggabungkannya. Namespace grup aturan yang berbeda-beda juga dapat memiliki tanda yang berbeda-beda.

**Urutan aturan**

Dalam file aturan, aturan terkandung dalam *kelompok aturan*. Aturan dalam satu grup aturan dalam file aturan selalu dievaluasi secara berurutan dari atas ke bawah. Oleh karena itu, dalam aturan perekaman, hasil dari satu aturan perekaman dapat digunakan dalam perhitungan aturan perekaman nanti atau dalam aturan peringatan dalam kelompok aturan yang sama. Namun, karena Anda tidak dapat menentukan urutan untuk menjalankan file aturan terpisah, Anda tidak dapat menggunakan hasil dari satu aturan perekaman untuk menghitung aturan dalam grup aturan yang berbeda atau file aturan yang berbeda.

**Topics**
+ [Memahami izin IAM yang diperlukan untuk menggunakan aturan](AMP-ruler-IAM-permissions.md)
+ [Buat file aturan](AMP-ruler-rulesfile.md)
+ [Unggah file konfigurasi aturan ke Amazon Managed Service untuk Prometheus](AMP-rules-upload.md)
+ [Mengedit atau mengganti file konfigurasi aturan](AMP-rules-edit.md)
+ [Memecahkan masalah evaluasi aturan](troubleshoot-rule-evaluations.md)
+ [Pemecahan Masalah Penggaris](Troubleshooting-rule-fail-error.md)

# Memahami izin IAM yang diperlukan untuk menggunakan aturan
<a name="AMP-ruler-IAM-permissions"></a>

Anda harus memberi pengguna izin untuk menggunakan aturan di Amazon Managed Service untuk Prometheus. Buat kebijakan AWS Identity and Access Management (IAM) dengan izin berikut, dan tetapkan kebijakan tersebut ke pengguna, grup, atau peran Anda.

**catatan**  
Untuk informasi selengkapnya tentang IAM, lihat [Identity and Access Management untuk Amazon Managed Service untuk Prometheus](security-iam.md).

**Kebijakan untuk memberikan akses ke aturan penggunaan**

Kebijakan berikut memberikan akses untuk menggunakan aturan untuk semua sumber daya di akun Anda.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "aps:CreateRuleGroupsNamespace",
                "aps:ListRuleGroupsNamespaces",
                "aps:DescribeRuleGroupsNamespace",
                "aps:PutRuleGroupsNamespace",
                "aps:DeleteRuleGroupsNamespace"
            ],
            "Resource": "*"
        }
    ]
}
```

------

**Kebijakan untuk memberikan akses ke hanya satu namespace**

Anda juga dapat membuat kebijakan yang hanya memberikan akses ke kebijakan tertentu. Kebijakan sampel berikut memberikan akses hanya ke yang `RuleGroupNamespace` ditentukan. Untuk menggunakan kebijakan ini, ganti*<account>*,*<region>*,*<workspace-id>*, dan *<namespace-name>* dengan nilai yang sesuai untuk akun Anda.

# Buat file aturan
<a name="AMP-ruler-rulesfile"></a>

Untuk menggunakan aturan di Amazon Managed Service untuk Prometheus, Anda membuat file aturan yang menentukan aturan. Layanan Terkelola Amazon untuk file aturan Prometheus adalah file teks YAMM yang memiliki format yang sama dengan file aturan di Prometheus mandiri. *Untuk informasi selengkapnya, lihat [Mendefinisikan aturan Perekaman dan Aturan](https://prometheus.io/docs/prometheus/latest/configuration/recording_rules/) [Peringatan di dokumentasi](https://prometheus.io/docs/prometheus/latest/configuration/alerting_rules/) Prometheus.*

Berikut ini adalah contoh dasar dari file aturan:

```
groups:
  - name: cpu_metrics
     interval: 60s
     rules:
      - record: avg_cpu_usage
        expr: avg(rate(node_cpu_seconds_total[5m])) by (instance)
      - alert: HighAverageCPU
        expr: avg_cpu_usage > 0.8
        for: 10m
        keep_firing_for: 20m
        labels:
          severity: critical
        annotations:
          summary: "Average CPU usage across cluster is too high"
```

Contoh ini membuat grup aturan `cpu_metrics` yang dievaluasi setiap 60 detik. Grup aturan ini membuat metrik baru menggunakan aturan perekaman, dipanggil `avg_cpu_usage` dan kemudian menggunakannya dalam peringatan. Berikut ini menjelaskan beberapa properti yang digunakan. *Untuk informasi selengkapnya tentang aturan peringatan dan properti lain yang dapat Anda sertakan, lihat [Aturan peringatan](https://prometheus.io/docs/prometheus/latest/configuration/alerting_rules/) di dokumentasi Prometheus.*
+ `record: avg_cpu_usage`— Aturan perekaman ini menciptakan metrik baru yang disebut`avg_cpu_usage`.
+ Interval evaluasi default grup aturan adalah 60 detik jika `interval` properti tidak ditentukan.
+ `expr: avg(rate(node_cpu_seconds_total[5m])) by (instance)`— Ekspresi untuk aturan perekaman ini menghitung tingkat rata-rata penggunaan CPU selama 5 menit terakhir untuk setiap node, dikelompokkan berdasarkan label. `instance`
+ `alert: HighAverageCPU`— Aturan peringatan ini membuat peringatan baru yang disebut `HighAverageCPU`
+ `expr: avg_cpu_usage > 0.8 `— Ekspresi ini memberi tahu peringatan untuk mencari sampel di mana penggunaan CPU rata-rata lebih dari 80%.
+ `for: 10m`— Peringatan hanya akan menyala jika penggunaan CPU rata-rata melebihi 80% selama setidaknya 10 menit.

  Dalam hal ini, metrik dihitung sebagai rata-rata selama 5 menit terakhir. Jadi peringatan hanya akan menyala jika setidaknya ada dua sampel 5 menit berturut-turut (total 10 menit) di mana penggunaan CPU rata-rata di atas 80%.
+ `keep_firing_for: 20m`— Peringatan ini akan terus menyala sampai sampel berada di bawah ambang batas setidaknya selama 20 menit. Ini dapat berguna untuk menghindari peringatan naik dan turun berulang kali berturut-turut.

**catatan**  
Anda dapat membuat file definisi aturan secara lokal lalu mengunggahnya ke Amazon Managed Service for Prometheus, atau Anda dapat membuat, mengedit, dan mengunggah definisi secara langsung di dalam konsol Amazon Managed Service for Prometheus. Either way, aturan pemformatan yang sama berlaku. Untuk mempelajari lebih lanjut tentang mengunggah dan mengedit file Anda, lihat[Unggah file konfigurasi aturan ke Amazon Managed Service untuk Prometheus](AMP-rules-upload.md).

# Unggah file konfigurasi aturan ke Amazon Managed Service untuk Prometheus
<a name="AMP-rules-upload"></a>

Setelah Anda mengetahui aturan apa yang Anda inginkan dalam file konfigurasi aturan, Anda dapat membuat dan mengeditnya di dalam konsol, atau Anda dapat mengunggah file dengan konsol atau AWS CLI.

**catatan**  
Jika Anda menjalankan klaster Amazon EKS, Anda juga dapat mengunggah file konfigurasi aturan menggunakan [AWS Controllers for Kubernetes](integrating-ack.md).

**Untuk menggunakan Amazon Managed Service for Prometheus console untuk mengedit atau mengganti konfigurasi aturan dan membuat namespace**

1. Buka Layanan Terkelola Amazon untuk konsol Prometheus di. [https://console.aws.amazon.com/prometheus/](https://console.aws.amazon.com/prometheus/home)

1. Di sudut kiri atas halaman, pilih ikon menu, lalu pilih **Semua ruang kerja**.

1. Pilih ID ruang kerja ruang kerja, lalu pilih tab **Manajemen aturan**.

1. Pilih **Tambahkan namespace**.

1. Pilih **Pilih file**, dan pilih file definisi aturan.

   **Sebagai alternatif, Anda dapat membuat dan mengedit file definisi aturan secara langsung di konsol Amazon Managed Service for Prometheus dengan memilih Tentukan konfigurasi.** Ini akan membuat contoh file definisi default yang Anda edit sebelum mengunggah.

1. (Opsional) Untuk menambahkan tag ke namespace, pilih **Tambahkan tag baru**.

   Kemudian, untuk **Kunci**, masukkan nama untuk tanda tersebut. Anda dapat menambahkan sebuah nilai opsional untuk tanda di **Nilai**. 

   Untuk menambahkan tag lain, pilih **Tambahkan tag baru**.

1. Pilih **Lanjutkan**. Amazon Managed Service untuk Prometheus membuat namespace baru dengan nama yang sama dengan file aturan yang Anda pilih.

**Untuk menggunakan AWS CLI untuk meng-upload konfigurasi manajer peringatan ke ruang kerja di namespace baru**

1. Base64 menyandikan konten file pengelola peringatan Anda. Di Linux, Anda dapat menggunakan perintah berikut:

   ```
   base64 input-file output-file
   ```

   Di macOS, Anda dapat menggunakan perintah berikut:

   ```
   openssl base64 input-file output-file
   ```

1. Masukkan salah satu perintah berikut untuk membuat namespace dan mengunggah file.

   Pada AWS CLI versi 2, masukkan:

   ```
   aws amp create-rule-groups-namespace --data file://path_to_base_64_output_file --name namespace-name  --workspace-id my-workspace-id --region region
   ```

   Pada AWS CLI versi 1, masukkan:

   ```
   aws amp create-rule-groups-namespace --data fileb://path_to_base_64_output_file --name namespace-name  --workspace-id my-workspace-id --region region
   ```

1. Dibutuhkan beberapa detik agar konfigurasi manajer peringatan Anda menjadi aktif. Untuk memeriksa status, masukkan perintah berikut:

   ```
   aws amp describe-rule-groups-namespace --workspace-id workspace_id --name namespace-name --region region
   ```

   Jika `status` ya`ACTIVE`, file aturan Anda telah berlaku.

# Mengedit atau mengganti file konfigurasi aturan
<a name="AMP-rules-edit"></a>

Jika ingin mengubah aturan dalam file aturan yang telah diunggah ke Amazon Managed Service untuk Prometheus, Anda dapat mengunggah file aturan baru untuk mengganti konfigurasi yang ada, atau Anda dapat mengedit konfigurasi saat ini secara langsung di konsol. Secara opsional, Anda dapat mengunduh file saat ini, mengeditnya di editor teks, lalu mengunggah versi baru.

**Untuk menggunakan Amazon Managed Service untuk konsol Prometheus untuk mengedit konfigurasi aturan**

1. Buka Layanan Terkelola Amazon untuk konsol Prometheus di. [https://console.aws.amazon.com/prometheus/](https://console.aws.amazon.com/prometheus/home)

1. Di sudut kiri atas halaman, pilih ikon menu, lalu pilih **Semua ruang kerja**.

1. Pilih ID ruang kerja ruang kerja, lalu pilih tab **Manajemen aturan**.

1. Pilih nama file konfigurasi aturan yang ingin Anda edit.

1. (Opsional) Jika Anda ingin mengunduh file konfigurasi aturan saat ini, pilih **Unduh** atau **Salin**.

1. Pilih **Ubah** untuk mengedit konfigurasi langsung di dalam konsol. Pilih **Simpan** setelah selesai.

   Sebagai alternatif, Anda dapat memilih **Ganti konfigurasi** untuk mengunggah file konfigurasi baru. Jika demikian, pilih file definisi aturan baru, dan pilih **Lanjutkan** untuk mengunggahnya.

**Untuk menggunakan AWS CLI untuk mengedit file konfigurasi aturan**

1. Base64 menyandikan isi file aturan Anda. Di Linux, Anda dapat menggunakan perintah berikut:

   ```
   base64 input-file output-file
   ```

   Di macOS, Anda dapat menggunakan perintah berikut:

   ```
   openssl base64 input-file output-file
   ```

1. Masukkan salah satu perintah berikut untuk mengunggah file baru.

   Pada AWS CLI versi 2, masukkan:

   ```
   aws amp put-rule-groups-namespace --data file://path_to_base_64_output_file --name namespace-name  --workspace-id my-workspace-id --region region
   ```

   Pada AWS CLI versi 1, masukkan:

   ```
   aws amp put-rule-groups-namespace --data fileb://path_to_base_64_output_file --name namespace-name  --workspace-id my-workspace-id --region region
   ```

1. Dibutuhkan beberapa detik agar file aturan Anda menjadi aktif. Untuk memeriksa status, masukkan perintah berikut:

   ```
   aws amp describe-rule-groups-namespace --workspace-id workspace_id --name namespace-name --region region
   ```

   Jika `status` ya`ACTIVE`, file aturan Anda telah berlaku. Sampai saat itu, versi sebelumnya dari file aturan ini masih aktif.

# Memecahkan masalah evaluasi aturan
<a name="troubleshoot-rule-evaluations"></a>

Panduan ini menyediakan prosedur step-by-step pemecahan masalah untuk masalah umum dengan evaluasi aturan di Amazon Managed Service for Prometheus (AMP). Ikuti prosedur ini untuk mendiagnosis dan menyelesaikan masalah dengan aturan peringatan dan pencatatan Anda.

**Topics**
+ [Validasi status penembakan peringatan](#troubleshoot-rule-validate-firing-status)
+ [Selesaikan pemberitahuan peringatan yang hilang](#troubleshoot-rule-missing-alert-notifications)
+ [Periksa status kesehatan aturan](#troubleshoot-rule-check-health-status)
+ [Gunakan offset dalam kueri untuk menangani penundaan konsumsi](#troubleshoot-rule-offset-queries)
+ [Masalah dan solusi umum](#troubleshoot-rule-common-issues)
+ [Praktik terbaik untuk evaluasi aturan](#troubleshoot-rule-best-practices)

## Validasi status penembakan peringatan
<a name="troubleshoot-rule-validate-firing-status"></a>

Saat memecahkan masalah evaluasi aturan, verifikasi terlebih dahulu apakah peringatan Anda telah diaktifkan dengan menanyakan deret waktu sintetis. `ALERTS` Deret `ALERTS` waktu mencakup label berikut:
+ **alertname** — Nama peringatan.
+ **alertstate** **- Baik **tertunda atau menembak**.**
  + **pending** - Peringatan sedang menunggu durasi yang ditentukan dalam `for` klausa.
  + **menembak** — Peringatan telah memenuhi persyaratan untuk durasi yang ditentukan. Label tambahan ditentukan dalam aturan peringatan Anda.

**catatan**  
Saat peringatan **menyala** atau **tertunda**, nilai sampelnya adalah **1**. Saat peringatan Anda menganggur, tidak ada sampel yang diproduksi.

## Selesaikan pemberitahuan peringatan yang hilang
<a name="troubleshoot-rule-missing-alert-notifications"></a>

Jika peringatan diaktifkan tetapi pemberitahuan tidak tiba, verifikasi pengaturan Alertmanager berikut:

1. **Verifikasi konfigurasi Alertmanager Anda** — Periksa apakah penerima rute, dan pengaturan dikonfigurasi dengan benar. Tinjau pengaturan blok rute, termasuk waktu tunggu, interval waktu, dan label yang diperlukan, yang dapat memengaruhi penembakan peringatan. Bandingkan aturan peringatan dengan rute dan penerima yang sesuai untuk mengonfirmasi pencocokan yang tepat. Untuk rute dengan`time_interval`, verifikasi bahwa stempel waktu termasuk dalam interval yang ditentukan.

1. **Periksa izin penerima peringatan** — Saat menggunakan topik Amazon SNS, verifikasi AMP memiliki izin yang diperlukan untuk memublikasikan notifikasi. Untuk informasi selengkapnya, lihat [Memberikan izin Layanan Terkelola Amazon untuk Prometheus untuk mengirim pesan peringatan ke topik Amazon SNS Anda](AMP-alertmanager-receiver-AMPpermission.md).

1. **Validasi kompatibilitas payload penerima** — Konfirmasikan penerima peringatan Anda menerima format payload Alertmanager. Untuk persyaratan Amazon SNS, lihat. [Memahami aturan validasi pesan Amazon SNS](AMP-alertmanager-receiver-validation-truncation.md)

1. **Tinjau log Alertmanager — AMP menyediakan log** vended dari Alertmanager untuk membantu men-debug masalah notifikasi. Untuk informasi selengkapnya, lihat [Pantau Layanan Terkelola Amazon untuk acara Prometheus dengan Log CloudWatch](CW-logs.md).

Untuk informasi selengkapnya tentang Alertmanager, lihat. [Mengelola dan meneruskan peringatan di Amazon Managed Service untuk Prometheus dengan manajer peringatan](AMP-alert-manager.md)

## Periksa status kesehatan aturan
<a name="troubleshoot-rule-check-health-status"></a>

Aturan yang salah dapat menyebabkan kegagalan evaluasi. Gunakan metode berikut untuk mengidentifikasi mengapa aturan gagal dievaluasi:

**Example**  
**Gunakan ListRules API**  
[ListRules](AMP-APIReference-ListRules.md)API menyediakan informasi tentang kesehatan aturan. Periksa `health` dan `lastError` bidang untuk mendiagnosis masalah.  
**Contoh respon:**  

```
{
  "status": "success",
  "data": {
    "groups": [
      {
        "name": "my_rule_group",
        "file": "my_namespace",
        "rules": [
          {
            "state": "firing",
            "name": "broken_alerting_rule",
            "query": "...",
            "duration": 0,
            "keepFiringFor": 0,
            "labels": {},
            "annotations": {},
            "alerts": [],
            "health": "err",
            "lastError": "vector contains metrics with the same labelset after applying alert labels",
            "type": "alerting",
            "lastEvaluation": "1970-01-01T00:00:00.00000000Z",
            "evaluationTime": 0.08
          }
        ]
      }
    ]
  }
}
```

**Example**  
**Gunakan log penjual**  
 ListRules API hanya menampilkan informasi terbaru. Untuk riwayat yang lebih detail, aktifkan [log vended](CW-logs.md) di ruang kerja Anda untuk mengakses:  
+ Cap waktu kegagalan evaluasi
+ Pesan kesalahan terperinci
+ Data evaluasi historis
**Contoh pesan log yang dijual:**  

```
{
  "workspaceId": "ws-a2c55905-e0b4-4065-a310-d83ce597a391",
  "message": {
    "log": "Evaluating rule failed, name=broken_alerting_rule, group=my_rule_group, namespace=my_namespace, err=vector contains metrics with the same labelset after applying alert labels",
    "level": "ERROR",
    "name": "broken_alerting_rule",
    "group": "my_rule_group",
    "namespace": "my_namespace"
  },
  "component": "ruler"
}
```
Untuk lebih banyak contoh log dari Ruler atau Alertmanager, lihat dan. [Pemecahan Masalah Penggaris](Troubleshooting-rule-fail-error.md) [Mengelola dan meneruskan peringatan di Amazon Managed Service untuk Prometheus dengan manajer peringatan](AMP-alert-manager.md)

## Gunakan offset dalam kueri untuk menangani penundaan konsumsi
<a name="troubleshoot-rule-offset-queries"></a>

Secara default, ekspresi dievaluasi tanpa offset (permintaan instan), menggunakan nilai pada waktu evaluasi. Jika konsumsi metrik tertunda, aturan perekaman mungkin tidak mewakili nilai yang sama seperti saat Anda mengevaluasi ekspresi secara manual setelah semua metrik dicerna.

**Tip**  
Menggunakan pengubah offset dapat mengurangi masalah yang disebabkan oleh penundaan konsumsi. *Untuk informasi selengkapnya, lihat [Pengubah offset dalam dokumentasi](https://prometheus.io/docs/prometheus/latest/querying/basics/#offset-modifier) Prometheus.*

### Contoh: Menangani metrik yang tertunda
<a name="example-delayed-metrics"></a>

Jika aturan Anda dievaluasi pada 12:00, tetapi sampel terbaru untuk metrik adalah dari 11:45 karena penundaan konsumsi, aturan tidak akan menemukan sampel pada stempel waktu 12:00. Untuk mengurangi ini, tambahkan offset, seperti:. **my\$1metric\$1name offset 15m **

### Contoh: Menangani metrik dari berbagai sumber
<a name="example-metrics-multiple-sources"></a>

Ketika metrik berasal dari sumber yang berbeda, seperti dua server, mereka mungkin tertelan pada waktu yang berbeda. Untuk mengurangi ini, bentuk ekspresi, seperti: **metric\$1from\$1server\$1A / metric\$1from\$1server\$1B **

Jika aturan mengevaluasi antara waktu konsumsi server A dan server B, Anda akan mendapatkan hasil yang tidak terduga. Menggunakan offset dapat membantu menyelaraskan waktu evaluasi.

## Masalah dan solusi umum
<a name="troubleshoot-rule-common-issues"></a>

**Kesenjangan dalam merekam data aturan**

Jika Anda melihat celah dalam data aturan perekaman dibandingkan dengan evaluasi manual (saat Anda langsung menjalankan ekspresi promQL asli aturan perekaman melalui API kueri atau UI), ini mungkin disebabkan oleh salah satu hal berikut:

1. **Waktu evaluasi yang panjang** — Kelompok aturan tidak dapat memiliki beberapa evaluasi simultan. Jika waktu evaluasi melebihi interval yang dikonfigurasi, evaluasi selanjutnya mungkin terlewatkan. Beberapa evaluasi yang terlewat berturut-turut melebihi interval yang dikonfigurasi dapat menyebabkan aturan perekaman menjadi basi. Untuk informasi lebih lanjut, lihat [Kebuntuan](https://prometheus.io/docs/prometheus/latest/querying/basics/#staleness) dalam dokumentasi *Prometheus*. Anda dapat memantau durasi evaluasi menggunakan CloudWatch metrik `RuleGroupLastEvaluationDuration` untuk mengidentifikasi kelompok aturan yang terlalu lama untuk dievaluasi.

1. **Memantau evaluasi yang tidak terjawab** — AMP menyediakan `RuleGroupIterationsMissed` CloudWatch metrik untuk dilacak saat evaluasi dilewati. ListRules API menampilkan waktu evaluasi dan waktu evaluasi terakhir untuk setiap aturan/grup, yang dapat membantu mengidentifikasi pola evaluasi yang terlewat. Untuk informasi selengkapnya, lihat [ListRules](AMP-APIReference-ListRules.md).

**Rekomendasi: Pisahkan aturan menjadi grup terpisah**

Untuk mengurangi durasi evaluasi, pisahkan aturan menjadi kelompok aturan yang terpisah. Aturan dalam grup dijalankan secara berurutan, sedangkan kelompok aturan dapat mengeksekusi secara paralel. Simpan aturan terkait yang saling bergantung satu sama lain dalam kelompok yang sama. Umumnya, kelompok aturan yang lebih kecil memastikan evaluasi yang lebih konsisten dan lebih sedikit kesenjangan.

## Praktik terbaik untuk evaluasi aturan
<a name="troubleshoot-rule-best-practices"></a>

1. **Optimalkan ukuran grup aturan** — Jaga agar kelompok aturan tetap kecil untuk memastikan evaluasi yang konsisten. Kelompokkan aturan terkait bersama, tetapi hindari kelompok aturan besar.

1. **Tetapkan interval evaluasi yang sesuai** - Seimbangkan antara peringatan tepat waktu dan beban sistem. Tinjau pola stabilitas metrik yang dipantau untuk memahami rentang fluktuasi normalnya.

1. **Gunakan pengubah offset untuk metrik tertunda** — Tambahkan offset untuk mengkompensasi penundaan konsumsi. Sesuaikan durasi offset berdasarkan pola konsumsi yang diamati.

1. **Pantau kinerja evaluasi** — Lacak `RuleGroupIterationsMissed` metrik. Tinjau waktu evaluasi di ListRules API.

1. **Validasi ekspresi aturan** - Pastikan ekspresi cocok persis antara definisi aturan dan kueri manual. Uji ekspresi dengan rentang waktu yang berbeda untuk memahami perilaku.

1. **Tinjau aturan kesehatan secara teratur** — Periksa kesalahan dalam evaluasi aturan. Pantau log yang dijual untuk masalah berulang.

Dengan mengikuti langkah-langkah pemecahan masalah dan praktik terbaik ini, Anda dapat mengidentifikasi dan menyelesaikan masalah umum dengan evaluasi aturan di Amazon Managed Service for Prometheus.

# Pemecahan Masalah Penggaris
<a name="Troubleshooting-rule-fail-error"></a>

Dengan menggunakan[Pantau Layanan Terkelola Amazon untuk acara Prometheus dengan Log CloudWatch](CW-logs.md), Anda dapat memecahkan masalah terkait Pengelola Peringatan dan Penggaris. Bagian ini berisi topik pemecahan masalah terkait penggaris. 

**

**Ketika log berisi kesalahan kegagalan penggaris berikut**

```
{
    "workspaceId": "ws-12345c67-89c0-4d12-345b-f14db70f7a99",
    "message": {
        "log": "Evaluating rule failed, name=failure, group=canary_long_running_vl_namespace, namespace=canary_long_running_vl_namespace, err=found duplicate series for the match group {dimension1=\\\"1\\\"} on the right hand-side of the operation: [{__name__=\\\"fake_metric2\\\", dimension1=\\\"1\\\", dimension2=\\\"b\\\"}, {__name__=\\\"fake_metric2\\\", dimension1=\\\"1\\\", dimension2=\\\"a\\\"}];many-to-many matching not allowed: matching labels must be unique on one side",
        "level": "ERROR",
        "name": "failure",
        "group": "canary_long_running_vl_namespace",
        "namespace": "canary_long_running_vl_namespace"
    },
    "component": "ruler"
}
```

Ini berarti bahwa beberapa kesalahan terjadi saat menjalankan aturan. 

**Tindakan yang harus diambil**

Gunakan pesan kesalahan untuk memecahkan masalah eksekusi aturan.