

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

# Mengelola dan meneruskan peringatan di Amazon Managed Service untuk Prometheus dengan manajer peringatan
<a name="AMP-alert-manager"></a>

Saat [aturan peringatan](AMP-ruler-rulesfile.md) yang dijalankan Amazon Managed Service untuk Prometheus diaktifkan, manajer peringatan menangani peringatan yang dikirim. Ini menghapus duplikat, mengelompokkan, dan merutekan peringatan ke penerima hilir. Layanan Terkelola Amazon untuk Prometheus hanya mendukung Layanan Pemberitahuan Sederhana Amazon sebagai penerima, dan dapat merutekan pesan ke topik Amazon SNS di akun yang sama. Anda juga dapat menggunakan pengelola pemberitahuan untuk membisukan dan mencegah pemberitahuan.

Manajer peringatan menyediakan fungsionalitas yang mirip dengan Alertmanager di Prometheus.

Anda dapat menggunakan file konfigurasi manajer peringatan untuk hal-hal berikut:
+ **Pengelompokan** — Pengelompokan mengumpulkan peringatan serupa menjadi satu pemberitahuan. Ini sangat berguna selama pemadaman yang lebih besar ketika banyak sistem gagal sekaligus dan ratusan peringatan mungkin menyala secara bersamaan. Misalnya, kegagalan jaringan menyebabkan banyak node Anda gagal pada saat yang bersamaan. Jika jenis peringatan ini dikelompokkan, manajer peringatan mengirimi Anda satu pemberitahuan. 

  Pengelompokan peringatan dan waktu untuk pemberitahuan yang dikelompokkan dikonfigurasi oleh pohon perutean di file konfigurasi manajer peringatan. Untuk informasi lebih lanjut, lihat[https://prometheus.io/docs/alerting/latest/configuration/#route](https://prometheus.io/docs/alerting/latest/configuration/#route)<route>.
+ **Penghambatan** — Penghambatan menekan pemberitahuan untuk peringatan tertentu jika peringatan tertentu lainnya sudah menyala. Misalnya, jika peringatan diaktifkan tentang klaster yang tidak dapat dijangkau, Anda dapat mengonfigurasi pengelola peringatan untuk membisukan semua peringatan lain mengenai kluster ini. Ini mencegah pemberitahuan untuk ratusan atau ribuan peringatan penembakan yang tidak terkait dengan masalah sebenarnya. <inhibit\$1rule>Untuk informasi lebih lanjut tentang cara menulis aturan penghambatan, lihat[https://prometheus.io/docs/alerting/latest/configuration/#inhibit_rule](https://prometheus.io/docs/alerting/latest/configuration/#inhibit_rule).
+ **Keheningan** — Membungkam peringatan bisu untuk waktu tertentu, seperti selama jendela pemeliharaan. Peringatan yang masuk diperiksa apakah mereka cocok dengan semua persamaan atau pencocokan ekspresi reguler dari keheningan aktif. Jika ya, tidak ada pemberitahuan yang dikirim untuk peringatan itu.

  Untuk membuat keheningan, Anda menggunakan `PutAlertManagerSilences` API. Untuk informasi selengkapnya, lihat [PutAlertManagerSilences](AMP-APIReference-PutAlertManagerSilences.md).

**Templat Prometheus**

Prometheus mandiri mendukung templating, menggunakan file template terpisah. Template dapat menggunakan kondisional dan memformat data, antara lain.

[Di Amazon Managed Service untuk Prometheus, Anda menempatkan template Anda di file konfigurasi manajer peringatan yang sama dengan konfigurasi manajer peringatan Anda.](AMP-alertmanager-config.md)

**Topics**
+ [Memahami izin IAM yang diperlukan untuk bekerja dengan manajer peringatan](AMP-alertmanager-IAM-permissions.md)
+ [Buat konfigurasi pengelola peringatan di Amazon Managed Service untuk Prometheus untuk mengelola dan merutekan peringatan](AMP-alertmanager-config.md)
+ [Teruskan peringatan ke penerima peringatan dengan pengelola peringatan di Amazon Managed Service untuk Prometheus](AMP-alertmanager-receiver.md)
+ [Unggah file konfigurasi pengelola peringatan Anda ke Amazon Managed Service untuk Prometheus](AMP-alertmanager-upload.md)
+ [Integrasikan peringatan dengan Grafana Terkelola Amazon atau Grafana open source](integrating-grafana.md)
+ [Memecahkan masalah manajer peringatan dengan Log CloudWatch](Troubleshooting-alerting.md)

# Memahami izin IAM yang diperlukan untuk bekerja dengan manajer peringatan
<a name="AMP-alertmanager-IAM-permissions"></a>

Anda harus memberi pengguna izin untuk menggunakan pengelola peringatan 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.

# Buat konfigurasi pengelola peringatan di Amazon Managed Service untuk Prometheus untuk mengelola dan merutekan peringatan
<a name="AMP-alertmanager-config"></a>

Untuk menggunakan pengelola peringatan dan template di Amazon Managed Service untuk Prometheus, Anda membuat file YAMM konfigurasi manajer peringatan. Layanan Terkelola Amazon untuk file manajer peringatan Prometheus memiliki dua bagian utama:
+ `template_files:`berisi template yang digunakan untuk pesan yang dikirim oleh penerima. Untuk informasi selengkapnya, lihat [Referensi Template](https://prometheus.io/docs/prometheus/latest/configuration/template_reference/) [dan Contoh Template](https://prometheus.io/docs/prometheus/latest/configuration/template_examples/) di dokumentasi Prometheus.
+ `alertmanager_config:`berisi konfigurasi manajer peringatan. Ini menggunakan struktur yang sama dengan file konfigurasi manajer peringatan di Prometheus mandiri. Untuk informasi selengkapnya, lihat [Konfigurasi](https://prometheus.io/docs/alerting/latest/configuration/) dalam dokumentasi Alertmanager.
**catatan**  
`repeat_interval`Konfigurasi yang dijelaskan dalam dokumentasi Prometheus di atas memiliki batasan tambahan di Amazon Managed Service untuk Prometheus. Nilai maksimum yang diizinkan adalah lima hari. Jika Anda mengaturnya lebih dari lima hari, itu akan diperlakukan sebagai lima hari dan pemberitahuan akan dikirim lagi setelah periode lima hari berlalu.

**catatan**  
Anda juga dapat mengedit file konfigurasi langsung di Amazon Managed Service untuk konsol Prometheus, tetapi harus tetap mengikuti format yang ditentukan di sini. Untuk informasi selengkapnya tentang mengunggah atau mengedit file konfigurasi, lihat[Unggah file konfigurasi pengelola peringatan Anda ke Amazon Managed Service untuk Prometheus](AMP-alertmanager-upload.md).

Di Amazon Managed Service untuk Prometheus, file konfigurasi manajer peringatan Anda harus memiliki semua konten konfigurasi manajer peringatan Anda di dalam kunci di root `alertmanager_config` file YAMB.

Berikut ini adalah contoh dasar file konfigurasi manajer peringatan:

```
alertmanager_config: |
  route:
    receiver: 'default'
  receivers:
    - name: 'default'
      sns_configs:
      - topic_arn: arn:aws:sns:us-east-2:123456789012:My-Topic
        sigv4:
          region: us-east-2
        attributes:
          key: key1
          value: value1
```

Satu-satunya penerima yang saat ini didukung adalah Amazon Simple Notification Service (Amazon SNS). Jika Anda memiliki jenis penerima lain yang tercantum dalam konfigurasi, itu akan ditolak.

Berikut adalah contoh file konfigurasi manajer peringatan lain yang menggunakan `template_files` blok dan `alertmanager_config` blok.

```
template_files:
  default_template: |
    {{ define "sns.default.subject" }}[{{ .Status | toUpper }}{{ if eq .Status "firing" }}:{{ .Alerts.Firing | len }}{{ end }}]{{ end }}
    {{ define "__alertmanager" }}AlertManager{{ end }}
    {{ define "__alertmanagerURL" }}{{ .ExternalURL }}/#/alerts?receiver={{ .Receiver | urlquery }}{{ end }}
alertmanager_config: |
  global:
  templates:
    - 'default_template'
  route:
    receiver: default
  receivers:
    - name: 'default'
      sns_configs:
      - topic_arn: arn:aws:sns:us-east-2:accountid:My-Topic
        sigv4:
          region: us-east-2
        attributes:
          key: severity
          value: SEV2
```

**Blok template Amazon SNS default**

Konfigurasi Amazon SNS default menggunakan templat berikut kecuali jika Anda secara eksplisit menggantinya.

```
{{ define "sns.default.message" }}{{ .CommonAnnotations.SortedPairs.Values | join " " }}
  {{ if gt (len .Alerts.Firing) 0 -}}
  Alerts Firing:
    {{ template "__text_alert_list" .Alerts.Firing }}
  {{- end }} 
  {{ if gt (len .Alerts.Resolved) 0 -}} 
  Alerts Resolved:
    {{ template "__text_alert_list" .Alerts.Resolved }}
  {{- end }}
{{- end }}
```

# Teruskan peringatan ke penerima peringatan dengan pengelola peringatan di Amazon Managed Service untuk Prometheus
<a name="AMP-alertmanager-receiver"></a>

Ketika peringatan dinaikkan oleh aturan peringatan, itu dikirim ke manajer peringatan. Manajer peringatan melakukan fungsi seperti menghilangkan duplikasi peringatan, menghambat peringatan selama pemeliharaan, atau mengelompokkannya sesuai kebutuhan. Kemudian meneruskan peringatan sebagai pesan ke *penerima peringatan*. Anda dapat mengatur penerima peringatan yang dapat memberi tahu operator, memiliki respons otomatis, atau menanggapi peringatan dengan cara lain.

Anda dapat mengonfigurasi Amazon Simple Notification Service (Amazon SNS) PagerDuty dan sebagai penerima peringatan di Amazon Managed Service untuk Prometheus. Topik berikut menjelaskan cara membuat dan mengonfigurasi penerima peringatan Anda.

**Topics**
+ [Gunakan Amazon SNS sebagai penerima peringatan](AMP-alertmanager-receiver-createtopic.md)
+ [Gunakan PagerDuty sebagai penerima peringatan](AMP-alertmanager-pagerduty.md)

# Gunakan Amazon SNS sebagai penerima peringatan
<a name="AMP-alertmanager-receiver-createtopic"></a>

Anda dapat menggunakan topik Amazon SNS yang ada sebagai penerima peringatan untuk Amazon Managed Service for Prometheus, atau Anda dapat membuat yang baru. Kami menyarankan Anda menggunakan topik tipe **Standar**, sehingga Anda dapat meneruskan peringatan dari topik ke email, SMS, atau HTTP.

Untuk membuat topik Amazon SNS baru untuk digunakan sebagai penerima manajer peringatan, ikuti langkah-langkah di [Langkah 1: Buat](https://docs.aws.amazon.com/sns/latest/dg/sns-getting-started.html#step-create-queue) topik. Pastikan untuk memilih **Standar** untuk jenis topik.

Jika Anda ingin menerima email setiap kali pesan dikirim ke topik Amazon SNS itu, ikuti langkah-langkah di [Langkah 2: Buat langganan ke topik tersebut](https://docs.aws.amazon.com/sns/latest/dg/sns-getting-started.html#step-send-message).

Baik Anda menggunakan topik Amazon SNS baru atau yang sudah ada, Anda memerlukan Nama Sumber Daya Amazon (ARN) dari topik Amazon SNS Anda untuk menyelesaikan tugas-tugas berikut.

**Topics**
+ [Memberikan izin Layanan Terkelola Amazon untuk Prometheus untuk mengirim pesan peringatan ke topik Amazon SNS Anda](AMP-alertmanager-receiver-AMPpermission.md)
+ [Konfigurasikan pengelola peringatan untuk mengirim pesan ke topik Amazon SNS Anda](AMP-alertmanager-receiver-config.md)
+ [Konfigurasikan pengelola peringatan untuk mengirim pesan ke Amazon SNS sebagai JSON](AMP-alertmanager-receiver-JSON.md)
+ [Konfigurasikan Amazon SNS untuk mengirim pesan peringatan ke tujuan lain](AMP-alertmanager-SNS-otherdestinations.md)
+ [Memahami aturan validasi pesan Amazon SNS](AMP-alertmanager-receiver-validation-truncation.md)

# Memberikan izin Layanan Terkelola Amazon untuk Prometheus untuk mengirim pesan peringatan ke topik Amazon SNS Anda
<a name="AMP-alertmanager-receiver-AMPpermission"></a>

Anda harus memberikan izin Layanan Terkelola Amazon untuk Prometheus untuk mengirim pesan ke topik Amazon SNS Anda. Pernyataan kebijakan berikut akan memberikan izin itu. Ini termasuk `Condition` pernyataan untuk membantu mencegah masalah keamanan yang dikenal sebagai masalah *wakil yang bingung*. `Condition`Pernyataan tersebut membatasi akses ke topik Amazon SNS untuk mengizinkan hanya operasi yang berasal dari akun khusus ini dan Layanan Terkelola Amazon untuk ruang kerja Prometheus. Untuk informasi lebih lanjut tentang masalah wakil yang membingungkan, lihat[Pencegahan "confused deputy" lintas layanan](#cross-service-confused-deputy-prevention).

**Untuk memberikan izin Layanan Terkelola Amazon untuk Prometheus untuk mengirim pesan ke topik Amazon SNS Anda**

1. [Buka konsol Amazon SNS di https://console.aws.amazon.com/sns/ v3/home.](https://console.aws.amazon.com/sns/v3/home)

1. Di panel navigasi, pilih **Pengguna**.

1. Pilih nama topik yang Anda gunakan dengan Amazon Managed Service untuk Prometheus.

1. Pilih **Edit**.

1. Pilih **Kebijakan akses** dan tambahkan pernyataan kebijakan berikut ke kebijakan yang ada.

   ```
   {
       "Sid": "Allow_Publish_Alarms",
       "Effect": "Allow",
       "Principal": {
           "Service": "aps.amazonaws.com"
       },
       "Action": [
           "sns:Publish",
           "sns:GetTopicAttributes"
       ],
       "Condition": {
           "ArnEquals": {
               "aws:SourceArn": "workspace_ARN"
           },
           "StringEquals": {
               "AWS:SourceAccount": "account_id"
           }
       },
       "Resource": "arn:aws:sns:region:account_id:topic_name"
   }
   ```

   [Opsional] Jika topik Amazon SNS Anda diaktifkan enkripsi sisi layanan (SSE), Anda harus mengizinkan Layanan Terkelola Amazon untuk Prometheus mengirim pesan ke topik terenkripsi ini dengan menambahkan `kms:GenerateDataKey*` dan `kms:Decrypt` izin ke kebijakan kunci kunci yang digunakan untuk mengenkripsi topik. AWS KMS 

   Misalnya, Anda dapat menambahkan yang berikut ini ke kebijakan:

   ```
   {
     "Statement": [{
       "Effect": "Allow",
       "Principal": {
         "Service": "aps.amazonaws.com"
       },
       "Action": [
         "kms:GenerateDataKey*",
         "kms:Decrypt"
       ],
       "Resource": "*"
     }]
   }
   ```

   Untuk informasi selengkapnya, lihat [Izin AWS KMS untuk Topik SNS](https://docs.aws.amazon.com/sns/latest/dg/sns-key-management.html#sns-what-permissions-for-sse).

1. Pilih **Simpan perubahan**.

**catatan**  
 Secara default, Amazon SNS membuat kebijakan akses dengan kondisi aktif. `AWS:SourceOwner` Untuk informasi selengkapnya, lihat [Kebijakan Akses SNS](https://docs.aws.amazon.com/sns/latest/dg/sns-access-policy-use-cases.html#source-account-versus-source-owner).

**catatan**  
IAM mengikuti aturan pertama [kebijakan yang paling membatasi.](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic.html) Dalam topik SNS Anda, jika ada blok kebijakan yang lebih ketat daripada blok kebijakan Amazon SNS yang didokumentasikan, izin untuk kebijakan topik tidak diberikan. Untuk mengevaluasi kebijakan Anda dan mencari tahu apa yang telah diberikan, lihat [Logika evaluasi kebijakan](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic.html). 

## Konfigurasi topik SNS untuk wilayah keikutsertaan
<a name="AMP-alertmanager-sns-regional-config"></a>

Anda dapat menggunakan `aps.amazonaws.com` untuk mengonfigurasi topik Amazon SNS sama dengan Layanan Wilayah AWS Terkelola Amazon untuk ruang kerja Prometheus. Untuk menggunakan topik SNS dari non-opt-in Wilayah (seperti us-east-1) dengan Wilayah opt-in (seperti af-south-1), Anda perlu menggunakan format utama layanan Regional. Dalam prinsip layanan Regional, ganti *us-east-1* dengan non-opt-in Wilayah yang ingin Anda gunakan:**aps.*us-east-1*.amazonaws.com**.

Tabel berikut mencantumkan Wilayah keikutsertaan dan prinsip layanan Regional yang sesuai:


**Daerah Keikutsertaan dan prinsip layanan Regional mereka**  

| Nama wilayah | Region | Kepala layanan regional | 
| --- | --- | --- | 
| Africa (Cape Town) | af-south-1 | af-selatan-1.aps.amazonaws.com | 
| Asia Pasifik (Hong Kong) | ap-east-1 | ap-east-1.aps.amazonaws.com | 
| Asia Pasifik (Thailand) | ap-tenggara 7 | ap-tenggara 7.aps.amazonaws.com | 
| Europe (Milan) | eu-south-1 | eu-south-1.aps.amazonaws.com | 
| Europe (Zurich) | eu-central-2 | eu-central-2.aps.amazonaws.com | 
| Timur Tengah (UAE) | me-central-1 | saya-central-1.aps.amazonaws.com | 
| Asia Pasifik (Malaysia) | ap-southeast-5 | ap-southeast-5.aps.amazonaws.com | 

Untuk informasi tentang mengaktifkan Wilayah keikutsertaan, lihat [Mengelola Wilayah AWS](https://docs.aws.amazon.com/accounts/latest/reference/manage-acct-regions.html) di *Panduan Pengguna IAM* di. Referensi Umum Amazon Web

Saat mengonfigurasi topik Amazon SNS Anda untuk Wilayah keikutsertaan ini, pastikan Anda menggunakan prinsip layanan Regional yang benar untuk mengaktifkan pengiriman peringatan lintas wilayah.

## Pencegahan "confused deputy" lintas layanan
<a name="cross-service-confused-deputy-prevention"></a>

Masalah "confused deputy" adalah masalah keamanan di mana entitas yang tidak memiliki izin untuk melakukan tindakan dapat memengaruhi entitas yang memiliki hak akses lebih tinggi untuk melakukan tindakan. Pada tahun AWS, peniruan lintas layanan dapat mengakibatkan masalah wakil yang membingungkan. Peniruan identitas lintas layanan dapat terjadi ketika satu layanan (*layanan yang dipanggil*) memanggil layanan lain (*layanan yang dipanggil*). Layanan pemanggilan dapat dimanipulasi menggunakan izinnya untuk bertindak pada sumber daya pelanggan lain dengan cara yang seharusnya tidak dilakukannya kecuali bila memiliki izin untuk mengakses. Untuk mencegah hal ini, AWS menyediakan alat yang membantu Anda melindungi data untuk semua layanan dengan principal layanan yang telah diberi akses ke sumber daya di akun Anda. 

Sebaiknya gunakan kunci konteks kondisi [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount)global [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn)dan global dalam kebijakan sumber daya untuk membatasi izin yang diberikan Layanan Terkelola Amazon untuk Prometheus ke Amazon SNS ke sumber daya. Jika Anda menggunakan kedua kunci konteks kondisi global, `aws:SourceAccount` nilai dan akun dalam `aws:SourceArn` nilai harus menggunakan ID akun yang sama saat digunakan dalam pernyataan kebijakan yang sama.

Nilai `aws:SourceArn` harus ARN dari Amazon Managed Service untuk ruang kerja Prometheus.

Cara paling efektif untuk melindungi dari masalah "confused deputy" adalah dengan menggunakan kunci konteks kondisi global `aws:SourceArn` dengan ARN lengkap sumber daya. Jika Anda tidak mengetahui ARN lengkap sumber daya atau jika Anda menentukan beberapa sumber daya, gunakan kunci kondisi konteks `aws:SourceArn` global dengan wildcard (`*`) untuk bagian ARN yang tidak diketahui. Misalnya, `arn:aws:servicename::123456789012:*`. 

Kebijakan yang ditampilkan di [Memberikan izin Layanan Terkelola Amazon untuk Prometheus untuk mengirim pesan peringatan ke topik Amazon SNS Anda](#AMP-alertmanager-receiver-AMPpermission) menunjukkan cara Anda dapat menggunakan kunci konteks kondisi `aws:SourceAccount` global `aws:SourceArn` dan global di Layanan Terkelola Amazon untuk Prometheus untuk mencegah masalah deputi yang membingungkan.

# Konfigurasikan pengelola peringatan untuk mengirim pesan ke topik Amazon SNS Anda
<a name="AMP-alertmanager-receiver-config"></a>

Setelah memiliki topik Amazon SNS tipe **Standar** (baru atau yang sudah ada), Anda dapat menambahkannya ke konfigurasi manajer peringatan sebagai penerima peringatan. Manajer peringatan dapat meneruskan peringatan Anda ke penerima peringatan yang dikonfigurasi. Untuk menyelesaikan ini, Anda harus mengetahui Nama Sumber Daya Amazon (ARN) dari topik Amazon SNS Anda.

Untuk informasi selengkapnya tentang konfigurasi penerima Amazon SNS, lihat[https://prometheus.io/docs/alerting/latest/configuration/#sns_configs](https://prometheus.io/docs/alerting/latest/configuration/#sns_configs) <sns\$1configs>di dokumentasi konfigurasi Prometheus. 

**Properti yang tidak didukung**

Amazon Managed Service untuk Prometheus mendukung Amazon SNS sebagai penerima peringatan. Namun, karena kendala layanan, tidak semua properti penerima Amazon SNS didukung. Properti berikut tidak diizinkan dalam file konfigurasi manajer peringatan Prometheus Layanan Terkelola Amazon untuk Prometheus:
+ `api_url:`— Layanan Terkelola Amazon untuk Prometheus menetapkan untuk Anda, jadi properti `api_url` ini tidak diizinkan.
+ `Http_config`— Properti ini memungkinkan Anda untuk mengatur proxy eksternal. Amazon Managed Service untuk Prometheus saat ini tidak mendukung fitur ini.

Selain itu, pengaturan SiGv4 diperlukan untuk memiliki properti Region. Tanpa properti Wilayah, Amazon Managed Service untuk Prometheus tidak memiliki informasi yang cukup untuk membuat permintaan otorisasi. 

**Untuk mengonfigurasi pengelola peringatan dengan topik Amazon SNS Anda sebagai penerima**

1. Jika Anda menggunakan file konfigurasi manajer peringatan yang ada, buka di editor teks.

1. Jika ada penerima saat ini selain Amazon SNS di `receivers` blok, hapus. Anda dapat mengonfigurasi beberapa topik Amazon SNS menjadi penerima dengan menempatkannya di `sns_config` blok terpisah di dalam blok. `receivers`

1. Tambahkan blok YAMM berikut di dalam `receivers` bagian.

   ```
   - name: name_of_receiver
     sns_configs:
       - sigv4:
           region: Wilayah AWS
         topic_arn: ARN_of_SNS_topic
         subject: yoursubject
         attributes:
           key: yourkey
           value: yourvalue
   ```

Jika a tidak `subject` ditentukan, secara default, subjek akan dihasilkan dengan template default dengan nama label dan nilai, yang dapat menghasilkan nilai yang terlalu panjang untuk SNS. Untuk mengubah templat yang diterapkan pada subjek, lihat [Konfigurasikan pengelola peringatan untuk mengirim pesan ke Amazon SNS sebagai JSON](AMP-alertmanager-receiver-JSON.md) di panduan ini. 

Sekarang Anda harus mengunggah file konfigurasi manajer peringatan Anda ke Amazon Managed Service untuk Prometheus. Untuk informasi selengkapnya, lihat [Unggah file konfigurasi pengelola peringatan Anda ke Amazon Managed Service untuk Prometheus](AMP-alertmanager-upload.md).

# Konfigurasikan pengelola peringatan untuk mengirim pesan ke Amazon SNS sebagai JSON
<a name="AMP-alertmanager-receiver-JSON"></a>

Secara default, Amazon Managed Service for Prometheus alert manager mengeluarkan pesan dalam format daftar teks biasa. Ini bisa lebih sulit bagi layanan lain untuk diuraikan. Anda dapat mengonfigurasi manajer peringatan untuk mengirim peringatan dalam format JSON sebagai gantinya. JSON dapat mempermudah proses pesan di hilir dari Amazon SNS AWS Lambda di atau di titik akhir penerima webhook. Alih-alih menggunakan template default, Anda dapat menentukan template kustom untuk menampilkan konten pesan di JSON, sehingga lebih mudah untuk mengurai dalam fungsi hilir.

Untuk menampilkan pesan dari manajer peringatan ke Amazon SNS dalam format JSON, perbarui konfigurasi manajer peringatan Anda untuk memuat kode berikut di dalam bagian root Anda`template_files`:

```
default_template: |
   {{ define "sns.default.message" }}{{ "{" }}"receiver": "{{ .Receiver }}","status": "{{ .Status }}","alerts": [{{ range $alertIndex, $alerts := .Alerts }}{{ if $alertIndex }}, {{ end }}{{ "{" }}"status": "{{ $alerts.Status }}"{{ if gt (len $alerts.Labels.SortedPairs) 0 -}},"labels": {{ "{" }}{{ range $index, $label := $alerts.Labels.SortedPairs }}{{ if $index }}, {{ end }}"{{ $label.Name }}": "{{ $label.Value }}"{{ end }}{{ "}" }}{{- end }}{{ if gt (len $alerts.Annotations.SortedPairs ) 0 -}},"annotations": {{ "{" }}{{ range $index, $annotations := $alerts.Annotations.SortedPairs }}{{ if $index }}, {{ end }}"{{ $annotations.Name }}": "{{ $annotations.Value }}"{{ end }}{{ "}" }}{{- end }},"startsAt": "{{ $alerts.StartsAt }}","endsAt": "{{ $alerts.EndsAt }}","generatorURL": "{{ $alerts.GeneratorURL }}","fingerprint": "{{ $alerts.Fingerprint }}"{{ "}" }}{{ end }}]{{ if gt (len .GroupLabels) 0 -}},"groupLabels": {{ "{" }}{{ range $index, $groupLabels := .GroupLabels.SortedPairs }}{{ if $index }}, {{ end }}"{{ $groupLabels.Name }}": "{{ $groupLabels.Value }}"{{ end }}{{ "}" }}{{- end }}{{ if gt (len .CommonLabels) 0 -}},"commonLabels": {{ "{" }}{{ range $index, $commonLabels := .CommonLabels.SortedPairs }}{{ if $index }}, {{ end }}"{{ $commonLabels.Name }}": "{{ $commonLabels.Value }}"{{ end }}{{ "}" }}{{- end }}{{ if gt (len .CommonAnnotations) 0 -}},"commonAnnotations": {{ "{" }}{{ range $index, $commonAnnotations := .CommonAnnotations.SortedPairs }}{{ if $index }}, {{ end }}"{{ $commonAnnotations.Name }}": "{{ $commonAnnotations.Value }}"{{ end }}{{ "}" }}{{- end }}{{ "}" }}{{ end }}
   {{ define "sns.default.subject" }}[{{ .Status | toUpper }}{{ if eq .Status "firing" }}:{{ .Alerts.Firing | len }}{{ end }}]{{ end }}
```

**catatan**  
Template ini membuat JSON dari data alfanumerik. Jika data Anda memiliki karakter khusus, encode mereka sebelum menggunakan template ini.

Untuk memastikan bahwa template ini digunakan dalam notifikasi keluar, rujuk di `alertmanager_config` blok Anda sebagai berikut:

```
alertmanager_config: |
  global:
  templates:
    - 'default_template'
```

**catatan**  
Template ini untuk seluruh badan pesan sebagai JSON. Template ini menimpa seluruh isi pesan. Anda tidak dapat mengganti isi pesan jika Anda ingin menggunakan templat khusus ini. Setiap penggantian yang dilakukan secara manual akan diutamakan daripada template.

Untuk informasi lebih lanjut tentang:
+ File konfigurasi manajer peringatan, lihat[Buat konfigurasi pengelola peringatan di Amazon Managed Service untuk Prometheus untuk mengelola dan merutekan peringatan](AMP-alertmanager-config.md).
+ Mengunggah file konfigurasi Anda, lihat[Unggah file konfigurasi pengelola peringatan Anda ke Amazon Managed Service untuk Prometheus](AMP-alertmanager-upload.md).

# Konfigurasikan Amazon SNS untuk mengirim pesan peringatan ke tujuan lain
<a name="AMP-alertmanager-SNS-otherdestinations"></a>

Amazon Managed Service untuk Prometheus hanya dapat mengirim pesan peringatan ke Amazon Simple Notification Service (Amazon SNS). Untuk mengirim pesan tersebut ke tujuan lain, seperti email, webhook, Slack, atau OpsGenie, Anda harus mengonfigurasi Amazon SNS untuk meneruskan pesan ke titik akhir tersebut.

Bagian berikut yang menjelaskan konfigurasi Amazon SNS untuk meneruskan peringatan ke tujuan lain.

**Topics**
+ [Email](#AMP-alertmanager-SNS-otherdestinations-email)
+ [Webhook](#AMP-alertmanager-SNS-otherdestinations-webhook)
+ [Slack](#AMP-alertmanager-SNS-otherdestinations-Slack)
+ [OpsGenie](#AMP-alertmanager-SNS-otherdestinations-OpsGenie)

## Email
<a name="AMP-alertmanager-SNS-otherdestinations-email"></a>

Untuk mengonfigurasi topik Amazon SNS untuk menampilkan pesan ke email, buat langganan. Di konsol Amazon SNS, pilih tab **Langganan** untuk membuka halaman daftar **Langganan**. Pilih **Buat Langganan** dan pilih **Email**. Amazon SNS mengirimkan email konfirmasi ke alamat email yang terdaftar. Setelah Anda menerima konfirmasi, Anda dapat menerima notifikasi Amazon SNS sebagai email dari topik yang Anda langgani. Untuk informasi selengkapnya, lihat [Berlangganan topik Amazon SNS](https://docs.aws.amazon.com/sns/latest/dg/sns-create-subscribe-endpoint-to-topic.html).

## Webhook
<a name="AMP-alertmanager-SNS-otherdestinations-webhook"></a>

Untuk mengonfigurasi topik Amazon SNS untuk menampilkan pesan ke titik akhir webhook, buat langganan. Di konsol Amazon SNS, pilih tab **Langganan** untuk membuka halaman daftar **Langganan**. Pilih **Buat Langganan** dan pilih **HTTP/HTTPS**. Setelah Anda membuat langganan, Anda harus mengikuti langkah-langkah konfirmasi untuk mengaktifkannya. Saat aktif, titik akhir HTTP Anda akan menerima notifikasi Amazon SNS. Untuk informasi selengkapnya, lihat [Berlangganan topik Amazon SNS](https://docs.aws.amazon.com/sns/latest/dg/sns-create-subscribe-endpoint-to-topic.html). Untuk informasi selengkapnya tentang penggunaan webhook Slack untuk mempublikasikan pesan ke berbagai tujuan, lihat [Bagaimana cara menggunakan webhook untuk mempublikasikan pesan Amazon SNS ke Amazon Chime, Slack](https://aws.amazon.com/premiumsupport/knowledge-center/sns-lambda-webhooks-chime-slack-teams/), atau Microsoft Teams?

## Slack
<a name="AMP-alertmanager-SNS-otherdestinations-Slack"></a>

Untuk mengonfigurasi topik Amazon SNS untuk menampilkan pesan ke Slack, Anda memiliki dua opsi. Anda dapat mengintegrasikan dengan email-to-channel integrasi Slack, yang memungkinkan Slack menerima pesan email dan meneruskannya ke saluran Slack, atau Anda dapat menggunakan fungsi Lambda untuk menulis ulang notifikasi Amazon SNS ke Slack. Untuk informasi selengkapnya tentang meneruskan email ke saluran slack, lihat [Mengonfirmasi Langganan Topik AWS SNS untuk Slack](https://stackoverflow.com/questions/49341187/confirming-aws-sns-topic-subscription-for-slack-webhook) Webhook. Untuk informasi selengkapnya tentang membuat fungsi Lambda untuk mengonversi pesan Amazon SNS ke Slack, lihat [Cara mengintegrasikan Layanan Terkelola Amazon untuk Prometheus](https://aws.amazon.com/blogs/mt/how-to-integrate-amazon-managed-service-for-prometheus-with-slack/) dengan Slack.

## OpsGenie
<a name="AMP-alertmanager-SNS-otherdestinations-OpsGenie"></a>

Untuk selengkapnya tentang cara mengonfigurasi topik Amazon SNS untuk menampilkan pesan OpsGenie, lihat [Mengintegrasikan Oppgenie dengan Amazon SNS yang masuk](https://support.atlassian.com/opsgenie/docs/integrate-opsgenie-with-incoming-amazon-sns/).

# Memahami aturan validasi pesan Amazon SNS
<a name="AMP-alertmanager-receiver-validation-truncation"></a>

Amazon Simple Notification Service (Amazon SNS) memerlukan pesan untuk memenuhi standar tertentu. Pesan yang tidak memenuhi standar ini akan dimodifikasi saat diterima. Pesan peringatan akan divalidasi, dipotong, atau dimodifikasi, jika perlu, oleh penerima Amazon SNS berdasarkan aturan berikut:
+ Pesan berisi karakter non-utf.
  + Pesan akan diganti dengan **Kesalahan - bukan string yang dikodekan UTF-8 yang valid**.
  + **Satu atribut pesan akan ditambahkan dengan kunci **terpotong** dan nilai true.**
  + Satu atribut pesan akan ditambahkan dengan kunci **dimodifikasi** dan nilai **Pesan: Kesalahan - bukan string yang dikodekan UTF-8 yang valid**.
+ Pesan kosong.
  + Pesan akan diganti dengan **Kesalahan - Pesan tidak boleh kosong**.
  + Satu atribut pesan akan ditambahkan dengan kunci yang **dimodifikasi** dan nilai **Pesan: Kesalahan - Pesan tidak boleh kosong**.
+ Pesan telah terpotong.
  + Pesan akan memiliki konten terpotong.
  + **Satu atribut pesan akan ditambahkan dengan kunci **terpotong** dan nilai true.**
  + Satu atribut pesan akan ditambahkan dengan kunci “dimodifikasi” dan nilai **Pesan: Kesalahan - Pesan telah terpotong dari *X* KB, karena melebihi batas ukuran 256 KB**.
+ Subjek berisi karakter kontrol atau non-ASCII.
  + Jika subjek berisi karakter kontrol atau karakter non-ASCII, SNS menggantikan subjek dengan **Kesalahan - berisi karakter kontrol** - atau non-ASCII.
  + Untuk subjek email SNS, hapus karakter kontrol, seperti baris baru:. `\n`
+ Subjek bukan ASCII.
  + Subjek akan diganti dengan **Kesalahan - berisi karakter ASCII yang tidak dapat dicetak**.
  + Satu atribut pesan akan ditambahkan dengan kunci yang **dimodifikasi** dan nilai **Subject: Error - berisi karakter ASCII yang tidak dapat dicetak**.
+ Subjek telah terpotong.
  + Subjek akan memiliki konten terpotong.
  + Satu atribut pesan akan ditambahkan dengan kunci yang **dimodifikasi** dan nilai **Subject: Error - Subject telah dipotong dari *X* karakter, karena melebihi batas ukuran karakter 100**.
+ Atribut pesan memiliki kunci/nilai yang tidak valid.
  + Atribut pesan tidak valid akan dihapus.
  + Satu atribut pesan akan ditambahkan dengan kunci **dimodifikasi** dan nilai **MessageAttribute: Kesalahan - *X* atribut pesan telah dihapus karena tidak valid MessageAttributeKey ** atau. MessageAttributeValue
+ Atribut pesan telah terpotong.
  + Atribut pesan tambahan akan dihapus.
  + Satu atribut pesan akan ditambahkan dengan kunci **dimodifikasi** dan nilai **MessageAttribute: Kesalahan - *X* atribut pesan telah dihapus, karena melebihi batas ukuran 256KB**.

# Gunakan PagerDuty sebagai penerima peringatan
<a name="AMP-alertmanager-pagerduty"></a>

Anda dapat mengonfigurasi Amazon Managed Service untuk Prometheus untuk mengirim peringatan langsung ke. PagerDuty Integrasi ini mengharuskan Anda untuk menyimpan kunci PagerDuty integrasi Anda AWS Secrets Manager dan memberikan Layanan Terkelola Amazon untuk Prometheus izin untuk membaca rahasianya.

PagerDuty integrasi memungkinkan alur kerja respons insiden otomatis dan memastikan peringatan kritis menjangkau anggota tim yang tepat pada waktu yang tepat. Saat digunakan PagerDuty sebagai penerima peringatan, Anda dapat memanfaatkan kebijakan eskalasi, penjadwalan panggilan, dan fitur manajemen insiden untuk memastikan bahwa peringatan diakui dan diselesaikan dengan cepat. PagerDuty Integrasi ini sangat berharga untuk lingkungan produksi di mana respons cepat terhadap masalah sistem sangat penting untuk menjaga ketersediaan layanan dan memenuhi persyaratan SLA. Untuk informasi lebih lanjut, lihat [Pangkalan PagerDuty Pengetahuan](https://support.pagerduty.com/) di *PagerDuty situs web*.

## PagerDuty opsi konfigurasi
<a name="AMP-alertmanager-pagerduty-configuration-options"></a>




| Opsi | Deskripsi | Diperlukan | 
| --- | --- | --- | 
|  `routing_key`  |  Kunci PagerDuty routing untuk integrasi pada layanan. Anda harus menentukan ini sebagai Secrets Manager ARN  |  Ya  | 
|  `service_key`  |  Kunci PagerDuty layanan untuk integrasi pada layanan. Anda harus menentukan ini sebagai Secrets Manager ARN  |  Ya (untuk Acara API v1)  | 
|  `client`  |  Identifikasi klien dari notifier  |  Tidak  | 
|  `client_url`  |  Backlink ke pengirim notifikasi  |  Tidak  | 
|  `description`  |  Deskripsi insiden  |  Tidak  | 
|  `details`  |  Satu set key/value pasangan arbitrer yang memberikan detail lebih lanjut tentang insiden tersebut  |  Tidak  | 
|  `severity`  |  Tingkat keparahan insiden  |  Tidak  | 
|  `class`  |  Kelas, atau jenis, acara  |  Tidak  | 
|  `component`  |  Komponen mesin sumber yang bertanggung jawab atas acara tersebut  |  Tidak  | 
|  `group`  |  Pengelompokan komponen yang logis  |  Tidak  | 
|  `source`  |  Lokasi unik dari sistem yang terpengaruh  |  Tidak  | 

**catatan**  
`http_config`Opsi `url``service_key_file`,`routing_key_file`, dan tidak didukung.

Topik berikut menjelaskan cara mengonfigurasi PagerDuty sebagai penerima peringatan di Amazon Managed Service untuk Prometheus.

**Topics**
+ [PagerDuty opsi konfigurasi](#AMP-alertmanager-pagerduty-configuration-options)
+ [Konfigurasi AWS Secrets Manager dan izin](AMP-alertmanager-pagerduty-permissions.md)
+ [Konfigurasikan pengelola peringatan untuk mengirim peringatan PagerDuty](AMP-alertmanager-pagerduty-configure-alertmanager.md)

# Konfigurasi AWS Secrets Manager dan izin
<a name="AMP-alertmanager-pagerduty-permissions"></a>

Sebelum Anda dapat mengirim peringatan PagerDuty, Anda harus menyimpan kunci PagerDuty integrasi dengan aman dan mengonfigurasi izin yang diperlukan. Proses ini melibatkan pembuatan rahasia AWS Secrets Manager, mengenkripsinya dengan kunci yang dikelola pelanggan AWS Key Management Service (AWS KMS), dan memberikan Layanan Terkelola Amazon untuk Prometheus izin yang diperlukan untuk mengakses rahasia dan kunci enkripsi. Prosedur berikut memandu Anda melalui setiap langkah proses konfigurasi ini. 

**Untuk membuat rahasia di Secrets Manager PagerDuty**  
Untuk digunakan PagerDuty sebagai penerima peringatan, Anda harus menyimpan kunci PagerDuty integrasi Anda di Secrets Manager. Ikuti langkah-langkah ini:

1. Buka [konsol Secrets Manager](https://console.aws.amazon.com/secretsmanager/).

1. Pilih **Simpan rahasia baru**.

1. Untuk **Tipe rahasia**, pilih **Tipe rahasia lainnya**.

1. Untuk **pasangan kunci/nilai**, masukkan kunci PagerDuty integrasi Anda sebagai nilai rahasia. Ini adalah kunci perutean atau kunci layanan dari PagerDuty integrasi Anda.

1. Pilih **Berikutnya**.

1. Masukkan nama dan deskripsi untuk rahasia Anda, lalu pilih **Berikutnya**.

1. Konfigurasikan pengaturan rotasi jika diinginkan, lalu pilih **Berikutnya**.

1. Tinjau pengaturan Anda dan pilih **Store**.

1. Setelah membuat rahasia, perhatikan ARN-nya. Anda akan memerlukan ini saat mengonfigurasi manajer peringatan.

**Untuk mengenkripsi rahasia Anda dengan kunci yang dikelola pelanggan AWS KMS**

Anda harus memberikan izin Layanan Terkelola Amazon untuk Prometheus untuk mengakses rahasia Anda dan kunci enkripsi:

1. **Kebijakan sumber daya rahasia**: Buka rahasia Anda di [konsol Secrets Manager](https://console.aws.amazon.com/secretsmanager/).

   1. Pilih **Izin sumber daya**.

   1. Pilih **Edit izin**.

   1. Tambahkan pernyataan kebijakan berikut. Dalam pernyataan itu, ganti *highlighted values* dengan nilai spesifik Anda.

      ```
      {
        "Effect": "Allow",
        "Principal": {
          "Service": "aps.amazonaws.com"
        },
        "Action": "secretsmanager:GetSecretValue",
        "Resource": "*",
        "Condition": {
          "ArnEquals": {
            "aws:SourceArn": "arn:aws:aps:aws-region:123456789012:workspace/WORKSPACE_ID"
          },
          "StringEquals": {
            "aws:SourceAccount": "123456789012"
          }
        }
      }
      ```

   1. Pilih **Simpan**.

1. **Kebijakan kunci KMS**: Buka AWS KMS kunci Anda di [AWS KMS konsol](https://console.aws.amazon.com/kms).

   1. Pilih **Kebijakan utama**.

   1. Pilih **Edit**.

   1. Tambahkan pernyataan kebijakan berikut. Dalam pernyataan itu, ganti *highlighted values* dengan nilai spesifik Anda.

      ```
      {
        "Effect": "Allow",
        "Principal": {
          "Service": "aps.amazonaws.com"
        },
        "Action": "kms:Decrypt",
        "Resource": "*",
        "Condition": {
          "ArnEquals": {
            "aws:SourceArn": "arn:aws:aps:aws-region:123456789012:workspace/WORKSPACE_ID"
          },
          "StringEquals": {
            "aws:SourceAccount": "123456789012"
          }
        }
      }
      ```

   1. Pilih **Simpan**.

**Langkah selanjutnya** — Lanjutkan ke topik berikutnya[Konfigurasikan pengelola peringatan untuk mengirim peringatan PagerDuty](AMP-alertmanager-pagerduty-configure-alertmanager.md).

# Konfigurasikan pengelola peringatan untuk mengirim peringatan PagerDuty
<a name="AMP-alertmanager-pagerduty-configure-alertmanager"></a>

Untuk mengonfigurasi manajer peringatan untuk mengirim peringatan PagerDuty, Anda perlu memperbarui definisi manajer peringatan Anda. Anda dapat melakukan ini menggunakan Konsol Manajemen AWS, AWS CLI, atau AWS SDKs.

**Example konfigurasi manajer peringatan**  
Berikut ini, adalah contoh konfigurasi manajer peringatan yang mengirimkan peringatan ke PagerDuty. Dalam contoh, ganti *highlighted values* dengan nilai spesifik Anda.  

```
alertmanager_config: |
  route:
    receiver: 'pagerduty-receiver'
    group_by: ['alertname']
    group_wait: 30s
    group_interval: 5m
    repeat_interval: 1h
  receivers:
    - name: 'pagerduty-receiver'
      pagerduty_configs:
      - routing_key: 
          aws_secrets_manager:
            secret_arn: 'arn:aws:secretsmanager:aws-region:123456789012:secret:YOUR_SECRET_NAME'
            secret_key: 'YOUR_SECRET_KEY'
            refresh_interval: 5m
        description: '{{ .CommonLabels.alertname }}'
        severity: 'critical'
        details:
          firing: '{{ .Alerts.Firing | len }}'
          status: '{{ .Status }}'
          instance: '{{ .CommonLabels.instance }}'
```

**Example AWS CLI**  
Berikut, adalah AWS CLI perintah yang digunakan untuk memperbarui definisi manajer peringatan Anda. Dalam contoh, ganti *highlighted values* dengan nilai spesifik Anda.  

```
aws amp put-alert-manager-definition \
  --workspace-id WORKSPACE_ID \
  --data file://alertmanager-config.yaml
```

## Integrasi pemecahan masalah PagerDuty
<a name="AMP-alertmanager-pagerduty-troubleshooting"></a>

Jika peringatan tidak dikirim ke PagerDuty, periksa item berikut:
+ Verifikasi bahwa rahasia Anda ada dan berisi kunci PagerDuty integrasi yang benar.
+ Konfirmasikan bahwa rahasia Anda dienkripsi dengan kunci KMS yang dikelola pelanggan.
+ Pastikan bahwa kebijakan sumber daya untuk rahasia dan kunci KMS memberikan izin yang diperlukan ke Amazon Managed Service for Prometheus.
+ Periksa apakah ARN dalam konfigurasi manajer peringatan Anda mereferensikan rahasia Anda dengan benar.
+ Verifikasi bahwa kunci PagerDuty integrasi Anda valid dan aktif di PagerDuty akun Anda.

Layanan Terkelola Amazon untuk Prometheus mendukung Log CloudWatch Amazon, dan metrik berikut, CloudWatch untuk membantu mengatasi masalah. Untuk informasi selengkapnya, lihat [Pantau Layanan Terkelola Amazon untuk acara Prometheus dengan Log CloudWatch](CW-logs.md) dan [Menggunakan CloudWatch metrik untuk memantau Layanan Terkelola Amazon untuk sumber daya Prometheus](AMP-CW-usage-metrics.md).CloudWatch metrik
+ `SecretFetchFailure`
+ `AlertManagerNotificationsThrottledByIntegration`
+ `AlertManagerNotificationsFailedByIntegration`

# Unggah file konfigurasi pengelola peringatan Anda ke Amazon Managed Service untuk Prometheus
<a name="AMP-alertmanager-upload"></a>

Setelah Anda tahu apa yang Anda inginkan dalam file konfigurasi manajer Peringatan, Anda dapat membuat dan mengeditnya di dalam konsol, atau Anda dapat mengunggah file yang ada dengan Amazon Managed Service untuk konsol Prometheus atau. AWS CLI

**catatan**  
Jika Anda menjalankan kluster Amazon EKS, Anda juga dapat mengunggah file konfigurasi manajer Peringatan menggunakan [AWS Pengontrol untuk Kubernetes](integrating-ack.md).

**Untuk menggunakan Amazon Managed Service untuk konsol Prometheus untuk mengedit atau mengganti konfigurasi manajer peringatan**

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 **Manajer peringatan**.

1. Jika ruang kerja belum memiliki definisi manajer peringatan, pilih **Tambahkan definisi**.
**catatan**  
Jika ruang kerja memiliki definisi manajer peringatan yang ingin Anda ganti, pilih **Ubah** sebagai gantinya.

1. Pilih **Pilih file**, pilih file definisi manajer peringatan, dan pilih **Lanjutkan**.
**catatan**  
Sebagai alternatif, Anda dapat membuat file baru dan mengeditnya langsung di konsol, dengan memilih opsi **Buat definisi**. Ini akan membuat contoh konfigurasi default yang Anda edit sebelum mengunggah.

**Untuk menggunakan konfigurasi manajer peringatan AWS CLI untuk mengunggah ke ruang kerja untuk pertama kalinya**

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. Untuk mengunggah file, masukkan salah satu perintah berikut.

   Pada AWS CLI versi 2, masukkan:

   ```
   aws amp create-alert-manager-definition --data file://path_to_base_64_output_file --workspace-id my-workspace-id --region region
   ```

   Pada AWS CLI versi 1, masukkan:

   ```
   aws amp create-alert-manager-definition --data fileb://path_to_base_64_output_file --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-alert-manager-definition --workspace-id workspace_id --region region
   ```

   Jika `status` ya`ACTIVE`, definisi manajer peringatan baru Anda telah berlaku.

**Untuk menggunakan AWS CLI untuk mengganti konfigurasi manajer peringatan ruang kerja dengan yang 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. Untuk mengunggah file, masukkan salah satu perintah berikut.

   Pada AWS CLI versi 2, masukkan:

   ```
   aws amp put-alert-manager-definition --data file://path_to_base_64_output_file --workspace-id my-workspace-id --region region
   ```

   Pada AWS CLI versi 1, masukkan:

   ```
   aws amp put-alert-manager-definition --data file://path_to_base_64_output_file --workspace-id my-workspace-id --region region
   ```

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

   ```
   aws amp describe-alert-manager-definition --workspace-id workspace_id --region region
   ```

   Jika `status` ya`ACTIVE`, definisi manajer peringatan baru Anda telah berlaku. Hingga saat itu, konfigurasi manajer peringatan Anda sebelumnya masih aktif.

# Integrasikan peringatan dengan Grafana Terkelola Amazon atau Grafana open source
<a name="integrating-grafana"></a>

Aturan peringatan yang telah Anda buat di Alertmanager dalam Layanan Terkelola Amazon untuk Prometheus dapat diteruskan dan dilihat di Grafana dan [Grafana yang Dikelola](https://aws.amazon.com/grafana/) Amazon, menyatukan aturan peringatan dan peringatan Anda dalam satu [lingkungan](https://grafana.com). Dalam Grafana Terkelola Amazon, Anda dapat melihat aturan peringatan dan peringatan yang dihasilkan.

## Prasyarat
<a name="grafana-prereqs"></a>

Sebelum mulai mengintegrasikan Amazon Managed Service untuk Prometheus ke Amazon Managed Grafana, Anda harus telah menyelesaikan prasyarat berikut:
+ Anda harus memiliki kredensional yang ada Akun AWS dan IAM untuk membuat Layanan Terkelola Amazon untuk peran Prometheus dan IAM secara terprogram.

  Untuk informasi selengkapnya tentang membuat Akun AWS kredensil IAM dan IAM, lihat. [Mengatur AWS](AMP-setting-up.md)
+ Anda harus memiliki Layanan Terkelola Amazon untuk ruang kerja Prometheus, dan memasukkan data ke dalamnya. Untuk menyiapkan ruang kerja baru, lihat[Buat Layanan Terkelola Amazon untuk ruang kerja Prometheus](AMP-onboard-create-workspace.md). Anda juga harus terbiasa dengan konsep Prometheus seperti Alertmanager dan Ruler. Untuk informasi lebih lanjut tentang topik ini, lihat dokumentasi [Prometheus](https://prometheus.io/docs/introduction/overview/).
+ Anda memiliki konfigurasi Alertmanager dan file aturan yang sudah dikonfigurasi di Amazon Managed Service untuk Prometheus. Untuk informasi selengkapnya tentang Alertmanager di Amazon Managed Service for Prometheus, lihat. [Mengelola dan meneruskan peringatan di Amazon Managed Service untuk Prometheus dengan manajer peringatan](AMP-alert-manager.md) Untuk informasi selengkapnya tentang aturan, lihat[Menggunakan aturan untuk memodifikasi atau memantau metrik saat diterima](AMP-Ruler.md).
+ Anda harus menyiapkan Grafana Terkelola Amazon, atau Grafana versi open source yang berjalan.
  + Jika Anda menggunakan Grafana Terkelola Amazon, Anda harus menggunakan peringatan Grafana. Untuk informasi selengkapnya, lihat [Memigrasi lansiran dasbor lama ke peringatan Grafana](https://docs.aws.amazon.com/grafana/latest/userguide/alert-opt-in.html).
  + Jika Anda menggunakan Grafana versi open source, Anda harus menjalankan versi 9.1 atau lebih tinggi.
**catatan**  
Anda dapat menggunakan Grafana versi sebelumnya, tetapi Anda harus [mengaktifkan fitur peringatan terpadu (peringatan](https://grafana.com/docs/grafana/v8.4/alerting/unified-alerting/opt-in/) Grafana), dan Anda mungkin harus menyiapkan proxy [sigv4 untuk melakukan panggilan dari Grafana ke Layanan Terkelola Amazon](https://github.com/awslabs/aws-sigv4-proxy) untuk Prometheus. Untuk informasi selengkapnya, lihat [Siapkan open source Grafana atau Grafana Enterprise untuk digunakan dengan Amazon Managed Service for Prometheus](AMP-onboard-query-standalone-grafana.md).
+ Grafana yang Dikelola Amazon harus memiliki izin berikut untuk sumber daya Prometheus Anda. Anda harus menambahkannya ke kebijakan yang dikelola layanan atau yang dikelola pelanggan yang dijelaskan dalam. [https://docs.aws.amazon.com/grafana/latest/userguide/AMG-manage-permissions.html](https://docs.aws.amazon.com/grafana/latest/userguide/AMG-manage-permissions.html)
  + `aps:ListRules`
  + `aps:ListAlertManagerSilences`
  + `aps:ListAlertManagerAlerts`
  + `aps:GetAlertManagerStatus`
  + `aps:ListAlertManagerAlertGroups`
  + `aps:PutAlertManagerSilences`
  + `aps:DeleteAlertManagerSilence`

## Menyiapkan Grafana yang Dikelola Amazon
<a name="grafana-set-up-grafana"></a>

Jika Anda telah menyiapkan aturan dan peringatan di Instans Layanan Terkelola Amazon untuk Prometheus, konfigurasi untuk menggunakan Grafana Terkelola Amazon sebagai dasbor untuk peringatan tersebut dilakukan sepenuhnya dalam Grafana yang Dikelola Amazon. 

**Untuk mengonfigurasi Grafana Terkelola Amazon sebagai dasbor peringatan**

1. Buka konsol Grafana untuk ruang kerja Anda.

1. Di bawah **Konfigurasi**, pilih **Sumber data**.

1. Buat atau buka sumber data Prometheus Anda. Jika sebelumnya Anda belum menyiapkan sumber data Prometheus, lihat untuk informasi lebih lanjut. [Langkah 2: Tambahkan sumber data Prometheus di Grafana](AMP-onboard-query-standalone-grafana.md#AMP-onboard-query-standalone-grafana-datasource)

1. Di sumber data Prometheus, **pilih** Kelola peringatan melalui UI Alertmanager.

1. Kembali ke antarmuka **Sumber data**.

1. Buat sumber data Alertmanager baru.

1. Di halaman konfigurasi sumber data Alertmanager, tambahkan pengaturan berikut:
   + Setel **Implementasi** ke`Prometheus`.
   + Untuk pengaturan **URL**, gunakan URL untuk ruang kerja Prometheus Anda, hapus semuanya setelah ID ruang kerja, dan tambahkan ke akhir. `/alertmanager` Dalam contoh berikut, ganti *variables* dengan informasi Anda sendiri (spesifik akun):

     ```
     https://aps-workspaces.US East (N. Virginia).amazonaws.com/workspaces/ws-example-1234-5678-abcd-xyz00000001/alertmanager.
     ```
   + Di bawah **Auth**, nyalakan **Sigv4auth**. Ini memberitahu Grafana untuk menggunakan [AWS otentikasi untuk permintaan](https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html).
   + Di bawah **Detail Sigv4Auth**, untuk **Wilayah Default, berikan wilayah** instance Prometheus Anda, misalnya. `us-east-1`
   + Setel opsi **Default** ke`true`.

1. Pilih **Simpan dan uji**.

1. Layanan Terkelola Amazon Anda untuk peringatan Prometheus sekarang harus dikonfigurasi agar berfungsi dengan instans Grafana Anda. **Pastikan Anda dapat melihat **aturan Peringatan**, **grup Peringatan** (termasuk lansiran aktif), dan **Pembungkaman** dari Layanan Terkelola Amazon untuk instance Prometheus di halaman Peringatan Grafana.**

# Memecahkan masalah manajer peringatan dengan Log CloudWatch
<a name="Troubleshooting-alerting"></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 Alert Manager. 

**Topics**
+ [Peringatan peringatan aktif](#Troubleshooting-alerting-active-alerts)
+ [Peringatan ukuran grup agregasi peringatan](#Troubleshooting-alerting-aggregation-group-size)
+ [Ukuran peringatan peringatan terlalu besar](#Troubleshooting-alerting-size-too-big)
+ [Peringatan konten kosong](#Troubleshooting-alerting-empty)
+ [Peringatan tidak valid `key/value`](#Troubleshooting-alerting-invalid-keyvalue)
+ [Peringatan batas pesan](#Troubleshooting-alerting-msg-limit)
+ [Tidak ada kesalahan kebijakan berbasis sumber daya](#Troubleshooting-alerting-no-policy)
+ [Peringatan non ASCII](#Troubleshooting-alerting-non-ASCII)
+ [Tidak berwenang untuk menelepon KMS](#Troubleshooting-alerting-no-access-kms)
+ [Kesalahan template](#Troubleshooting-template-error)

## Peringatan peringatan aktif
<a name="Troubleshooting-alerting-active-alerts"></a>

**Ketika log berisi peringatan berikut**

```
{
    "workspaceId": "ws-efdc5b42-b051-11ec-b123-4567ac120002",
    "message": {
        "log": "too many alerts, limit: 1000",
        "level": "WARN"
    },
    "component": "alertmanager"
}
```

Ini berarti bahwa kuota peringatan **Aktif manajer Peringatan terlampaui**.

**Tindakan yang harus diambil**

Minta peningkatan kuota. Masuk ke Konsol Manajemen AWS dan buka konsol Service Quotas di. [https://console.aws.amazon.com/servicequotas/](https://console.aws.amazon.com/servicequotas/)

## Peringatan ukuran grup agregasi peringatan
<a name="Troubleshooting-alerting-aggregation-group-size"></a>

**Ketika log berisi peringatan berikut**

```
{
    "workspaceId": "ws-efdc5b42-b051-11ec-b123-4567ac120002",
    "message": {
        "log": "Too many aggregation groups, cannot create new group for alert, groups=1000, limit=1000, alert=sample-alert",
        "level": "WARN"
    },
    "component": "alertmanager"
}
```

Ini berarti bahwa kuota ukuran grup agregasi Alert manager Alert telah terlampaui.

**Tindakan yang harus diambil**

Kurangi ukuran grup agregasi Alert dengan menggunakan `group_by` parameter. *Untuk informasi selengkapnya, lihat [Pengaturan terkait rute di dokumentasi Prometheus](https://prometheus.io/docs/alerting/latest/configuration/).*

Anda juga dapat meminta peningkatan kuota. Masuk ke Konsol Manajemen AWS dan buka konsol Service Quotas di. [https://console.aws.amazon.com/servicequotas/](https://console.aws.amazon.com/servicequotas/)

## Ukuran peringatan peringatan terlalu besar
<a name="Troubleshooting-alerting-size-too-big"></a>

**Ketika log berisi peringatan berikut**

```
{
    "workspaceId": "ws-efdc5b42-b051-11ec-b123-4567ac120002",
    "message": {
        "log": "alerts too big, total size limit: 20000000 bytes",
        "level": "WARN"
    },
    "component": "alertmanager"
}
```

Ini berarti bahwa Alert manager Alerts per ruang kerja, dalam ukuran kuota telah terlampaui.

**Tindakan yang harus diambil**

Hapus anotasi dan label yang tidak perlu untuk mengurangi ukuran peringatan.

## Peringatan konten kosong
<a name="Troubleshooting-alerting-empty"></a>

**Ketika log berisi peringatan berikut**

```
{
   "workspaceId": "ws-abcd1234-ef56-78ab-cd90-1234abcd0000",
   "message": {
       "log": "Message has been modified because the content was empty."
       "level": "WARN"
   },
   "component": "alertmanager"
}
```

Ini berarti bahwa template manajer Alert menyelesaikan peringatan keluar ke pesan kosong. 

**Tindakan yang harus diambil**

Validasi template manajer Alert Anda dan pastikan bahwa Anda memiliki template yang valid untuk semua jalur penerima. 

## Peringatan tidak valid `key/value`
<a name="Troubleshooting-alerting-invalid-keyvalue"></a>

**Ketika log berisi peringatan berikut**

```
{
   "workspaceId": "ws-abcd1234-ef56-78ab-cd90-1234abcd0000",
   "message": {
       "log": "MessageAttributes has been removed because of invalid key/value, numberOfRemovedAttributes=1"
       "level": "WARN"
   },
   "component": "alertmanager"
}
```

Ini berarti bahwa beberapa atribut pesan telah dihapus keys/values karena tidak valid. 

**Tindakan yang harus diambil**

Evaluasi ulang template yang Anda gunakan untuk mengisi atribut pesan, dan pastikan itu menyelesaikan atribut pesan SNS yang valid. Untuk informasi selengkapnya tentang memvalidasi pesan ke topik Amazon SNS, [lihat](https://docs.aws.amazon.com/sns/latest/api/API_Publish.html#API_Publish_RequestParameters) Memvalidasi topik SNS

## Peringatan batas pesan
<a name="Troubleshooting-alerting-msg-limit"></a>

**Ketika log berisi peringatan berikut**

```
{
   "workspaceId": "ws-abcd1234-ef56-78ab-cd90-1234abcd0000",
   "message": {
       "log": "Message has been truncated because it exceeds size limit, originSize=266K, truncatedSize=12K"
       "level": "WARN"
   },
   "component": "alertmanager"
}
```

Ini berarti bahwa beberapa ukuran pesan terlalu besar. 

**Tindakan yang harus diambil**

Lihatlah template pesan penerima Peringatan dan kerjakan ulang agar sesuai dengan batas ukuran.

## Tidak ada kesalahan kebijakan berbasis sumber daya
<a name="Troubleshooting-alerting-no-policy"></a>

**Ketika log berisi kesalahan berikut**

```
{
   "workspaceId": "ws-abcd1234-ef56-78ab-cd90-1234abcd0000",
   "message": {
       "log": "Notify for alerts failed, AMP is not authorized to perform: SNS:Publish on resource: arn:aws:sns:us-west-2:12345:testSnsReceiver because no resource-based policy allows the SNS:Publish action"
       "level": "ERROR"
   },
   "component": "alertmanager"
}
```

Ini berarti bahwa Amazon Managed Service untuk Prometheus tidak memiliki izin untuk mengirimkan peringatan ke topik SNS yang ditentukan. 

**Tindakan yang harus diambil**

Validasi bahwa kebijakan akses pada topik Amazon SNS Anda memberi Layanan Terkelola Amazon untuk Prometheus kemampuan untuk mengirim pesan SNS ke topik tersebut. Buat Kebijakan Akses SNS yang memberikan layanan `aps.amazonaws.com` (Amazon Managed Service for Prometheus) akses ke topik Amazon SNS Anda. Untuk informasi selengkapnya tentang Kebijakan Akses SNS, lihat [Menggunakan Bahasa Kebijakan Akses](https://docs.aws.amazon.com/sns/latest/dg/sns-access-policy-language-using.html) dan [Contoh kasus untuk kontrol akses Amazon SNS](https://docs.aws.amazon.com/sns/latest/dg/sns-access-policy-use-cases.html) di Panduan Pengembang *Layanan Pemberitahuan Sederhana Amazon*.

## Peringatan non ASCII
<a name="Troubleshooting-alerting-non-ASCII"></a>

**Ketika log berisi peringatan berikut**

```
{
   "workspaceId": "ws-abcd1234-ef56-78ab-cd90-1234abcd0000",
   "message": {
       "log": "Subject has been modified because it contains control or non-ASCII characters."
       "level": "WARN"
   },
   "component": "alertmanager"
}
```

Ini berarti bahwa subjek memiliki karakter non-ASCII. 

**Tindakan yang harus diambil**

Hapus referensi di bidang subjek template Anda ke label yang mungkin berisi karakter non-ASCII.

## Tidak berwenang untuk menelepon KMS
<a name="Troubleshooting-alerting-no-access-kms"></a>

**Ketika log berisi AWS KMS kesalahan berikut**

```
{
   "workspaceId": "ws-abcd1234-ef56-78ab-cd90-1234abcd0000",
   "message": {
       "log": "Notify for alerts failed, AMP is not authorized to call KMS",
       "level": "ERROR"
   },
   "component": "alertmanager"
}
```

**Tindakan yang harus diambil**

Validasi bahwa kebijakan kunci kunci yang digunakan untuk mengenkripsi topik Amazon SNS memungkinkan layanan Amazon Managed Service for Prometheus service principal untuk melakukan tindakan berikut:, dan. `aps.amazonaws.com` `kms:GenerateDataKey*` `kms:Decrypt` Untuk informasi selengkapnya, lihat [Izin AWS KMS untuk Topik SNS](https://docs.aws.amazon.com/sns/latest/dg/sns-key-management.html#sns-what-permissions-for-sse).

## Kesalahan template
<a name="Troubleshooting-template-error"></a>

**Ketika log berisi kesalahan berikut**

```
               {
   "workspaceId": "ws-efdc5b42-b051-11ec-b123-4567ac120002",
   "message": {
       "log": "Notify for alerts failed. There is an error in a receiver that is using templates in the AlertManager definition. Make sure that the syntax is correct and only template functions and variables that exist are used in the receiver 'default', sns_configs position #2, section 'attributes'"
       "level": "ERROR"
   },
   "component": "alertmanager"
}
```

Ini berarti bahwa ada kesalahan dalam template yang digunakan dalam AlertManager definisi. Entri kesalahan berisi petunjuk tentang penerima apa, posisi di sns\$1configs dan properti yang berisi kesalahan.

**Tindakan yang harus diambil**

Validasi definisi Alert Manager Anda. Pastikan sintaksnya benar dan Anda mereferensikan variabel template dan fungsi yang ada. Untuk informasi selengkapnya, lihat [Referensi Template Pemberitahuan](https://prometheus.io/docs/alerting/latest/notifications/) di dokumentasi sumber *terbuka Prometheus*.