

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

# Menggunakan CloudWatch Log untuk mencatat riwayat eksekusi di Step Functions
<a name="cw-logs"></a>

Alur Kerja Standar merekam riwayat eksekusi di AWS Step Functions, meskipun Anda dapat mengonfigurasi logging ke Amazon CloudWatch Logs secara opsional.

Tidak seperti Alur Kerja Standar, Alur Kerja Ekspres tidak mencatat riwayat eksekusi di AWS Step Functions. Untuk melihat riwayat eksekusi dan hasil untuk Alur Kerja Ekspres, Anda harus mengonfigurasi pencatatan ke Amazon CloudWatch Logs. Penerbitan log tidak memblokir atau memperlambat eksekusi.

**Jaminan pengiriman log**  
 CloudWatch Log Amazon dikirimkan dengan upaya terbaik. Kelengkapan dan ketepatan waktu entri log tidak dijamin. Jika Anda memerlukan riwayat alur kerja yang dijamin di Alur Kerja Ekspres, sebaiknya Anda menerapkan langkah-langkah alur kerja untuk merekam data dalam layanan penyimpanan data yang sesuai seperti Amazon DynamoDB. Atau, Anda dapat mempertimbangkan untuk menggunakan **Alur Kerja Standar** untuk riwayat eksekusi yang terjamin.

**Informasi harga**  
Saat Anda mengonfigurasi pencatatan, [biaya CloudWatch Log](https://aws.amazon.com/cloudwatch/pricing) akan berlaku dan Anda akan ditagih dengan tarif log terjual. Untuk informasi selengkapnya, lihat **Log Terjual** di bawah tab **Log** di halaman CloudWatch Harga.

## Mengonfigurasikan pencatatan log
<a name="monitoring-logging-configure"></a>

Saat Anda membuat Alur Kerja Standar menggunakan konsol Step Functions, mesin status tersebut **tidak** akan dikonfigurasi untuk mengirim CloudWatch log ke Log. Saat Anda membuat Alur Kerja Ekspres menggunakan konsol Step Functions, mesin status tersebut secara default akan dikonfigurasi untuk mengirim CloudWatch log ke Log. 

Untuk alur kerja Express, Step Functions dapat membuat peran dengan kebijakan AWS Identity and Access Management (IAM) yang diperlukan untuk CloudWatch Log. Jika Anda membuat Alur Kerja Standar, atau Alur Kerja Ekspres menggunakan API, CLI, atau CloudFormation, Step Functions tidak akan mengaktifkan log secara default, dan Anda perlu memastikan peran Anda memiliki izin yang diperlukan.

Untuk setiap eksekusi yang dimulai dari konsol, Step Functions menyediakan tautan ke CloudWatch Log, dikonfigurasi dengan filter yang benar untuk mengambil peristiwa log khusus untuk eksekusi tersebut. 

Anda dapat mengonfigurasi AWS KMS kunci terkelola pelanggan secara opsional untuk mengenkripsi log Anda. Lihat [Enkripsi data saat istirahat](encryption-at-rest.md) untuk detail dan pengaturan izin.

Untuk mengkonfigurasi logging, Anda dapat meneruskan [LoggingConfiguration](https://docs.aws.amazon.com/step-functions/latest/apireference/API_LoggingConfiguration.html)parameter saat menggunakan [CreateStateMachine](https://docs.aws.amazon.com/step-functions/latest/apireference/API_CreateStateMachine.html)atau [UpdateStateMachine](https://docs.aws.amazon.com/step-functions/latest/apireference/API_UpdateStateMachine.html). Anda dapat menganalisis data Anda lebih lanjut di CloudWatch Log dengan menggunakan Wawasan CloudWatch Log. Untuk informasi selengkapnya, lihat [Menganalisis Data Log dengan Wawasan CloudWatch Log](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AnalyzingLogData.html).

## CloudWatch Log muatan
<a name="cloudwatch-payload"></a>

Peristiwa riwayat eksekusi mungkin berisi properti input atau output dalam ketetapannya. Jika input yang lolos atau output yang lolos yang dikirim ke CloudWatch Log melebihi 248 KiB, itu akan terpotong sebagai akibat dari kuota Log. CloudWatch 
+  Anda dapat menentukan apakah muatan telah terpotong dengan meninjau properti `inputDetails` dan `outputDetails`. Untuk informasi selengkapnya, lihat [`HistoryEventExecutionDataDetails` Tipe Data](https://docs.aws.amazon.com/step-functions/latest/apireference/API_HistoryEventExecutionDataDetails.html). 
+  Untuk Alur Kerja Standar, Anda dapat melihat riwayat eksekusi penuh dengan menggunakan [https://docs.aws.amazon.com/step-functions/latest/apireference/API_GetExecutionHistory.html](https://docs.aws.amazon.com/step-functions/latest/apireference/API_GetExecutionHistory.html). 
+  `GetExecutionHistory` tidak tersedia untuk Alur Kerja Ekspres. Jika Anda ingin melihat input dan output lengkap, Anda dapat menggunakan Amazon S3 ARNs. Untuk informasi selengkapnya, lihat [Menggunakan Amazon S3 ARNs alih-alih melewatkan muatan besar di Step Functions](sfn-best-practices.md#avoid-exec-failures). 

## Kebijakan IAM untuk masuk ke CloudWatch Log
<a name="cloudwatch-iam-policy"></a>

Anda juga perlu mengonfigurasi peran IAM eksekusi mesin status Anda agar memiliki izin yang tepat untuk masuk ke CloudWatch Log seperti yang ditunjukkan pada contoh berikut.

**Contoh kebijakan IAM**  
Berikut ini adalah contoh kebijakan yang dapat Anda gunakan untuk mengonfigurasi izin Anda. Seperti yang ditunjukkan pada contoh berikut, Anda perlu menentukan **\$1** di `Resource` lapangan. CloudWatch Tindakan API, seperti CreateLogDelivery dan DescribeLogGroups, tidak mendukung [tipe Sumber Daya yang ditentukan oleh Amazon CloudWatch Logs](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazoncloudwatchlogs.html#amazoncloudwatchlogs-resources-for-iam-policies). Untuk informasi selengkapnya, lihat [Tindakan yang ditentukan oleh Amazon CloudWatch Logs](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazoncloudwatchlogs.html#amazoncloudwatchlogs-actions-as-permissions).
+ Untuk informasi tentang CloudWatch sumber daya, lihat [CloudWatch Logssumber daya dan operasi](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/iam-access-control-overview-cwl.html#CWL_ARN_Format) di *Panduan CloudWatch Pengguna Amazon*.
+ Untuk informasi tentang izin yang Anda perlukan untuk mengatur pengiriman CloudWatch log ke Log, lihat [Izin pengguna](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AWS-logs-and-resource-policy.html#AWS-logs-infrastructure-CWL) di bagian berjudul *Log* yang dikirim ke. CloudWatch Logs

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "logs:CreateLogDelivery",
                "logs:CreateLogStream",
                "logs:GetLogDelivery",
                "logs:UpdateLogDelivery",
                "logs:DeleteLogDelivery",
                "logs:ListLogDeliveries",
                "logs:PutLogEvents",
                "logs:PutResourcePolicy",
                "logs:DescribeResourcePolicies",
                "logs:DescribeLogGroups"
            ],
            "Resource": "*"
        }
    ]
}
```

## Level log untuk peristiwa eksekusi Step Functions
<a name="cloudwatch-log-level"></a>

Level log berkisar dari `ALL` `ERROR` hingga `FATAL` ke`OFF`. Semua jenis peristiwa dicatat`ALL`, tidak ada jenis peristiwa yang dicatat saat disetel ke`OFF`. Untuk `ERROR` dan `FATAL`, lihat tabel berikut.

Untuk informasi selengkapnya tentang data eksekusi yang ditampilkan untuk eksekusi Alur Kerja Ekspres berdasarkan **level Log ini, lihat**. [Perbedaan pengalaman konsol standar dan Express](concepts-view-execution-details.md#console-exp-differences)


| Jenis Acara | `ALL` | `ERROR` | `FATAL` | `OFF` | 
| --- | --- | --- | --- | --- | 
|  ChoiceStateEntered  | Tercatat | Tidak masuk | Tidak masuk | Tidak masuk | 
|  ChoiceStateExited  | Tercatat | Tidak masuk | Tidak masuk | Tidak masuk | 
|  ExecutionAborted  | Tercatat | Tercatat | Tercatat | Tidak masuk | 
|  ExecutionFailed  | Tercatat | Tercatat | Tercatat | Tidak masuk | 
|  ExecutionStarted  | Tercatat | Tidak masuk | Tidak masuk | Tidak masuk | 
|  ExecutionSucceeded  | Tercatat | Tidak masuk | Tidak masuk | Tidak masuk | 
|  ExecutionTimedOut  | Tercatat | Tercatat | Tercatat | Tidak masuk | 
|  FailStateEntered  | Tercatat | Tercatat | Tidak masuk | Tidak masuk | 
|  LambdaFunctionFailed  | Tercatat | Tercatat | Tidak masuk | Tidak masuk | 
| LambdaFunctionScheduled | Tercatat | Tidak masuk | Tidak masuk | Tidak masuk | 
|  LambdaFunctionScheduleFailed  | Tercatat | Tercatat | Tidak masuk | Tidak masuk | 
|  LambdaFunctionStarted  | Tercatat | Tidak masuk | Tidak masuk | Tidak masuk | 
|  LambdaFunctionStartFailed  | Tercatat | Tercatat | Tidak masuk | Tidak masuk | 
|  LambdaFunctionSucceeded  | Tercatat | Tidak masuk | Tidak masuk | Tidak masuk | 
|  LambdaFunctionTimedOut  | Tercatat | Tercatat | Tidak masuk | Tidak masuk | 
|  MapIterationAborted  | Tercatat | Tercatat | Tidak masuk | Tidak masuk | 
|  MapIterationFailed  | Tercatat | Tercatat | Tidak masuk | Tidak masuk | 
|  MapIterationStarted  | Tercatat | Tidak masuk | Tidak masuk | Tidak masuk | 
|  MapIterationSucceeded  | Tercatat | Tidak masuk | Tidak masuk | Tidak masuk | 
|  MapRunAborted  | Tercatat | Tercatat | Tidak masuk | Tidak masuk | 
|  MapRunFailed  | Tercatat | Tercatat | Tidak masuk | Tidak masuk | 
|  MapStateAborted  | Tercatat | Tercatat | Tidak masuk | Tidak masuk | 
|  MapStateEntered  | Tercatat | Tidak masuk | Tidak masuk | Tidak masuk | 
|  MapStateExited  | Tercatat | Tidak masuk | Tidak masuk | Tidak masuk | 
|  MapStateFailed  | Tercatat | Tercatat | Tidak masuk | Tidak masuk | 
|  MapStateStarted  | Tercatat | Tidak masuk | Tidak masuk | Tidak masuk | 
|  MapStateSucceeded  | Tercatat | Tidak masuk | Tidak masuk | Tidak masuk | 
|  ParallelStateAborted  | Tercatat | Tercatat | Tidak masuk | Tidak masuk | 
|  ParallelStateEntered  | Tercatat | Tidak masuk | Tidak masuk | Tidak masuk | 
|  ParallelStateExited  | Tercatat | Tidak masuk | Tidak masuk | Tidak masuk | 
| ParallelStateFailed | Tercatat | Tercatat | Tidak masuk | Tidak masuk | 
|  ParallelStateStarted  | Tercatat | Tidak masuk | Tidak masuk | Tidak masuk | 
|  ParallelStateSucceeded  | Tercatat | Tidak masuk | Tidak masuk | Tidak masuk | 
|  PassStateEntered  | Tercatat | Tidak masuk | Tidak masuk | Tidak masuk | 
|  PassStateExited  | Tercatat | Tidak masuk | Tidak masuk | Tidak masuk | 
|  SucceedStateEntered  | Tercatat | Tidak masuk | Tidak masuk | Tidak masuk | 
|  SucceedStateExited  | Tercatat | Tidak masuk | Tidak masuk | Tidak masuk | 
|  TaskFailed  | Tercatat | Tercatat | Tidak masuk | Tidak masuk | 
|  TaskScheduled  | Tercatat | Tidak masuk | Tidak masuk | Tidak masuk | 
| TaskStarted | Tercatat | Tidak masuk | Tidak masuk | Tidak masuk | 
|  TaskStartFailed  | Tercatat | Tercatat | Tidak masuk | Tidak masuk | 
|  TaskStateAborted  | Tercatat | Tercatat | Tidak masuk | Tidak masuk | 
|  TaskStateEntered  | Tercatat | Tidak masuk | Tidak masuk | Tidak masuk | 
| TaskStateExited | Tercatat | Tidak masuk | Tidak masuk | Tidak masuk | 
| TaskSubmitFailed | Tercatat | Tercatat | Tidak masuk | Tidak masuk | 
| TaskSubmitted | Tercatat | Tidak masuk | Tidak masuk | Tidak masuk | 
| TaskSucceeded | Tercatat | Tidak masuk | Tidak masuk | Tidak masuk | 
| TaskTimedOut | Tercatat | Tercatat | Tidak masuk | Tidak masuk | 
| WaitStateAborted | Tercatat | Tercatat | Tidak masuk | Tidak masuk | 
| WaitStateEntered | Tercatat | Tidak masuk | Tidak masuk | Tidak masuk | 
| WaitStateExited | Tercatat | Tidak masuk | Tidak masuk | Tidak masuk | 

## Memecahkan masalah pencatatan ke Log CloudWatch
<a name="cloudwatch-log-troubleshooting"></a><a name="troubleshooting-logging-to-cloudwatch"></a>

Jika mesin status Anda tidak dapat mengirim CloudWatch log ke Log atau Anda menerima kesalahan: "`AccessDeniedException : The state machine IAM Role is not authorized to access the Log Destination`“, coba langkah-langkah berikut:

1. Verifikasi peran eksekusi mesin status Anda memiliki izin untuk masuk ke CloudWatch Log.

   Saat Anda memanggil [CreateStateMachine](https://docs.aws.amazon.com/step-functions/latest/apireference/API_CreateStateMachine.html)atau titik akhir [UpdateStateMachine](https://docs.aws.amazon.com/step-functions/latest/apireference/API_UpdateStateMachine.html)API, pastikan peran IAM yang ditentukan dalam `roleArn` parameter memberikan izin yang diperlukan, yang ditunjukkan dalam contoh kebijakan IAM sebelumnya.

1. Verifikasi kebijakan sumber daya CloudWatch Log tidak melebihi batas 5.120 karakter.

   Jika kebijakan melebihi batas karakter, awali nama grup log Anda `/aws/vendedlogs/states` untuk memberikan izin ke mesin status Anda dan hindari batas tersebut. 

   Saat Anda membuat grup log di konsol Step Functions, nama grup log yang disarankan sudah diawali`/aws/vendedlogs/states`. Untuk informasi selengkapnya tentang praktik terbaik pencatatan, lihat[Menghindari batas ukuran kebijakan CloudWatch sumber daya](sfn-best-practices.md#bp-cwl).

1. Verifikasi jumlah kebijakan sumber daya CloudWatch log log di akun kurang dari **sepuluh**.

   CloudWatch Log memiliki kuota sepuluh kebijakan sumber daya per wilayah, per akun. Jika Anda mencoba mengaktifkan logging pada mesin status yang sudah memiliki sepuluh kebijakan sumber daya, mesin status tidak akan dibuat atau diperbarui, dan Anda akan menerima kesalahan. Untuk informasi selengkapnya tentang kuota logging, lihat Kuota [CloudWatch log](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/cloudwatch_limits_cwl.html)

   Untuk memverifikasi masalah, periksa jumlah kebijakan sumber daya menggunakan perintah CLI:

    [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/logs/describe-resource-policies.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/logs/describe-resource-policies.html)

   Untuk mengatasi masalah, ubah kebijakan sumber daya yang ada.

   Pertama, buat cadangan kebijakan yang ada. Kemudian, gabungkan tindakan atau sumber daya serupa ke dalam kebijakan baru dan gunakan perintah CLI berikut untuk membuat sumber pengiriman baru di akun: 

   [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/logs/put-delivery-source.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/logs/put-delivery-source.html)

   Setelah mencadangkan dan memperbarui kebijakan, hapus kebijakan yang tidak digunakan dengan perintah berikut:

    [https://docs.aws.amazon.com/cli/latest/reference/logs/delete-resource-policy.html](https://docs.aws.amazon.com/cli/latest/reference/logs/delete-resource-policy.html)