

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

# Pantau aplikasi tanpa server Anda dengan AWS SAM
<a name="serverless-monitoring"></a>

Setelah menerapkan aplikasi tanpa server, Anda dapat memantaunya untuk memberikan wawasan tentang operasinya dan mendeteksi anomali, yang dapat membantu pemecahan masalah. Bagian ini memberikan detail tentang pemantauan aplikasi tanpa server Anda. Ini termasuk informasi tentang cara mengonfigurasi Amazon CloudWatch untuk memberi tahu Anda saat mendeteksi anomali. Ini juga menyediakan informasi tentang bekerja dengan log, termasuk penyorotan kesalahan dan tip untuk melihat, memfilter, mengambil, dan melacak log.

**Topics**
+ [Menggunakan CloudWatch Application Insights untuk memantau aplikasi tanpa AWS SAM server Anda](monitor-app-insights.md)
+ [Bekerja dengan log in AWS SAM](serverless-sam-cli-logging.md)

# Menggunakan CloudWatch Application Insights untuk memantau aplikasi tanpa AWS SAM server Anda
<a name="monitor-app-insights"></a>

 Amazon CloudWatch Application Insights membantu Anda memantau AWS sumber daya dalam aplikasi Anda untuk membantu mengidentifikasi potensi masalah. Ini dapat menganalisis data AWS sumber daya untuk tanda-tanda masalah dan membangun dasbor otomatis untuk memvisualisasikannya. Anda dapat mengonfigurasi CloudWatch Application Insights untuk digunakan dengan AWS Serverless Application Model (AWS SAM) aplikasi Anda. Untuk mempelajari lebih lanjut tentang Wawasan CloudWatch Aplikasi, lihat [Wawasan CloudWatch Aplikasi Amazon](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch-application-insights.html) di * CloudWatch Panduan Pengguna Amazon*. 

**Topics**
+ [Mengkonfigurasi Wawasan CloudWatch Aplikasi dengan AWS SAM](#monitor-app-insights-configure)
+ [Langkah selanjutnya](#monitor-app-insights-next)

## Mengkonfigurasi Wawasan CloudWatch Aplikasi dengan AWS SAM
<a name="monitor-app-insights-configure"></a>

 Konfigurasikan Wawasan CloudWatch Aplikasi untuk AWS SAM aplikasi Anda melalui AWS SAM Command Line Interface (AWS SAMCLI) atau melalui AWS SAM template Anda. 

### Konfigurasikan melalui AWS SAMCLI
<a name="monitor-app-insights-configure-cli"></a>

 Saat menginisialisasi aplikasi Anda dengan**sam init**, aktifkan CloudWatch Application Insights melalui alur interaktif atau dengan menggunakan opsi. **--application-insights** 

 Untuk mengaktifkan CloudWatch Application Insights melalui alur AWS SAMCLI interaktif, masukkan **y** saat diminta. 

```
Would you like to enable monitoring using CloudWatch Application Insights?
For more info, please view https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch-application-insights.html [y/N]:
```

 Untuk mengaktifkan CloudWatch Application Insights dengan **--application-insights** opsi, lakukan hal berikut. 

```
sam init --application-insights
```

 Untuk mempelajari lebih lanjut tentang menggunakan **sam init** perintah, lihat[sam init](sam-cli-command-reference-sam-init.md). 

### Konfigurasikan melalui AWS SAM templat
<a name="monitor-app-insights-configure-template"></a>

 Aktifkan Wawasan CloudWatch Aplikasi dengan mendefinisikan `AWS::ResourceGroups::Group` dan `AWS::ApplicationInsights::Application` sumber daya dalam template Anda AWS SAM . 

```
AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31 
...
Resources:
  ApplicationResourceGroup:
    Type: AWS::ResourceGroups::Group
    Properties:
      Name:
        Fn::Join:
        - ''
        - - ApplicationInsights-SAM-
        - Ref: AWS::StackName
      ResourceQuery:
        Type: CLOUDFORMATION_STACK_1_0
  ApplicationInsightsMonitoring:
    Type: AWS::ApplicationInsights::Application
    Properties:
      ResourceGroupName:
        Fn::Join:
          - ''
          - - ApplicationInsights-SAM-
          - Ref: AWS::StackName
        AutoConfigurationEnabled: 'true'
    DependsOn: ApplicationResourceGroup
```
+  `AWS::ResourceGroups::Group`— Membuat grup untuk mengatur AWS sumber daya Anda untuk mengelola dan mengotomatiskan tugas pada sejumlah besar sumber daya sekaligus. Di sini, Anda membuat grup sumber daya untuk digunakan dengan CloudWatch Application Insights. Untuk informasi selengkapnya tentang jenis sumber daya ini, lihat [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-resourcegroups-group.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-resourcegroups-group.html)di *Panduan AWS CloudFormation Pengguna*. 
+  `AWS::ApplicationInsights::Application`— Mengkonfigurasi Wawasan CloudWatch Aplikasi untuk grup sumber daya. Untuk informasi selengkapnya tentang jenis sumber daya ini, lihat [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationinsights-application.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationinsights-application.html)di *Panduan AWS CloudFormation Pengguna*. 

 Kedua sumber daya secara otomatis diteruskan ke CloudFormation saat penerapan aplikasi. Anda dapat menggunakan CloudFormation sintaks dalam AWS SAM template Anda untuk mengkonfigurasi CloudWatch Application Insights lebih lanjut. Untuk informasi selengkapnya, lihat [Menggunakan CloudFormation templat](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/appinsights-cloudformation.html) di *Panduan CloudWatch Pengguna Amazon*. 

 Saat menggunakan **sam init --application-insights** perintah, kedua sumber daya ini secara otomatis dihasilkan di AWS SAM template Anda. Berikut adalah contoh template yang dihasilkan. 

```
AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
Description: >
  sam-app-test
  
  Sample SAM Template for sam-app-test

# More info about Globals: https://github.com/awslabs/serverless-application-model/blob/master/docs/globals.rst
Globals:
  Function:
    Timeout: 3
    MemorySize: 128

Resources:
  HelloWorldFunction:
    Type: AWS::Serverless::Function # More info about Function Resource: https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#awsserverlessfunction
    Properties:
      CodeUri: hello_world/
      Handler: app.lambda_handler
      Runtime: python3.9
      Architectures:
      - x86_64
      Events:
        HelloWorld:
          Type: Api # More info about API Event Source: https://github.com/awslabs/serverless-application-model/blob/master/versions/2016-10-31.md#api
          Properties:
            Path: /hello
            Method: get

  ApplicationResourceGroup:
    Type: AWS::ResourceGroups::Group
    Properties:
      Name:
        Fn::Join:
        - ''
        - - ApplicationInsights-SAM-
        - Ref: AWS::StackName
      ResourceQuery:
      	Type: CLOUDFORMATION_STACK_1_0
  ApplicationInsightsMonitoring:
    Type: AWS::ApplicationInsights::Application
    Properties:
      ResourceGroupName:
        Fn::Join:
        - ''
        - - ApplicationInsights-SAM-
        - Ref: AWS::StackName
      AutoConfigurationEnabled: 'true'
    DependsOn: ApplicationResourceGroup
    
Outputs:
  # ServerlessRestApi is an implicit API created out of Events key under Serverless::Function
  # Find out more about other implicit resources you can reference within SAM
  # https://github.com/awslabs/serverless-application-model/blob/master/docs/internals/generated_resources.rst#api
  HelloWorldApi:
    Description: API Gateway endpoint URL for Prod stage for Hello World function
    Value: !Sub "https://${ServerlessRestApi}.execute-api.${AWS::Region}.amazonaws.com/Prod/hello/"
  HelloWorldFunction:
    Description: Hello World Lambda Function ARN
    Value: !GetAtt HelloWorldFunction.Arn
  HelloWorldFunctionIamRole:
    Description: Implicit IAM Role created for Hello World function
    Value: !GetAtt HelloWorldFunctionRole.Arn
```

## Langkah selanjutnya
<a name="monitor-app-insights-next"></a>

 Setelah mengonfigurasi CloudWatch Application Insights, gunakan **sam build** untuk membangun aplikasi Anda dan **sam deploy** untuk menyebarkan aplikasi Anda. Semua sumber daya yang didukung CloudWatch Application Insights akan dikonfigurasi untuk pemantauan. 
+  Untuk daftar sumber daya yang didukung, lihat [Log dan metrik yang didukung](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/appinsights-logs-and-metrics.html) di *Panduan CloudWatch Pengguna Amazon*. 
+  Untuk mempelajari cara mengakses Wawasan CloudWatch Aplikasi, lihat [Mengakses Wawasan CloudWatch Aplikasi](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/appinsights-accessing.html) di * CloudWatch Panduan Pengguna Amazon*. 

# Bekerja dengan log in AWS SAM
<a name="serverless-sam-cli-logging"></a>

Untuk menyederhanakan pemecahan masalah, AWS SAMCLI memiliki perintah yang disebut. `sam logs` Perintah ini memungkinkan Anda untuk mengambil log yang dibuat oleh fungsi Lambda Anda dari baris perintah.

**catatan**  
`sam logs`Perintah berfungsi untuk semua AWS Lambda fungsi, bukan hanya yang Anda gunakan AWS SAM.

## Mengambil log dengan tumpukan CloudFormation
<a name="serverless-logging-cfn"></a>

Ketika fungsi Anda adalah bagian dari CloudFormation tumpukan, Anda dapat mengambil log dengan menggunakan ID logis fungsi:

```
sam logs -n HelloWorldFunction --stack-name mystack
```

## Mengambil log dari nama fungsi Lambda
<a name="serverless-logging-function"></a>

Atau, Anda dapat mengambil log dengan menggunakan nama fungsi:

```
sam logs -n mystack-HelloWorldFunction-1FJ8PD
```

## Menunggu log
<a name="serverless-logging-tail"></a>

Tambahkan pilihan `--tail` untuk menunggu log baru dan lihat saat log tersebut masuk. Hal ini sangat membantu selama proses deployment atau saat Anda memecahkan masalah produksi.

```
sam logs -n HelloWorldFunction --stack-name mystack --tail
```

## Melihat log pada rentang waktu tertentu
<a name="serverless-logging-time-range"></a>

Anda dapat melihat log dalam rentang waktu tertentu dengan menggunakan pilihan `-s` dan `-e`:

```
sam logs -n HelloWorldFunction --stack-name mystack -s '10min ago' -e '2min ago'
```

## Memfilter log
<a name="serverless-logging-time-range"></a>

Gunakan pilihan `--filter` untuk menemukan log yang cocok dengan syarat, frasa, atau nilai dalam log acara Anda dengan cepat:

```
sam logs -n HelloWorldFunction --stack-name mystack --filter "error"
```

Dalam output, AWS SAMCLI menggarisbawahi semua kemunculan kata “kesalahan” sehingga Anda dapat dengan mudah menemukan kata kunci filter dalam output log.

## Menyoroti error
<a name="serverless-logging-error-highlight"></a>

Ketika fungsi Lambda Anda macet atau habis waktu, akan AWS SAMCLI menyoroti pesan batas waktu berwarna merah. Hal ini membantu Anda menemukan eksekusi tertentu yang habis waktu dalam pengaliran raksasa log output dengan mudah.

## Pencetakan indah JSON
<a name="serverless-logging-error-highlight"></a>

Jika pesan log Anda mencetak string JSON, AWS SAMCLI secara otomatis cukup mencetak JSON untuk membantu Anda mengurai dan memahami JSON secara visual.