

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

# CloudWatch Contoh Amazon menggunakan AWS SDK untuk C\$1\$1
<a name="examples-cloudwatch"></a>

Amazon CloudWatch (CloudWatch) adalah layanan pemantauan untuk sumber daya AWS cloud dan aplikasi yang Anda jalankan AWS. Anda dapat menggunakan contoh-contoh berikut untuk memprogram [CloudWatch](https://aws.amazon.com/cloudwatch)menggunakan AWS SDK untuk C\$1\$1.

Amazon CloudWatch memantau AWS sumber daya Anda dan aplikasi yang Anda jalankan AWS secara real time. Anda dapat menggunakan CloudWatch untuk mengumpulkan dan melacak metrik, yang merupakan variabel yang dapat Anda ukur untuk sumber daya dan aplikasi Anda. CloudWatchalarm mengirim pemberitahuan atau secara otomatis membuat perubahan pada sumber daya yang Anda pantau berdasarkan aturan yang Anda tetapkan.

Untuk informasi selengkapnya CloudWatch, lihat [Panduan CloudWatch Pengguna Amazon](https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/).

**catatan**  
Hanya kode yang diperlukan untuk menunjukkan teknik tertentu yang disediakan dalam Panduan ini, tetapi [kode contoh lengkap tersedia di GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/cpp). Pada GitHub Anda dapat mengunduh satu file sumber atau Anda dapat mengkloning repositori secara lokal untuk mendapatkan, membangun, dan menjalankan semua contoh.

**Topics**
+ [Mendapatkan Metrik dari CloudWatch](examples-cloudwatch-get-metrics.md)
+ [Menerbitkan Data Metrik Kustom](examples-cloudwatch-publish-custom-metrics.md)
+ [Bekerja dengan CloudWatch Alarm](examples-cloudwatch-create-alarms.md)
+ [Menggunakan Tindakan Alarm di CloudWatch](examples-cloudwatch-use-alarm-actions.md)
+ [Mengirim Acara ke CloudWatch](examples-cloudwatch-send-events.md)

# Mendapatkan Metrik dari CloudWatch
<a name="examples-cloudwatch-get-metrics"></a>

## Prasyarat
<a name="codeExamplePrereq"></a>

Sebelum Anda mulai, kami sarankan Anda membaca [Memulai menggunakan AWS SDK untuk C\$1\$1](getting-started.md). 

Unduh kode contoh dan buat solusinya seperti yang dijelaskan dalam[Memulai contoh kode](getting-started-code-examples.md). 

Untuk menjalankan contoh, profil pengguna yang digunakan kode Anda untuk membuat permintaan harus memiliki izin yang tepat AWS (untuk layanan dan tindakan). Untuk informasi selengkapnya, lihat [Menyediakan AWS kredensi](credentials.md).

## Metrik Daftar
<a name="listing-metrics"></a>

Untuk membuat daftar CloudWatch metrik, buat [ListMetricsRequest](https://docs.aws.amazon.com/sdk-for-cpp/latest/api/aws-cpp-sdk-monitoring/html/class_aws_1_1_cloud_watch_1_1_model_1_1_list_metrics_request.html)dan panggil `ListMetrics` fungsi. CloudWatchClient Anda dapat menggunakan `ListMetricsRequest` untuk memfilter metrik yang dikembalikan berdasarkan namespace, nama metrik, atau dimensi.

**catatan**  
Daftar metrik dan dimensi yang diposting oleh AWS layanan dapat ditemukan dalam [Referensi CloudWatch Metrik dan Dimensi](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CW_Support_For_AWS.html) Amazon di CloudWatch Panduan Pengguna Amazon.

 **Termasuk** 

```
#include <aws/core/Aws.h>
#include <aws/monitoring/CloudWatchClient.h>
#include <aws/monitoring/model/ListMetricsRequest.h>
#include <aws/monitoring/model/ListMetricsResult.h>
#include <iomanip>
#include <iostream>
```

 **Kode** 

```
        Aws::CloudWatch::CloudWatchClient cw;
        Aws::CloudWatch::Model::ListMetricsRequest request;

        if (argc > 1)
        {
            request.SetMetricName(argv[1]);
        }

        if (argc > 2)
        {
            request.SetNamespace(argv[2]);
        }

        bool done = false;
        bool header = false;
        while (!done)
        {
            auto outcome = cw.ListMetrics(request);
            if (!outcome.IsSuccess())
            {
                std::cout << "Failed to list CloudWatch metrics:" <<
                    outcome.GetError().GetMessage() << std::endl;
                break;
            }

            if (!header)
            {
                std::cout << std::left << std::setw(48) << "MetricName" <<
                    std::setw(32) << "Namespace" << "DimensionNameValuePairs" <<
                    std::endl;
                header = true;
            }

            const auto &metrics = outcome.GetResult().GetMetrics();
            for (const auto &metric : metrics)
            {
                std::cout << std::left << std::setw(48) <<
                    metric.GetMetricName() << std::setw(32) <<
                    metric.GetNamespace();
                const auto &dimensions = metric.GetDimensions();
                for (auto iter = dimensions.cbegin();
                    iter != dimensions.cend(); ++iter)
                {
                    const auto &dimkv = *iter;
                    std::cout << dimkv.GetName() << " = " << dimkv.GetValue();
                    if (iter + 1 != dimensions.cend())
                    {
                        std::cout << ", ";
                    }
                }
                std::cout << std::endl;
            }

            const auto &next_token = outcome.GetResult().GetNextToken();
            request.SetNextToken(next_token);
            done = next_token.empty();
        }
```

Metrik dikembalikan dalam a [ListMetricsResult](https://docs.aws.amazon.com/sdk-for-cpp/latest/api/aws-cpp-sdk-monitoring/html/class_aws_1_1_cloud_watch_1_1_model_1_1_list_metrics_result.html)dengan memanggil `GetMetrics` fungsinya. Hasilnya mungkin *paged.* Untuk mengambil batch hasil berikutnya, panggil `SetNextToken` objek permintaan asli dengan nilai kembali `GetNextToken` fungsi objek, dan meneruskan `ListMetricsResult` objek permintaan yang dimodifikasi kembali ke `ListMetrics` panggilan lain.

Lihat [contoh lengkapnya](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/cpp/example_code/cloudwatch/list_metrics.cpp).

## Informasi Selengkapnya
<a name="more-information"></a>
+  [ListMetrics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/ListMetrics.html)di Referensi CloudWatch API Amazon.

# Menerbitkan Data Metrik Kustom
<a name="examples-cloudwatch-publish-custom-metrics"></a>

Sejumlah AWS layanan mempublikasikan [metriknya sendiri](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/aws-namespaces.html) di ruang nama yang dimulai dengan `AWS/` Anda juga dapat mempublikasikan data metrik kustom menggunakan namespace Anda sendiri (asalkan tidak dimulai dengan). `AWS/`

## Prasyarat
<a name="codeExamplePrereq"></a>

Sebelum Anda mulai, kami sarankan Anda membaca [Memulai menggunakan AWS SDK untuk C\$1\$1](getting-started.md). 

Unduh kode contoh dan buat solusinya seperti yang dijelaskan dalam[Memulai contoh kode](getting-started-code-examples.md). 

Untuk menjalankan contoh, profil pengguna yang digunakan kode Anda untuk membuat permintaan harus memiliki izin yang tepat AWS (untuk layanan dan tindakan). Untuk informasi selengkapnya, lihat [Menyediakan AWS kredensi](credentials.md).

## Publikasikan Data Metrik Kustom
<a name="publish-custom-metric-data"></a>

Untuk mempublikasikan data metrik Anda sendiri, panggil `PutMetricData` fungsi dengan file [PutMetricDataRequest](https://docs.aws.amazon.com/sdk-for-cpp/latest/api/aws-cpp-sdk-monitoring/html/class_aws_1_1_cloud_watch_1_1_model_1_1_put_metric_data_request.html). CloudWatchClient `PutMetricDataRequest`Harus menyertakan namespace khusus yang akan digunakan untuk data, dan informasi tentang titik data itu sendiri dalam suatu [MetricDatum](https://docs.aws.amazon.com/sdk-for-cpp/latest/api/aws-cpp-sdk-monitoring/html/class_aws_1_1_cloud_watch_1_1_model_1_1_metric_datum.html)objek.

**catatan**  
Anda tidak dapat menentukan namespace yang dimulai dengan. `AWS/` Ruang nama yang dimulai `AWS/` dicadangkan untuk digunakan oleh produk Amazon Web Services.

 **Termasuk** 

```
#include <aws/core/Aws.h>
#include <aws/monitoring/CloudWatchClient.h>
#include <aws/monitoring/model/PutMetricDataRequest.h>
#include <iostream>
```

 **Kode** 

```
        Aws::CloudWatch::CloudWatchClient cw;

        Aws::CloudWatch::Model::Dimension dimension;
        dimension.SetName("UNIQUE_PAGES");
        dimension.SetValue("URLS");

        Aws::CloudWatch::Model::MetricDatum datum;
        datum.SetMetricName("PAGES_VISITED");
        datum.SetUnit(Aws::CloudWatch::Model::StandardUnit::None);
        datum.SetValue(data_point);
        datum.AddDimensions(dimension);

        Aws::CloudWatch::Model::PutMetricDataRequest request;
        request.SetNamespace("SITE/TRAFFIC");
        request.AddMetricData(datum);

        auto outcome = cw.PutMetricData(request);
        if (!outcome.IsSuccess())
        {
            std::cout << "Failed to put sample metric data:" <<
                outcome.GetError().GetMessage() << std::endl;
        }
        else
        {
            std::cout << "Successfully put sample metric data" << std::endl;
        }
```

Lihat [contoh lengkapnya](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/cpp/example_code/cloudwatch/put_metric_data.cpp).

## Informasi Selengkapnya
<a name="more-information"></a>
+  [Menggunakan CloudWatch Metrik Amazon](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/working_with_metrics.html) di Panduan CloudWatch Pengguna Amazon.
+  [AWS Ruang nama](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/aws-namespaces.html) di CloudWatch Panduan Pengguna Amazon.
+  [PutMetricData](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/PutMetricData.html)di Referensi CloudWatch API Amazon.

# Bekerja dengan CloudWatch Alarm
<a name="examples-cloudwatch-create-alarms"></a>

## Prasyarat
<a name="codeExamplePrereq"></a>

Sebelum Anda mulai, kami sarankan Anda membaca [Memulai menggunakan AWS SDK untuk C\$1\$1](getting-started.md). 

Unduh kode contoh dan buat solusinya seperti yang dijelaskan dalam[Memulai contoh kode](getting-started-code-examples.md). 

Untuk menjalankan contoh, profil pengguna yang digunakan kode Anda untuk membuat permintaan harus memiliki izin yang tepat AWS (untuk layanan dan tindakan). Untuk informasi selengkapnya, lihat [Menyediakan AWS kredensi](credentials.md).

## Buat Alarm
<a name="create-an-alarm"></a>

Untuk membuat alarm berdasarkan CloudWatch metrik, panggil `PutMetricAlarm` fungsi dengan [PutMetricAlarmRequest](https://docs.aws.amazon.com/sdk-for-cpp/latest/api/aws-cpp-sdk-monitoring/html/class_aws_1_1_cloud_watch_1_1_model_1_1_put_metric_alarm_request.html)diisi dengan kondisi alarm. CloudWatchClient

 **Termasuk** 

```
#include <aws/core/Aws.h>
#include <aws/monitoring/CloudWatchClient.h>
#include <aws/monitoring/model/PutMetricAlarmRequest.h>
#include <iostream>
```

 **Kode** 

```
        Aws::CloudWatch::CloudWatchClient cw;
        Aws::CloudWatch::Model::PutMetricAlarmRequest request;
        request.SetAlarmName(alarm_name);
        request.SetComparisonOperator(
            Aws::CloudWatch::Model::ComparisonOperator::GreaterThanThreshold);
        request.SetEvaluationPeriods(1);
        request.SetMetricName("CPUUtilization");
        request.SetNamespace("AWS/EC2");
        request.SetPeriod(60);
        request.SetStatistic(Aws::CloudWatch::Model::Statistic::Average);
        request.SetThreshold(70.0);
        request.SetActionsEnabled(false);
        request.SetAlarmDescription("Alarm when server CPU exceeds 70%");
        request.SetUnit(Aws::CloudWatch::Model::StandardUnit::Seconds);

        Aws::CloudWatch::Model::Dimension dimension;
        dimension.SetName("InstanceId");
        dimension.SetValue(instanceId);

        request.AddDimensions(dimension);

        auto outcome = cw.PutMetricAlarm(request);
        if (!outcome.IsSuccess())
        {
            std::cout << "Failed to create CloudWatch alarm:" <<
                outcome.GetError().GetMessage() << std::endl;
        }
        else
        {
            std::cout << "Successfully created CloudWatch alarm " << alarm_name
                << std::endl;
        }
```

Lihat [contoh lengkapnya](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/cpp/example_code/cloudwatch/put_metric_alarm.cpp).

## Daftar Alarm
<a name="list-alarms"></a>

Untuk membuat daftar CloudWatch alarm yang telah Anda buat, panggil `DescribeAlarms` fungsi dengan [DescribeAlarmsRequest](https://docs.aws.amazon.com/sdk-for-cpp/latest/api/aws-cpp-sdk-monitoring/html/class_aws_1_1_cloud_watch_1_1_model_1_1_describe_alarms_request.html)yang dapat Anda gunakan untuk mengatur opsi untuk hasilnya. CloudWatchClient

 **Termasuk** 

```
#include <aws/core/Aws.h>
#include <aws/monitoring/CloudWatchClient.h>
#include <aws/monitoring/model/DescribeAlarmsRequest.h>
#include <aws/monitoring/model/DescribeAlarmsResult.h>
#include <iomanip>
#include <iostream>
```

 **Kode** 

```
        Aws::CloudWatch::CloudWatchClient cw;
        Aws::CloudWatch::Model::DescribeAlarmsRequest request;
        request.SetMaxRecords(1);

        bool done = false;
        bool header = false;
        while (!done)
        {
            auto outcome = cw.DescribeAlarms(request);
            if (!outcome.IsSuccess())
            {
                std::cout << "Failed to describe CloudWatch alarms:" <<
                    outcome.GetError().GetMessage() << std::endl;
                break;
            }

            if (!header)
            {
                std::cout << std::left <<
                    std::setw(32) << "Name" <<
                    std::setw(64) << "Arn" <<
                    std::setw(64) << "Description" <<
                    std::setw(20) << "LastUpdated" <<
                    std::endl;
                header = true;
            }

            const auto &alarms = outcome.GetResult().GetMetricAlarms();
            for (const auto &alarm : alarms)
            {
                std::cout << std::left <<
                    std::setw(32) << alarm.GetAlarmName() <<
                    std::setw(64) << alarm.GetAlarmArn() <<
                    std::setw(64) << alarm.GetAlarmDescription() <<
                    std::setw(20) <<
                    alarm.GetAlarmConfigurationUpdatedTimestamp().ToGmtString(
                        SIMPLE_DATE_FORMAT_STR) <<
                    std::endl;
            }

            const auto &next_token = outcome.GetResult().GetNextToken();
            request.SetNextToken(next_token);
            done = next_token.empty();
        }
```

Daftar alarm dapat diperoleh dengan memanggil `getMetricAlarms` [DescribeAlarmsResult](https://docs.aws.amazon.com/sdk-for-cpp/latest/api/aws-cpp-sdk-monitoring/html/class_aws_1_1_cloud_watch_1_1_model_1_1_describe_alarms_result.html)yang dikembalikan oleh`DescribeAlarms`.

Hasilnya mungkin *paged.* Untuk mengambil batch hasil berikutnya, panggil `SetNextToken` objek permintaan asli dengan nilai kembali `GetNextToken` fungsi objek, dan meneruskan `DescribeAlarmsResult` objek permintaan yang dimodifikasi kembali ke `DescribeAlarms` panggilan lain.

**catatan**  
Anda juga dapat mengambil alarm untuk metrik tertentu dengan menggunakan fungsi CloudWatchClient's. `DescribeAlarmsForMetric` Penggunaannya mirip dengan`DescribeAlarms`.

Lihat [contoh lengkapnya](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/cpp/example_code/cloudwatch/describe_alarms.cpp).

## Hapus Alarm
<a name="delete-alarms"></a>

Untuk menghapus CloudWatch alarm, panggil `DeleteAlarms` fungsi dengan [DeleteAlarmsRequest](https://docs.aws.amazon.com/sdk-for-cpp/latest/api/aws-cpp-sdk-monitoring/html/class_aws_1_1_cloud_watch_1_1_model_1_1_delete_alarms_request.html)berisi satu atau beberapa nama alarm yang ingin Anda hapus. CloudWatchClient

 **Termasuk** 

```
#include <aws/core/Aws.h>
#include <aws/monitoring/CloudWatchClient.h>
#include <aws/monitoring/model/DeleteAlarmsRequest.h>
#include <iostream>
```

 **Kode** 

```
        Aws::CloudWatch::CloudWatchClient cw;
        Aws::CloudWatch::Model::DeleteAlarmsRequest request;
        request.AddAlarmNames(alarm_name);

        auto outcome = cw.DeleteAlarms(request);
        if (!outcome.IsSuccess())
        {
            std::cout << "Failed to delete CloudWatch alarm:" <<
                outcome.GetError().GetMessage() << std::endl;
        }
        else
        {
            std::cout << "Successfully deleted CloudWatch alarm " << alarm_name
                << std::endl;
        }
```

Lihat [contoh lengkapnya](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/cpp/example_code/cloudwatch/delete_alarm.cpp).

## Informasi Selengkapnya
<a name="more-information"></a>
+  [Membuat CloudWatch Alarm Amazon](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html) di CloudWatch Panduan Pengguna Amazon
+  [PutMetricAlarm](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/PutMetricAlarm.html)di Referensi CloudWatch API Amazon
+  [DescribeAlarms](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/DescribeAlarms.html)di Referensi CloudWatch API Amazon
+  [DeleteAlarms](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/DeleteAlarms.html)di Referensi CloudWatch API Amazon

# Menggunakan Tindakan Alarm di CloudWatch
<a name="examples-cloudwatch-use-alarm-actions"></a>

Dengan menggunakan tindakan CloudWatch alarm, Anda dapat membuat alarm yang melakukan tindakan seperti menghentikan, menghentikan, me-reboot, atau memulihkan instans Amazon EC2 secara otomatis.

Tindakan alarm dapat ditambahkan ke alarm dengan menggunakan `SetAlarmActions` fungsi saat [membuat alarm](examples-cloudwatch-create-alarms.md). [PutMetricAlarmRequest](https://docs.aws.amazon.com/sdk-for-cpp/latest/api/aws-cpp-sdk-monitoring/html/class_aws_1_1_cloud_watch_1_1_model_1_1_put_metric_alarm_request.html)

## Prasyarat
<a name="codeExamplePrereq"></a>

Sebelum Anda mulai, kami sarankan Anda membaca [Memulai menggunakan AWS SDK untuk C\$1\$1](getting-started.md). 

Unduh kode contoh dan buat solusinya seperti yang dijelaskan dalam[Memulai contoh kode](getting-started-code-examples.md). 

Untuk menjalankan contoh, profil pengguna yang digunakan kode Anda untuk membuat permintaan harus memiliki izin yang tepat AWS (untuk layanan dan tindakan). Untuk informasi selengkapnya, lihat [Menyediakan AWS kredensi](credentials.md).

## Aktifkan Tindakan Alarm
<a name="enable-alarm-actions"></a>

Untuk mengaktifkan tindakan alarm untuk CloudWatch alarm, panggil CloudWatchClient's `EnableAlarmActions` dengan [EnableAlarmActionsRequest](https://docs.aws.amazon.com/sdk-for-cpp/latest/api/aws-cpp-sdk-monitoring/html/class_aws_1_1_cloud_watch_1_1_model_1_1_enable_alarm_actions_request.html)berisi satu atau beberapa nama alarm yang tindakannya ingin Anda aktifkan.

 **Termasuk** 

```
#include <aws/core/Aws.h>
#include <aws/monitoring/CloudWatchClient.h>
#include <aws/monitoring/model/EnableAlarmActionsRequest.h>
#include <aws/monitoring/model/PutMetricAlarmRequest.h>
#include <iostream>
```

 **Kode** 

```
    Aws::CloudWatch::CloudWatchClient cw;
    Aws::CloudWatch::Model::PutMetricAlarmRequest request;
    request.SetAlarmName(alarm_name);
    request.SetComparisonOperator(
        Aws::CloudWatch::Model::ComparisonOperator::GreaterThanThreshold);
    request.SetEvaluationPeriods(1);
    request.SetMetricName("CPUUtilization");
    request.SetNamespace("AWS/EC2");
    request.SetPeriod(60);
    request.SetStatistic(Aws::CloudWatch::Model::Statistic::Average);
    request.SetThreshold(70.0);
    request.SetActionsEnabled(false);
    request.SetAlarmDescription("Alarm when server CPU exceeds 70%");
    request.SetUnit(Aws::CloudWatch::Model::StandardUnit::Seconds);
    request.AddAlarmActions(actionArn);

    Aws::CloudWatch::Model::Dimension dimension;
    dimension.SetName("InstanceId");
    dimension.SetValue(instanceId);
    request.AddDimensions(dimension);

    auto outcome = cw.PutMetricAlarm(request);
    if (!outcome.IsSuccess())
    {
        std::cout << "Failed to create CloudWatch alarm:" <<
            outcome.GetError().GetMessage() << std::endl;
        return;
    }

    Aws::CloudWatch::Model::EnableAlarmActionsRequest enable_request;
    enable_request.AddAlarmNames(alarm_name);

    auto enable_outcome = cw.EnableAlarmActions(enable_request);
    if (!enable_outcome.IsSuccess())
    {
        std::cout << "Failed to enable alarm actions:" <<
            enable_outcome.GetError().GetMessage() << std::endl;
        return;
    }

    std::cout << "Successfully created alarm " << alarm_name <<
        " and enabled actions on it." << std::endl;
```

Lihat [contoh lengkapnya](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/cpp/example_code/cloudwatch/enable_alarm_actions.cpp).

## Nonaktifkan Tindakan Alarm
<a name="disable-alarm-actions"></a>

Untuk menonaktifkan tindakan alarm untuk CloudWatch alarm, hubungi CloudWatchClient's `DisableAlarmActions` dengan [DisableAlarmActionsRequest](https://docs.aws.amazon.com/sdk-for-cpp/latest/api/aws-cpp-sdk-monitoring/html/class_aws_1_1_cloud_watch_1_1_model_1_1_disable_alarm_actions_request.html)berisi satu atau beberapa nama alarm yang tindakannya ingin Anda nonaktifkan.

 **Termasuk** 

```
#include <aws/core/Aws.h>
#include <aws/monitoring/CloudWatchClient.h>
#include <aws/monitoring/model/DisableAlarmActionsRequest.h>
#include <iostream>
```

 **Kode** 

```
        Aws::CloudWatch::CloudWatchClient cw;

        Aws::CloudWatch::Model::DisableAlarmActionsRequest disableAlarmActionsRequest;
        disableAlarmActionsRequest.AddAlarmNames(alarm_name);

        auto disableAlarmActionsOutcome = cw.DisableAlarmActions(disableAlarmActionsRequest);
        if (!disableAlarmActionsOutcome.IsSuccess())
        {
            std::cout << "Failed to disable actions for alarm " << alarm_name <<
                ": " << disableAlarmActionsOutcome.GetError().GetMessage() <<
                std::endl;
        }
        else
        {
            std::cout << "Successfully disabled actions for alarm " <<
                alarm_name << std::endl;
        }
```

Lihat [contoh lengkapnya](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/cpp/example_code/cloudwatch/disable_alarm_actions.cpp).

## Informasi Selengkapnya
<a name="more-information"></a>
+  [Membuat Alarm untuk Menghentikan, Menghentikan, Memulai Ulang, atau Memulihkan Instance](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/UsingAlarmActions.html) di Panduan Pengguna Amazon CloudWatch 
+  [PutMetricAlarm](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/PutMetricAlarm.html)di Referensi CloudWatch API Amazon
+  [EnableAlarmActions](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/EnableAlarmActions.html)di Referensi CloudWatch API Amazon
+  [DisableAlarmActions](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/DisableAlarmActions.html)di Referensi CloudWatch API Amazon

# Mengirim Acara ke CloudWatch
<a name="examples-cloudwatch-send-events"></a>

CloudWatch Acara menghadirkan aliran peristiwa sistem yang mendekati real-time yang menjelaskan perubahan AWS sumber daya ke instans Amazon EC2, fungsi Lambda, aliran Kinesis, tugas Amazon ECS, mesin status Step Functions, topik Amazon SNS, antrian Amazon SQS, atau target bawaan. Anda dapat mencocokkan acara dan meruteknya ke satu atau beberapa fungsi atau aliran target dengan menggunakan aturan sederhana.

**catatan**  
[Cuplikan kode ini mengasumsikan bahwa Anda memahami materi dalam [Memulai Menggunakan AWS SDK untuk C\$1\$1](getting-started.md) dan telah mengonfigurasi AWS kredensi default menggunakan informasi dalam Menyediakan Kredensil. AWS](credentials.md)

## Tambahkan Acara
<a name="add-events"></a>

Untuk menambahkan CloudWatch peristiwa khusus, panggil `PutEvents` fungsi dengan [PutEventsRequest](https://docs.aws.amazon.com/sdk-for-cpp/latest/api/aws-cpp-sdk-eventbridge/html/class_aws_1_1_event_bridge_1_1_model_1_1_put_events_request.html)objek yang berisi satu atau beberapa [PutEventsRequestEntry](https://docs.aws.amazon.com/sdk-for-cpp/latest/api/aws-cpp-sdk-eventbridge/html/class_aws_1_1_event_bridge_1_1_model_1_1_put_events_request_entry.html)objek yang memberikan detail tentang setiap peristiwa. CloudWatchEventsClient Anda dapat menentukan beberapa parameter untuk entri seperti sumber dan jenis acara, sumber daya yang terkait dengan acara, dan sebagainya.

**catatan**  
Anda dapat menentukan maksimum 10 acara per panggilan ke`putEvents`.

 **Termasuk** 

```
#include <aws/core/Aws.h>
#include <aws/events/EventBridgeClient.h>
#include <aws/events/model/PutEventsRequest.h>
#include <aws/events/model/PutEventsResult.h>
#include <aws/core/utils/Outcome.h>
#include <iostream>
```

 **Kode** 

```
        Aws::CloudWatchEvents::EventBridgeClient cwe;

        Aws::CloudWatchEvents::Model::PutEventsRequestEntry event_entry;
        event_entry.SetDetail(MakeDetails(event_key, event_value));
        event_entry.SetDetailType("sampleSubmitted");
        event_entry.AddResources(resource_arn);
        event_entry.SetSource("aws-sdk-cpp-cloudwatch-example");

        Aws::CloudWatchEvents::Model::PutEventsRequest request;
        request.AddEntries(event_entry);

        auto outcome = cwe.PutEvents(request);
        if (!outcome.IsSuccess())
        {
            std::cout << "Failed to post CloudWatch event: " <<
                outcome.GetError().GetMessage() << std::endl;
        }
        else
        {
            std::cout << "Successfully posted CloudWatch event" << std::endl;
        }
```

## Tambahkan Aturan
<a name="add-rules"></a>

Untuk membuat atau memperbarui aturan, panggil `PutRule` fungsi dengan nama aturan dan parameter opsional seperti [pola peristiwa](https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/CloudWatchEventsandEventPatterns.html), peran IAM untuk dikaitkan dengan aturan, dan [ekspresi penjadwalan](https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/ScheduledEvents.html) yang menjelaskan seberapa sering aturan dijalankan. CloudWatchEventsClient [PutRuleRequest](https://docs.aws.amazon.com/sdk-for-cpp/latest/api/aws-cpp-sdk-eventbridge/html/class_aws_1_1_event_bridge_1_1_model_1_1_put_rule_request.html)

 **Termasuk** 

```
#include <aws/core/Aws.h>
#include <aws/events/EventBridgeClient.h>
#include <aws/events/model/PutRuleRequest.h>
#include <aws/events/model/PutRuleResult.h>
#include <aws/core/utils/Outcome.h>
#include <iostream>
```

 **Kode** 

```
        Aws::CloudWatchEvents::EventBridgeClient cwe;
        Aws::CloudWatchEvents::Model::PutRuleRequest request;
        request.SetName(rule_name);
        request.SetRoleArn(role_arn);
        request.SetScheduleExpression("rate(5 minutes)");
        request.SetState(Aws::CloudWatchEvents::Model::RuleState::ENABLED);

        auto outcome = cwe.PutRule(request);
        if (!outcome.IsSuccess())
        {
            std::cout << "Failed to create CloudWatch events rule " <<
                rule_name << ": " << outcome.GetError().GetMessage() <<
                std::endl;
        }
        else
        {
            std::cout << "Successfully created CloudWatch events rule " <<
                rule_name << " with resulting Arn " <<
                outcome.GetResult().GetRuleArn() << std::endl;
        }
```

## Tambahkan Target
<a name="add-targets"></a>

Target adalah sumber daya yang dipanggil ketika suatu aturan dipicu. Contoh target mencakup instans Amazon EC2, fungsi Lambda, aliran Kinesis, tugas Amazon ECS, mesin status Step Functions, dan target bawaan.

Untuk menambahkan target ke aturan, panggil `PutTargets` fungsi dengan [PutTargetsRequest](https://docs.aws.amazon.com/sdk-for-cpp/latest/api/aws-cpp-sdk-eventbridge/html/class_aws_1_1_event_bridge_1_1_model_1_1_put_targets_request.html)berisi aturan untuk diperbarui dan daftar target untuk ditambahkan ke aturan. CloudWatchEventsClient

 **Termasuk** 

```
#include <aws/core/Aws.h>
#include <aws/events/EventBridgeClient.h>
#include <aws/events/model/PutTargetsRequest.h>
#include <aws/events/model/PutTargetsResult.h>
#include <aws/core/utils/Outcome.h>
#include <iostream>
```

 **Kode** 

```
        Aws::CloudWatchEvents::EventBridgeClient cwe;

        Aws::CloudWatchEvents::Model::Target target;
        target.SetArn(lambda_arn);
        target.SetId(target_id);

        Aws::CloudWatchEvents::Model::PutTargetsRequest request;
        request.SetRule(rule_name);
        request.AddTargets(target);

        auto putTargetsOutcome = cwe.PutTargets(request);
        if (!putTargetsOutcome.IsSuccess())
        {
            std::cout << "Failed to create CloudWatch events target for rule "
                << rule_name << ": " <<
                putTargetsOutcome.GetError().GetMessage() << std::endl;
        }
        else
        {
            std::cout <<
                "Successfully created CloudWatch events target for rule "
                << rule_name << std::endl;
        }
```

Lihat [contoh lengkapnya](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/cpp/example_code/eventbridge/put_targets.cpp).

## Informasi Selengkapnya
<a name="more-information"></a>
+  [Menambahkan Acara dengan PutEvents](https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/AddEventsPutEvents.html) di Panduan Pengguna CloudWatch Acara Amazon
+  [Ekspresi Jadwal untuk Aturan](https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/ScheduledEvents.html) di Panduan Pengguna CloudWatch Acara Amazon
+  [Jenis Acara untuk CloudWatch Acara](https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/EventTypes.html) di Panduan Pengguna CloudWatch Acara Amazon
+  [Peristiwa dan Pola Acara](https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/CloudWatchEventsandEventPatterns.html) di Panduan Pengguna CloudWatch Acara Amazon
+  [PutEvents](https://docs.aws.amazon.com/AmazonCloudWatchEvents/latest/APIReference/PutEvents.html)di Referensi API CloudWatch Acara Amazon
+  [PutTargets](https://docs.aws.amazon.com/AmazonCloudWatchEvents/latest/APIReference/PutTargets.html)di Referensi API CloudWatch Acara Amazon
+  [PutRule](https://docs.aws.amazon.com/AmazonCloudWatchEvents/latest/APIReference/PutRule.html)di Referensi API CloudWatch Acara Amazon