

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

# Kirim log Amazon ECS ke CloudWatch
<a name="using_awslogs"></a>

Anda dapat mengonfigurasi kontainer dalam tugas Anda untuk mengirim informasi CloudWatch log ke Log. Jika Anda menggunakan Fargate untuk tugas Anda, Anda dapat melihat log dari wadah Anda. Jika Anda menggunakan EC2, Anda dapat melihat log yang berbeda dari kontainer Anda di satu lokasi yang nyaman, dan ini mencegah log kontainer Anda mengambil ruang disk pada instance kontainer Anda.

**catatan**  
Jenis informasi yang dicatat oleh kontainer dalam tugas Anda sebagian besar bergantung pada perintah `ENTRYPOINT` mereka. Secara default, log yang diambil menunjukkan output perintah yang biasanya Anda lihat di terminal interaktif jika Anda menjalankan kontainer secara lokal, yang merupakan aliran `STDOUT` dan `STDERR` I/O. Driver `awslogs` log hanya meneruskan log ini dari Docker ke CloudWatch Logs. Untuk informasi selengkapnya tentang cara log Docker diproses, termasuk cara alternatif untuk menangkap berbagai pengaliran atau data file, lihat [Melihat log untuk kontainer atau layanan](https://docs.docker.com/engine/logging/) dalam dokumentasi Docker.

Untuk mengirim log sistem dari instans penampung Amazon ECS Anda ke CloudWatch Log, lihat [Memantau Kuota File Log](https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/WhatIsCloudWatchLogs.html) [dan CloudWatch Log di Panduan](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/cloudwatch_limits_cwl.html) Pengguna *Amazon CloudWatch Logs*.

## Fargate
<a name="enable_awslogs"></a>

Jika Anda menggunakan Fargate untuk tugas Anda, Anda perlu menambahkan `logConfiguration` parameter yang diperlukan ke definisi tugas Anda untuk mengaktifkan driver `awslogs` log. Untuk informasi selengkapnya, lihat [Contoh definisi tugas Amazon ECS: Rute log ke CloudWatch](specify-log-config.md).

Untuk wadah Windows di Fargate, lakukan salah satu opsi berikut ketika salah satu parameter definisi tugas Anda memiliki karakter khusus seperti,: `& \ < > ^ |`
+ Tambahkan escape (`\`) dengan tanda kutip ganda di sekitar seluruh string parameter

  Contoh

  ```
  "awslogs-multiline-pattern": "\"^[|DEBUG|INFO|WARNING|ERROR\"",
  ```
+ Tambahkan karakter escape (`^`) di sekitar setiap karakter khusus

  Contoh

  ```
  "awslogs-multiline-pattern": "^^[^|DEBUG^|INFO^|WARNING^|ERROR",
  ```

## EC2
<a name="ec2-considerations"></a>

Jika Anda menggunakan EC2 untuk tugas Anda dan ingin mengaktifkan driver `awslogs` log, instans penampung Amazon ECS Anda memerlukan setidaknya versi 1.9.0 dari agen penampung. Untuk informasi tentang cara memeriksa versi agen Anda dan memperbarui ke versi terbaru, lihat[Memperbarui agen kontainer Amazon ECS](ecs-agent-update.md).

**catatan**  
Anda harus menggunakan AMI Amazon ECS yang dioptimalkan atau AMI khusus dengan setidaknya `1.9.0-1` versi paket. `ecs-init` Saat menggunakan AMI kustom, Anda harus menentukan bahwa driver `awslogs` logging tersedia di instans Amazon EC2 saat Anda memulai agen dengan menggunakan variabel lingkungan berikut dalam file variabel **docker run** pernyataan atau lingkungan Anda.  

```
ECS_AVAILABLE_LOGGING_DRIVERS=["json-file","awslogs"]
```

Instans penampung Amazon ECS Anda juga memerlukan `logs:CreateLogStream` dan `logs:PutLogEvents` izin pada peran IAM yang dapat digunakan untuk meluncurkan instans penampung. Jika Anda membuat peran instans penampung Amazon ECS sebelum dukungan driver `awslogs` log diaktifkan di Amazon ECS, Anda mungkin perlu menambahkan izin ini. `ecsTaskExecutionRole`Ini digunakan saat ditugaskan ke tugas dan kemungkinan berisi izin yang benar. Untuk informasi tentang peran eksekusi tugas, lihat[Peran IAM pelaksanaan tugas Amazon ECS](task_execution_IAM_role.md). Jika instance container Anda menggunakan kebijakan IAM terkelola untuk instance container, instance container Anda kemungkinan memiliki izin yang benar. Untuk informasi tentang kebijakan IAM terkelola untuk instance container, lihat. [Peran IAM instans kontainer Amazon ECS](instance_IAM_role.md)

# Contoh definisi tugas Amazon ECS: Rute log ke CloudWatch
<a name="specify-log-config"></a>

Sebelum kontainer Anda dapat mengirim log ke CloudWatch, Anda harus menentukan driver `awslogs` log untuk kontainer dalam definisi tugas Anda. Untuk informasi selengkapnya tentang parameter log, lihat [Penyimpanan dan pencatatan log](task_definition_parameters.md#container_definition_storage)

Definisi tugas JSON yang berikut memiliki `logConfiguration` objek yang ditentukan untuk setiap kontainer. Salah satunya adalah untuk WordPress wadah yang mengirim log ke grup log yang dipanggil`awslogs-wordpress`. Yang lainnya adalah untuk wadah MySQL yang mengirimkan log ke grup log yang dipanggil. `awslogs-mysql` Kedua kontainer menggunakan prefiks pengaliran log `awslogs-example`.

```
{
    "containerDefinitions": [
        {
            "name": "wordpress",
            "links": [
                "mysql"
            ],
            "image": "public.ecr.aws/docker/library/wordpress:latest",
            "essential": true,
            "portMappings": [
                {
                    "containerPort": 80,
                    "hostPort": 80
                }
            ],
            "logConfiguration": {
                "logDriver": "awslogs",
                "options": {
                    "awslogs-create-group": "true",
                    "awslogs-group": "awslogs-wordpress",
                    "awslogs-region": "us-west-2",
                    "awslogs-stream-prefix": "awslogs-example"
                }
            },
            "memory": 500,
            "cpu": 10
        },
        {
            "environment": [
                {
                    "name": "MYSQL_ROOT_PASSWORD",
                    "value": "password"
                }
            ],
            "name": "mysql",
            "image": "public.ecr.aws/docker/library/mysql:latest",
            "cpu": 10,
            "memory": 500,
            "essential": true,
            "logConfiguration": {
                "logDriver": "awslogs",
                "options": {
                    "awslogs-create-group": "true",
                    "awslogs-group": "awslogs-mysql",
                    "awslogs-region": "us-west-2",
                    "awslogs-stream-prefix": "awslogs-example",
                    "mode": "non-blocking", 
                    "max-buffer-size": "25m" 
                }
            }
        }
    ],
    "family": "awslogs-example"
}
```

## Langkah selanjutnya
<a name="specify-log-config-next-steps"></a>
+ Anda dapat menetapkan kebijakan retensi untuk grup log secara opsional menggunakan CloudWatch AWS CLI atau API. Untuk informasi selengkapnya, lihat [put-retention-policy](https://docs.aws.amazon.com/cli/latest/reference/logs/put-retention-policy.html) dalam *Referensi AWS Command Line Interface *. 
+ Setelah Anda mendaftarkan definisi tugas dengan driver `awslogs` log dalam konfigurasi log definisi kontainer, Anda dapat menjalankan tugas atau membuat layanan dengan definisi tugas tersebut untuk mulai mengirim CloudWatch log ke Log. Untuk informasi selengkapnya, lihat [Menjalankan aplikasi sebagai tugas Amazon ECS](standalone-task-create.md) dan [Membuat penyebaran pembaruan bergulir Amazon ECS](create-service-console-v2.md).