

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

# Pencatatan MSK Amazon
<a name="msk-logging"></a>

Anda dapat mengirimkan log broker Apache Kafka ke satu atau lebih jenis tujuan berikut: Amazon CloudWatch Log, Amazon S3, Amazon Data Firehose. Anda juga dapat mencatat panggilan API MSK Amazon dengan AWS CloudTrail.

**catatan**  
Log broker tersedia di broker MSK Standard dan Express.

## Log broker
<a name="broker-logs"></a>

Log broker memungkinkan Anda untuk memecahkan masalah aplikasi Apache Kafka Anda dan menganalisis komunikasi mereka dengan cluster MSK Anda. Anda dapat mengonfigurasi klaster MSK baru atau yang sudah ada untuk mengirimkan log broker tingkat Info ke satu atau beberapa jenis sumber daya tujuan berikut: grup CloudWatch log, bucket S3, aliran pengiriman Firehose. Melalui Firehose Anda kemudian dapat mengirimkan data log dari aliran pengiriman Anda ke OpenSearch Layanan.

Anda harus membuat sumber daya tujuan sebelum mengonfigurasi klaster Anda untuk mengirimkan log broker ke sana. Amazon MSK tidak membuat sumber daya tujuan ini untuk Anda jika sumber daya tersebut belum ada. Untuk informasi tentang ketiga jenis sumber daya tujuan ini dan cara membuatnya, lihat dokumentasi berikut:
+ [ CloudWatch Log Amazon](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/WhatIsCloudWatchLogs.html)
+ [Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/dev/Welcome.html)
+ [Amazon Data Firehose](https://docs.aws.amazon.com/firehose/latest/dev/what-is-this-service.html)

### Izin yang diperlukan
<a name="broker-logs-perms"></a>

Untuk mengonfigurasi tujuan log broker MSK Amazon, identitas IAM yang Anda gunakan untuk tindakan MSK Amazon harus memiliki izin yang dijelaskan dalam kebijakan. [AWS kebijakan terkelola: MSKFull Akses Amazon](security-iam-awsmanpol-AmazonMSKFullAccess.md) 

Untuk melakukan streaming log broker ke bucket S3, Anda juga memerlukan `s3:PutBucketPolicy` izin. Untuk informasi tentang kebijakan bucket S3, lihat [Bagaimana Cara Menambahkan Kebijakan Bucket S3?](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/add-bucket-policy.html) di Panduan Pengguna Amazon S3. Untuk informasi tentang kebijakan IAM secara umum, lihat [Manajemen Akses](https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html) di Panduan Pengguna IAM. 

### Kebijakan kunci KMS yang diperlukan untuk digunakan dengan bucket SSE-KMS
<a name="sse-kms-buckets"></a>

Jika Anda mengaktifkan enkripsi sisi server untuk bucket S3 menggunakan kunci AWS KMS-managed (SSE-KMS) dengan kunci yang dikelola pelanggan, tambahkan berikut ini ke kebijakan kunci untuk kunci KMS Anda sehingga Amazon MSK dapat menulis file broker ke bucket.

```
{
  "Sid": "Allow Amazon MSK to use the key.",
  "Effect": "Allow",
  "Principal": {
    "Service": [
      "delivery.logs.amazonaws.com"
    ]
  },
  "Action": [
    "kms:Encrypt",
    "kms:Decrypt",
    "kms:ReEncrypt*",
    "kms:GenerateDataKey*",
    "kms:DescribeKey"
  ],
  "Resource": "*"
}
```

### Konfigurasikan log broker menggunakan Konsol Manajemen AWS
<a name="broker-logs-console"></a>

Jika Anda membuat cluster baru, cari judul **pengiriman log Broker** di bagian **Monitoring**. Anda dapat menentukan tujuan yang Anda inginkan Amazon MSK untuk mengirimkan log broker Anda. 

Untuk cluster yang ada, pilih cluster dari daftar cluster Anda, lalu pilih tab **Properties**. Gulir ke bawah ke bagian **pengiriman Log** dan kemudian pilih tombol **Edit**. Anda dapat menentukan tujuan yang Anda inginkan Amazon MSK untuk mengirimkan log broker Anda.

### Konfigurasikan log broker menggunakan AWS CLI
<a name="broker-logs-cli"></a>

Bila Anda menggunakan `create-cluster` atau `update-monitoring` perintah, Anda dapat secara opsional menentukan `logging-info` parameter dan meneruskannya struktur JSON seperti contoh berikut. Dalam JSON ini, ketiga tipe tujuan adalah opsional.

**catatan**  
Anda harus menyetel `LogDeliveryEnabled` tag ke `true` aliran Firehose untuk mengatur pengiriman log. Peran terkait layanan yang AWS dibuat untuk CloudWatch log menggunakan tag ini untuk memberikan izin bagi semua aliran pengiriman Firehose. Jika Anda menghapus tag ini, peran yang ditautkan layanan tidak akan dapat mengirimkan log ke aliran Firehose. *Untuk melihat contoh kebijakan IAM yang menunjukkan izin yang disertakan dalam peran terkait layanan, lihat peran [IAM yang digunakan untuk izin sumber daya di](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AWS-logs-infrastructure-V2-Firehose.html) Panduan Pengguna Amazon. CloudWatch *

```
{
  "BrokerLogs": {
    "S3": {
      "Bucket": "amzn-s3-demo-bucket",
      "Prefix": "ExamplePrefix",
      "Enabled": true
    },
    "Firehose": {
      "DeliveryStream": "ExampleDeliveryStreamName",
      "Enabled": true
    },
    "CloudWatchLogs": {
      "Enabled": true,
      "LogGroup": "ExampleLogGroupName"
    }
  }
}
```

### Konfigurasikan log broker menggunakan API
<a name="broker-logs-api"></a>

Anda dapat menentukan `loggingInfo` struktur opsional di JSON yang Anda berikan ke [UpdateMonitoring](https://docs.aws.amazon.com/msk/1.0/apireference/clusters-clusterarn-monitoring.html#UpdateMonitoring)operasi [CreateCluster](https://docs.aws.amazon.com/msk/1.0/apireference/clusters.html#CreateCluster)atau.

**catatan**  
Secara default, saat pencatatan broker diaktifkan, Amazon MSK mencatat log `INFO` level ke tujuan yang ditentukan. [Namun untuk pialang Standar, pengguna Apache Kafka 2.4.X dan yang lebih baru dapat secara dinamis mengatur level log broker ke salah satu level log log4j.](https://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/Level.html) Untuk informasi tentang pengaturan level log broker secara dinamis, lihat [KIP-412: Memperluas Admin API untuk mendukung level log aplikasi dinamis](https://cwiki.apache.org/confluence/display/KAFKA/KIP-412%3A+Extend+Admin+API+to+support+dynamic+application+log+levels). Jika Anda menyetel level log secara dinamis ke `DEBUG` atau`TRACE`, sebaiknya gunakan Amazon S3 atau Firehose sebagai tujuan log. Jika Anda menggunakan CloudWatch Log sebagai tujuan log dan Anda mengaktifkan `DEBUG` atau menaikkan `TRACE` level secara dinamis, MSK Amazon dapat terus mengirimkan sampel log. Ini dapat secara signifikan mempengaruhi kinerja broker dan hanya boleh digunakan ketika level `INFO` log tidak cukup bertele-tele untuk menentukan akar penyebab suatu masalah.

# Log panggilan API dengan AWS CloudTrail
<a name="logging-API-using-cloudtrail"></a>



**catatan**  
AWS CloudTrail log tersedia untuk Amazon MSK hanya ketika Anda menggunakan[Kontrol akses IAM](iam-access-control.md).

Amazon MSK terintegrasi dengan AWS CloudTrail, layanan yang menyediakan catatan tindakan yang diambil oleh pengguna, peran, atau AWS layanan di Amazon MSK. CloudTrail menangkap panggilan API untuk sebagai acara. Panggilan yang diambil termasuk panggilan dari konsol MSK Amazon dan panggilan kode ke operasi Amazon MSK API. Ini juga menangkap tindakan Apache Kafka seperti membuat dan mengubah topik dan grup.

Jika Anda membuat jejak, Anda dapat mengaktifkan pengiriman CloudTrail acara secara berkelanjutan ke bucket Amazon S3, termasuk acara untuk Amazon MSK. Jika Anda tidak mengonfigurasi jejak, Anda masih dapat melihat peristiwa terbaru di CloudTrail konsol dalam **Riwayat acara**. Dengan menggunakan informasi yang dikumpulkan oleh CloudTrail, Anda dapat menentukan permintaan yang dibuat untuk Amazon MSK atau tindakan Apache Kafka, alamat IP dari mana permintaan dibuat, siapa yang membuat permintaan, kapan dibuat, dan detail tambahan. 

Untuk mempelajari selengkapnya CloudTrail, termasuk cara mengonfigurasi dan mengaktifkannya, lihat [Panduan AWS CloudTrail Pengguna](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/).

## Informasi MSK Amazon di CloudTrail
<a name="msk-info-in-cloudtrail"></a>

CloudTrail diaktifkan di akun Amazon Web Services Anda saat Anda membuat akun. Ketika aktivitas acara yang didukung terjadi di klaster MSK, aktivitas tersebut direkam dalam suatu CloudTrail peristiwa bersama dengan peristiwa AWS layanan lainnya dalam **riwayat Acara**. Anda dapat melihat, mencari, dan mengunduh kejadian terbaru di akun Amazon Web Services Anda. Untuk informasi lain, lihat [Melihat Peristiwa dengan Riwayat Peristiwa CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/view-cloudtrail-events.html). 

Untuk catatan peristiwa yang sedang berlangsung di akun Amazon Web Services Anda, termasuk acara untuk Amazon MSK, buat jejak. *Jejak* memungkinkan CloudTrail untuk mengirimkan file log ke bucket Amazon S3. Secara default, saat Anda membuat jejak di konsol tersebut, jejak diterapkan ke semua Wilayah . Jejak mencatat peristiwa dari semua Wilayah di partisi AWS dan mengirimkan file log ke bucket Amazon S3 yang Anda tentukan. Selain itu, Anda dapat mengonfigurasi layanan Amazon lainnya untuk menganalisis lebih lanjut dan menindaklanjuti data peristiwa yang dikumpulkan dalam CloudTrail log. Untuk informasi selengkapnya, lihat berikut: 
+ [Gambaran Umum untuk Membuat Jejak](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-create-and-update-a-trail.html)
+ [CloudTrail Layanan dan Integrasi yang Didukung](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-aws-service-specific-topics.html#cloudtrail-aws-service-specific-topics-integrations)
+ [Mengkonfigurasi Notifikasi Amazon SNS untuk CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/getting_notifications_top_level.html)
+ [Menerima File CloudTrail Log dari Beberapa Wilayah](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/receive-cloudtrail-log-files-from-multiple-regions.html) dan [Menerima File CloudTrail Log dari Beberapa Akun](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-receive-logs-from-multiple-accounts.html)

Amazon MSK mencatat semua [operasi MSK Amazon](https://docs.aws.amazon.com/MSK/2.0/APIReference/operations.html) sebagai peristiwa dalam file CloudTrail log. Selain itu, ia mencatat tindakan Apache Kafka berikut.
+ kafka-cluster: DescribeClusterDynamicConfiguration 
+ kafka-cluster: AlterClusterDynamicConfiguration 
+ kafka-cluster: CreateTopic 
+ kafka-cluster: DescribeTopicDynamicConfiguration 
+ kafka-cluster: AlterTopic 
+ kafka-cluster: AlterTopicDynamicConfiguration 
+ kafka-cluster: DeleteTopic

Setiap entri peristiwa atau log berisi informasi tentang entitas yang membuat permintaan tersebut. Informasi identitas membantu Anda menentukan hal berikut ini: 
+ Apakah permintaan dibuat dengan pengguna root atau kredensyal pengguna AWS Identity and Access Management (IAM).
+ Apakah permintaan tersebut dibuat dengan kredensial keamanan sementara untuk satu peran atau pengguna gabungan.
+ Apakah permintaan itu dibuat oleh AWS layanan lain.

Untuk informasi lain, lihat [Elemen userIdentity CloudTrail ](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-event-reference-user-identity.html).

## Contoh: Entri file log Amazon MSK
<a name="understanding-msk-entries"></a>

Trail adalah konfigurasi yang memungkinkan pengiriman peristiwa sebagai file log ke bucket Amazon S3 yang Anda tentukan. CloudTrail file log berisi satu atau lebih entri log. Peristiwa mewakili permintaan tunggal dari sumber manapun dan mencakup informasi tentang tindakan yang diminta, tanggal dan waktu tindakan, parameter permintaan, dan sebagainya. CloudTrail file log bukanlah jejak tumpukan yang diurutkan dari panggilan API publik dan tindakan Apache Kafka, sehingga tidak muncul dalam urutan tertentu.

Contoh berikut menunjukkan entri CloudTrail log yang menunjukkan tindakan MSK `DescribeCluster` dan `DeleteCluster` Amazon.

```
{
  "Records": [
    {
      "eventVersion": "1.05",
      "userIdentity": {
        "type": "IAMUser",
        "principalId": "ABCDEF0123456789ABCDE",
        "arn": "arn:aws:iam::012345678901:user/Joe",
        "accountId": "012345678901",
        "accessKeyId": "AIDACKCEVSQ6C2EXAMPLE",
        "userName": "Joe"
      },
      "eventTime": "2018-12-12T02:29:24Z",
      "eventSource": "kafka.amazonaws.com",
      "eventName": "DescribeCluster",
      "awsRegion": "us-east-1",
      "sourceIPAddress": "192.0.2.0",
      "userAgent": "aws-cli/1.14.67 Python/3.6.0 Windows/10 botocore/1.9.20",
      "requestParameters": {
        "clusterArn": "arn%3Aaws%3Akafka%3Aus-east-1%3A012345678901%3Acluster%2Fexamplecluster%2F01234567-abcd-0123-abcd-abcd0123efa-2"
      },
      "responseElements": null,
      "requestID": "bd83f636-fdb5-abcd-0123-157e2fbf2bde",
      "eventID": "60052aba-0123-4511-bcde-3e18dbd42aa4",
      "readOnly": true,
      "eventType": "AwsApiCall",
      "recipientAccountId": "012345678901"
    },
    {
      "eventVersion": "1.05",
      "userIdentity": {
        "type": "IAMUser",
        "principalId": "ABCDEF0123456789ABCDE",
        "arn": "arn:aws:iam::012345678901:user/Joe",
        "accountId": "012345678901",
        "accessKeyId": "AIDACKCEVSQ6C2EXAMPLE",
        "userName": "Joe"
      },
      "eventTime": "2018-12-12T02:29:40Z",
      "eventSource": "kafka.amazonaws.com",
      "eventName": "DeleteCluster",
      "awsRegion": "us-east-1",
      "sourceIPAddress": "192.0.2.0",
      "userAgent": "aws-cli/1.14.67 Python/3.6.0 Windows/10 botocore/1.9.20",
      "requestParameters": {
        "clusterArn": "arn%3Aaws%3Akafka%3Aus-east-1%3A012345678901%3Acluster%2Fexamplecluster%2F01234567-abcd-0123-abcd-abcd0123efa-2"
      },
      "responseElements": {
        "clusterArn": "arn:aws:kafka:us-east-1:012345678901:cluster/examplecluster/01234567-abcd-0123-abcd-abcd0123efa-2",
        "state": "DELETING"
      },
      "requestID": "c6bfb3f7-abcd-0123-afa5-293519897703",
      "eventID": "8a7f1fcf-0123-abcd-9bdb-1ebf0663a75c",
      "readOnly": false,
      "eventType": "AwsApiCall",
      "recipientAccountId": "012345678901"
    }
  ]
}
```

Contoh berikut menunjukkan entri CloudTrail log yang menunjukkan `kafka-cluster:CreateTopic` tindakan.

```
{
  "eventVersion": "1.08",
  "userIdentity": {
    "type": "IAMUser",
    "principalId": "ABCDEFGH1IJKLMN2P34Q5",
    "arn": "arn:aws:iam::111122223333:user/Admin",
    "accountId": "111122223333",
    "accessKeyId": "CDEFAB1C2UUUUU3AB4TT",
    "userName": "Admin"
  },
  "eventTime": "2021-03-01T12:51:19Z",
  "eventSource": "kafka-cluster.amazonaws.com",
  "eventName": "CreateTopic",
  "awsRegion": "us-east-1",
  "sourceIPAddress": "198.51.100.0/24",
  "userAgent": "aws-msk-iam-auth/unknown-version/aws-internal/3 aws-sdk-java/1.11.970 Linux/4.14.214-160.339.amzn2.x86_64 OpenJDK_64-Bit_Server_VM/25.272-b10 java/1.8.0_272 scala/2.12.8 vendor/Red_Hat,_Inc.",
  "requestParameters": {
    "kafkaAPI": "CreateTopics",
    "resourceARN": "arn:aws:kafka:us-east-1:111122223333:topic/IamAuthCluster/3ebafd8e-dae9-440d-85db-4ef52679674d-1/Topic9"
  },
  "responseElements": null,
  "requestID": "e7c5e49f-6aac-4c9a-a1d1-c2c46599f5e4",
  "eventID": "be1f93fd-4f14-4634-ab02-b5a79cb833d2",
  "readOnly": false,
  "eventType": "AwsApiCall",
  "managementEvent": true,
  "eventCategory": "Management",
  "recipientAccountId": "111122223333"
}
```