

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

# Apa itu Agen Pemecahan Masalah Apache Spark untuk Amazon EMR
<a name="spark-troubleshoot"></a>

## Pengantar
<a name="spark-troubleshooting-agent-intro"></a>

Agen Pemecahan Masalah Apache Spark untuk Amazon EMR adalah kemampuan AI percakapan yang menyederhanakan pemecahan masalah aplikasi Apache Spark di Amazon EMR, Glue, dan Notebook Amazon. AWS SageMaker Pemecahan masalah Spark tradisional memerlukan analisis manual ekstensif dari log, metrik kinerja, dan pola kesalahan untuk mengidentifikasi akar penyebab dan perbaikan kode. Agen menyederhanakan proses ini melalui petunjuk bahasa alami, analisis beban kerja otomatis, dan rekomendasi kode cerdas.

Anda dapat menggunakan agen untuk memecahkan masalah PySpark dan kegagalan aplikasi Scala. Agen menganalisis pekerjaan Anda yang gagal, mengidentifikasi kemacetan kinerja, dan memberikan rekomendasi dan perbaikan kode yang dapat ditindaklanjuti sambil memberi Anda kendali penuh atas keputusan implementasi.

**catatan**  
Agen Pemecahan Masalah Apache Spark tersedia tanpa biaya tambahan sebagai bagian dari Amazon EMR. Agen hanya memberikan analisis dan rekomendasi. Anda hanya membayar sumber daya EMR Amazon yang Anda gunakan saat menjalankan aplikasi untuk memvalidasi perbaikan yang disarankan.

## Ikhtisar Arsitektur
<a name="spark-troubleshooting-agent-architecture"></a>

Agen pemecahan masalah memiliki tiga komponen utama: Asisten AI yang kompatibel dengan MCP di lingkungan pengembangan Anda untuk interaksi, [Proxy MCP untuk AWS](https://github.com/aws/mcp-proxy-for-aws) yang menangani komunikasi dan otentikasi aman antara klien dan layanan Anda AWS , dan Amazon SageMaker Unified Studio Remote MCP Server yang `(preview)` menyediakan alat pemecahan masalah Spark khusus untuk Amazon EMR, Glue, dan Notebook Amazon. AWS SageMaker Diagram ini menggambarkan bagaimana Anda berinteraksi dengan Amazon SageMaker Unified Studio Remote MCP Server melalui Asisten AI Anda.

![\[Arsitektur Agen Pemecahan Masalah Spark.\]](http://docs.aws.amazon.com/id_id/emr/latest/ReleaseGuide/images/spark-troubleshooting-agent-architecture.png)


Asisten AI akan mengatur pemecahan masalah menggunakan alat khusus yang disediakan oleh server MCP dengan mengikuti langkah-langkah berikut:
+ **Ekstraksi Fitur dan Pembuatan Konteks:** Agen secara otomatis mengumpulkan dan menganalisis data telemetri dari aplikasi Spark Anda termasuk log Spark History Server, pengaturan konfigurasi, dan jejak kesalahan. Ini mengekstrak metrik kinerja utama, pola pemanfaatan sumber daya, dan tanda tangan kegagalan untuk membangun profil konteks yang komprehensif untuk pemecahan masalah cerdas.
+ **GenAI Root Cause analyzer dan Recommendation Engine:** Agen memanfaatkan model AI dan basis pengetahuan Spark untuk mengkorelasikan fitur yang diekstraksi dan mengidentifikasi akar penyebab masalah atau kegagalan kinerja. Ini memberikan wawasan diagnostik dan analisis tentang apa yang salah dalam eksekusi aplikasi Spark Anda.
+ **Rekomendasi Kode GenAI Spark:** Berdasarkan analisis akar penyebab dari langkah sebelumnya, agen menganalisis pola kode Anda yang ada dan mengidentifikasi operasi yang tidak efisien yang memerlukan perbaikan kode untuk kegagalan aplikasi. Ini memberikan rekomendasi yang dapat ditindaklanjuti termasuk modifikasi kode spesifik, penyesuaian konfigurasi dan perbaikan arsitektur dengan contoh konkret.

**Topics**
+ [Pengantar](#spark-troubleshooting-agent-intro)
+ [Ikhtisar Arsitektur](#spark-troubleshooting-agent-architecture)
+ [Pengaturan untuk Agen Pemecahan Masalah](spark-troubleshooting-agent-setup.md)
+ [Menggunakan Agen Pemecahan Masalah](spark-troubleshooting-using-troubleshooting-agent.md)
+ [Fitur dan Kemampuan](spark-troubleshooting-features.md)
+ [Pemecahan Masalah dan Tanya Jawab](spark-troubleshooting-agent-troubleshooting.md)
+ [Alur Kerja Agen Pemecahan Masalah Spark dalam Detail](spark-troubleshooting-agent-workflow.md)
+ [Contoh Prompt](spark-troubleshooting-agent-prompt-examples.md)
+ [Pengaturan Peran IAM](spark-troubleshooting-agent-iam-setup.md)
+ [Menggunakan Alat Pemecahan Masalah Spark](spark-troubleshooting-agent-using-tools.md)
+ [Mengkonfigurasi Titik Akhir VPC Antarmuka untuk SageMaker Amazon Unified Studio MCP](spark-troubleshooting-agent-vpc-endpoints.md)
+ [Pemrosesan Lintas Wilayah untuk Agen Pemecahan Masalah Apache Spark](spark-troubleshooting-cross-region-processing.md)
+ [Pencatatan panggilan MCP Amazon SageMaker Unified Studio menggunakan AWS CloudTrail](spark-troubleshooting-cloudtrail-integration.md)
+ [Peningkatan Layanan untuk Agen Apache Spark](spark-agents-service-improvements.md)

# Pengaturan untuk Agen Pemecahan Masalah
<a name="spark-troubleshooting-agent-setup"></a>

**catatan**  
Agen Pemecahan Masalah Apache Spark menggunakan inferensi lintas wilayah untuk memproses permintaan bahasa alami dan menghasilkan tanggapan. Untuk lebih jelasnya, silakan merujuk ke[Pemrosesan Lintas Wilayah untuk Agen Pemecahan Masalah Apache Spark](spark-troubleshooting-cross-region-processing.md). Server MCP Amazon SageMaker Unified Studio sedang dalam pratinjau dan dapat berubah sewaktu-waktu.

## Prasyarat
<a name="spark-troubleshooting-agent-prerequisites"></a>

Sebelum kita memulai proses setup untuk integrasi dengan Kiro CLI, pastikan Anda memiliki yang berikut diinstal pada workstation Anda:
+  [Instal AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) 
+  [Instal Python 3.10\$1](https://www.python.org/downloads/release/python-3100/) 
+  [Instal manajer `uv` paket](https://docs.astral.sh/uv/getting-started/installation/) untuk [MCP Proxy](https://github.com/aws/mcp-proxy-for-aws?tab=readme-ov-file) untuk AWS
+  [Instal Kiro CLI](https://kiro.dev/docs/cli/) 
+ AWS kredensi lokal yang dikonfigurasi (melalui [AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html), variabel lingkungan, atau peran IAM) - untuk operasi lokal seperti mengunggah artefak pekerjaan yang ditingkatkan untuk pelaksanaan pekerjaan validasi EMR.

## Sumber Daya Pengaturan
<a name="spark-troubleshooting-agent-setup-resources"></a>

Anda dapat menggunakan AWS CloudFormation template untuk mengatur sumber daya untuk server MCP. Templat ini adalah contoh yang harus Anda modifikasi untuk memenuhi kebutuhan Anda. Template membuat sumber daya berikut untuk proses pemecahan masalah:

1. Peran IAM yang memiliki izin untuk memanggil MCP Server dan izin yang diperlukan untuk proses pemecahan masalah untuk platform yang dipilih.

Pilih salah satu tombol **Luncurkan Tumpukan** dalam tabel berikut. Ini meluncurkan tumpukan di AWS CloudFormation konsol di wilayah masing-masing.


| Region | Luncurkan | 
| --- | --- | 
| AS Timur (Ohio) |  [https://console.aws.amazon.com/cloudformation/home?region=us-east-2#/stacks/new?templateURL=https%3A%2F%2Fsmus-mcp-cfn-template-prod-us-east-2.s3.us-east-2.amazonaws.com%2Fcloudformation%2Fspark-troubleshooting-mcp-setup.yaml&stackName=spark-troubleshooting-mcp-setup](https://console.aws.amazon.com/cloudformation/home?region=us-east-2#/stacks/new?templateURL=https%3A%2F%2Fsmus-mcp-cfn-template-prod-us-east-2.s3.us-east-2.amazonaws.com%2Fcloudformation%2Fspark-troubleshooting-mcp-setup.yaml&stackName=spark-troubleshooting-mcp-setup)  | 
| AS Timur (Virginia Utara) |  [https://console.aws.amazon.com/cloudformation/home?region=us-east-1#/stacks/new?templateURL=https%3A%2F%2Fsmus-mcp-cfn-template-prod-us-east-1.s3.us-east-1.amazonaws.com%2Fcloudformation%2Fspark-troubleshooting-mcp-setup.yaml&stackName=spark-troubleshooting-mcp-setup](https://console.aws.amazon.com/cloudformation/home?region=us-east-1#/stacks/new?templateURL=https%3A%2F%2Fsmus-mcp-cfn-template-prod-us-east-1.s3.us-east-1.amazonaws.com%2Fcloudformation%2Fspark-troubleshooting-mcp-setup.yaml&stackName=spark-troubleshooting-mcp-setup)  | 
| AS Barat (Oregon) |  [https://console.aws.amazon.com/cloudformation/home?region=us-west-2#/stacks/new?templateURL=https%3A%2F%2Fsmus-mcp-cfn-template-prod-us-west-2.s3.us-west-2.amazonaws.com%2Fcloudformation%2Fspark-troubleshooting-mcp-setup.yaml&stackName=spark-troubleshooting-mcp-setup](https://console.aws.amazon.com/cloudformation/home?region=us-west-2#/stacks/new?templateURL=https%3A%2F%2Fsmus-mcp-cfn-template-prod-us-west-2.s3.us-west-2.amazonaws.com%2Fcloudformation%2Fspark-troubleshooting-mcp-setup.yaml&stackName=spark-troubleshooting-mcp-setup)  | 
| Asia Pasifik (Tokyo) |  [https://console.aws.amazon.com/cloudformation/home?region=ap-northeast-1#/stacks/new?templateURL=https%3A%2F%2Fsmus-mcp-cfn-template-prod-ap-northeast-1.s3.ap-northeast-1.amazonaws.com%2Fcloudformation%2Fspark-troubleshooting-mcp-setup.yaml&stackName=spark-troubleshooting-mcp-setup](https://console.aws.amazon.com/cloudformation/home?region=ap-northeast-1#/stacks/new?templateURL=https%3A%2F%2Fsmus-mcp-cfn-template-prod-ap-northeast-1.s3.ap-northeast-1.amazonaws.com%2Fcloudformation%2Fspark-troubleshooting-mcp-setup.yaml&stackName=spark-troubleshooting-mcp-setup)  | 
| Eropa (Irlandia) |  [https://console.aws.amazon.com/cloudformation/home?region=eu-west-1#/stacks/new?templateURL=https%3A%2F%2Fsmus-mcp-cfn-template-prod-eu-west-1.s3.eu-west-1.amazonaws.com%2Fcloudformation%2Fspark-troubleshooting-mcp-setup.yaml&stackName=spark-troubleshooting-mcp-setup](https://console.aws.amazon.com/cloudformation/home?region=eu-west-1#/stacks/new?templateURL=https%3A%2F%2Fsmus-mcp-cfn-template-prod-eu-west-1.s3.eu-west-1.amazonaws.com%2Fcloudformation%2Fspark-troubleshooting-mcp-setup.yaml&stackName=spark-troubleshooting-mcp-setup)  | 
| Asia Pacific (Singapore) |  [https://console.aws.amazon.com/cloudformation/home?region=ap-southeast-1#/stacks/new?templateURL=https%3A%2F%2Fsmus-mcp-cfn-template-prod-ap-southeast-1.s3.ap-southeast-1.amazonaws.com%2Fcloudformation%2Fspark-troubleshooting-mcp-setup.yaml&stackName=spark-troubleshooting-mcp-setup](https://console.aws.amazon.com/cloudformation/home?region=ap-southeast-1#/stacks/new?templateURL=https%3A%2F%2Fsmus-mcp-cfn-template-prod-ap-southeast-1.s3.ap-southeast-1.amazonaws.com%2Fcloudformation%2Fspark-troubleshooting-mcp-setup.yaml&stackName=spark-troubleshooting-mcp-setup)  | 
| Asia Pacific (Sydney) |  [https://console.aws.amazon.com/cloudformation/home?region=ap-southeast-2#/stacks/new?templateURL=https%3A%2F%2Fsmus-mcp-cfn-template-prod-ap-southeast-2.s3.ap-southeast-2.amazonaws.com%2Fcloudformation%2Fspark-troubleshooting-mcp-setup.yaml&stackName=spark-troubleshooting-mcp-setup](https://console.aws.amazon.com/cloudformation/home?region=ap-southeast-2#/stacks/new?templateURL=https%3A%2F%2Fsmus-mcp-cfn-template-prod-ap-southeast-2.s3.ap-southeast-2.amazonaws.com%2Fcloudformation%2Fspark-troubleshooting-mcp-setup.yaml&stackName=spark-troubleshooting-mcp-setup)  | 
| Kanada (Pusat) |  [https://console.aws.amazon.com/cloudformation/home?region=ca-central-1#/stacks/new?templateURL=https%3A%2F%2Fsmus-mcp-cfn-template-prod-ca-central-1.s3.ca-central-1.amazonaws.com%2Fcloudformation%2Fspark-troubleshooting-mcp-setup.yaml&stackName=spark-troubleshooting-mcp-setup](https://console.aws.amazon.com/cloudformation/home?region=ca-central-1#/stacks/new?templateURL=https%3A%2F%2Fsmus-mcp-cfn-template-prod-ca-central-1.s3.ca-central-1.amazonaws.com%2Fcloudformation%2Fspark-troubleshooting-mcp-setup.yaml&stackName=spark-troubleshooting-mcp-setup)  | 
| Amerika Selatan (Sao Paulo) |  [https://console.aws.amazon.com/cloudformation/home?region=sa-east-1#/stacks/new?templateURL=https%3A%2F%2Fsmus-mcp-cfn-template-prod-sa-east-1.s3.sa-east-1.amazonaws.com%2Fcloudformation%2Fspark-troubleshooting-mcp-setup.yaml&stackName=spark-troubleshooting-mcp-setup](https://console.aws.amazon.com/cloudformation/home?region=sa-east-1#/stacks/new?templateURL=https%3A%2F%2Fsmus-mcp-cfn-template-prod-sa-east-1.s3.sa-east-1.amazonaws.com%2Fcloudformation%2Fspark-troubleshooting-mcp-setup.yaml&stackName=spark-troubleshooting-mcp-setup)  | 
| Eropa (Frankfurt) |  [https://console.aws.amazon.com/cloudformation/home?region=eu-central-1#/stacks/new?templateURL=https%3A%2F%2Fsmus-mcp-cfn-template-prod-eu-central-1.s3.eu-central-1.amazonaws.com%2Fcloudformation%2Fspark-troubleshooting-mcp-setup.yaml&stackName=spark-troubleshooting-mcp-setup](https://console.aws.amazon.com/cloudformation/home?region=eu-central-1#/stacks/new?templateURL=https%3A%2F%2Fsmus-mcp-cfn-template-prod-eu-central-1.s3.eu-central-1.amazonaws.com%2Fcloudformation%2Fspark-troubleshooting-mcp-setup.yaml&stackName=spark-troubleshooting-mcp-setup)  | 
| Eropa (Stockholm) |  [https://console.aws.amazon.com/cloudformation/home?region=eu-north-1#/stacks/new?templateURL=https%3A%2F%2Fsmus-mcp-cfn-template-prod-eu-north-1.s3.eu-north-1.amazonaws.com%2Fcloudformation%2Fspark-troubleshooting-mcp-setup.yaml&stackName=spark-troubleshooting-mcp-setup](https://console.aws.amazon.com/cloudformation/home?region=eu-north-1#/stacks/new?templateURL=https%3A%2F%2Fsmus-mcp-cfn-template-prod-eu-north-1.s3.eu-north-1.amazonaws.com%2Fcloudformation%2Fspark-troubleshooting-mcp-setup.yaml&stackName=spark-troubleshooting-mcp-setup)  | 
| Eropa (London) |  [https://console.aws.amazon.com/cloudformation/home?region=eu-west-2#/stacks/new?templateURL=https%3A%2F%2Fsmus-mcp-cfn-template-prod-eu-west-2.s3.eu-west-2.amazonaws.com%2Fcloudformation%2Fspark-troubleshooting-mcp-setup.yaml&stackName=spark-troubleshooting-mcp-setup](https://console.aws.amazon.com/cloudformation/home?region=eu-west-2#/stacks/new?templateURL=https%3A%2F%2Fsmus-mcp-cfn-template-prod-eu-west-2.s3.eu-west-2.amazonaws.com%2Fcloudformation%2Fspark-troubleshooting-mcp-setup.yaml&stackName=spark-troubleshooting-mcp-setup)  | 
| Eropa (Paris) |  [https://console.aws.amazon.com/cloudformation/home?region=eu-west-3#/stacks/new?templateURL=https%3A%2F%2Fsmus-mcp-cfn-template-prod-eu-west-3.s3.eu-west-3.amazonaws.com%2Fcloudformation%2Fspark-troubleshooting-mcp-setup.yaml&stackName=spark-troubleshooting-mcp-setup](https://console.aws.amazon.com/cloudformation/home?region=eu-west-3#/stacks/new?templateURL=https%3A%2F%2Fsmus-mcp-cfn-template-prod-eu-west-3.s3.eu-west-3.amazonaws.com%2Fcloudformation%2Fspark-troubleshooting-mcp-setup.yaml&stackName=spark-troubleshooting-mcp-setup)  | 
| Asia Pasifik (Seoul) |  [https://console.aws.amazon.com/cloudformation/home?region=ap-northeast-2#/stacks/new?templateURL=https%3A%2F%2Fsmus-mcp-cfn-template-prod-ap-northeast-2.s3.ap-northeast-2.amazonaws.com%2Fcloudformation%2Fspark-troubleshooting-mcp-setup.yaml&stackName=spark-troubleshooting-mcp-setup](https://console.aws.amazon.com/cloudformation/home?region=ap-northeast-2#/stacks/new?templateURL=https%3A%2F%2Fsmus-mcp-cfn-template-prod-ap-northeast-2.s3.ap-northeast-2.amazonaws.com%2Fcloudformation%2Fspark-troubleshooting-mcp-setup.yaml&stackName=spark-troubleshooting-mcp-setup)  | 
| Asia Pasifik (Mumbai) |  [https://console.aws.amazon.com/cloudformation/home?region=ap-south-1#/stacks/new?templateURL=https%3A%2F%2Fsmus-mcp-cfn-template-prod-ap-south-1.s3.ap-south-1.amazonaws.com%2Fcloudformation%2Fspark-troubleshooting-mcp-setup.yaml&stackName=spark-troubleshooting-mcp-setup](https://console.aws.amazon.com/cloudformation/home?region=ap-south-1#/stacks/new?templateURL=https%3A%2F%2Fsmus-mcp-cfn-template-prod-ap-south-1.s3.ap-south-1.amazonaws.com%2Fcloudformation%2Fspark-troubleshooting-mcp-setup.yaml&stackName=spark-troubleshooting-mcp-setup)  | 

Lanjutkan ke halaman **Tentukan detail tumpukan**, masukkan **nama Stack**. Masukkan informasi tambahan di bawah **Parameter**. Berikan informasi berikut dan lanjutkan untuk membuat tumpukan.
+ **TroubleshootingRoleName**- Nama peran IAM yang akan dibuat untuk operasi pemecahan masalah
+ **Aktifkan EMREC2** - Aktifkan izin pemecahan masalah EMR-EC2 (default: true)
+ **Aktifkan EMRServerless** - Aktifkan izin pemecahan masalah tanpa server EMR (default: true)
+ **EnableGlue**- Aktifkan izin pemecahan masalah Glue (default: true)
+ **CloudWatchKmsKeyArn**- (Opsional) ARN kunci KMS yang ada untuk enkripsi CloudWatch Log (EMR Tanpa Server saja, biarkan kosong untuk enkripsi default)

Anda juga dapat mengunduh dan meninjau [ CloudFormation template](https://github.com/aws-samples/aws-emr-utilities/blob/03c20fece616de23ec0ea5389f0113a5bc65fc3a/utilities/apache-spark-agents/spark-troubleshooting-agent-cloudformation/spark-troubleshooting-mcp-setup.yaml), menentukan opsi di atas dan meluncurkan template sendiri dengan perintah CloudFormation CLI, lihat di bawah untuk contoh:

```
# deploy the stack with CloudFormation CLI commands
aws cloudformation deploy \
  --template-file spark-troubleshooting-mcp-setup.yaml \
  --stack-name spark-troubleshooting-mcp-setup \
  --region <your Spark MCP server launch region> \
  --capabilities CAPABILITY_NAMED_IAM \
  --parameter-overrides \
    TroubleshootingRoleName=spark-troubleshooting-role


# retrieve the 1-line instruction to set the local environment variables, which will be used for the following MCP server configuration
aws cloudformation describe-stacks \
  --stack-name spark-troubleshooting-mcp-setup \
  --region <your Spark MCP server launch region> \
  --query "Stacks[0].Outputs[?OutputKey=='ExportCommand'].OutputValue" \
  --output text
```

Buka tab Output (atau ambil dari perintah CLI CloudFormation deskripsi-tumpukan di atas) dan salin instruksi 1 baris dari output untuk mengatur variabel lingkungan Anda, CloudFormation lalu jalankan di lingkungan lokal Anda. Contoh instruksi 1-baris:

```
export SMUS_MCP_REGION=<your mcp server launch region> && export IAM_ROLE=arn:aws:iam::111122223333:role/spark-troubleshooting-role-xxxxxx
```

Kemudian jalankan perintah berikut secara lokal untuk mengatur profil IAM dan konfigurasi server MCP:

```
# Step 1: Configure AWS CLI Profile
aws configure set profile.smus-mcp-profile.role_arn ${IAM_ROLE}
aws configure set profile.smus-mcp-profile.source_profile <AWS CLI Profile to assume the IAM role - ex: default>
aws configure set profile.smus-mcp-profile.region ${SMUS_MCP_REGION}

# Step 2: if you are using kiro CLI, use the following command to add the MCP configuration
# Add Spark Troubleshooting MCP Server
kiro-cli-chat mcp add \
    --name "sagemaker-unified-studio-mcp-troubleshooting" \
    --command "uvx" \
    --args "[\"mcp-proxy-for-aws@latest\",\"https://sagemaker-unified-studio-mcp.${SMUS_MCP_REGION}.api.aws/spark-troubleshooting/mcp\", \"--service\", \"sagemaker-unified-studio-mcp\", \"--profile\", \"smus-mcp-profile\", \"--region\", \"${SMUS_MCP_REGION}\", \"--read-timeout\", \"180\"]" \
    --timeout 180000 \
    --scope global
    
# Add Spark Code Recommendation MCP Server
kiro-cli-chat mcp add \
    --name "sagemaker-unified-studio-mcp-code-rec" \
    --command "uvx" \
    --args "[\"mcp-proxy-for-aws@latest\",\"https://sagemaker-unified-studio-mcp.${SMUS_MCP_REGION}.api.aws/spark-code-recommendation/mcp\", \"--service\", \"sagemaker-unified-studio-mcp\", \"--profile\", \"smus-mcp-profile\", \"--region\", \"${SMUS_MCP_REGION}\", \"--read-timeout\", \"180\"]" \
    --timeout 180000 \
    --scope global
```

Ini harus diperbarui `~/.kiro/settings/mcp.json` untuk menyertakan konfigurasi server MCP seperti di bawah ini.

```
{
  "mcpServers": {
    "sagemaker-unified-studio-mcp-troubleshooting": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "mcp-proxy-for-aws@latest",
        "https://sagemaker-unified-studio-mcp.us-east-1.api.aws/spark-troubleshooting/mcp",
        "--service",
        "sagemaker-unified-studio-mcp",
        "--profile",
        "smus-mcp-profile",
        "--region",
        "us-east-1",
        "--read-timeout",
        "180"
      ],
      "timeout": 180000,
      "disabled": false
    },
    "sagemaker-unified-studio-mcp-code-rec": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "mcp-proxy-for-aws@latest",
        "https://sagemaker-unified-studio-mcp.us-east-1.api.aws/spark-code-recommendation/mcp",
        "--service",
        "sagemaker-unified-studio-mcp",
        "--profile",
        "smus-mcp-profile",
        "--region",
        "us-east-1",
        "--read-timeout",
        "180"
      ],
      "timeout": 180000,
      "disabled": false
    }
  }
}
```

Lihat panduan konfigurasi [Antarmuka yang Didukung](spark-troubleshooting-using-troubleshooting-agent.md#supported-interfaces) untuk klien MCP yang berbeda seperti Kiro, Cline dan. GitHub CoPilot

# Menggunakan Agen Pemecahan Masalah
<a name="spark-troubleshooting-using-troubleshooting-agent"></a>

## Mode Penerapan yang Didukung
<a name="supported-deployment-modes"></a>

Agen Pemecahan Masalah Apache Spark untuk Amazon EMR mendukung kemampuan analisis komprehensif untuk beban kerja Spark yang gagal, termasuk diagnosis kesalahan otomatis, identifikasi hambatan kinerja, rekomendasi kode, dan saran yang dapat ditindaklanjuti untuk meningkatkan kinerja aplikasi untuk mode penerapan Spark berikut:
+ EMR pada EC2
+ EMR Tanpa Server
+ AWS Glue

Silakan lihat [Fitur dan Kemampuan](spark-troubleshooting-features.md) untuk memahami fitur, kapasitas, dan batasan terperinci.

## Antarmuka yang Didukung
<a name="supported-interfaces"></a>

### Memecahkan Masalah Sel dalam Notebook Amazon SageMaker
<a name="troubleshooting-sagemaker-notebooks"></a>

Demonstrasi pengalaman pemecahan masalah dengan Notebook Amazon. SageMaker Untuk setiap kegagalan sel Notebook, Anda dapat meminta Agen SageMaker Notebook Amazon untuk memecahkan masalah kegagalan untuk meminta analisis diikuti dengan kemungkinan perbaikan kode jika kesalahan dihasilkan dari kode, dengan mengklik tombol`Fix with AI`.

[![AWS Videos](http://img.youtube.com/vi/https://www.youtube.com/embed/btW8hwio0tE/0.jpg)](http://www.youtube.com/watch?v=https://www.youtube.com/embed/btW8hwio0tE)


### Pemecahan Masalah Aplikasi Glue dan EMR Spark dengan Kiro CLI
<a name="troubleshooting-glue-emr-applications"></a>

Mulai Kiro CLI atau Asisten AI Anda dan verifikasi alat yang dimuat untuk proses pemecahan masalah.

```
...
 sagemaker-unified-studio-mcp-code-rec (MCP)
 - spark_code_recommendation    not trusted
 
 sagemaker-unified-studio-mcp-troubleshooting (MCP)
 - analyze_spark_workload       not trusted
...
```

Sekarang Anda siap untuk memulai alur kerja agen pemecahan masalah Spark.

Demonstrasi pengalaman pemecahan masalah dengan Kiro CLI. Anda cukup memulai proses Pemecahan Masalah dengan prompt berikut:

```
Analyze my Glue job. The job name is "xxx" and the job run id is "xxx"
```

[![AWS Videos](http://img.youtube.com/vi/https://www.youtube.com/embed/YLwV_EenJXY/0.jpg)](http://www.youtube.com/watch?v=https://www.youtube.com/embed/YLwV_EenJXY)


### Integrasi Dengan Klien MCP Lainnya
<a name="integration-other-mcp-clients"></a>

Konfigurasi yang dijelaskan dalam juga [Pengaturan untuk Agen Pemecahan Masalah](spark-troubleshooting-agent-setup.md) dapat digunakan di Klien MCP lainnya dan IDEs untuk terhubung ke server MCP Terkelola:
+ **Integrasi Dengan Cline** - Untuk menggunakan MCP Server dengan Cline, memodifikasi `cline_mcp_settings.json` dan menambahkan konfigurasi di atas. Konsultasikan [dokumentasi Cline](https://docs.cline.bot/mcp/configuring-mcp-servers) untuk informasi selengkapnya tentang cara mengelola konfigurasi MCP.
+ **Integrasi Dengan Kode Claude** Untuk menggunakan MCP Server dengan Claude Code, modifikasi file konfigurasi untuk menyertakan konfigurasi MCP. Jalur file bervariasi tergantung pada sistem operasi Anda. Lihat [ https://code.claude.com/docs/en/mcp](https://code.claude.com/docs/en/mcp) untuk pengaturan terperinci.
+ **Integrasi Dengan GitHub Copilot** - Untuk menggunakan server MCP dengan GitHub Copilot, ikuti instruksi di [ https://docs.github.com/en/copilot/how-tos/provide-context/use-mcp/extend- copilot-chat-with-mcp](https://docs.github.com/en/copilot/how-tos/provide-context/use-mcp/extend-copilot-chat-with-mcp) untuk memodifikasi file konfigurasi yang sesuai dan ikuti instruksi per setiap IDE untuk mengaktifkan pengaturan.

# Fitur dan Kemampuan
<a name="spark-troubleshooting-features"></a>

## Platform yang Didukung
<a name="supported-platforms"></a>
+ **Bahasa**: Aplikasi Python dan Scala Spark
+ **Platform Target**: Amazon EMR, EMR Tanpa Server, dan Glue AWS 

## Cara Kerjanya
<a name="how-it-works"></a>

Ketika aplikasi Spark Anda gagal, Anda dapat menggunakan agen pemecahan masalah untuk secara otomatis menyelidiki apa yang salah. Ini menganalisis log peristiwa Spark Anda, pesan kesalahan, dan penggunaan sumber daya untuk menentukan masalah yang tepat — apakah itu pelaksana Spark kehabisan memori, kesalahan konfigurasi, atau bug kode.

Saat Anda meminta prompt bahasa alami untuk menganalisis beban kerja Spark Anda, agen terhubung ke sumber daya platform Anda dan mengekstrak fitur (yang mencakup log peristiwa Spark, rencana kueri, jadwal pelaksana, jejak log, konfigurasi, dan metrik):
+ Pada EMR-EC2: ini terhubung ke [EMR Persistent UI](https://docs.aws.amazon.com/emr/latest/ManagementGuide/app-history-spark-UI.html) untuk cluster
+ On Glue: ini membangun konteks dari [Spark UI Glue Studio untuk pekerjaan](https://docs.aws.amazon.com/glue/latest/dg/monitor-spark-ui-jobs.html) itu
+ [Pada EMR-Serverless: ini terhubung ke EMR-Serverless Spark History Server untuk pekerjaan itu](https://docs.aws.amazon.com/emr-serverless/latest/APIReference/API_GetDashboardForJobRun.html)
+ Agen juga menganalisis jejak tumpukan kesalahan dan detail konfigurasi Anda untuk memberi Anda wawasan yang dapat ditindaklanjuti.

Untuk beban kerja yang gagal, Anda mendapatkan penjelasan akar penyebab yang jelas dan langkah-langkah spesifik untuk memperbaikinya. Jika agen mendeteksi masalah terkait kode, agen secara otomatis memberikan rekomendasi kode untuk menunjukkan kepada Anda apa yang harus diubah dalam kode Anda. Anda juga dapat meminta saran tingkat kode secara langsung kapan pun Anda menginginkannya tanpa analisis lengkap.

## Wilayah yang Tersedia
<a name="available-regions"></a>

Agen Pemecahan Masalah Spark tersedia di wilayah berikut:
+ **Asia Pasifik**: Tokyo (ap-northeast-1), Seoul (ap-northeast-2), Singapura (ap-southeast-1), Sydney (ap-southeast-2), dan Mumbai (ap-southeast-1)
+ **Amerika Utara**: Kanada (ca-central-1)
+ **Eropa**: Stockholm (eu-north-1), Irlandia (eu-west-1), London (eu-west-2), Paris (eu-west-3), dan Frankfurt (eu-central-1)
+ **Amerika Selatan**: São Paulo (sa-east-1)
+ **Amerika Serikat**: Virginia Utara (us-east-1), Ohio (us-east-2), dan Oregon (us-west-2)

## Lingkup Pemecahan Masalah Spark dan Persyaratan Pengguna
<a name="scope-requirements"></a>
+ **Status beban kerja Spark yang didukung**: Alat hanya akan mendukung respons untuk beban kerja Spark yang gagal.
+ **EMR Persistent UI:** Saat menganalisis beban kerja Amazon EMR-EC2, alat analisis akan mencoba terhubung ke EMR Persistent UI untuk mengambil informasi Spark kunci. [Pertimbangan EMR Persistent UI didokumentasikan di sini.](https://docs.aws.amazon.com/emr/latest/ManagementGuide/app-history-spark-UI.html#app-history-spark-UI-limitations)
+ **Glue Studio Spark UI**: Saat menganalisis beban kerja AWS Glue, alat analisis akan mencoba mengambil informasi Spark kunci dengan mengurai log peristiwa Spark pengguna dari Amazon S3. Ukuran log peristiwa Spark maksimum yang diizinkan didokumentasikan [di sini](https://docs.aws.amazon.com/glue/latest/dg/monitor-spark-ui-jobs.html): 512 MB dan 2 GB untuk log bergulir.
+ **Rekomendasi Kode:** Hanya didukung untuk beban kerja Amazon EMR-EC2 dan AWS Glue untuk beban kerja PySpark 
+ **Sumber daya regional:** Agen Pemecahan Masalah Spark bersifat regional dan menggunakan sumber daya EMR yang mendasarinya di wilayah tersebut untuk proses pemecahan masalah. Pemecahan masalah lintas wilayah tidak didukung.

# Pemecahan Masalah dan Tanya Jawab
<a name="spark-troubleshooting-agent-troubleshooting"></a>

## Pemecahan masalah
<a name="spark-troubleshooting-common-issues"></a>

Pesan kesalahan dari Agen Pemecahan Masalah Spark tersedia dengan berbagai cara untuk klien MCP yang berbeda. Di halaman ini, kami mencantumkan beberapa panduan umum untuk masalah umum yang mungkin Anda lihat menggunakan agen pemecahan masalah Apache Spark untuk Amazon EMR.

Topik
+ [Kesalahan: Server MCP Gagal Memuat](#mcp-server-failed-to-load)
+ [Pengamatan: Pemuatan Alat Lambat](#slow-tool-loading)
+ [Kesalahan: Pemanggilan Alat Gagal dengan Kesalahan Pelambatan](#throttling-error)
+ [Kesalahan: Alat Menanggapi Dengan Kesalahan Pengguna](#user-error)
+ [Kesalahan: Alat Menanggapi Dengan Kesalahan Internal](#internal-error)

### Kesalahan: Server MCP Gagal Memuat
<a name="mcp-server-failed-to-load"></a>
+ Verifikasi konfigurasi MCP Anda dikonfigurasi dengan benar.
+ **Validasi sintaks JSON**:
  + Pastikan JSON Anda valid tanpa kesalahan sintaks
  + Periksa koma, tanda kutip, atau tanda kurung yang hilang
+ Verifikasi AWS kredensi lokal Anda dan verifikasi kebijakan untuk peran IAM MCP telah dikonfigurasi dengan benar.
+ Jalankan /mcp untuk memverifikasi ketersediaan server MCP untuk kasus `Kiro-CLI`

### Pengamatan: Pemuatan Alat Lambat
<a name="slow-tool-loading"></a>
+ Alat mungkin memerlukan beberapa detik untuk dimuat pada upaya pertama meluncurkan server.
+ Jika alat tidak muncul, coba mulai ulang obrolan.
+ Jalankan `/tools` perintah untuk memverifikasi ketersediaan alat.
+ Jalankan `/mcp` jika server diluncurkan tanpa kesalahan.

### Kesalahan: Pemanggilan Alat Gagal dengan Kesalahan Pelambatan
<a name="throttling-error"></a>
+ Jika Anda mencapai batas layanan, harap tunggu beberapa detik untuk mengeluarkan pemanggilan alat jika Anda melihat pengecualian pelambatan.

### Kesalahan: Alat Menanggapi Dengan Kesalahan Pengguna
<a name="user-error"></a>
+ AccessDeniedException - periksa pesan kesalahan dan perbaiki masalah izin.
+ InvalidInputException - periksa pesan kesalahan dan perbaiki parameter input alat.
+ ResourceNotFoundException - periksa pesan kesalahan dan perbaiki parameter input untuk referensi sumber daya.

### Kesalahan: Alat Menanggapi Dengan Kesalahan Internal
<a name="internal-error"></a>
+ Jika Anda melihatnya, `The service is handling high-volume requests` coba lagi pemanggilan alat dalam beberapa detik.
+ Jika Anda melihatnya, `INTERNAL SERVICE EXCEPTION` harap dokumentasikan id analisis, nama alat, pesan kesalahan apa pun yang tersedia dari log mcp atau respons alat dan riwayat percakapan yang disanitasi opsional dan hubungi dukungan. AWS 

## T&J
<a name="spark-troubleshooting-qa"></a>

### 1. Haruskah saya mengaktifkan pengaturan “kepercayaan” untuk alat secara default?
<a name="qa-trust-setting"></a>

Jangan aktifkan setelan “trust” secara default untuk semua panggilan alat pada awalnya dan operasikan pada lingkungan build berversi git saat menerima rekomendasi kode. Tinjau setiap eksekusi alat untuk memahami perubahan apa yang sedang dilakukan.

### 2. Apa contoh umum yang diminta untuk memanfaatkan alat pemecahan masalah?
<a name="qa-example-prompts"></a>

Silakan lihat untuk [Contoh Prompt](spark-troubleshooting-agent-prompt-examples.md) contoh cepat tentang memanfaatkan alat pemecahan masalah.

### 3. Data apa yang dikirimkan ke LLM dan bagaimana penanganannya?
<a name="qa-data-transmitted-to-llm"></a>

Data dan file pelanggan tetap berada dalam AWS Wilayah pilihan Anda dan tidak dikirimkan lintas wilayah. Ketika agen beroperasi di Wilayah yang menggunakan inferensi lintas wilayah global dari Amazon Bedrock, layanan dapat merutekan permintaan ke Wilayah terdekat dengan kapasitas yang tersedia tergantung pada permintaan. Dalam kasus seperti itu, hanya metadata yang diekstraksi dari log pelanggan dan hasil inferensi yang diproses yang ditransmisikan, bukan data atau file pelanggan yang mendasarinya. Semua data ditutupi PII sebelum dikirim ke LLM untuk diproses, apakah inferensi terjadi dalam Wilayah yang sama atau diarahkan ke Wilayah lain. Untuk detail lebih lanjut tentang cara kerja inferensi lintas wilayah dan Wilayah mana yang terpengaruh, lihat. [Pemrosesan Lintas Wilayah untuk Agen Pemecahan Masalah Apache Spark](spark-troubleshooting-cross-region-processing.md)

# Alur Kerja Agen Pemecahan Masalah Spark dalam Detail
<a name="spark-troubleshooting-agent-workflow"></a>

Untuk memulai proses pemecahan masalah, Anda memerlukan akses ke pengidentifikasi aplikasi Spark gagal yang berjalan pada platform yang didukung (EMR-EC2, EMR Tanpa Server, Glue, atau Notebook Data Amazon). AWS SageMaker Aplikasi harus memiliki log yang dapat diakses, Spark History Server, dan detail konfigurasi. Pastikan Anda memiliki izin yang diperlukan untuk mengakses sumber daya platform dan metadata aplikasi. Setelah persyaratan ini ditetapkan, Anda dapat mengirimkan prompt seperti berikut untuk memulai alur kerja pemecahan masalah:

```
Analyze my EMR step execution failure, EMR id <step-id> with cluster id <cluster-id>
```

Pada titik ini, agen akan mengatur pemecahan masalah menggunakan alat khusus. Alur kerja mengikuti langkah-langkah ini:

1. **Ekstraksi Fitur dan Pembuatan Konteks**: Agen secara otomatis mengumpulkan dan menganalisis data telemetri dari aplikasi Spark Anda termasuk log Server Sejarah, pengaturan konfigurasi, dan jejak kesalahan. Anda akan melihat alat mengumpulkan informasi tentang metrik kinerja, pola pemanfaatan sumber daya, dan tanda tangan kegagalan.

1. **Analisis dan Identifikasi Akar Penyebab**: Agen memanfaatkan model AI dan basis pengetahuan Spark untuk mengkorelasikan fitur yang diekstraksi dan mengidentifikasi akar penyebab masalah atau kegagalan kinerja. Anda akan menerima:
   + **Analisis Wawasan**: Rincian teknis tentang apa yang ditemukan dan dianalisis agen.
   + **Akar Penyebab**: Penjelasan yang jelas tentang apa yang salah dan mengapa.
   + **Penilaian Awal**: Apakah masalah terkait kode, terkait konfigurasi, atau terkait sumber daya, beberapa panduan dan analisis umum akan disediakan untuk mitigasi.

1. **Rekomendasi Kode** (jika berlaku): Jika analisis mengidentifikasi masalah terkait kode berdasarkan klasifikasi kesalahan, agen dapat menyarankan untuk memanfaatkan alat rekomendasi kode untuk memberikan rekomendasi spesifik untuk mengimplementasikan perbaikan kode yang direkomendasikan dengan kode yang tepat bersama dengan penggantian yang before/after disarankan.

Proses pemecahan masalah bersifat berulang - Anda dapat melanjutkan percakapan untuk menyelam lebih dalam ke masalah tertentu; Anda juga dapat menggunakan alat secara interaktif dalam pengembangan kode Spark lokal kami untuk mengatasi bug kode atau meningkatkan kode Anda secara terus menerus.

# Contoh Prompt
<a name="spark-troubleshooting-agent-prompt-examples"></a>

Berikut adalah daftar contoh prompt yang dapat digunakan dalam pengalaman pemecahan masalah.

## 1. Memecahkan masalah kegagalan eksekusi pekerjaan Spark
<a name="troubleshoot-job-failure"></a>

EMR pada Pemecahan Masalah EC2:

```
Troubleshoot my EMR-EC2 step with id s-xxxxxxxxxxxx on cluster j-xxxxxxxxxxxxx
```

Pemecahan Masalah Glue Job:

```
Troubleshoot my Glue job with job run id jr_xxxxxxxxxxxxxxxxxxxxxxxxxxxx and job name test_job
```

Pemecahan Masalah EMR Tanpa Server:

```
Troubleshoot my EMR-Serverless job run with application id 00xxxxxxxx and job run id 00xxxxxxxx
```

## 2. Permintaan rekomendasi perbaikan kode
<a name="request-code-fix"></a>

Minta rekomendasi perbaikan kode untuk EMR pada pekerjaan EC2:

```
Recommend code fix for my EMR-EC2 step with id s-STEP_ID on cluster j-CLUSTER_ID
```

Minta rekomendasi perbaikan kode untuk pekerjaan Glue:

```
Recommend code fix for my Glue job with job run id jr_JOB_RUN_ID and job name test_job
```

# Pengaturan Peran IAM
<a name="spark-troubleshooting-agent-iam-setup"></a>

 CloudFormation Tumpukan dalam Petunjuk Pengaturan mengotomatiskan pengaturan peran IAM untuk Anda. Jika Anda ingin menjalankannya secara manual, ikuti petunjuk di bawah ini:

## Pengaturan Peran IAM untuk MCP Server
<a name="iam-role-mcp-server"></a>

Untuk mengakses server MCP Terkelola SMUS, diperlukan peran IAM dengan kebijakan inline berikut:

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowUseSagemakerUnifiedStudioMcpServer",
            "Effect": "Allow",
            "Action": [
                "sagemaker-unified-studio-mcp:InvokeMcp",
                "sagemaker-unified-studio-mcp:CallReadOnlyTool",
                "sagemaker-unified-studio-mcp:CallPrivilegedTool"
            ],
            "Resource": [
                "*"
            ]
        }
    ]
}
```

Pada langkah selanjutnya, kami akan membuat profil untuk peran ini. Akun mana pun yang mengambil peran ini untuk mendapatkan kredensil harus ditambahkan ke kebijakan peran asumsi.

```
{
  "Version": "2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "AllowAccountToAssumeRole",
      "Effect": "Allow",
      "Principal": { "AWS": "arn:aws:iam::<accountId>:root" },
      "Action": "sts:AssumeRole"
    }
  ]
}
```

## Izin Tambahan dengan Mode Penerapan (EMR-EC2/EMR-S/Glue)
<a name="additional-permissions"></a>

### Aplikasi EMR-EC2
<a name="emr-ec2-permissions"></a>

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "EMREC2ReadAccess",
            "Effect": "Allow",
            "Action": [
                "elasticmapreduce:DescribeCluster",
                "elasticmapreduce:DescribeStep",
                "elasticmapreduce:ListSteps",
                "elasticmapreduce:ListClusters",
                "elasticmapreduce:DescribeJobFlows"
            ],
            "Resource": [
                "*"
            ]
        },
        {
            "Sid": "EMRS3LogAccess",
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:ListBucket"
            ],
            "Resource": "*"
        },
        {
            "Sid": "EMRPersistentApp",
            "Effect": "Allow",
            "Action": [
                "elasticmapreduce:CreatePersistentAppUI",
                "elasticmapreduce:DescribePersistentAppUI",
                "elasticmapreduce:GetPersistentAppUIPresignedURL"
            ],
            "Resource": [
                "*"
            ]
        }
    ]
}
```

### Lowongan Glue
<a name="glue-permissions"></a>

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "GlueReadAccess",
            "Effect": "Allow",
            "Action": [
                "glue:GetJob",
                "glue:GetJobRun",
                "glue:GetJobRuns",
                "glue:GetJobs",
                "glue:BatchGetJobs"
            ],
            "Resource": [
                "arn:aws:glue:*:<account id>:job/*"
            ]
        },
        {
            "Sid": "GlueCloudWatchLogsAccess",
            "Effect": "Allow",
            "Action": [
                "logs:GetLogEvents",
                "logs:FilterLogEvents"
            ],
            "Resource": [
                "arn:aws:logs:*:<account id>:log-group:/aws/glue/*"
            ]
        },
        {
            "Sid": "GlueSparkWebUI",
            "Effect": "Allow",
            "Action": [
                "glue:RequestLogParsing",
                "glue:GetLogParsingStatus",
                "glue:GetEnvironment",
                "glue:GetStage",
                "glue:GetStages",
                "glue:GetStageFiles",
                "glue:BatchGetStageFiles",
                "glue:GetStageAttempt",
                "glue:GetStageAttemptTaskList",
                "glue:GetStageAttemptTaskSummary",
                "glue:GetExecutors",
                "glue:GetExecutorsThreads",
                "glue:GetStorage",
                "glue:GetStorageUnit",
                "glue:GetQueries",
                "glue:GetQuery",
                "glue:GetDashboardUrl"
            ],
            "Resource": [
                "arn:aws:glue:*:<account id>:job/*"
            ]
        },
        {
            "Sid": "GluePassRoleAccess",
            "Effect": "Allow",
            "Action": "iam:PassRole",
            "Resource": "*",
            "Condition": {
                "StringLike": {
                    "iam:PassedToService": "glue.amazonaws.com"
                }
            }
        }
    ]
}
```

### Aplikasi EMR Tanpa Server
<a name="emr-serverless-permissions"></a>

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "EMRServerlessReadAccess",
            "Effect": "Allow",
            "Action": [
                "emr-serverless:GetJobRun",
                "emr-serverless:GetApplication",
                "emr-serverless:ListApplications",
                "emr-serverless:ListJobRuns",
                "emr-serverless:ListJobRunAttempts",
                "emr-serverless:GetDashboardForJobRun",
                "emr-serverless:ListTagsForResource"
            ],
            "Resource": [
                "*"
            ]
        },
        {
            "Sid": "EMRServerlessCloudWatchLogsAccess",
            "Effect": "Allow",
            "Action": [
                "logs:GetLogEvents",
                "logs:FilterLogEvents"
            ],
            "Resource": [
                "arn:aws:logs:*:<account id>:log-group:/aws/emr-serverless/*"
            ]
        },
        {
            "Sid": "EMRServerlessS3LogsAccess",
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:ListBucket"
            ],
            "Resource": "*"
        }
    ]
}
```

### Izin KMS - Log CloudWatch
<a name="kms-permissions"></a>

Jika CloudWatch Log dienkripsi dengan CMK, tambahkan kebijakan berikut agar layanan dapat membaca log aplikasi EMR-Serverless.

```
{
    "Effect": "Allow",
    "Action": [
        "kms:Decrypt",
        "kms:DescribeKey"
    ],
    "Resource": "arn:aws:kms:<region>:<account-id>:key/<cw-logs-cmk-id>"
}
```

# Menggunakan Alat Pemecahan Masalah Spark
<a name="spark-troubleshooting-agent-using-tools"></a>

## Alat Pemecahan Masalah yang Tersedia
<a name="available-tools"></a>

Layanan MCP menyediakan berbagai alat untuk Agen Pemecahan Masalah Spark. Alat utama adalah sebagai berikut:


| Nama Alat | Kategori Alat | Deskripsi | 
| --- | --- | --- | 
| analyze\$1spark\$1workload | Analisis Akar Penyebab | Menyediakan pemecahan masalah terperinci untuk beban kerja Apache Spark yang gagal | 
| spark\$1code\$1rekomendasi | Rekomendasi Perbaikan Kode | Memberikan rekomendasi kode Apache Spark untuk pekerjaan yang gagal | 

# Mengkonfigurasi Titik Akhir VPC Antarmuka untuk SageMaker Amazon Unified Studio MCP
<a name="spark-troubleshooting-agent-vpc-endpoints"></a>

*Anda dapat membuat koneksi pribadi antara VPC dan layanan Amazon SageMaker Unified Studio MCP dengan membuat titik akhir VPC antarmuka.* Endpoint antarmuka didukung oleh [Amazon VPC](https://aws.amazon.com/vpc/), yang memungkinkan Anda mengakses server MCP secara pribadi di VPC Anda tanpa gateway internet, perangkat NAT, koneksi VPN, atau koneksi. Instans di VPC Anda tidak memerlukan alamat IP publik untuk berkomunikasi dengan layanan MCP dan lalu lintas antara VPC dan layanan MCP Anda tidak meninggalkan jaringan Amazon.

Setiap titik akhir antarmuka diwakili oleh satu atau lebih Antarmuka [Jaringan Elastis di subnet](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html) VPC Anda. Untuk informasi selengkapnya, lihat [Titik akhir VPC Antarmuka di Panduan](https://docs.aws.amazon.com/vpc/latest/userguide/vpce-interface.html) Pengguna Amazon *VPC*.

## Langkah 1: Membuat titik akhir VPC antarmuka untuk Amazon SageMaker Unified Studio MCP
<a name="create-vpc-endpoint"></a>

Anda dapat membuat titik akhir VPC untuk layanan Amazon SageMaker Unified Studio MCP menggunakan konsol VPC Amazon atau konsol. AWS CLI Untuk informasi selengkapnya, lihat [Membuat titik akhir antarmuka](https://docs.aws.amazon.com/vpc/latest/userguide/vpce-interface.html#create-interface-endpoint) dalam *Panduan Pengguna Amazon VPC*.

Buat endpoint VPC untuk Amazon SageMaker Unified Studio MCP menggunakan nama layanan berikut:
+ com.amazonaws. *<aws-region>*. sagemaker-unified-studio-mcp

Jika Anda mengaktifkan DNS pribadi untuk titik akhir, Anda dapat membuat permintaan API ke Amazon SageMaker Unified Studio MCP menggunakan nama DNS default untuk Wilayah, misalnya, `sagemaker-unified-studio-mcp.us-east-1.api.aws`

Untuk informasi selengkapnya, lihat [Mengakses layanan melalui titik akhir antarmuka](https://docs.aws.amazon.com/vpc/latest/userguide/vpce-interface.html#access-service-though-endpoint) dalam *Panduan Pengguna Amazon VPC*.

## Langkah 2: Membuat Kebijakan titik akhir VPC untuk Amazon SageMaker Unified Studio MCP
<a name="create-vpc-endpoint-policy"></a>

Anda dapat melampirkan kebijakan titik akhir ke titik akhir VPC yang mengontrol akses ke SageMaker Amazon Unified Studio MCP. Kebijakan titik akhir menentukan informasi berikut:
+ Prinsipal yang dapat melakukan tindakan.
+ Tindakan yang dapat dilakukan.
+ Sumber daya yang menjadi target tindakan.

Untuk informasi selengkapnya, lihat [Mengontrol Akses ke Layanan dengan titik akhir VPC](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints-access.html) dalam *Panduan Pengguna Amazon VPC*.

### Contoh: Kebijakan titik akhir VPC untuk mengizinkan akses MCP ke peran IAM tertentu
<a name="vpc-endpoint-policy-example"></a>

Berikut ini adalah contoh kebijakan endpoint untuk akses Amazon SageMaker Unified Studio MCP. Saat dilampirkan ke titik akhir, kebijakan ini memberikan akses ke tindakan MCP Amazon SageMaker Unified Studio yang terdaftar untuk prinsipal peran IAM tertentu di semua sumber daya.

```
{
  "Version": "2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "AWS": "arn:aws:iam::ACCOUNT-ID:role/YourRoleName"
      },
      "Action": [
        "sagemaker-unified-studio-mcp:InvokeMcp",
        "sagemaker-unified-studio-mcp:CallReadOnlyTool",
        "sagemaker-unified-studio-mcp:CallPrivilegedTool"
      ],
      "Resource": "*"
    }
  ]
}
```

## Langkah 3: Menguji VPC Anda
<a name="test-vpc-endpoint"></a>

`curl`Perintah memvalidasi konektivitas end-to-end jaringan dari jaringan VPC Anda (EC2) ke titik akhir VPC dengan membuat permintaan. HTTP/HTTPS Respons curl yang menerima Pesan kembali dari server MCP mengonfirmasi bahwa jalur jaringan lengkap berfungsi.

### Metode 1: Dengan DNS Pribadi Diaktifkan (Disarankan)
<a name="test-private-dns-enabled"></a>

```
curl https://sagemaker-unified-studio-mcp.us-east-1.api.aws/spark-troubleshooting/mcp
```

### Metode 2: Tanpa DNS Pribadi Diaktifkan
<a name="test-private-dns-disabled"></a>

```
curl -k https://vpce-0069xxxx-ejwhxxx.sagemaker-unified-studio-mcp.us-east-1.vpce.amazonaws.com/spark-troubleshooting/mcp
```

**catatan**  
`-k`Bendera melewati verifikasi sertifikat SSL karena ketidakcocokan nama host antara nama DNS titik akhir VPC dan Nama Umum (CN) sertifikat.

Dalam kedua kasus, perintah curl mengembalikan respons:`{"Message":"...."}`. Kembali dengan Pesan memverifikasi konektivitas jalur jaringan yang berhasil ke titik akhir VPC layanan MCP.

## Langkah 4: Mulai gunakan titik akhir MCP VPC
<a name="use-vpc-endpoint"></a>

Setelah Anda memverifikasi koneksi, Anda dapat mengikuti langkah-langkah untuk mengonfigurasi MCP. [Pengaturan untuk Agen Pemecahan Masalah](spark-troubleshooting-agent-setup.md) Cukup gunakan titik akhir VPC pribadi dalam konfigurasi MCP Anda.

# Pemrosesan Lintas Wilayah untuk Agen Pemecahan Masalah Apache Spark
<a name="spark-troubleshooting-cross-region-processing"></a>

Agen Pemecahan Masalah Apache Spark menggunakan inferensi lintas wilayah untuk memproses permintaan bahasa alami dan menghasilkan tanggapan. Dengan inferensi lintas wilayah, agen secara otomatis merutekan permintaan inferensi Anda untuk mengoptimalkan kinerja, memaksimalkan sumber daya komputasi dan ketersediaan model yang tersedia, dan memberikan pengalaman pelanggan terbaik. Jenis inferensi lintas wilayah yang digunakan bergantung pada wilayah tempat Anda menjalankan Agen Pemecahan Masalah Apache Spark. Di sebagian besar Wilayah, agen memilih wilayah optimal dalam geografi Anda untuk memproses permintaan inferensi Anda. Namun, di beberapa Wilayah permintaan inferensi yang dibuat oleh Agen diarahkan dengan aman ke semua sumber daya komputasi yang tersedia di semua Wilayah komersial global. AWS 

## Inferensi Lintas Wilayah
<a name="cross-region-inference-overview"></a>

Agen Pemecahan Masalah Apache Spark didukung oleh Amazon Bedrock dan menggunakan inferensi lintas wilayah untuk mendistribusikan lalu lintas di berbagai AWS Wilayah guna meningkatkan kinerja dan keandalan inferensi model bahasa besar (LLM).

Meskipun inferensi lintas wilayah tidak berubah di mana aplikasi Spark Anda atau pengalaman pemecahan masalah Anda di-host atau data Anda disimpan, permintaan input dan hasil keluaran Anda dapat dikirimkan ke Wilayah yang berbeda untuk pemrosesan inferensi. Semua data ditransmisikan dienkripsi di seluruh jaringan aman Amazon.

Tidak ada biaya tambahan untuk menggunakan inferensi lintas wilayah.

## Wilayah yang Didukung untuk Inferensi Lintas Wilayah
<a name="supported-regions-cross-region"></a>

 **Wilayah Menggunakan Inferensi Lintas Wilayah Geografis** 

Untuk sebagian besar Wilayah, permintaan inferensi lintas wilayah disimpan dalam AWS Wilayah yang merupakan bagian dari geografi yang sama tempat Anda menjalankan Agen Pemecahan Masalah Apache Spark. Misalnya, permintaan yang dibuat dari agen di Wilayah AS Timur (Virginia N.) hanya dialihkan ke AWS Wilayah dalam geografi Amerika Serikat. Tabel berikut menjelaskan Wilayah mana permintaan Anda dapat diarahkan tergantung pada geografi tempat permintaan tersebut berasal:


| Geografi yang Didukung | Daerah Inferensi | 
| --- | --- | 
|  Amerika Serikat  |  AS Timur (Virginia N.) (us-timur-1), AS Barat (Oregon) (us-barat-2), AS Timur (Ohio) (us-timur-2), AS Barat (California Utara) (us-west-1)  | 
|  Eropa  |  Eropa (Frankfurt) (eu-central-1), Eropa (Irlandia) (eu-west-1), Eropa (Paris) (eu-west-3), Eropa (eu-west-3), Eropa (Stockholm) (eu-north-1), Eropa (London) (eu-west-2)  | 
|  Asia Pasifik  |  Asia Pasifik (Tokyo) (ap-northeast-1), Asia Pasifik (Seoul) (ap-northeast-2), Asia Pasifik (ap-south-1)  | 

### Wilayah Menggunakan Inferensi Lintas Wilayah Global
<a name="global-cross-region-inference"></a>

**penting**  
 AWS Wilayah berikut menggunakan inferensi lintas wilayah global. Saat Anda menggunakan Agen Pemecahan Masalah Apache Spark di Wilayah ini, permintaan Anda dapat dikirimkan secara global ke AWS Wilayah lain untuk pemrosesan inferensi guna mengoptimalkan kinerja dan ketersediaan:  
Amerika Selatan (Sao Paulo) (sa-east-1)
Asia Pasifik (Singapura) (ap-southeast-1)
Asia Pasifik (Sydney) (ap-southeast-2)
Kanada (Pusat) (ca-central-1)

# Pencatatan panggilan MCP Amazon SageMaker Unified Studio menggunakan AWS CloudTrail
<a name="spark-troubleshooting-cloudtrail-integration"></a>

Amazon SageMaker Unified Studio MCP Server terintegrasi dengan AWS CloudTrail, layanan yang menyediakan catatan tindakan yang diambil oleh pengguna, peran, atau AWS layanan di Amazon SageMaker Unified Studio MCP Server. CloudTrail menangkap semua panggilan API untuk Amazon SageMaker Unified Studio MCP Server sebagai peristiwa. Panggilan yang diambil termasuk panggilan ke Amazon SageMaker Unified Studio MCP Server dan panggilan kode ke AWS operasi lain selama eksekusi alat dari SageMaker Unified Studio MCP Server. Jika Anda membuat jejak, Anda dapat mengaktifkan pengiriman CloudTrail acara secara terus menerus ke bucket Amazon S3, termasuk acara untuk Amazon SageMaker Unified Studio MCP Server. 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 ke Amazon SageMaker Unified Studio MCP Server, alamat IP dari mana permintaan dibuat, siapa yang membuat permintaan, kapan dibuat, dan detail tambahan.

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

## Informasi Server MCP Amazon SageMaker Unified Studio di CloudTrail
<a name="sagemaker-mcp-info-in-cloudtrail"></a>

CloudTrail diaktifkan di AWS akun Anda saat Anda membuat akun. Ketika aktivitas terjadi di Amazon SageMaker Unified Studio MCP Server, aktivitas tersebut direkam dalam suatu CloudTrail peristiwa bersama dengan peristiwa AWS layanan lainnya dalam riwayat **Acara**. Anda dapat melihat, mencari, dan mengunduh acara terbaru di AWS akun Anda. Untuk informasi selengkapnya, lihat [Melihat peristiwa dengan Riwayat CloudTrail acara](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/view-cloudtrail-events.html).

Untuk catatan peristiwa yang sedang berlangsung di AWS akun Anda, termasuk acara untuk SageMaker Unified Studio MCP Server, buat jejak. Jejak memungkinkan CloudTrail untuk mengirimkan file log ke bucket Amazon S3. Secara default, saat Anda membuat jejak di konsol, jejak tersebut berlaku untuk semua AWS Wilayah. Jejak mencatat peristiwa dari semua Wilayah di AWS partisi dan mengirimkan file log ke bucket Amazon S3 yang Anda tentukan. Selain itu, Anda dapat mengonfigurasi AWS layanan lain 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)
+ [Mengonfigurasi notifikasi Amazon SNS untuk CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/configure-sns-notifications-for-cloudtrail.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)

Semua pemanggilan alat SageMaker Unified Studio MCP Server dan panggilan API ke AWS layanan selama eksekusi alat dicatat oleh. CloudTrail Misalnya, panggilan ke berbagai alat dan panggilan AWS layanan yang dibuat dari alat menghasilkan entri dalam file CloudTrail log.

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

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

## Memahami entri file log Amazon SageMaker Unified Studio MCP Server
<a name="understanding-mcp-log-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 mana pun 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, jadi file tersebut tidak muncul dalam urutan tertentu.

Contoh berikut menunjukkan entri CloudTrail log yang menunjukkan `CallTool` tindakan.

```
{
    "eventVersion": "1.09",
    "userIdentity": {
        ...
    },
    "eventTime": "...",
    "eventSource": "sagemaker-unified-studio-mcp.amazonaws.com",
    "eventName": "CallPrivilegedTool",
    "awsRegion": "us-east-1",
    "sourceIPAddress": "...",
    "userAgent": "...",
    "requestParameters": {
        "id": 1,
        "method": "tools/call",
        "params": {
            "name": "generate_spark_upgrade_plan",
            "arguments": "***",
            "_meta": {
                "progressToken": 1
            }
        },
        "jsonrpc": "2.0"
    },
    "responseElements": {
        "result": {
            "content": "***",
            "structuredContent": "***",
            "isError": false
        },
        "id": 1,
        "jsonrpc": "2.0"
    },
    "requestID": "12345678-1234-1234-1234-123456789012",
    "eventID": "87654321-4321-4321-4321-210987654321",
    "readOnly": false,
    "eventType": "AwsMcpEvent",
    "managementEvent": true,
    "recipientAccountId": "123456789012",
    "eventCategory": "Management"
}
```

Contoh berikut menunjukkan entri CloudTrail log yang menunjukkan `AddJobFlowSteps` tindakan dari Amazon SageMaker Unified Studio MCP selama pemanggilan alat pemutakhiran.

```
{
    "eventVersion": "1.11",
    "userIdentity": {
        "type": "AssumedRole",
        "principalId": "...",
        "arn": "...",
        "accountId": "123456789012",
        "accessKeyId": "...",
        "sessionContext": {
            ...
        },
        "invokedBy": "sagemaker-unified-studio-mcp.amazonaws.com"
    },
    "eventTime": "...",
    "eventSource": "elasticmapreduce.amazonaws.com",
    "eventName": "AddJobFlowSteps",
    "awsRegion": "us-east-1",
    "sourceIPAddress": "sagemaker-unified-studio-mcp.amazonaws.com",
    "userAgent": "sagemaker-unified-studio-mcp.amazonaws.com",
    "requestParameters": {
        "jobFlowId": "j-2PY4KXXXXXX63",
        "steps": [
            ...
        ]
    },
    "responseElements": {
        "stepIds": [
            ...
        ]
    },
    "requestID": "12345678-1234-1234-1234-123456789013",
    "eventID": "87654321-4321-4321-4321-210987654322",
    "readOnly": false,
    "eventType": "AwsApiCall",
    "managementEvent": true,
    "recipientAccountId": "123456789012",
    "sharedEventID": "12345678-1234-1234-1234-123456789012",
    "vpcEndpointId": "sagemaker-unified-studio-mcp.amazonaws.com",
    "vpcEndpointAccountId": "sagemaker-unified-studio-mcp.amazonaws.com",
    "eventCategory": "Management"
}
```

# Peningkatan Layanan untuk Agen Apache Spark
<a name="spark-agents-service-improvements"></a>

Agen Apache Spark untuk Amazon EMR dapat menggunakan konten, misalnya, untuk membantu Agen memberikan tanggapan yang lebih baik terhadap pertanyaan umum, memperbaiki masalah operasional, atau untuk debugging.

## Konten yang AWS Dapat Digunakan untuk Peningkatan Layanan
<a name="content-used-for-improvement"></a>
+ Bahasa alami Anda meminta dan menghasilkan tanggapan dari agen Apache Spark untuk Amazon EMR, Glue, dan Amazon Notebooks AWS SageMaker 

## Konten yang AWS Tidak Digunakan untuk Peningkatan Layanan
<a name="content-not-used-for-improvement"></a>
+ Kode yang Anda tulis sendiri untuk aplikasi Spark
+ SageMaker Konteks dan metadata notebook
+ Data dari Katalog Data AWS Glue Anda atau sumber data lainnya

Hanya karyawan Amazon yang akan memiliki akses ke data. Kepercayaan, privasi, dan keamanan Konten Pelanggan Anda adalah prioritas utama kami dan memastikan bahwa penggunaan kami sesuai dengan komitmen kami kepada Anda. Untuk informasi selengkapnya, lihat FAQ Privasi Data.

## Cara Memilih Keluar
<a name="how-to-opt-out"></a>

Untuk memilih keluar dari pengumpulan data untuk Agen Spark Apache, konfigurasikan kebijakan opt-out layanan AI di Organizations AWS for Amazon SageMaker Unified Studio MCP Service. Untuk informasi selengkapnya, lihat [kebijakan opt-out layanan AI](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_ai-opt-out.html) di *Panduan Pengguna AWS Organizations*.

Saat Anda mengonfigurasi kebijakan opt-out layanan AI, kebijakan tersebut memiliki efek berikut:
+ AWS akan menghapus data yang dikumpulkan dan disimpan untuk perbaikan layanan sebelum Anda memilih keluar (jika ada).
+ Setelah Anda memilih keluar, tidak AWS akan lagi mengumpulkan atau menyimpan data ini.
+ AWS tidak akan lagi menggunakan konten Anda untuk peningkatan layanan.