

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

# Metrik kueri dari sumber data lain
<a name="MultiDataSourceQuerying"></a>

Anda dapat menggunakan CloudWatch kueri, memvisualisasikan, dan membuat alarm untuk metrik dari sumber data lain. Untuk melakukannya, Anda terhubung CloudWatch ke sumber data lain. Ini memberi Anda satu pengalaman pemantauan terkonsolidasi dalam CloudWatch konsol. Anda dapat memiliki sebuah tampilan terpadu dari infrastruktur dan metrik aplikasi Anda di mana pun data disimpan, membantu Anda mengidentifikasi dan menyelesaikan masalah dengan lebih cepat. 

Setelah Anda terhubung ke sumber data menggunakan CloudWatch wizard, CloudWatch buat AWS CloudFormation tumpukan yang menyebarkan dan mengonfigurasi fungsi. AWS Lambda Fungsi Lambda ini berjalan sesuai permintaan setiap kali Anda menjalankan sumber data tersebut. Pembuat CloudWatch kueri menunjukkan kepada Anda secara real time daftar elemen yang dapat ditanyakan, seperti metrik, tabel, bidang, atau label. Saat Anda membuat pilihan, ppara embuat kueri akan mengisi kueri dalam bahasa asli dari sumber yang dipilih. 

CloudWatch menyediakan wizard terpandu bagi Anda untuk terhubung ke sumber data berikut. Untuk sumber data ini, berikan informasi dasar untuk mengidentifikasi sumber data dan kredensialnya. Anda juga dapat membuat konektor secara manual ke sumber data lain dengan membuat fungsi Lambda Anda sendiri.
+  OpenSearch Layanan Amazon- Dapatkan metrik dari log dan jejak OpenSearch Layanan Anda.
+ Layanan Terkelola Amazon untuk Prometheus– Jalankan kueri metrik ini menggunakan PromQL.
+ Amazon RDS for MySQL – Gunakan SQL untuk mengonversi data yang disimpan di tabel Amazon RDS Anda menjadi metrik.
+ Amazon RDS for PostgreSQL – Gunakan SQL untuk mengonversi data yang disimpan di tabel Amazon RDS Anda menjadi metrik.
+ Berkas CSV Amazon S3– Menampilkan data metrik dari sebuah berkas CSV yang disimpan di bucket Amazon S3.
+ Monitor Microsoft Azure– Menjalankan kueri metrik dari akun Monitor Microsoft Azure Anda.
+ Prometheus– Jalankan kueri metrik ini menggunakan PromQL.

Setelah Anda membuat konektor ke sumber data, silakan lihat [Membuat sebuah grafik metrik dari sumber data lain](graph_a_metric.md#create-metric-graph-multidatasource) untuk mendapat informasi tentang pembuatan grafik metrik dari sebuah sumber data. Untuk informasi tentang menyetel alarm pada metrik dari sebuah sumber data, silakan lihat [Membuat sebuah alarm berdasarkan pada sumber data yang terhubung](Create_MultiSource_Alarm.md).

**Topics**
+ [Mengelola akses ke sumber data](CloudWatch_MultiDataSources_Permissions.md)
+ [Hubungkan ke sumber data default dengan sebuah pemandu](CloudWatch_MultiDataSources-Connect.md)
+ [Buatlah sebuah konektor kustom ke sebuah sumber data](CloudWatch_MultiDataSources-Connect-Custom.md)
+ [Gunakan sumber data kustom Anda](CloudWatch_MultiDataSources-Custom-Use.md)
+ [Menghapus sebuah konektor ke sumber data](CloudWatch_MultiDataSources-Delete.md)

# Mengelola akses ke sumber data
<a name="CloudWatch_MultiDataSources_Permissions"></a>

 CloudWatch digunakan CloudFormation untuk membuat sumber daya yang diperlukan di akun Anda. Kami menyarankan Anda menggunakan `cloudformation:TemplateUrl` kondisi ini untuk mengontrol akses ke CloudFormation templat saat Anda memberikan `CreateStack` izin kepada pengguna IAM. 

**Awas**  
Setiap pengguna yang mendapatkan izin invokasi sumber data dari Anda dapat menjalankan kueri terhadap metrik dari sumber data tersebut meskipun pengguna tersebut tidak memiliki izin IAM langsung ke sumber data tersebut. Sebagai contoh, jika Anda memberikan izin `lambda:InvokeFunction` pada sebuah Layanan Terkelola Amazon untuk fungsi Lambda sumber data Prometheus kepada seorang pengguna, pengguna tersebut akan dapat menjalankan kueri terhadap metrik dari Layanan Terkelola Amazon yang sesuai untuk workspace Prometheus meskipun Anda tidak memberikan akses IAM langsung ke workspace tersebut kepada mereka.

Anda dapat menemukan template URLs untuk sumber data di halaman **Buat tumpukan** di Konsol CloudWatch Pengaturan. 

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowCloudFormationCreateStack",
            "Effect": "Allow",
            "Action": [
                "cloudformation:CreateStack"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "cloudformation:TemplateUrl": [
                        "https://s3.us-east-1.amazonaws.com/amzn-s3-demo-bucket/template.json"
                    ]
                }
            }
        }
    ]
}
```

------

Untuk informasi selengkapnya tentang mengontrol CloudFormation akses, lihat [Mengontrol akses dengan AWS Identity and Access Management](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-template.html)

# Hubungkan ke sumber data default dengan sebuah pemandu
<a name="CloudWatch_MultiDataSources-Connect"></a>

 Topik ini memberikan instruksi untuk menggunakan wizard untuk terhubung CloudWatch ke sumber data berikut. 
+  OpenSearch Layanan Amazon
+ Amazon Managed Service for Prometheus
+ Amazon RDS for MySQL
+ Amazon RDS for PostgreSQL
+ Berkas CSV Amazon S3
+ Monitor Microsoft Azure
+ Prometheus

 Subbagian dalam topik ini mencakup catatan tentang mengelola dan menanyakan dengan masing-masing sumber data ini. 

**Untuk membuat sebuah konektor ke sumber data**

1. Buka CloudWatch konsol di [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

1. Pada panel navigasi, silakan pilih **Pengaturan**.

1. Pilih tab **Sumber data metrik**.

1. Pilih **Buat sumber data**.

1. Pilih sumber yang Anda inginkan, lalu pilih **Berikutnya**.

1. Masukkan sebuah nama untuk sumber data.

1. Masukkan informasi lain yang diperlukan, tergantung pada sumber data yang Anda pilih. Ini dapat mencakup kredensial untuk mengakses sumber data tersebut dan sumber data yang mengidentifikasi informasi seperti nama workspace Prometheus, nama basis data, atau nama bucket Amazon S3. Untuk AWS layanan, wizard menemukan sumber daya dan mengisinya ke dalam pilihan dropdown.

   Untuk catatan lebih lanjut tentang sumber data yang Anda gunakan, silakan lihat bagian setelah prosedur ini.

1. Untuk CloudWatch terhubung ke sumber data dalam VPC, pilih **Gunakan VPC dan pilih VPC** yang akan digunakan. Kemudian pilih subnet dan grup keamanan.

1. Pilih **Saya mengakui yang CloudFormation akan membuat sumber daya IAM**. Sumber daya ini adalah peran eksekusi fungsi Lambda.

1. Pilih **Buat sumber data**.

   Sumber baru yang baru saja Anda tambahkan tidak muncul sampai CloudFormation tumpukan selesai membuatnya. Untuk memeriksa kemajuan, Anda dapat memilih **Lihat status CloudFormation tumpukan saya**. Atau Anda dapat memilih ikon muat ulang untuk memperbarui daftar ini.

   Ketika sumber data baru Anda muncul dalam daftar ini, sumber data siap digunakan. Anda dapat memilih **Kueri dari CloudWatch metrik** untuk memulai kueri dengannya. Untuk informasi selengkapnya, lihat [Membuat sebuah grafik metrik dari sumber data lain](graph_a_metric.md#create-metric-graph-multidatasource).

## Layanan Terkelola Amazon untuk Prometheus
<a name="MultiDataSources-Amazon_Managed_Prometheus"></a>

**Memperbarui konfigurasi sumber data**
+ Anda dapat memperbarui sumber data Anda secara manual dengan melakukan hal berikut:
  + Untuk memperbarui ID workspace Layanan Terkelola Amazon untuk Prometheus, perbarui variabel lingkungan `AMAZON_PROMETHEUS_WORKSPACE_ID` untuk sumber data konektor fungsi Lambda.
  + Untuk memperbarui konfigurasi VPC, silakan lihat [Mengonfigurasi akses VPC (konsol)](https://docs.aws.amazon.com/lambda/latest/dg/configuration-vpc.html#vpc-configuring) untuk informasi selengkapnya. 

**Menjalankan kueri sumber data**
+ Saat menjalankan kueri Layanan Terkelola Amazon untuk Prometheus, setelah Anda memilih sumber datanya di tab **kueri multi sumber** dan memilih sebuah konektor Layanan Terkelola Amazon untuk Prometheus, Anda dapat menggunakan **alat bantu Kueri** untuk menemukan metrik dan melabelinya dan menyediakan kueri PromQL yang sederhana. Anda juga dapat menggunakan editor kueri PromQL untuk membangun sebuah kueri PromQL.
+ Kueri multi-baris tidak didukung oleh konektor sumber CloudWatch data. Setiap umpan baris digantikan dengan sebuah ruang saat kueri dijalankan, atau saat Anda membuat sebuah alarm atau widget dasbor dengan kuerinya. Dalam beberapa kasus, ini mungkin membuat kueri Anda tidak valid. Sebagai contoh, jika kueri Anda berisikan sebuah komentar satu baris, itu akan menjadi tidak valid. Jika Anda mencoba membuat dasbor atau alarm dengan kueri multi-baris dari baris perintah atau Infrastruktur sebagai Kode, API akan menolak tindakan tersebut dengan kesalahan penguraian.

## OpenSearch Layanan Amazon
<a name="MultiDataSources-Amazon_OpenSearch"></a>

**Membuat sumber data**

Jika OpenSearch domain diaktifkan untuk FGAC, Anda harus memetakan peran eksekusi fungsi konektor Lambda ke pengguna di Layanan. OpenSearch Untuk informasi selengkapnya, lihat bagian **Memetakan pengguna ke peran** di [Mengelola izin](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/fgac.html#fgac-access-control) di dokumentasi OpenSearch Layanan.

Jika OpenSearch domain Anda hanya dapat diakses dalam Virtual Private Cloud (VPC), Anda perlu menyertakan variabel lingkungan baru secara manual dalam fungsi Lambda yang disebut. `AMAZON_OPENSEARCH_ENDPOINT` Nilai untuk variabel ini harus menjadi domain root dari OpenSearch titik akhir. Anda dapat memperoleh domain root ini dengan menghapus `https://` dan `<region>.es.amazonaws.com` dari titik akhir domain yang tercantum di konsol OpenSearch Layanan. Misalnya, jika titik akhir domain Anda`https://sample-domain.us-east-1.es.amazonaws.com`, domain root akan menjadi`sample-domain`.

**Memperbarui sumber data**
+ Anda dapat memperbarui sumber data Anda secara manual dengan melakukan hal berikut:
  + Untuk memperbarui domain OpenSearch Layanan, perbarui variabel `AMAZON_OPENSEARCH_DOMAIN_NAME` lingkungan untuk fungsi Lambda konektor sumber data.
  + Untuk memperbarui konfigurasi VPC, silakan lihat [Mengonfigurasi akses VPC (konsol)](https://docs.aws.amazon.com/lambda/latest/dg/configuration-vpc.html#vpc-configuring) untuk informasi selengkapnya. 

**Menjalankan kueri sumber data**
+ Saat menanyakan OpenSearch Layanan, setelah Anda memilih sumber data di tab **Kueri multi sumber**, lakukan hal berikut:
  + Pilih Indeks untuk kueri.
  + Pilih Nama metrik (Bidang numerik apa pun dalam dokumen) dan Stat.
  + Pilih sumbu Waktu (Bidang tanggal apa pun dalam dokumen).
  + Pilih Filter untuk diterapkan (Bidang String apa pun dalam dokumen).
  + Pilih **kueri Grafik**.

## Amazon RDS for PostgreSQL dan Amazon RDS for MySQL
<a name="MultiDataSources-Amazon_RDS_PostGre_SQL"></a>

**Membuat sumber data**
+ Jika sumber data Anda hanya dapat diakses dalam sebuah VPC, Anda harus memasukkan konfigurasi VPC untuk konektor, seperti yang dijelaskan dalam [Hubungkan ke sumber data default dengan sebuah pemandu](#CloudWatch_MultiDataSources-Connect). Jika sumber data dihubungkan ke VPC untuk kredensial, titik akhirnya harus terkonfigurasi di VPC. Untuk informasi selengkapnya, lihat [Menggunakan titik AWS Secrets Manager akhir VPC](https://docs.aws.amazon.com/secretsmanager/latest/userguide/vpc-endpoint-overview.html). 

  Selain itu, Anda harus membuat titik akhir VPC untuk layanan Amazon RDS. Untuk informasi selengkapnya, lihat [Amazon RDS API dan titik akhir AWS PrivateLink VPC antarmuka](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/vpc-interface-endpoints.html) ().

**Memperbarui sumber data**
+ Anda dapat memperbarui sumber data Anda secara manual dengan melakukan hal berikut:
  + Untuk memperbarui instans basis data, perbarui variabel lingkungan `RDS_INSTANCE` untuk sumber data konektor fungsi Lambda.
  + Untuk memperbarui nama pengguna dan kata sandi yang digunakan untuk terhubung ke Amazon RDS, gunakan AWS Secrets Manager. Anda dapat menemukan ARN dari yang rahasia yang digunakan untuk sumber data dalam variabel lingkungan `RDS_SECRET` pada sumber data fungsi Lambda. Untuk informasi selengkapnya tentang memperbarui rahasia di AWS Secrets Manager, silakan lihat [Memodifikasi rahasia AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/manage_update-secret.html).
  + Untuk memperbarui konfigurasi VPC, silakan lihat [Mengonfigurasi akses VPC (konsol)](https://docs.aws.amazon.com/lambda/latest/dg/configuration-vpc.html#vpc-configuring) untuk informasi selengkapnya. 

**Menjalankan kueri sumber data**
+ Saat menjalankan kueri Amazon RDS, setelah memilih sumber data di tab **Kueri multi sumber** dan memilih sebuah konektor Amazon RDS, Anda dapat menggunakan penjelajah basis data untuk melihat basis data, tabel, dan kolom yang tersedia. Anda juga dapat menggunakan editor SQL untuk membuat sebuah kueri SQL.

  Anda dapat menggunakan variabel berikut dalam kueri:
  + `$start.iso` – Waktu mulai dalam format tanggal ISO
  + `$end.iso` – Waktu berakhir dalam format tanggal ISO
  + `$period` – Periode yang dipilih dalam hitungan detik

  Misalnya, Anda dapat menjalankan kueri `SELECT value, timestamp FROM table WHERE timestamp BETWEEN $start.iso and $end.iso`
+ Kueri multi-baris tidak didukung oleh konektor sumber CloudWatch data. Setiap umpan baris digantikan dengan sebuah ruang saat kueri dijalankan, atau saat Anda membuat sebuah alarm atau widget dasbor dengan kuerinya. Dalam beberapa kasus, ini mungkin membuat kueri Anda tidak valid. Sebagai contoh, jika kueri Anda berisikan sebuah komentar satu baris, itu akan menjadi tidak valid. Jika Anda mencoba membuat dasbor atau alarm dengan kueri multi-baris dari baris perintah atau Infrastruktur sebagai Kode, API akan menolak tindakan tersebut dengan kesalahan penguraian.

**catatan**  
Jika tidak ada bidang tanggal yang ditemukan dalam hasil, nilai untuk setiap bidang numerik akan dijumlahkan ke nilai tunggal dan diplot di seluruh rentang waktu yang tersedia. Jika stempel waktu tidak sejajar dengan periode yang dipilih CloudWatch, data secara otomatis digabungkan menggunakan `SUM` dan disejajarkan dengan periode di. CloudWatch

## Berkas CSV Amazon S3
<a name="MultiDataSources-Amazon_S3_CSV"></a>

**Menjalankan kueri sumber data**
+ Saat menjalankan kueri berkas CSV Amazon S3, setelah Anda memilih sumber data di tab **Kueri multi sumber** dan memilih sebuah konektor Amazon S3, pilih bucket dan kunci Amazon S3.

  File CSV harus diformat dengan cara berikut:
  + Cap waktu harus kolom pertama.
  + Tabel harus memiliki baris header. Header digunakan untuk memberi nama metrik Anda. Judul kolom stempel waktu akan diabaikan, hanya judul kolom metrik yang digunakan.
  + Perangko waktu harus dalam format tanggal ISO.
  + Metrik harus berupa bidang numerik.

  ```
  Timestamp, Metric-1, Metric-2, ...
  ```

  Berikut ini adalah contohnya:    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/AmazonCloudWatch/latest/monitoring/CloudWatch_MultiDataSources-Connect.html)

**catatan**  
Jika tidak ada stempel waktu yang diberikan, nilai untuk setiap metrik akan dijumlahkan ke nilai-nilai tunggal dan diplot di seluruh rentang waktu yang disediakan. Jika stempel waktu tidak sejajar dengan periode yang dipilih CloudWatch, data secara otomatis digabungkan menggunakan `SUM` dan disejajarkan dengan periode di. CloudWatch

## Monitor Microsoft Azure
<a name="MultiDataSources-Azure_Monitor"></a>

**Membuat sumber data**
+ Anda harus memberikan ID penyewa, ID klien, dan rahasia klien Anda untuk terhubung ke Monitor Microsoft Azure. Kredensialnya akan disimpan di. AWS Secrets Manager Untuk informasi selengkapnya, silakan lihat [Membuat sebuah aplikasi Microsoft Entra dan pengguna utama layanan yang dapat mengakses sumber daya](https://learn.microsoft.com/en-us/entra/identity-platform/howto-create-service-principal-portal) dalam dokumentasi Microsoft. 

**Memperbarui sumber data**
+ Anda dapat memperbarui sumber data Anda secara manual dengan melakukan hal berikut:
  + Untuk memperbarui ID penyewa, ID klien, dan rahasia klien yang digunakan untuk terhubung ke Azure Monitor, Anda dapat menemukan ARN yang rahasianya digunakan untuk sumber data sebagai variabel lingkungan `AZURE_CLIENT_SECRET` pada sumber data fungsi Lambda. Untuk informasi selengkapnya tentang memperbarui rahasia AWS Secrets Manager, lihat [Memodifikasi AWS Secrets Manager rahasia](https://docs.aws.amazon.com/secretsmanager/latest/userguide/manage_update-secret.html).

**Menjalankan kueri sumber data**
+ Saat menjalankan kueri Azure Monitor, setelah Anda memilih sumber data di tab **Kueri multi sumber** dan memilih sebuah konektor Azure Monitor, tentukan langganan Azure, dan grup sumber daya serta sumber daya. Anda kemudian dapat memilih namespace metrik, metrik, dan agregasi, dan memfilter berdasarkan dimensi. 

## Prometheus
<a name="MultiDataSources-Prometheus"></a>

**Membuat sumber data**
+ Anda harus memberikan titik akhir Prometheus dan pengguna serta kata sandi yang diperlukan untuk menjalankan kueri Prometheus. Kredensialnya akan disimpan di. AWS Secrets Manager
+ Jika sumber data Anda hanya dapat diakses dalam sebuah VPC, Anda harus memasukkan konfigurasi VPC untuk konektor, seperti yang dijelaskan dalam [Hubungkan ke sumber data default dengan sebuah pemandu](#CloudWatch_MultiDataSources-Connect). Jika sumber data adalah untuk menghubungkan untuk kredensial, titik akhir harus dikonfigurasi dalam VPC. Untuk informasi selengkapnya, lihat [Menggunakan titik AWS Secrets Manager akhir VPC](https://docs.aws.amazon.com/secretsmanager/latest/userguide/vpc-endpoint-overview.html). 

**Memperbarui konfigurasi sumber data**
+ Anda dapat memperbarui sumber data Anda secara manual dengan melakukan hal berikut:
  + Untuk memperbarui titik akhir Prometheus, tentukan titik akhir yang baru sebagai variabel lingkungan `PROMETHEUS_API_ENDPOINT` pada sumber data fungsi Lambda.
  + Untuk memperbarui nama pengguna dan kata sandi yang digunakan untuk terhubung ke Prometheus, Anda dapat menemukan ARN dari rahasia yang digunakan untuk sumber data sebagai variabel lingkungan `PROMETHEUS_API_SECRET` pada sumber data fungsi Lambda. Untuk informasi selengkapnya tentang memperbarui rahasia AWS Secrets Manager, lihat [Memodifikasi AWS Secrets Manager rahasia](https://docs.aws.amazon.com/secretsmanager/latest/userguide/manage_update-secret.html).
  + Untuk memperbarui konfigurasi VPC, silakan lihat [Mengonfigurasi akses VPC (konsol)](https://docs.aws.amazon.com/lambda/latest/dg/configuration-vpc.html#vpc-configuring) untuk informasi selengkapnya. 

**Menjalankan kueri sumber data**

**penting**  
Jenis metrik Prometheus berbeda CloudWatch dari metrik dan banyak metrik yang tersedia melalui Prometheus bersifat kumulatif berdasarkan desain. Saat Anda menanyakan metrik Prometheus CloudWatch , tidak menerapkan transformasi tambahan apa pun ke data: jika Anda hanya menentukan nama atau label metrik, nilai yang ditampilkan akan bersifat kumulatif. Untuk informasi selengkapnya, silakan lihat [ Jenis-jenis metrik](https://prometheus.io/docs/concepts/metric_types/) dalam dokumentasi Prometheus.  
Untuk melihat data metrik Prometheus sebagai nilai diskrit, CloudWatch seperti metrik, Anda perlu mengedit kueri sebelum menjalankannya. Misalnya, Anda mungkin perlu menambahkan sebuah panggilan ke fungsi tarif di atas nama metrik Prometheus Anda. Untuk dokumentasi tentang fungsi rate dan fungsi Prometheus lainnya, silakan lihat [rate ()](https://prometheus.io/docs/prometheus/latest/querying/functions/#rate) dalam dokumentasi Prometheus.

Kueri multi-baris tidak didukung oleh konektor sumber CloudWatch data. Setiap umpan baris digantikan dengan sebuah ruang saat kueri dijalankan, atau saat Anda membuat sebuah alarm atau widget dasbor dengan kuerinya. Dalam beberapa kasus, ini mungkin membuat kueri Anda tidak valid. Sebagai contoh, jika kueri Anda berisikan sebuah komentar satu baris, itu akan menjadi tidak valid. Jika Anda mencoba membuat dasbor atau alarm dengan kueri multi-baris dari baris perintah atau Infrastruktur sebagai Kode, API akan menolak tindakan tersebut dengan kesalahan penguraian.

## Notifikasi Pembaruan yang Tersedia
<a name="CloudWatch_MultiDataSources-Future-Updates"></a>

Dari waktu ke waktu, Amazon mungkin akan memberi tahu Anda bahwa kami menyarankan Anda memperbarui konektor Anda dengan versi yang lebih baru yang tersedia dan akan memberikan instruksi tentang cara melakukannya.

# Buatlah sebuah konektor kustom ke sebuah sumber data
<a name="CloudWatch_MultiDataSources-Connect-Custom"></a>

 Topik ini menjelaskan cara menghubungkan sumber data kustom ke CloudWatch. Anda dapat menghubungkan sumber data kustom dengan dua CloudWatch cara: 
+  Menggunakan contoh template yang CloudWatch menyediakan. Anda dapat menggunakan salah satu JavaScript atau Python dengan template ini. Template ini mencakup contoh kode Lambda yang akan berguna bagi Anda saat Anda membuat fungsi Lambda Anda. Anda kemudian dapat memodifikasi fungsi Lambda dari template untuk terhubung ke sumber data kustom Anda. 
+  Membuat AWS Lambda fungsi dari awal yang mengimplementasikan konektor sumber data, kueri data, dan persiapan deret waktu untuk digunakan oleh CloudWatch. Fungsi ini harus melakukan pra-agregat atau menggabungkan titik data jika diperlukan, dan juga menyelaraskan periode dan stempel waktu agar kompatibel dengannya. CloudWatch 

**Contents**
+ [Gunakan sebuah templat](#CloudWatch_MultiDataSources-Connect-Custom-template)
+ [Buat sebuah sumber data kustom dari awal](#CloudWatch_MultiDataSources-Connect-Custom-Lambda)
  + [Langkah 1: Membuat fungsi](#MultiDataSources-Connect-Custom-Lambda-Function)
    + [GetMetricData acara](#MultiDataSources-GetMetricData)
    + [DescribeGetMetricData acara](#MultiDataSources-DescribeGetMetricData)
    + [Pertimbangan penting untuk alarm CloudWatch](#MultiDataSources-Connect-Custom-Lambda-Alarms)
    + [(Opsional) Gunakan AWS Secrets Manager untuk menyimpan kredensil](#MultiDataSources-Connect-Custom-Lambda-Secrets)
    + [(Opsional) Hubungkan ke sebuah sumber data dalam sebuah VPC](#MultiDataSources-Connect-Custom-Lambda-VPC)
  + [Langkah 2: Membuat Kebijakan Izin Lambda](#MultiDataSources-Connect-Custom-Lambda-Permissions)
  + [Langkah 3: Melampirkan sebuah tanda sumber daya ke fungsi Lambda](#MultiDataSources-Connect-Custom-Lambda-tags)

## Gunakan sebuah templat
<a name="CloudWatch_MultiDataSources-Connect-Custom-template"></a>

Menggunakan sebuah template untuk membuat sebuah contoh fungsi Lambda, dan membantu Anda membuat konektor kustom Anda dibangun lebih cepat. Fungsi sampel ini menyediakan kode sampel untuk banyak skenario umum yang terlibat dengan pembuatan konektor khusus. Anda dapat memeriksa kode Lambda setelah Anda membuat sebuah konektor dengan templat, lalu memodifikasinya untuk digunakan untuk terhubung ke sumber data Anda.

Selain itu, jika Anda menggunakan template, CloudWatch berhati-hatilah dalam membuat kebijakan izin Lambda dan melampirkan tag sumber daya ke fungsi Lambda.

**Gunakan template untuk membuat sebuah konektor ke sebuah sumber data kustom.**

1. Buka CloudWatch konsol di [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

1. Pada panel navigasi, silakan pilih **Pengaturan**.

1. Pilih tab **Sumber data metrik**.

1. Pilih **Buat sumber data**.

1. Pilih tombol radio untuk **Kustom - memulai template** dan kemudian pilih **Berikutnya**.

1. Masukkan sebuah nama untuk sumber data.

1. Pilih salah satu template yang terdaftar.

1. Pilih Node.js atau Python.

1. Pilih **Buat sumber data**.

   Sumber kustom baru yang baru saja Anda tambahkan tidak muncul sampai CloudFormation tumpukan selesai membuatnya. Untuk memeriksa kemajuan, Anda dapat memilih **Lihat status CloudFormation tumpukan saya**. Atau Anda dapat memilih ikon muat ulang untuk memperbarui daftar ini.

   Ketika sumber data baru Anda muncul dalam daftar ini, maka siap untuk diujicoba di konsol dan dimodifikasi. 

1. (Opsional) Untuk menjalankan kueri data pengujian dari sumber ini di konsol, ikuti instruksi di [Membuat sebuah grafik metrik dari sumber data lain](graph_a_metric.md#create-metric-graph-multidatasource).

1. Ubah fungsi Lambda untuk kebutuhan Anda. 

   1. Pada panel navigasi, silakan pilih **Pengaturan**.

   1. Pilih tab **Sumber data metrik**.

   1. Pilih **Lihat di konsol Lambda** untuk sumber yang ingin Anda ubah.

   Sekarang Anda dapat memodifikasi fungsi untuk mengakses sumber data Anda. Untuk informasi selengkapnya, lihat [Langkah 1: Membuat fungsi](#MultiDataSources-Connect-Custom-Lambda-Function).
**catatan**  
Dengan menggunakan templat, ketika Anda menulis fungsi Lambda Anda, Anda tidak perlu mengikuti instruksi di [Langkah 2: Membuat Kebijakan Izin Lambda](#MultiDataSources-Connect-Custom-Lambda-Permissions) atau [Langkah 3: Melampirkan sebuah tanda sumber daya ke fungsi Lambda](#MultiDataSources-Connect-Custom-Lambda-tags). Langkah-langkah ini dilakukan oleh CloudWatch karena Anda menggunakan template.

## Buat sebuah sumber data kustom dari awal
<a name="CloudWatch_MultiDataSources-Connect-Custom-Lambda"></a>

Ikuti langkah-langkah di bagian ini untuk membuat fungsi Lambda yang terhubung CloudWatch ke sumber data. 

### Langkah 1: Membuat fungsi
<a name="MultiDataSources-Connect-Custom-Lambda-Function"></a>

Konektor sumber data khusus harus mendukung `GetMetricData` peristiwa dari CloudWatch. Secara opsional, Anda juga dapat mengimplementasikan `DescribeGetMetricData` acara untuk memberikan dokumentasi kepada pengguna di CloudWatch konsol tentang cara menggunakan konektor. `DescribeGetMetricData`Respons juga dapat digunakan untuk mengatur default yang digunakan dalam pembuat kueri CloudWatch kustom.

CloudWatch menyediakan cuplikan kode sebagai contoh untuk membantu Anda memulai. Untuk informasi lebih lanjut, lihat repositori sampel di. [https://github.com/aws-samples/cloudwatch-data-source-samples](https://github.com/aws-samples/cloudwatch-data-source-samples)

**Kekurangan**
+ Respons dari Lambda harus lebih kecil dari 6 Mb. Jika respons melebihi 6 Mb, respons `GetMetricData` akan menandai fungsi Lambda sebagai `InternalError` dan tidak ada data yang dikembalikan.
+ Fungsi Lambda harus menyelesaikan pelaksanaan dalam waktu 10 detik untuk tujuan visualisasi dan dasbor, atau dalam 4,5 detik untuk penggunaan alarm. Jika respons melebihi itu, respons `GetMetricData` akan menandai fungsi Lambda sebagai `InternalError` dan tidak ada data yang dikembalikan.
+ Fungsi Lambda harus mengirimkan hasil akhirnya menggunakan stempel waktu dalam masa hitungan detik.
+ Jika fungsi Lambda tidak mengambil sampel ulang data dan sebaliknya mengembalikan data yang tidak sesuai dengan waktu mulai dan panjang periode yang diminta oleh CloudWatch pengguna, data tersebut akan diabaikan oleh. CloudWatch Data tambahan dibuang dari visualisasi atau pengaturan alarm apapun. Data apa pun yang tidak berada di antara waktu mulai dan waktu akhir juga dibuang.

  Sebagai contoh, jika seorang pengguna meminta data dari pukul 10:00 hingga 11:00 dengan jangka waktu 5 menit, maka "10:00:00 hingga 10:04:59" dan "10:05:00 hingga 10:09:59" adalah rentang waktu yang valid untuk data yang akan dikembalikan. Anda harus mengembalikan sebuah deret waktu yang mencakup `10:00 value1`, `10:05 value2`, dan sebagainya. Jika fungsi tersebut mengembalikan `10:03 valueX`, misalnya, maka fungsi akan jatuh karena 10:03 tidak sesuai dengan waktu mulai dan periode yang diminta.
+ Kueri multi-baris tidak didukung oleh konektor sumber CloudWatch data. Setiap umpan baris digantikan dengan sebuah ruang saat kueri dijalankan, atau saat Anda membuat sebuah alarm atau widget dasbor dengan kuerinya. Dalam beberapa kasus, ini mungkin membuat kueri Anda tidak valid.

#### GetMetricData acara
<a name="MultiDataSources-GetMetricData"></a>

**Meminta muatan**

Berikut ini adalah contoh muatan permintaan `GetMetricData` yang dikirimkan sebagai input ke fungsi Lambda.

```
{
  "EventType": "GetMetricData",
  "GetMetricDataRequest": {
    "StartTime": 1697060700,
    "EndTime": 1697061600,
    "Period": 300,
    "Arguments": ["serviceregistry_external_http_requests{host_cluster!=\"prod\"}"] 
  }
}
```
+ **StartTime**— Stempel waktu yang menentukan data paling awal untuk dikembalikan. **Jenis** adalah stempel waktu masa detik.
+ **EndTime**— Stempel waktu yang menentukan data terbaru yang akan dikembalikan. **Jenis** adalah stempel waktu masa detik.
+ **Periode** – Jumlah detik yang diwakili oleh setiap kumpulan data metrik. Minimal adalah 60 detik. **Jenis** masa adalah detik.
+ **Argumen** – Serangkaian argumen yang akan diteruskan ke ekspresi matematika metrik Lambda. Untuk informasi selengkapnya tentang argumen yang diteruskan, silakan lihat [Cara meneruskan argumen ke fungsi Lambda Anda](CloudWatch_MultiDataSources-Custom-Use.md#MultiDataSources-Connect-Custom-Lambda-arguments).

**Muatan respons**

Berikut ini adalah contoh muatan respons `GetMetricData` yang dikembalikan oleh fungsi Lambda.

```
{
   "MetricDataResults": [
      {
         "StatusCode": "Complete",
         "Label": "CPUUtilization",
         "Timestamps": [ 1697060700, 1697061000, 1697061300 ],
         "Values": [ 15000, 14000, 16000 ]
      }
   ]
}
```

Muatan respons ini akan berisi bidang `MetricDataResults` atau bidang `Error`, tetapi tidak keduanya.

Bidang `MetricDataResults` adalah daftar bidang-bidang deret waktu jenis `MetricDataResult`. Masing-masing bidang deret waktu tersebut dapat mencakup bidang-bidang berikut ini.
+ **StatusCode**— (Opsional) `Complete` menunjukkan bahwa semua titik data dalam rentang waktu yang diminta dikembalikan. `PartialData`berarti bahwa satu set titik data yang tidak lengkap dikembalikan. Jika ini dihilangkan, defaultnya adalah `Complete`.

  Nilai yang valid: `Complete` \$1 `InternalError` \$1 `PartialData` \$1 `Forbidden`
+ **Pesan** – Daftar pesan opsional dengan informasi tambahan tentang data yang dikembalikan.

  Jenis: Array [MessageData](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_MessageData.html)objek dengan `Code` dan `Value` string.
+ **Label** – Label yang dapat dibaca manusia yang terkait dengan data.

  Tipe: String
+ **Stempel waktu** – Stempel waktu untuk titik data, yang diformat dalam waktu masa. Jumlah stempel waktu selalu cocok dengan jumlah nilai dan nilai untuk `Timestamps[x]` adalah `Values[x`].

  Tipe: Array stempel waktu
+ **Nilai–Nilai** – Nilai titik data untuk metrik, yang sesuai dengan `Timestamps`. Jumlah nilai selalu cocok dengan jumlah stempel waktu dan nilai untuk `Timestamps[x]` adalah `Values[x`].

  Tipe: Array ganda

Untuk informasi selengkapnya tentang objek `Error`, silakan lihat bagian-bagian berikut.

**Format respons kesalahan**

Anda dapat secara opsional menggunakan respons kesalahan untuk memberikan informasi lebih lanjut tentang kesalahan. Kami menyarankan Anda mengembalikan kesalahan dengan Validasi Kode ketika kesalahan validasi terjadi, seperti ketika sebuah parameter hilang atau jenis parameter salah.

Berikut ini adalah contoh respon ketika fungsi Lambda ingin memunculkan pengecualian validasi `GetMetricData`.

```
{
   "Error": {
      "Code": "Validation",
      "Value": "Invalid Prometheus cluster"
   }
}
```

Berikut ini adalah contoh respons ketika fungsi Lambda mengindikasikn bahwa fungsi Lambda tidak dapat mengembalikan data karena masalah akses. Respons diterjemahkan ke dalam satu deret waktu dengan kode status `Forbidden`.

```
{
   "Error": {
      "Code": "Forbidden",
      "Value": "Unable to access ..."
   }
}
```

Berikut ini adalah sebuah contoh ketika fungsi Lambda memunculkan pengecualian `InternalError` keseluruhan, yang diterjemahkan ke dalam sebuah rangkaian waktu tunggal dengan kode status `InternalError` dan sebuah pesan. Setiap kali kode kesalahan memiliki nilai selain `Validation` atau`Forbidden`, CloudWatch mengasumsikan bahwa itu adalah kesalahan internal generik.

```
{
   "Error": {
      "Code": "PrometheusClusterUnreachable",
      "Value": "Unable to communicate with the cluster"
   }
}
```

#### DescribeGetMetricData acara
<a name="MultiDataSources-DescribeGetMetricData"></a>

**Meminta muatan**

Berikut ini adalah contoh muatan permintaan `DescribeGetMetricData`.

```
{
  "EventType": "DescribeGetMetricData"
}
```

**Muatan respons**

Berikut ini adalah contoh muatan respons `DescribeGetMetricData`.

```
{
    "Description": "Data source connector",
    "ArgumentDefaults": [{
        Value: "default value"
     }]
}
```
+ **Deskripsi** – Sebuah deskripsi tentang cara menggunakan konektor sumber data. Deskripsi ini akan muncul di CloudWatch konsol. Markdown didukung.

  Tipe: String
+ **ArgumentDefaults**— Array opsional nilai default argumen yang digunakan pra-mengisi pembuat sumber data kustom.

  Jika`[{ Value: "default value 1"}, { Value: 10}]`, dikembalikan, pembuat kueri di CloudWatch konsol menampilkan dua input, yang pertama dengan “nilai default 1" dan yang kedua dengan 10.

  Jika `ArgumentDefaults` tidak tersedia, satu input tunggal akan ditampilkan dengan jenis default yang disetel ke `String`.

  Tipe: Array objek yang mengandung Nilai dan Tipe. 
+ **Kesalahan** – (Opsional) Sebuah bidang kesalahan dapat dimasukkan dalam respons apa pun. Anda dapat melihat contoh di [GetMetricData acara](#MultiDataSources-GetMetricData).

#### Pertimbangan penting untuk alarm CloudWatch
<a name="MultiDataSources-Connect-Custom-Lambda-Alarms"></a>

 Jika Anda akan menggunakan sumber data untuk mengatur CloudWatch alarm, Anda harus mengaturnya untuk melaporkan data dengan stempel waktu setiap menit. CloudWatch Untuk informasi selengkapnya dan pertimbangan lain untuk membuat alarm pada metrik dari sumber data yang terhubung, silakan lihat [Membuat sebuah alarm berdasarkan pada sumber data yang terhubung](Create_MultiSource_Alarm.md).

#### (Opsional) Gunakan AWS Secrets Manager untuk menyimpan kredensil
<a name="MultiDataSources-Connect-Custom-Lambda-Secrets"></a>

Jika fungsi Lambda Anda perlu menggunakan kredensional untuk mengakses sumber data, sebaiknya gunakan untuk menyimpan kredensial-kredensi ini alih-alih AWS Secrets Manager mengkodekannya ke dalam fungsi Lambda Anda. Untuk informasi selengkapnya tentang penggunaan AWS Secrets Manager dengan Lambda, lihat [Menggunakan AWS Secrets Manager rahasia dalam AWS Lambda fungsi](https://docs.aws.amazon.com/secretsmanager/latest/userguide/retrieving-secrets_lambda.html). 

#### (Opsional) Hubungkan ke sebuah sumber data dalam sebuah VPC
<a name="MultiDataSources-Connect-Custom-Lambda-VPC"></a>

Jika sumber data Anda berada dalam sebuah VPC yang dikelola oleh Cloud Privat Virtual Amazon, Anda harus mengonfigurasi fungsi Lambda Anda untuk mengaksesnya. Untuk informasi selengkapnya, silakan lihat [Menghubungkan jaringan keluar ke sumber daya di VPC](https://docs.aws.amazon.com/lambda/latest/dg/configuration-vpc.html).

Anda mungkin juga perlu mengonfigurasi titik akhir layanan VPC untuk mengakses layanan seperti AWS Secrets Manager. Untuk informasi selengkapnya, lihat [Mengakses AWS layanan menggunakan titik akhir VPC antarmuka](https://docs.aws.amazon.com/vpc/latest/privatelink/create-interface-endpoint.html#access-service-though-endpoint).

### Langkah 2: Membuat Kebijakan Izin Lambda
<a name="MultiDataSources-Connect-Custom-Lambda-Permissions"></a>

Anda harus menggunakan buat pernyataan kebijakan yang memberikan CloudWatch izin untuk menggunakan fungsi Lambda yang Anda buat. Anda dapat menggunakan AWS CLI atau konsol Lambda untuk membuat pernyataan kebijakan.

**Untuk menggunakan AWS CLI untuk membuat pernyataan kebijakan**
+ Masukkan perintah berikut. Ganti *123456789012* dengan ID akun Anda, ganti *my-data-source-function* dengan nama fungsi Lambda Anda, dan ganti *MyDataSource-DataSourcePermission1234* dengan nilai unik arbitrer.

  ```
  aws lambda add-permission --function-name my-data-source-function --statement-id MyDataSource-DataSourcePermission1234 --action lambda:InvokeFunction --principal lambda.datasource.cloudwatch.amazonaws.com --source-account 123456789012
  ```

### Langkah 3: Melampirkan sebuah tanda sumber daya ke fungsi Lambda
<a name="MultiDataSources-Connect-Custom-Lambda-tags"></a>

 CloudWatch Konsol menentukan fungsi Lambda mana yang merupakan konektor sumber data dengan menggunakan tag. Saat Anda membuat sumber data menggunakan salah satu wizard, tag secara otomatis diterapkan oleh CloudFormation tumpukan yang mengonfigurasinya. Saat Anda membuat sumber data sendiri, maka Anda dapat menggunakan tanda berikut untuk fungsi Lambda Anda. Ini membuat konektor Anda muncul di dropdown **sumber data** di CloudWatch konsol saat Anda melakukan kueri metrik.
+ Tanda dengan `cloudwatch:datasource` sebagai kunci dan `custom` sebagai nilai.

# Gunakan sumber data kustom Anda
<a name="CloudWatch_MultiDataSources-Custom-Use"></a>

 Setelah Anda membuat sumber data, Anda dapat menggunakannya untuk kueri dan memvisualisasikan data dari sumber itu, serta untuk mengatur alarm. Jika Anda menggunakan templat untuk membuat konektor sumber data kustom atau menambahkan tag yang tercantum di dalamnya[Langkah 3: Melampirkan sebuah tanda sumber daya ke fungsi Lambda](CloudWatch_MultiDataSources-Connect-Custom.md#MultiDataSources-Connect-Custom-Lambda-tags), Anda dapat mengikuti langkah-langkah [Membuat sebuah grafik metrik dari sumber data lain](graph_a_metric.md#create-metric-graph-multidatasource) untuk menanyainya. Anda juga dapat menggunakan fungsi matematika metrik `LAMBDA` untuk menjalankan kueri, sebagaimana yang dijelaskan di bagian berikut. Untuk informasi tentang pengaturan alarm pada metrik dari sumber data Anda, silakan lihat [Membuat sebuah alarm berdasarkan pada sumber data yang terhubung](Create_MultiSource_Alarm.md). Topik ini menjelaskan cara meneruskan argumen ke fungsi Lambda Anda ke sumber data kustom Anda. 

## Cara meneruskan argumen ke fungsi Lambda Anda
<a name="MultiDataSources-Connect-Custom-Lambda-arguments"></a>

Cara yang disarankan bagi Anda untuk meneruskan argumen ke sumber data kustom Anda adalah dengan menggunakan pembuat kueri di CloudWatch konsol saat Anda menanyakan sumber data.

Anda juga dapat menggunakan fungsi Lambda untuk mengambil data dari sumber data Anda dengan menggunakan `LAMBDA` ekspresi baru dalam CloudWatch matematika metrik.

```
LAMBDA("LambdaFunctionName" [, optional-arg]*)
```

`optional-arg` hingga 20 string, angka, atau Booleans. Sebagai contoh, `param` `3.14` atau `true`.

**catatan**  
String multi-baris tidak didukung oleh konektor sumber CloudWatch data. Setiap umpan baris digantikan dengan sebuah ruang saat kueri dijalankan, atau saat Anda membuat sebuah alarm atau widget dasbor dengan kuerinya. Dalam beberapa kasus, ini mungkin membuat kueri Anda tidak valid.

Bila Anda menggunakan fungsi matematika metrik `LAMBDA`, Anda dapat memberikan nama fungsi (`"MyFunction"`). Jika kebijakan sumber daya Anda memungkinkan, Anda juga dapat menggunakan versi fungsi khusus (`"MyFunction:22"`), atau nama lain fungsi Lambda (`"MyFunction:MyAlias"`). Anda tidak dapat menggunakan `*`

Berikut ini adalah beberapa contoh calling fungsi `LAMBDA`.

```
LAMBDA("AmazonOpenSearchDataSource", "MyDomain", "some-query")
```

```
LAMBDA("MyCustomDataSource", true, "fuzzy", 99.9)
```

Fungsi matematika metrik `LAMBDA` akan mengembalikan sebuah daftar deret waktu yang dapat dikembalikan ke pemohon atau dikombinasikan dengan fungsi matematika metrik lainnya. Berikut ini adalah contoh penggabungan `LAMBDA` dengan fungsi matematika metrik lainnya.

```
FILL(LAMBDA("AmazonOpenSearchDataSource", "MyDomain", "some-query"), 0)
```

# Menghapus sebuah konektor ke sumber data
<a name="CloudWatch_MultiDataSources-Delete"></a>

 Petunjuk di bagian ini menjelaskan cara menghapus konektor ke sumber data. 

**Cara menghapus sebuah konektor ke sumber data**

1. Buka CloudWatch konsol di [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

1. Pada panel navigasi, silakan pilih **Pengaturan**.

1. Pilih tab **Sumber data metrik**.

1. Pilih **Kelola CloudFormation di** baris sumber data yang ingin Anda hapus.

   Anda dibawa ke CloudFormation konsol.

1. Di bagian dengan nama sumber data Anda, pilih **Hapus**.

1. Di pop-up konfirmasi, pilih **Hapus**.