

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

# Observabilitas di Layanan Amazon OpenSearch
<a name="observability"></a>

Observabilitas adalah praktik memahami keadaan internal dan kinerja sistem yang kompleks dengan memeriksa outputnya. Pemantauan tradisional memberi tahu Anda bahwa sistem sedang down; observabilitas membantu Anda memahami alasannya dengan membiarkan Anda mengajukan pertanyaan baru tentang data telemetri Anda.

## Apa yang disediakan Amazon OpenSearch Service
<a name="observability-what"></a>

Amazon OpenSearch Service menyediakan solusi observabilitas terpadu dengan mengumpulkan, mengkorelasikan, dan memvisualisasikan tiga jenis data telemetri:
+ **Log** — Catatan peristiwa dengan cap waktu.
+ **Jejak** — End-to-end perjalanan permintaan melalui layanan terdistribusi.
+ **Metrik** — Data deret waktu yang mewakili kesehatan sistem, melalui Layanan Terkelola Amazon untuk integrasi kueri langsung Prometheus.

Dengan menyatukan ini dalam satu antarmuka, Amazon OpenSearch Service membantu tim operasi, dan pengembang mendeteksi SREs, mendiagnosis, dan menyelesaikan masalah dengan lebih cepat.

## Pendekatan OpenSearch Layanan Amazon untuk observabilitas
<a name="observability-approach"></a>

Amazon OpenSearch Service membedakan dirinya dalam tiga cara utama:
+ **OpenTelemetry-native dengan OpenSearch Ingestion sebagai mil terakhir** — Standarisasi untuk instrumentasi dan pengumpulan. OTel Amazon OpenSearch Ingestion berfungsi sebagai pipeline terkelola penuh yang memfilter, memperkaya, mengubah, dan merutekan data telemetri Anda sebelum pengindeksan.
+ **Log, jejak, dan metrik terpadu di OpenSearch UI** — Analisis ketiga jenis sinyal dari satu ruang kerja observabilitas. Korelasikan jejak lambat ke log aplikasinya, atau hamparkan metrik Prometheus di dasbor layanan Anda.
+ **Bahasa kueri yang digerakkan oleh tujuan** — Gunakan [Piped Processing Language (PPL)](https://observability.opensearch.org/docs/ppl/) untuk log dan jejak, dan PromQL untuk metrik. Setiap bahasa dioptimalkan untuk jenis sinyalnya, memberi Anda kueri ekspresif tanpa kompromi.

![\[alt text not found\]](http://docs.aws.amazon.com/id_id/opensearch-service/latest/developerguide/images/otel-sdk-service.png)


**catatan**  
Fitur observabilitas yang dijelaskan di bagian ini hanya tersedia di OpenSearch UI. Mereka tidak tersedia di OpenSearch Dasbor. Untuk beban kerja observabilitas baru, kami sarankan menyiapkan ruang kerja [Menggunakan OpenSearch UI di Amazon OpenSearch Service](application.md) dengan observabilitas.

# Memulai
<a name="observability-get-started"></a>

Jalankan tumpukan observabilitas Anda AWS dan mulailah mengirim data telemetri dalam hitungan menit.

## Quick start
<a name="observability-get-started-quick"></a>

Cara tercepat untuk menerapkan tumpukan end-to-end observabilitas AWS adalah penginstal CLI. Ini menciptakan sumber daya berikut:
+ Domain OpenSearch Layanan Amazon
+ Layanan yang Dikelola Amazon untuk ruang kerja Prometheus
+ Pipa OpenSearch Ingestion Amazon
+ Aplikasi OpenSearch UI dengan ruang kerja observabilitas

Secara opsional, penginstal meluncurkan instans EC2 dengan OpenTelemetry Demo untuk telemetri sampel.

Jalankan perintah berikut untuk memulai instalasi:

```
bash -c "$(curl -fsSL https://raw.githubusercontent.com/opensearch-project/observability-stack/main/install.sh)" -- --deployment-target=aws
```

Instalasi memakan waktu sekitar 15 menit.

## Penyebaran CDK
<a name="observability-get-started-cdk"></a>

Untuk infrastructure-as-code, gunakan AWS CDK. Penerapan CDK membuat dua tumpukan:


| Tumpukan | Apa yang diciptakannya | Men-deploy waktu | 
| --- | --- | --- | 
| ObsInfra | OpenSearch domain, Layanan Terkelola Amazon untuk ruang kerja Prometheus, sumber data kueri langsung, peran IAM pipa | \$117 mnt | 
| ObservabilityStack | Pemetaan kontrol akses berbutir halus, pipa OpenSearch Ingestion, aplikasi OpenSearch UI, inisialisasi dasbor, beban kerja demo (opsional) | \$1 6 mnt | 

Jalankan perintah berikut untuk menyebarkan:

```
cd aws/cdk
npm install
cdk deploy --all
```

Untuk informasi selengkapnya, lihat [README penerapan CDK](https://github.com/opensearch-project/observability-stack/tree/main/aws/cdk) di. GitHub

## Mengirim telemetri
<a name="observability-get-started-send"></a>

Kedua metode penerapan membuat titik akhir OpenSearch Ingestion yang menerima data OTLP. Konfigurasikan OTel Kolektor Anda untuk mengekspor menggunakan otentikasi SiGv4:

```
extensions:
  sigv4auth:
    region: us-west-2
    service: osis

exporters:
  otlphttp/logs:
    logs_endpoint: ${OSIS_ENDPOINT}/v1/logs
    auth: { authenticator: sigv4auth }
    compression: none
  otlphttp/traces:
    traces_endpoint: ${OSIS_ENDPOINT}/v1/traces
    auth: { authenticator: sigv4auth }
    compression: none
  otlphttp/metrics:
    metrics_endpoint: ${OSIS_ENDPOINT}/v1/metrics
    auth: { authenticator: sigv4auth }
    compression: none
```

**catatan**  
Prinsipal IAM mengirimkan kebutuhan data `osis:Ingest` dan `aps:RemoteWrite` izin pada pipa ARN.

## Pelajari selengkapnya
<a name="observability-get-started-learn-more"></a>

Gunakan sumber daya berikut untuk mempelajari lebih lanjut tentang mengirim data telemetri:
+ [OpenTelemetry panduan instrumentasi (per bahasa)](https://observability.opensearch.org/docs/send-data/applications/)
+ [Pemantauan infrastruktur (AWS, Docker, Kubernetes, Prometheus)](https://observability.opensearch.org/docs/send-data/infrastructure/)
+ [OTel Konfigurasi kolektor](https://observability.opensearch.org/docs/send-data/opentelemetry/collector/)
+ [Pipa data dan batching](https://observability.opensearch.org/docs/send-data/data-pipeline/)
+ [Sekilas tentang Amazon OpenSearch Ingestion](ingestion.md) dalam panduan ini

# Menelan telemetri aplikasi
<a name="observability-ingestion"></a>

Untuk menggunakan fitur observabilitas di Amazon OpenSearch Service, Anda perlu menyerap jejak aplikasi, log, dan metrik. Halaman ini mencakup konfigurasi jalur OpenTelemetry Kolektor dan OpenSearch Penyerapan untuk memproses dan merutekan data telemetri ke dan Layanan Terkelola Amazon untuk OpenSearch Prometheus.

## Mengkonfigurasi Kolektor OpenTelemetry
<a name="observability-ingestion-otel"></a>

Kolektor OpenTelemetry (OTel) adalah titik masuk untuk semua telemetri aplikasi. Ini menerima data melalui OTLP dan merutekan jejak dan log ke OpenSearch Ingestion saat mengirim metrik ke Prometheus.

Anda dapat mengkonfigurasi OTel Kolektor menggunakan salah satu pendekatan berikut:

 OTel Kolektor mengekspor jejak dan mencatat ke titik akhir OpenSearch Ingestion menggunakan otentikasi SiGv4, dan metrik ke Amazon Managed Service untuk Prometheus menggunakan eksportir tulis jarak jauh Prometheus. OpenSearch Ingestion menangani pemrosesan, pengayaan, dan perutean ke. OpenSearch

### OTel Konfigurasi kolektor dengan OpenSearch Ingestion
<a name="observability-ingestion-otel-osis"></a>

Contoh konfigurasi berikut menggunakan otentikasi SiGv4 untuk mengekspor jejak dan log ke titik akhir OpenSearch Ingestion, dan metrik ke Prometheus:

```
extensions:
  sigv4auth:
    region: us-west-2
    service: osis

exporters:
  otlphttp/osis-traces:
    traces_endpoint: ${OSIS_ENDPOINT}/v1/traces
    auth: { authenticator: sigv4auth }
    compression: none
  otlphttp/osis-logs:
    logs_endpoint: ${OSIS_ENDPOINT}/v1/logs
    auth: { authenticator: sigv4auth }
    compression: none
  # Amazon Managed Service for Prometheus via Prometheus Remote Write with SigV4 auth
  prometheusremotewrite/amp:
    endpoint: "https://aps-workspaces.region.amazonaws.com/workspaces/workspace-id/api/v1/remote_write"
    auth:
      authenticator: sigv4auth

service:
  extensions: [sigv4auth]
  pipelines:
    traces:
      receivers: [otlp]
      processors: [batch]
      exporters: [otlphttp/osis-traces]
    logs:
      receivers: [otlp]
      processors: [batch]
      exporters: [otlphttp/osis-logs]
    metrics:
      receivers: [otlp]
      processors: [batch]
      exporters: [prometheusremotewrite/amp]
```

**catatan**  
Prinsipal IAM mengirimkan kebutuhan data `osis:Ingest` dan `aps:RemoteWrite` izin pada pipa ARN.

## Mengkonfigurasi saluran pipa OpenSearch Ingestion
<a name="observability-ingestion-pipelines"></a>

OpenSearch Penyerapan (atau Data Prepper yang dikelola sendiri) menerima telemetri dari OTel Kolektor dan memprosesnya untuk pemantauan kinerja aplikasi (APM).

### Arsitektur pipa
<a name="observability-ingestion-pipeline-arch"></a>

Pipeline memproses data telemetri dalam tahapan berikut:

1. Pipa entri menerima semua telemetri dan rute log dan jejak ke sub-pipeline yang terpisah.

1. Pipeline log menulis data log untuk OpenSearch menggunakan tipe `log-analytics-plain` indeks.

1. Pipa jejak mendistribusikan bentang ke pipa penyimpanan mentah dan pipa peta layanan.

1. Proses pipeline jejak mentah membentang dengan `otel_traces` prosesor dan menyimpannya dalam tipe `trace-analytics-plain-raw` indeks.

1. Pipeline peta layanan menggunakan `otel_apm_service_map` prosesor untuk menghasilkan topologi dan metrik RED (Rate, Errors, Duration). Ia menulis kepada OpenSearch dan kepada Prometheus melalui penulisan jarak jauh.

### Konfigurasi alur
<a name="observability-ingestion-pipeline-config"></a>

Contoh berikut menunjukkan konfigurasi pipeline lengkap untuk OpenSearch Ingestion yang mencakup semua jenis sinyal observabilitas — log, jejak, dan metrik. Anda dapat menyertakan semua saluran pipa atau hanya yang relevan dengan kasus penggunaan Anda. Ganti *placeholder* nilai dengan informasi Anda sendiri.

```
version: '2'

# Main OTLP pipeline - receives all telemetry and routes by signal type
otlp-pipeline:
  source:
    otlp:
      logs_path: '/pipeline-name/v1/logs'
      traces_path: '/pipeline-name/v1/traces'
      metrics_path: '/pipeline-name/v1/metrics'
  route:
    - logs: 'getEventType() == "LOG"'
    - traces: 'getEventType() == "TRACE"'
    - metrics: 'getEventType() == "METRIC"'
  processor: []
  sink:
    - pipeline:
        name: otel-logs-pipeline
        routes:
          - logs
    - pipeline:
        name: otel-traces-pipeline
        routes:
          - traces
    - pipeline:
        name: otel-metrics-pipeline
        routes:
          - metrics

# Log processing pipeline
otel-logs-pipeline:
  source:
    pipeline:
      name: otlp-pipeline
  processor:
    - copy_values:
        entries:
          - from_key: "time"
            to_key: "@timestamp"
  sink:
    - opensearch:
        hosts:
          - 'https://opensearch-endpoint'
        index_type: log-analytics-plain
        aws:
          serverless: false
          region: 'region'
          sts_role_arn: "arn:aws:iam::account-id:role/pipeline-role"

# Trace fan-out pipeline
otel-traces-pipeline:
  source:
    pipeline:
      name: otlp-pipeline
  processor: []
  sink:
    - pipeline:
        name: traces-raw-pipeline
        routes: []
    - pipeline:
        name: service-map-pipeline
        routes: []

# Raw trace storage pipeline
traces-raw-pipeline:
  source:
    pipeline:
      name: otel-traces-pipeline
  processor:
    - otel_traces:
  sink:
    - opensearch:
        hosts:
          - 'https://opensearch-endpoint'
        index_type: trace-analytics-plain-raw
        aws:
          serverless: false
          region: 'region'
          sts_role_arn: "arn:aws:iam::account-id:role/pipeline-role"

# Service map generation pipeline (APM)
service-map-pipeline:
  source:
    pipeline:
      name: otel-traces-pipeline
  processor:
    - otel_apm_service_map:
        group_by_attributes:
          - telemetry.sdk.language # Add any resource attribute to group by
        window_duration: 30s
  route:
    - otel_apm_service_map_route: 'getEventType() == "SERVICE_MAP"'
    - service_processed_metrics: 'getEventType() == "METRIC"'
  sink:
    - opensearch:
        hosts:
          - 'https://opensearch-endpoint'
        aws:
          serverless: false
          region: 'region'
          sts_role_arn: "arn:aws:iam::account-id:role/pipeline-role"
        routes:
          - otel_apm_service_map_route
        index_type: otel-v2-apm-service-map
    - prometheus:
        url: 'https://aps-workspaces.region.amazonaws.com/workspaces/workspace-id/api/v1/remote_write'
        aws:
          region: 'region'
        routes:
          - service_processed_metrics

# Metrics processing pipeline
otel-metrics-pipeline:
  source:
    pipeline:
      name: otlp-pipeline
  processor:
    - otel_metrics:
  sink:
    - prometheus:
        url: 'https://aps-workspaces.region.amazonaws.com/workspaces/workspace-id/api/v1/remote_write'
        aws:
          region: 'region'
```

## Memverifikasi konsumsi
<a name="observability-ingestion-verify"></a>

Setelah Anda mengonfigurasi OTel Kolektor dan saluran pipa, verifikasi bahwa data telemetri mengalir dengan benar.
+ **Verifikasi OpenSearch indeks** — Konfirmasikan bahwa indeks berikut ada di domain Anda:`otel-v1-apm-span-*`,`otel-v2-apm-service-map`, dan. `logs-otel-v1-*`
+ **Verifikasi target Prometheus** — Konfirmasikan bahwa target penulisan jarak jauh Prometheus menerima metrik dari pipeline peta layanan.
+ **Verifikasi di OpenSearch UI** — Arahkan ke **Observabilitas**, lalu **Pemantauan Aplikasi** untuk mengonfirmasi bahwa layanan Anda muncul.

## Langkah selanjutnya
<a name="observability-ingestion-next"></a>

Setelah Anda memverifikasi bahwa data telemetri tertelan, jelajahi topik-topik berikut:
+ [Pemantauan aplikasi](observability-app-monitoring.md)— Pantau kesehatan aplikasi dengan peta layanan dan metrik RED.
+ [Temukan jejak](observability-analyze-traces.md) — Temukan dan analisis jejak yang didistribusikan.
+ [Temukan log](observability-analyze-logs.md) - Temukan dan kueri log aplikasi.
+ [Temukan metrik](observability-metrics.md) — Temukan dan kueri metrik Prometheus menggunakan PromQL.

# Set data
<a name="observability-datasets"></a>

Kumpulan data adalah kumpulan indeks yang mewakili pengelompokan logis dari data observabilitas Anda. Anda menggunakan kumpulan data untuk mengatur log dan melacak data sehingga Anda dapat melakukan kueri dan menganalisis indeks terkait bersama-sama dalam pengalaman Discover. Setiap kumpulan data memetakan ke satu atau beberapa indeks di domain OpenSearch Layanan Anda dan menentukan jenis data, bidang waktu, dan bahasa kueri untuk halaman Discover.

## Jenis dataset
<a name="observability-datasets-types"></a>

Tabel berikut menjelaskan jenis kumpulan data yang dapat Anda buat.


| Tipe | Deskripsi | Bahasa kueri | 
| --- | --- | --- | 
| Beberapa catatan | Kelompokkan satu atau beberapa indeks log untuk kueri dan visualisasi di halaman Temukan Log. | PPL | 
| Jejak | Mengelompokkan indeks rentang penelusuran untuk kueri dan visualisasi di halaman Temukan Jejak. | PPL | 

**catatan**  
Metrik tidak memerlukan dataset karena data metrik tidak disimpan di. OpenSearch Metrik ditanyakan langsung dari Amazon Managed Service untuk Prometheus menggunakan PromQL.

## Untuk membuat dataset log
<a name="observability-datasets-create-logs"></a>

Selesaikan langkah-langkah berikut untuk membuat kumpulan data log di OpenSearch UI.

1. **Di ruang kerja observabilitas Anda, perluas **Temukan** di navigasi kiri dan pilih Log.**

1. Pilih **Buat kumpulan data**.

1. Pilih sumber data dari daftar Koneksi OpenSearch layanan yang tersedia.  
![\[alt text not found\]](http://docs.aws.amazon.com/id_id/opensearch-service/latest/developerguide/images/datasets/datasets-select-data-source.png)

1. Konfigurasikan kumpulan data dengan memasukkan nama, memilih indeks, dan menentukan bidang stempel waktu.  
![\[alt text not found\]](http://docs.aws.amazon.com/id_id/opensearch-service/latest/developerguide/images/datasets/datasets-configure-logs.png)

1. Pilih **Buat kumpulan data** untuk menyimpan konfigurasi.

## Untuk membuat dataset jejak
<a name="observability-datasets-create-traces"></a>

Selesaikan langkah-langkah berikut untuk membuat kumpulan data jejak di OpenSearch UI.

1. **Di ruang kerja observabilitas Anda, perluas **Temukan** di navigasi kiri dan pilih Jejak.**

1. Pilih **Buat kumpulan data**.

1. Pilih sumber data dari daftar Koneksi OpenSearch layanan yang tersedia.

1. Konfigurasikan kumpulan data dengan memasukkan nama, memilih indeks rentang, dan menentukan bidang stempel waktu.  
![\[alt text not found\]](http://docs.aws.amazon.com/id_id/opensearch-service/latest/developerguide/images/datasets/datasets-configure-traces.png)

1. Pilih **Buat kumpulan data** untuk menyimpan konfigurasi.

## Untuk melihat kumpulan data
<a name="observability-datasets-view"></a>

Anda dapat melihat semua kumpulan data yang dikonfigurasi dari pemilih kumpulan data di halaman Temukan Log atau Temukan Jejak. Daftar kumpulan data menunjukkan nama, jenis, sumber data, dan bidang stempel waktu untuk setiap kumpulan data.

![\[alt text not found\]](http://docs.aws.amazon.com/id_id/opensearch-service/latest/developerguide/images/datasets/datasets-list.png)


## Menganalisis kumpulan data di Discover
<a name="observability-datasets-analyze"></a>

Setelah membuat kumpulan data, Anda dapat menganalisisnya di halaman Temukan yang sesuai.

### Beberapa catatan
<a name="observability-datasets-analyze-logs"></a>

Pilih kumpulan data log dari pemilih kumpulan data di halaman Temukan Log untuk kueri dan visualisasikan data log Anda menggunakan PPL. Untuk informasi selengkapnya, lihat [Temukan Log](observability-analyze-logs.md).

### Jejak
<a name="observability-datasets-analyze-traces"></a>

Pilih kumpulan data jejak dari pemilih kumpulan data di halaman Temukan Jejak untuk menjelajahi rentang jejak, melihat metrik RED, dan menelusuri jejak individu. Lihat informasi yang lebih lengkap di [Temukan Jejak](observability-analyze-traces.md).

# Temukan Log
<a name="observability-analyze-logs"></a>

Halaman Discover Logs menyediakan antarmuka khusus untuk menjelajahi dan menganalisis data log di ruang kerja observabilitas OpenSearch Layanan Anda. Anda dapat menulis kueri PPL untuk memfilter dan mengumpulkan data log, membuat visualisasi langsung dari hasil kueri, dan menambahkan visualisasi tersebut ke dasbor. Halaman ini juga menyediakan bantuan kueri bahasa alami yang didukung oleh asisten OpenSearch AI.

## Untuk mengakses halaman Log
<a name="observability-logs-access"></a>

**Di ruang kerja observabilitas Anda, perluas **Temukan** di navigasi kiri dan pilih Log.**

## Menjelajahi data log
<a name="observability-logs-explore"></a>

Antarmuka Discover Logs menyediakan komponen berikut untuk menjelajahi data log Anda.

![\[alt text not found\]](http://docs.aws.amazon.com/id_id/opensearch-service/latest/developerguide/images/discover-logs/discover-logs-interface.png)

+ **Pemilih set data** - Pilih kumpulan data log yang ingin Anda kueri. Setiap kumpulan data memetakan ke satu atau beberapa indeks di domain OpenSearch Layanan Anda.
+ **Editor kueri** — Tulis kueri PPL untuk memfilter, menggabungkan, dan mengubah data log Anda. Editor memberikan saran pelengkapan otomatis dan penyorotan sintaks.
+ **Filter waktu** - Tentukan rentang waktu untuk hasil kueri Anda. Anda dapat memilih rentang relatif atau menentukan waktu mulai dan akhir absolut.
+ **Panel hasil** - Lihat hasil kueri sebagai tabel peristiwa log. Anda dapat memperluas acara individual untuk melihat semua bidang.
+ **Histogram** - Lihat distribusi peristiwa log dari waktu ke waktu. Histogram diperbarui secara otomatis berdasarkan kueri dan filter waktu Anda.
+ **Panel bidang** - Jelajahi bidang yang tersedia di kumpulan data Anda dan tambahkan sebagai kolom ke tabel hasil.

## Menanyakan log menggunakan PPL
<a name="observability-logs-query-ppl"></a>

Piped processing language (PPL) adalah bahasa query yang menggunakan sintaks pipe-based (`|`) untuk perintah rantai. Anda dapat menggunakan PPL untuk memfilter, mengumpulkan, dan mengubah data log Anda.

### Kueri dasar
<a name="observability-logs-basic-queries"></a>

Untuk mengambil semua peristiwa log dari kumpulan data, gunakan perintah: `source`

```
source = my-logs-dataset
```

Untuk membatasi jumlah hasil, gunakan `head` perintah:

```
source = my-logs-dataset | head 20
```

### Pemfilteran dengan WHERE
<a name="observability-logs-where-clause"></a>

Gunakan `where` klausa untuk memfilter peristiwa log berdasarkan nilai bidang:

```
source = my-logs-dataset | where severity_text = 'ERROR'
```

Anda dapat menggabungkan beberapa kondisi:

```
source = my-logs-dataset |
    where severity_text = 'ERROR' and service_name = 'payment-service'
```

### Mengelola kueri
<a name="observability-logs-manage-queries"></a>

Anda dapat menyimpan kueri yang sering digunakan untuk digunakan kembali. Untuk menyimpan kueri, pilih **Simpan** di toolbar editor kueri dan masukkan nama untuk kueri. Untuk memuat kueri yang disimpan, pilih **Buka** dan pilih kueri dari daftar.

Untuk daftar lengkap perintah dan fungsi PPL, lihat referensi [Piped Processing Language](https://observability.opensearch.org/docs/ppl/).

## Membuat visualisasi dari log
<a name="observability-logs-visualizations"></a>

Anda dapat membuat visualisasi langsung dari hasil kueri PPL Anda. Gunakan `stats` perintah untuk mengumpulkan data untuk visualisasi:

```
source = my-logs-dataset |
    stats count() as error_count by service_name, span(timestamp, 1h)
```

Setelah Anda menjalankan `stats` kueri, pilih tab **Visualisasi** untuk melihat hasilnya sebagai bagan.

![\[alt text not found\]](http://docs.aws.amazon.com/id_id/opensearch-service/latest/developerguide/images/discover-logs/discover-logs-visualization.png)


### Jenis visualisasi
<a name="observability-logs-viz-types"></a>

Tabel berikut menjelaskan jenis visualisasi yang dapat Anda gunakan.


| Tipe | Deskripsi | 
| --- | --- | 
| Garis | Menampilkan titik data yang dihubungkan oleh garis, berguna untuk menunjukkan tren dari waktu ke waktu. | 
| Bidang | Mirip dengan grafik garis dengan area di bawah garis terisi, berguna untuk menunjukkan volume dari waktu ke waktu. | 
| Bar | Menampilkan data sebagai bilah vertikal atau horizontal, berguna untuk membandingkan nilai di seluruh kategori. | 
| Metrik | Menampilkan nilai numerik tunggal, berguna untuk menunjukkan indikator kinerja utama. | 
| Garis waktu negara | Menampilkan perubahan status dari waktu ke waktu sebagai pita berwarna, berguna untuk memantau transisi status. | 
| Peta panas | Menampilkan data sebagai matriks sel berwarna, berguna untuk menunjukkan kepadatan dan pola. | 
| Pengukur batang | Menampilkan nilai tunggal sebagai bilah terisi dalam rentang, berguna untuk menunjukkan kemajuan menuju ambang batas. | 
| Pie | Menampilkan data sebagai irisan proporsional lingkaran, berguna untuk menunjukkan komposisi. | 

![\[alt text not found\]](http://docs.aws.amazon.com/id_id/opensearch-service/latest/developerguide/images/discover-logs/discover-logs-viz-types.png)


### Pengaturan visualisasi
<a name="observability-logs-viz-settings"></a>

Saat tab **Visualisasi** aktif, panel pengaturan muncul di sisi kanan layar. Gunakan panel ini untuk mengonfigurasi jenis bagan, memetakan bidang ke sumbu, dan menyesuaikan gaya visual seperti warna dan legenda.

Untuk mengganti sumbu visualisasi, gunakan konfigurasi sumbu di panel pengaturan.

![\[alt text not found\]](http://docs.aws.amazon.com/id_id/opensearch-service/latest/developerguide/images/discover-logs/discover-logs-switch-axes.png)


## Menambahkan visualisasi ke dasbor
<a name="observability-logs-add-to-dashboard"></a>

Setelah Anda membuat visualisasi, Anda dapat menambahkannya ke dasbor untuk pemantauan berkelanjutan. Pilih **Simpan ke dasbor** di bilah alat visualisasi, lalu pilih dasbor yang ada atau buat yang baru. Visualisasi disimpan dengan kueri PPL yang mendasarinya sehingga menyegarkan secara otomatis saat Anda membuka dasbor.

# Temukan Jejak
<a name="observability-analyze-traces"></a>

Halaman Discover Traces menyediakan antarmuka khusus untuk menjelajahi data jejak terdistribusi di ruang kerja observabilitas OpenSearch Layanan Anda. Anda dapat melihat metrik RED (tingkat, tingkat kesalahan, durasi) untuk layanan Anda, menelusuri rentang jejak dengan pemfilteran segi, dan menelusuri rentang dan jejak individual untuk mendiagnosis masalah kinerja. Halaman ini juga mendukung jejak yang berkorelasi dengan data log terkait.

## Untuk mengakses halaman Jejak
<a name="observability-traces-access"></a>

**Di ruang kerja observabilitas Anda, perluas **Temukan** di navigasi kiri dan pilih Jejak.**

![\[alt text not found\]](http://docs.aws.amazon.com/id_id/opensearch-service/latest/developerguide/images/discover-traces/discover-traces.png)


## Mengkonfigurasi kumpulan data jejak
<a name="observability-traces-configure-datasets"></a>

Sebelum Anda dapat menjelajahi data jejak, Anda harus mengonfigurasi kumpulan data jejak. Anda dapat membuat kumpulan data secara otomatis atau manual.

### Pembuatan dataset otomatis
<a name="observability-traces-auto-create"></a>

Saat Anda menavigasi ke halaman Temukan Jejak untuk pertama kalinya dan melacak data yang ada di domain Anda, halaman tersebut meminta Anda untuk membuat kumpulan data secara otomatis. Pilih **Buat kumpulan data** untuk menerima konfigurasi default.

![\[alt text not found\]](http://docs.aws.amazon.com/id_id/opensearch-service/latest/developerguide/images/discover-traces/trace-auto-create.png)


### Pembuatan dataset manual
<a name="observability-traces-manual-create"></a>

Untuk membuat kumpulan data jejak secara manual, ikuti langkah-langkahnya. [Untuk membuat dataset jejak](observability-datasets.md#observability-datasets-create-traces) Pembuatan manual memberi Anda kontrol atas pola indeks, bidang stempel waktu, dan nama kumpulan data.

## Menjelajahi data pelacakan
<a name="observability-traces-explore"></a>

Halaman Discover Traces menyediakan komponen berikut untuk menjelajahi data jejak Anda.
+ **Metrik RED** — Rasio tampilan (permintaan per detik), tingkat kesalahan (persentase permintaan gagal), dan durasi (persentil latensi) untuk kumpulan data yang dipilih. Metrik ini diperbarui berdasarkan filter waktu Anda.
+ **Bidang segi** — Filter rentang jejak berdasarkan nama layanan, operasi, kode status, dan atribut rentang lainnya. Pilih nilai di panel bidang segi untuk mempersempit hasil Anda.
+ **Tabel rentang** - Jelajahi rentang individu dengan kolom untuk ID jejak, ID rentang, nama layanan, operasi, durasi, dan status. Anda dapat mengurutkan berdasarkan kolom apa pun dan memperluas baris untuk melihat detail rentang.

## Melihat rentang tertentu
<a name="observability-traces-view-span"></a>

Untuk melihat detail untuk rentang tertentu, pilih baris rentang dalam tabel rentang. Panel flyout terbuka dengan atribut span, atribut sumber daya, dan informasi peristiwa.

![\[alt text not found\]](http://docs.aws.amazon.com/id_id/opensearch-service/latest/developerguide/images/discover-traces/trace-details-flyout.png)


## Melacak halaman detail
<a name="observability-traces-detail-page"></a>

Untuk melihat jejak lengkap, pilih tautan ID jejak di tabel rentang atau panel flyout. Halaman detail jejak menampilkan bagan air terjun yang menunjukkan semua rentang dalam jejak, hubungan waktunya, dan durasi jejak keseluruhan. Anda dapat memperluas rentang individu untuk melihat atribut mereka dan mengidentifikasi kemacetan.

![\[alt text not found\]](http://docs.aws.amazon.com/id_id/opensearch-service/latest/developerguide/images/discover-traces/trace-detail-page.png)


## Mengkorelasikan jejak dengan log
<a name="observability-traces-correlate-logs"></a>

Saat mengonfigurasi korelasi antara kumpulan data jejak dan kumpulan data log, Anda dapat melihat entri log terkait langsung dari halaman Temukan Jejak. Untuk informasi tentang membuat korelasi, lihat[Korelasi](observability-correlations.md).

### Melihat log terkait
<a name="observability-traces-related-logs"></a>

Di halaman rincian rentang atau detail jejak, pilih tab **Log terkait** untuk melihat entri log yang cocok dengan ID jejak rentang, nama layanan, dan rentang waktu. Korelasi ini membantu Anda memahami apa yang terjadi dalam aplikasi Anda selama eksekusi rentang.

![\[alt text not found\]](http://docs.aws.amazon.com/id_id/opensearch-service/latest/developerguide/images/discover-traces/related-logs.png)


### Pengalihan log dengan konteks
<a name="observability-traces-log-redirection"></a>

Anda dapat menavigasi dari rentang penelusuran langsung ke halaman Discover Logs dengan konteks yang relevan dipertahankan. Pilih **Lihat di Log** dari panel log terkait untuk membuka halaman Temukan Log dengan kueri yang telah diisi sebelumnya untuk memfilter berdasarkan ID jejak rentang dan rentang waktu.

![\[alt text not found\]](http://docs.aws.amazon.com/id_id/opensearch-service/latest/developerguide/images/discover-traces/logs-redirection.png)


## Menanyakan jejak menggunakan PPL
<a name="observability-traces-querying"></a>

Anda dapat menggunakan PPL untuk menanyakan data jejak secara langsung. Perintah rantai PPL menggunakan karakter pipa untuk menyaring, mengubah, dan mengumpulkan data rentang.

Contoh berikut menemukan 10 jejak paling lambat:

```
source = otel-v1-apm-span-*
| where durationInNanos > 5000000000
| fields traceId, serviceName, name, durationInNanos
| sort - durationInNanos
| head 10
```

Contoh berikut menghitung kesalahan berdasarkan layanan:

```
source = otel-v1-apm-span-*
| where status.code = 2
| stats count() as errorCount by serviceName
| sort - errorCount
```

Contoh berikut menemukan jejak untuk layanan tertentu:

```
source = otel-v1-apm-span-*
| where serviceName = 'checkout-service'
| where parentSpanId = ''
| sort - startTime
| head 20
```

# Metrik-metrik
<a name="observability-metrics"></a>

Halaman Discover Metrics di OpenSearch UI menyediakan antarmuka khusus untuk menemukan, menanyakan, dan memvisualisasikan data metrik deret waktu. Halaman ini dioptimalkan untuk bekerja dengan metrik Prometheus menggunakan PromQL.

![\[alt text not found\]](http://docs.aws.amazon.com/id_id/opensearch-service/latest/developerguide/images/dashboards/prometheus.png)


Halaman Discover Metrics tersedia di ruang kerja Observability. **Untuk mengaksesnya, navigasikan ke ruang kerja Observability, perluas **Discover** di navigasi kiri, dan pilih Metrik.**

## Mengkonfigurasi sumber data Prometheus
<a name="observability-metrics-data-source"></a>

Sebelum Anda mulai, konfigurasikan sumber data Prometheus menggunakan salah satu metode berikut:
+ [Membuat Layanan Terkelola Amazon untuk sumber data Prometheus](direct-query-prometheus-creating.md)di Konsol AWS Manajemen
+ [AWS CLI](https://docs.aws.amazon.com/cli/latest/reference/opensearch/add-direct-query-data-source.html)

## Panel kueri
<a name="observability-metrics-query"></a>

Anda dapat menulis dan menjalankan kueri metrik di panel kueri di bagian atas halaman Discover Metrics. Editor kueri memberikan saran pelengkapan otomatis dan penyorotan sintaks untuk PromQL.

**Menulis kueri**  
Tulis kueri menggunakan sintaks PromQL. Contoh:

```
up{job="prometheus"}
```

**Menjalankan kueri**  
Untuk menjalankan kueri, masukkan kueri Anda di editor kueri dan pilih **Refresh**.

Anda dapat menjalankan beberapa kueri promQL bersama-sama dengan memisahkannya dengan titik koma (): `;`

```
up{job="prometheus"};
node_cpu_seconds_total{mode="idle"};
```

Setiap kueri berjalan secara independen, dan hasilnya digabungkan dalam output.

## Filter waktu
<a name="observability-metrics-time-filter"></a>

Gunakan filter waktu untuk menentukan rentang waktu untuk data metrik Anda:
+ **Pilih cepat** - Pilih rentang waktu relatif (misalnya, 15 menit terakhir atau 1 jam terakhir).
+ **Biasa digunakan** - Pilih dari rentang waktu yang telah ditentukan.
+ **Kustom** - Tentukan waktu mulai dan akhir mutlak.
+ **Penyegaran otomatis** - Atur interval penyegaran otomatis.

## Melihat Hasil
<a name="observability-metrics-results"></a>

Setelah menjalankan kueri, hasilnya ditampilkan dalam antarmuka tab:
+ **Metrik** - Menampilkan titik data terbaru untuk setiap seri dalam format tabel.
+ **Raw** — Menampilkan titik data terbaru untuk setiap seri sebagai JSON mentah yang dikembalikan oleh sumber data.
+ **Visualisasi** — Menyediakan bagan interaktif untuk data metrik Anda.

## Mengkonfigurasi visualisasi
<a name="observability-metrics-visualizations"></a>

Saat tab **Visualisasi** dipilih, panel pengaturan muncul di sisi kanan layar. Gunakan panel ini untuk:
+ **Pilih jenis bagan** — Pilih dari visualisasi garis, batang, pai, pengukur, atau tabel.
+ **Sumbu peta** — Tetapkan bidang ke sumbu X dan Y.
+ **Sesuaikan gaya** - Sesuaikan warna, legenda, garis kisi, dan opsi visual lainnya.

Saat Anda mengubah pengaturan, visualisasi diperbarui secara otomatis.

# Korelasi
<a name="observability-correlations"></a>

Korelasi menautkan kumpulan data jejak ke kumpulan data log sehingga Anda dapat melihat entri log terkait saat menyelidiki rentang jejak. Dengan mendefinisikan korelasi, Anda mengaktifkan halaman Discover Traces untuk menampilkan log yang terjadi selama eksekusi rentang, membantu Anda mendiagnosis masalah lebih cepat tanpa beralih antar halaman.

## Persyaratan korelasi
<a name="observability-correlations-requirements"></a>

Untuk membuat korelasi, data log dan jejak Anda harus berisi bidang yang cocok. Tabel berikut menjelaskan bidang yang digunakan korelasi untuk menggabungkan data jejak dan log.


| Bidang | Deskripsi | Diperlukan | 
| --- | --- | --- | 
| ID Jejak | Pengidentifikasi unik untuk jejak. Harus ada di indeks rentang jejak dan indeks log. | Ya | 
| ID rentang | Pengidentifikasi unik untuk rentang. Digunakan untuk mencocokkan log ke rentang tertentu dalam jejak. | Tidak | 
| Nama layanan | Nama layanan yang menghasilkan telemetri. Digunakan untuk memfilter log terkait berdasarkan layanan. | Tidak | 
| Stempel waktu | Bidang waktu yang digunakan untuk lingkup log terkait dengan rentang waktu rentang. | Ya | 

## Untuk membuat trace-to-logs korelasi
<a name="observability-correlations-create"></a>

Selesaikan langkah-langkah berikut untuk membuat korelasi antara kumpulan data jejak dan kumpulan data log.

1. **Di ruang kerja observabilitas Anda, perluas **Temukan** di navigasi kiri dan pilih Jejak.**

1. Pilih kumpulan data jejak yang ingin Anda korelasikan.

1. Pilih tab **Korelasi** di panel konfigurasi kumpulan data.  
![\[alt text not found\]](http://docs.aws.amazon.com/id_id/opensearch-service/latest/developerguide/images/datasets/correlations-trace-dataset-tab.png)

1. Pilih **Buat korelasi**.

1. Dalam dialog konfigurasi, pilih kumpulan data log target dan petakan bidang korelasi yang diperlukan (ID jejak dan stempel waktu). Secara opsional, ID rentang peta dan nama layanan untuk pencocokan yang lebih tepat.  
![\[alt text not found\]](http://docs.aws.amazon.com/id_id/opensearch-service/latest/developerguide/images/datasets/correlations-configure-dialog.png)

1. Pilih **Buat** untuk menyimpan korelasi.

1. Verifikasi bahwa korelasi muncul di tabel korelasi.  
![\[alt text not found\]](http://docs.aws.amazon.com/id_id/opensearch-service/latest/developerguide/images/datasets/correlations-created-table.png)

## Melihat korelasi dalam kumpulan data log
<a name="observability-correlations-view-logs"></a>

Setelah Anda membuat korelasi, Anda juga dapat melihatnya dari sisi dataset log. Arahkan ke halaman Temukan Log, pilih kumpulan data log yang berkorelasi, dan pilih tab **Korelasi** untuk melihat kumpulan data jejak yang ditautkan.

![\[alt text not found\]](http://docs.aws.amazon.com/id_id/opensearch-service/latest/developerguide/images/datasets/correlations-logs-dataset-tab.png)


## Menggunakan korelasi di halaman Jejak
<a name="observability-correlations-use-traces"></a>

Ketika ada korelasi, halaman Discover Traces menampilkan log terkait dalam tampilan detail rentang. Pilih rentang dalam tabel rentang untuk membuka flyout detail, lalu pilih tab **Log terkait untuk melihat entri log** yang berkorelasi.

![\[alt text not found\]](http://docs.aws.amazon.com/id_id/opensearch-service/latest/developerguide/images/datasets/correlations-span-details-logs.png)


## Mengelola korelasi
<a name="observability-correlations-manage"></a>

Anda dapat mengedit atau menghapus korelasi dari tab **Korelasi** baik dari jejak atau kumpulan data log.
+ **Pengeditan** — Pilih korelasi dalam tabel dan pilih **Edit** untuk memperbarui pemetaan bidang atau kumpulan data target.
+ **Menghapus** - Pilih korelasi dalam tabel dan pilih **Hapus** untuk menghapus korelasi. Menghapus korelasi tidak menghapus data apa pun.

# Dasbor
<a name="observability-dashboards"></a>

Dasbor menggabungkan visualisasi dari log, jejak, dan metrik ke dalam satu tampilan. Anda dapat menggunakan dasbor untuk memantau kesehatan operasional, menanggapi insiden, dan melacak pemanfaatan sumber daya di seluruh sistem terdistribusi Anda.

Tabel berikut menjelaskan kasus penggunaan umum untuk dasbor.


| Kasus penggunaan | Contoh | 
| --- | --- | 
| Pemantauan operasional | Lacak kesehatan layanan, throughput, dan tingkat kesalahan secara real time. | 
| Respons insiden | Korelasikan log, jejak, dan metrik selama insiden aktif. | 
| Perencanaan kapasitas | Pantau tren pemanfaatan sumber daya untuk merencanakan penskalaan. | 
| Pelacakan ketersediaan | Mengukur waktu aktif dan ketersediaan terhadap tujuan tingkat layanan. | 
| Ulasan pasca-insiden | Menganalisis data historis untuk memahami akar penyebab insiden masa lalu. | 

![\[alt text not found\]](http://docs.aws.amazon.com/id_id/opensearch-service/latest/developerguide/images/otel-dashboard.png)


## Struktur dasbor
<a name="observability-dashboards-structure"></a>

Dasbor adalah kumpulan panel yang disusun di atas kisi. Setiap panel terdiri dari komponen-komponen berikut.
+ **Sumber data** — OpenSearch Indeks atau Layanan Terkelola Amazon untuk sumber data Prometheus yang ditanyakan panel.
+ **Query — Kueri** PPL atau PromQL yang mengambil data untuk panel.
+ Jenis **visualisasi - Jenis** bagan yang digunakan untuk merender hasil kueri, seperti garis, batang, atau nilai metrik.
+ **Konfigurasi opsional** - Sumbu, legenda, ambang batas, dan opsi pemformatan.

Pemetik rentang waktu di bagian atas dasbor berlaku untuk semua panel. Anda dapat mengganti rentang waktu untuk masing-masing panel bila diperlukan.

## Membangun dasbor dari Discover
<a name="observability-dashboards-discover"></a>

Alur kerja yang disarankan untuk membangun dasbor dimulai di Discover. Alur kerja ini konsisten di seluruh log, jejak, dan metrik.

1. **Kueri data Anda di Discover** — Arahkan ke Temukan Log, Temukan Jejak, atau Temukan Metrik dan tulis kueri menggunakan PPL (untuk log dan jejak) atau PromQL (untuk metrik).

1. **Buat visualisasi** — Saat kueri Anda mengembalikan hasil, gunakan tab visualisasi untuk memilih jenis bagan dan mengonfigurasi tampilan. Untuk kueri log dan jejak, perintah agregasi seperti `stats` secara otomatis beralih ke tampilan visualisasi.

1. **Simpan ke dasbor** — Pilih **Tambahkan ke dasbor** untuk menyimpan visualisasi ke dasbor baru atau yang sudah ada. Panel tetap aktif, diperbarui saat data baru tiba.

1. **Iterate** — Ulangi untuk setiap pertanyaan yang ingin dijawab oleh dasbor. Jika ada yang tidak beres di dasbor, pilih panel mana saja untuk membuka kueri yang mendasarinya di Discover untuk penyelidikan lebih lanjut.

**penting**  
Visualisasi yang dibuat melalui halaman **Visualisasi** di OpenSearch UI menggunakan DQL (Dashboards Query Language) dan DSL (Domain Specific Language), yang tidak mendukung Piped Processing Language (PPL) saat ini. Untuk membuat visualisasi berbasis PPL, gunakan alur kerja Discover yang dijelaskan di atas.

## Filter dasbor
<a name="observability-dashboards-filters"></a>

Filter memungkinkan Anda mempersempit data yang ditampilkan di semua panel di dasbor tanpa mengedit kueri individual.

**Untuk menambahkan filter**

1. Buka dasbor yang ingin Anda filter.

1. Pilih **Tambahkan filter** di bilah filter.

1. Pilih nama bidang dari daftar dropdown.

1. Pilih operator dan masukkan nilai.

1. Pilih **Simpan**.

Tabel berikut menjelaskan kasus penggunaan filter umum.


| Skenario | Bidang | Operator | Nilai | 
| --- | --- | --- | --- | 
| Lihat satu lingkungan | environment | is | production | 
| Isolasi kesalahan | status\$1code | is greater than or equal to | 400 | 
| Fokus pada layanan tertentu | service.name | is | order-service | 
| Kecualikan pemeriksaan kesehatan | http.url | is not | /health | 

**Disematkan dibandingkan dengan filter yang tidak disematkan — Filter** yang disematkan tetap ada saat Anda menavigasi antar dasbor. Filter yang tidak disematkan hanya berlaku untuk dasbor saat ini. Untuk menyematkan filter, pilih ikon pin di sebelah lencana filter.

## Membangun dasbor
<a name="observability-dashboards-build"></a>

### Jenis visualisasi
<a name="observability-dashboards-build-viz-types"></a>

Tabel berikut menjelaskan jenis visualisasi yang tersedia untuk panel dasbor.


| Tipe | Kasus penggunaan | 
| --- | --- | 
| Garis | Tren dari waktu ke waktu, seperti tarif permintaan atau latensi | 
| Bidang | Volume dari waktu ke waktu dengan kerusakan bertumpuk | 
| Bar | Membandingkan nilai lintas kategori | 
| Bilah horisontal | Perbandingan peringkat, seperti layanan teratas berdasarkan jumlah kesalahan | 
| Tabel data | Data tabular dengan penyortiran dan pagination | 
| Nilai metrik | Indikator kinerja kunci tunggal, seperti total permintaan | 
| Pengukur | Kemajuan menuju ambang batas, seperti pemanfaatan CPU | 
| Pie | Komposisi dan proporsi, seperti lalu lintas menurut wilayah | 
| Peta panas | Kepadatan dan pola distribusi lebih dari dua dimensi | 
| Tag awan | Frekuensi relatif istilah, seperti pesan kesalahan umum | 

### Mengkonfigurasi panel
<a name="observability-dashboards-build-configure"></a>

Setiap panel memiliki editor kueri tempat Anda menulis kueri PPL atau PromQL. Contoh berikut menunjukkan query panel umum.

Jumlah kesalahan berdasarkan layanan (PPL):

```
source = logs-dataset |
    where severity_text = 'ERROR' |
    stats count() as error_count by service_name, span(timestamp, 5m)
```

Tingkat pemanfaatan CPU (PromQL):

```
rate(container_cpu_usage_seconds_total{namespace="production"}[5m])
```

Anda juga dapat mengonfigurasi opsi panel berikut.
+ **Sumbu** - Atur label sumbu, skala (linier atau logaritmik), dan rentang nilai.
+ **Legenda** — Kontrol posisi legenda dan seri mana yang akan ditampilkan.
+ **Ambang batas** - Tambahkan garis ambang horizontal untuk menyoroti tingkat peringatan atau kritis.

### Kiat tata letak
<a name="observability-dashboards-build-layout"></a>

Gunakan tips berikut untuk mengatur panel dasbor Anda secara efektif.
+ Tempatkan panel ringkasan tingkat tinggi (nilai metrik, pengukur) di bagian atas dasbor.
+ Kelompokkan panel terkait bersama-sama, seperti semua panel untuk satu layanan.
+ Gunakan lebar yang konsisten untuk panel di baris yang sama.
+ Seret tepi panel untuk mengubah ukuran, dan seret header panel untuk memposisikan ulang.

### Tata letak yang direkomendasikan
<a name="observability-dashboards-build-recommended"></a>

Tabel berikut menjelaskan tata letak panel yang direkomendasikan untuk jenis dasbor umum.

**Dasbor kesehatan layanan**


| Panel | Jenis visualisasi | 
| --- | --- | 
| Tingkat permintaan | Garis | 
| Tingkat kesalahan | Garis | 
| Latensi P99 | Garis | 
| Peringatan aktif | Nilai metrik | 
| Kesalahan teratas berdasarkan layanan | Bilah horisontal | 

**Dasbor respons insiden**


| Panel | Jenis visualisasi | 
| --- | --- | 
| Log kesalahan | Tabel data | 
| Jumlah kesalahan dari waktu ke waktu | Bidang | 
| Layanan yang terpengaruh | Pie | 
| Lonjakan latensi | Garis | 

**Dasbor pemanfaatan sumber daya**


| Panel | Jenis visualisasi | 
| --- | --- | 
| Penggunaan CPU | Pengukur | 
| Penggunaan memori dari waktu ke waktu | Bidang | 
| Disk I/O | Garis | 
| Throughput jaringan | Garis | 

### Kontrol rentang waktu
<a name="observability-dashboards-build-time-range"></a>

Pemetik rentang waktu di bagian atas dasbor mengontrol jendela waktu untuk semua panel. Anda dapat memilih rentang preset (seperti **15 menit terakhir** atau **24 jam terakhir**) atau menentukan rentang absolut kustom.

Untuk mengaktifkan penyegaran otomatis, pilih dropdown interval penyegaran di sebelah pemilih rentang waktu dan pilih interval. Penyegaran otomatis menjalankan kembali semua kueri panel pada interval yang ditentukan sehingga dasbor Anda menampilkan data terbaru.

## Berbagi dasbor
<a name="observability-dashboards-sharing"></a>

Anda dapat berbagi dasbor dengan pengguna lain di organisasi Anda melalui URLs, snapshot, dan ekspor.

### Bagikan melalui URL
<a name="observability-dashboards-sharing-url"></a>

Salin URL dasbor dari bilah alamat browser Anda dan bagikan secara langsung. URL mempertahankan rentang waktu dan filter saat ini. Anda dapat menyertakan tautan dasbor di bookmark, runbook, atau dokumentasi respons insiden.

### Snapshot
<a name="observability-dashboards-sharing-snapshots"></a>

Snapshot menangkap keadaan dasbor saat ini, termasuk semua data panel, pada titik waktu tertentu. Snapshot bersifat read-only dan tidak diperbarui saat data yang mendasarinya berubah. Gunakan snapshot untuk menyimpan catatan status dasbor selama insiden atau ulasan.

### Definisi impor dan ekspor
<a name="observability-dashboards-sharing-import-export"></a>

Anda dapat mengekspor definisi dasbor sebagai JSON dan mengimpornya ke ruang kerja atau lingkungan lain. Pendekatan ini berguna untuk mempromosikan dasbor mulai dari pengembangan hingga produksi atau berbagi tata letak standar di seluruh tim.

### Praktik terbaik untuk berbagi
<a name="observability-dashboards-sharing-best-practices"></a>
+ **Audiens** — Desain dasbor untuk audiens tertentu, seperti insinyur panggilan atau kepemimpinan.
+ **Fokus** — Batasi setiap dasbor untuk satu tujuan atau alur kerja.
+ Konvensi — Gunakan **konvensi** penamaan yang konsisten untuk dasbor dan panel di seluruh organisasi Anda.
+ **Kontrol versi** - Ekspor definisi JSON dasbor dan simpan dalam kontrol versi untuk melacak perubahan dari waktu ke waktu.

## Memecahkan masalah dasbor
<a name="observability-dashboards-troubleshooting"></a>

Bagian ini menjelaskan masalah dasbor umum dan cara mengatasinya.

### Tidak ada data di panel
<a name="observability-dashboards-troubleshooting-no-data"></a>

Jika panel tidak menampilkan data, periksa penyebab umum berikut.


| Penyebab | Periksa | Perbaiki | 
| --- | --- | --- | 
| Rentang waktu terlalu sempit | Verifikasi bahwa rentang waktu dasbor mencakup periode saat data dicerna. | Perluas rentang waktu atau pilih 24 jam terakhir. | 
| Filter aktif tidak termasuk data | Tinjau bilah filter untuk filter yang mungkin mengecualikan semua dokumen yang cocok. | Hapus atau sesuaikan filter, lalu verifikasi bahwa data muncul. | 
| Pola indeks salah | Konfirmasikan bahwa sumber data panel menunjuk ke indeks yang berisi data. | Perbarui sumber data ke pola indeks yang benar di editor panel. | 
| Kesalahan sintaks kueri | Cari pesan kesalahan di header panel atau editor kueri. | Perbaiki sintaks PPL atau promQL dan jalankan kembali kueri. | 

### Data yang salah di panel
<a name="observability-dashboards-troubleshooting-wrong-data"></a>

Jika panel menampilkan hasil yang tidak terduga, coba langkah-langkah berikut.
+ Verifikasi bahwa kueri mengembalikan bidang yang diharapkan dengan menjalankannya di Discover terlebih dahulu.
+ Periksa apakah jenis visualisasi cocok dengan bentuk data (misalnya, gunakan bagan garis untuk data deret waktu).
+ Konfirmasikan bahwa sumber data yang benar dipilih di editor panel.

### Data basi
<a name="observability-dashboards-troubleshooting-stale-data"></a>

Jika panel dasbor menampilkan informasi yang sudah ketinggalan zaman, coba langkah-langkah berikut.
+ Pilih ikon penyegaran di bilah alat untuk menyegarkan semua panel secara manual.
+ Verifikasi bahwa penyegaran otomatis diaktifkan dan disetel ke interval yang sesuai.
+ Konfirmasikan bahwa saluran konsumsi Anda secara aktif mengirim data ke indeks yang dikonfigurasi.

### Masalah kinerja
<a name="observability-dashboards-troubleshooting-performance"></a>

Kiat-kiat berikut dapat membantu Anda menyelesaikan masalah kinerja umum.
+ **Dasbor lambat** — Kurangi jumlah panel atau persempit rentang waktu. Dasbor dengan banyak panel menjalankan beberapa kueri secara bersamaan, yang dapat meningkatkan waktu muat.
+ **Panel lambat** - Sederhanakan kueri panel. Hindari menggunakan pola wildcard dalam `where` klausa PPL dan batasi jumlah bucket agregasi.
+ **Browser lag** — Mengurangi kepadatan data dalam visualisasi. Misalnya, tingkatkan interval rentang waktu dalam `stats` perintah untuk menghasilkan lebih sedikit titik data.

### Masalah filter
<a name="observability-dashboards-troubleshooting-filters"></a>

Jika filter tidak berperilaku seperti yang diharapkan, coba langkah-langkah berikut.
+ Verifikasi bahwa nama bidang di filter cocok dengan nama bidang dalam pemetaan indeks.
+ Periksa apakah filter yang disematkan dari dasbor lain memengaruhi hasil.
+ Hapus semua filter dan tambahkan kembali satu per satu untuk mengisolasi masalah.

### Periksa panel
<a name="observability-dashboards-troubleshooting-inspect"></a>

Inspektur panel membantu Anda men-debug data dan masalah kueri. Untuk membuka inspektur, pilih menu panel (tiga titik) dan pilih **Periksa**. Inspektur menyediakan tab berikut.
+ **Data** - Menampilkan data mentah yang dikembalikan oleh kueri dalam format tabel.
+ **Permintaan** - Menampilkan kueri yang dikirim ke sumber data, termasuk pernyataan PPL atau promQL lengkap.
+ **Respons** - Menampilkan respons mentah dari sumber data, termasuk informasi waktu dan status.

### Alat pengembang browser
<a name="observability-dashboards-troubleshooting-browser"></a>

Untuk pemecahan masalah lanjutan, gunakan alat pengembang browser Anda untuk memeriksa permintaan jaringan. Buka tab **Jaringan**, filter untuk panggilan API, dan cari permintaan yang gagal atau respons lambat. Periksa badan respons untuk pesan kesalahan yang dapat membantu Anda mengidentifikasi akar penyebabnya.

# Pemantauan aplikasi
<a name="observability-app-monitoring"></a>

Pemantauan aplikasi memberikan tampilan real-time tentang kinerja layanan Anda. Ini menggabungkan data topologi yang disimpan OpenSearch dengan metrik RED deret waktu (Nilai, Kesalahan, Durasi) dari Amazon Managed Service untuk Prometheus ke kesehatan permukaan, latensi, throughput, dan informasi kesalahan di seluruh sistem terdistribusi Anda.

Untuk mengakses pemantauan aplikasi, di OpenSearch UI navigasikan ke **Observabilitas>** **Pemantauan Aplikasi**. Sidebar menampilkan dua tampilan:
+ **Peta Aplikasi** — Grafik topologi interaktif dependensi layanan
+ **Layanan** - Katalog semua layanan yang diinstrumentasi dengan penyaringan, tampilan detail, dan tautan korelasi

## Prasyarat
<a name="observability-app-monitoring-prereqs"></a>

Sebelum Anda dapat menggunakan pemantauan aplikasi, Anda harus memiliki sumber daya berikut yang dikonfigurasi.
+ [OTLP melacak data yang mengalir dari OTel Kolektor Anda ke OpenSearch Ingestion](observability-ingestion.md) (metrik dan log bersifat opsional)
+ [Amazon Managed Service untuk Prometheus dikonfigurasi untuk menerima penulisan jarak jauh dari Ingestion OpenSearch ](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/configure-client-prometheus.html)
+ Ruang kerja OpenSearch UI dengan Observabilitas diaktifkan

## Cara kerjanya
<a name="observability-app-monitoring-how-it-works"></a>

Diagram berikut menunjukkan end-to-end arsitektur untuk pemantauan aplikasi.

![\[alt text not found\]](http://docs.aws.amazon.com/id_id/opensearch-service/latest/developerguide/images/otel-sdk-service.png)


1. Aplikasi dan infrastruktur Anda memancarkan telemetri melalui OpenTelemetry SDKs, instrumentasi otomatis, atau API ke OTel Kolektor. OTel

1.  OTel Kolektor meneruskan data jejak ke OpenSearch Ingestion melalui OTLP.

1. `otel_apm_service_map`Prosesor OpenSearch Ingestion mengekstrak service-to-service hubungan dan menghitung metrik RED.

1. Topologi dan data jejak mentah diindeks ke dalam. OpenSearch Metrik RED diekspor ke Amazon Managed Service untuk Prometheus melalui penulisan jarak jauh.

1. OpenSearch Kueri UI menyimpan keduanya untuk merender Peta Aplikasi, katalog Layanan, dan tampilan detail layanan.

## Layanan
<a name="observability-app-services"></a>

Tampilan Layanan menyediakan katalog terpusat dari semua layanan yang diinstrumentasi, menampilkan metrik RED (Nilai, Kesalahan, Durasi) secara sekilas. Anda dapat menggunakan tampilan ini untuk mengidentifikasi layanan yang tidak sehat dengan cepat dan menelusuri tampilan detail untuk analisis yang lebih dalam.

**Untuk mengakses tampilan Layanan, navigasikan ke ruang kerja Observability di OpenSearch UI dan pilih **APM** > Layanan.**

Halaman beranda Layanan menampilkan tabel semua layanan yang diinstrumentasi bersama dengan panel ringkasan. Gambar berikut menunjukkan halaman beranda Layanan.

![\[alt text not found\]](http://docs.aws.amazon.com/id_id/opensearch-service/latest/developerguide/images/apm/services-home.png)


Tabel berikut menjelaskan kolom dalam tabel layanan.


| Kolom | Deskripsi | 
| --- | --- | 
| Nama layanan | Nama layanan instrumentasi. | 
| Latensi P99 | Latensi persentil ke-99 untuk layanan ini. | 
| Latensi P90 | Latensi persentil ke-90 untuk layanan ini. | 
| Latensi P50 | Latensi persentil (median) ke-50 untuk layanan ini. | 
| Total permintaan | Jumlah total permintaan yang diproses selama rentang waktu yang dipilih. | 
| Rasio kegagalan | Rasio permintaan yang gagal terhadap total permintaan. | 
| Lingkungan | Lingkungan penyebaran layanan, seperti production ataustaging. | 

Halaman beranda juga mencakup panel ringkasan berikut:
+ **Layanan teratas berdasarkan tingkat kesalahan** - Layanan dengan persentase respons 5xx tertinggi.
+ **Jalur ketergantungan teratas berdasarkan tingkat kesalahan** — jalur Service-to-service ketergantungan dengan tingkat kesalahan tertinggi.

Anda dapat memfilter tabel layanan dengan menggunakan filter berikut:
+ **Lingkungan** - Filter berdasarkan lingkungan penyebaran.
+ **Latensi** — Filter berdasarkan rentang latensi.
+ **Throughput** - Filter berdasarkan rentang throughput permintaan.
+ **Rasio kegagalan** — Filter berdasarkan rentang rasio kegagalan.

### Gambaran Umum Layanan
<a name="observability-app-services-overview"></a>

Untuk membuka tampilan detail layanan, pilih nama layanan di tabel layanan. Tab Ikhtisar menampilkan ubin metrik dan bagan deret waktu untuk layanan yang dipilih.

![\[alt text not found\]](http://docs.aws.amazon.com/id_id/opensearch-service/latest/developerguide/images/apm/services-overview.png)


Tab Ikhtisar mencakup bagan deret waktu berikut:
+ **Latensi berdasarkan dependensi layanan** — latensi P50, P90, dan P99 dipecah berdasarkan dependensi hilir.
+ **Permintaan berdasarkan operasi** - Volume permintaan untuk setiap operasi layanan.
+ **Ketersediaan berdasarkan operasi** — Persentase respons yang berhasil untuk setiap operasi.
+ **Tingkat kesalahan dan tingkat kesalahan berdasarkan operasi** - Persentase respons 5xx dan 4xx untuk setiap operasi.

### Operasi
<a name="observability-app-services-operations"></a>

Tab Operasi menyediakan rincian per operasi untuk layanan yang dipilih. Anda dapat mengurutkan tabel berdasarkan kolom apa pun untuk mengidentifikasi operasi yang bermasalah.

![\[alt text not found\]](http://docs.aws.amazon.com/id_id/opensearch-service/latest/developerguide/images/apm/service-operations.png)


Tabel berikut menjelaskan kolom dalam tabel operasi.


| Kolom | Deskripsi | 
| --- | --- | 
| Nama operasi | Nama operasi. | 
| Latensi P50/P90/P99 | Latensi persentil ke-50, ke-90, dan ke-99 untuk operasi. | 
| Total permintaan | Jumlah total permintaan untuk operasi selama rentang waktu yang dipilih. | 
| Tingkat kesalahan | Persentase permintaan yang mengembalikan kesalahan. | 
| Ketersediaan | Persentase tanggapan yang berhasil untuk operasi. | 

### Dependensi
<a name="observability-app-services-dependencies"></a>

Tab Dependencies menampilkan layanan hilir yang dipanggil layanan yang dipilih.

![\[alt text not found\]](http://docs.aws.amazon.com/id_id/opensearch-service/latest/developerguide/images/apm/service-dependencies.png)


Tabel berikut menjelaskan kolom dalam tabel dependensi.


| Kolom | Deskripsi | 
| --- | --- | 
| Layanan ketergantungan | Nama layanan hilir. | 
| Operasi jarak jauh | Operasi memanggil layanan hilir. | 
| Operasi layanan | Operasi pada layanan saat ini yang memanggil ketergantungan ini. | 
| Latensi P99/P90/P50 | Latensi persentil ke-99, ke-90, dan ke-50 untuk jalur ketergantungan. | 
| Total permintaan | Jumlah total permintaan untuk ketergantungan selama rentang waktu yang dipilih. | 
| Tingkat kesalahan | Persentase permintaan ke dependensi yang mengembalikan kesalahan. | 
| Ketersediaan | Persentase tanggapan yang berhasil dari ketergantungan. | 

### Korelasi
<a name="observability-app-services-correlations"></a>

Tampilan detail layanan menyediakan korelasi dalam konteks yang memungkinkan Anda menavigasi dari metrik layanan langsung ke jejak dan log terkait. Anda dapat menggunakan korelasi untuk menyelidiki akar penyebab lonjakan latensi atau peningkatan tingkat kesalahan.

![\[alt text not found\]](http://docs.aws.amazon.com/id_id/opensearch-service/latest/developerguide/images/apm/service-span-correlations.png)


Opsi korelasi berikut tersedia:
+ **Lihat jejak terkait** - Membuka tampilan jejak yang difilter untuk layanan atau operasi yang dipilih.
+ **Lihat log terkait** - Membuka tampilan log yang difilter untuk layanan atau operasi yang dipilih.
+ **Filter berdasarkan atribut** - Mempersempit hasil korelasi dengan atribut rentang tertentu.

## Peta Aplikasi
<a name="observability-app-map"></a>

Peta Aplikasi adalah visualisasi topologi interaktif yang dihasilkan secara otomatis oleh OpenSearch Ingestion dari data jejak Anda dengan menggunakan prosesor. `otel_apm_service_map` Peta menampilkan layanan sebagai node dengan tepi arah yang menunjukkan pola komunikasi, dilapisi dengan metrik RED (Rate, Errors, Duration).

**Untuk mengakses Application Map, navigasikan ke ruang kerja Observability di OpenSearch UI dan pilih **APM > Application** map.**

Gambar berikut menunjukkan Peta Aplikasi.

![\[alt text not found\]](http://docs.aws.amazon.com/id_id/opensearch-service/latest/developerguide/images/apm/application-map.png)


Peta menampilkan metrik RED berikut untuk setiap layanan:
+ **Tarif** — Permintaan per detik diproses oleh layanan.
+ **Kesalahan** — Persentase tanggapan 4xx dan 5xx.
+ **Durasi** — Latensi P50 dan P99 untuk layanan ini.

`otel_apm_service_map`Prosesor menghasilkan metrik ini dan menyimpannya di Amazon Managed Service untuk Prometheus melalui penulisan jarak jauh.

Visualisasi topologi mewakili layanan sebagai node dan arah komunikasi sebagai tepi. Pengkodean warna menunjukkan status kesehatan setiap layanan. Peta diperbarui secara otomatis saat OpenSearch Ingestion menyerap data jejak baru.

### Layanan pengelompokan
<a name="observability-app-map-groupby"></a>

Anda dapat mengelompokkan layanan berdasarkan atribut seperti bahasa pemrograman, tim, atau lingkungan. Saat Anda memilih atribut group-by, peta beralih dari grafik topologi ke tampilan kisi kartu. Setiap kartu mewakili sekelompok layanan yang berbagi nilai atribut yang sama.

![\[alt text not found\]](http://docs.aws.amazon.com/id_id/opensearch-service/latest/developerguide/images/apm/groupby-attributes.png)


Atribut group-by yang tersedia ditentukan oleh `group_by_attributes` pengaturan dalam konfigurasi `otel_apm_service_map` prosesor di Ingestion. OpenSearch 

### Melihat detail simpul
<a name="observability-app-map-node-details"></a>

Untuk melihat detail layanan, pilih simpul di peta. Panel detail terbuka dengan bagian berikut.

![\[alt text not found\]](http://docs.aws.amazon.com/id_id/opensearch-service/latest/developerguide/images/apm/application-map-node-details.png)


Bagian **Kesehatan** menampilkan metrik ringkasan berikut:
+ Total Permintaan
+ Total Kesalahan 4xx
+ Total Kesalahan 5xx

Bagian **Metrik** menampilkan bagan deret waktu berikut:
+ Permintaan
+ Latensi P50/P90/P99
+ Kesalahan 5xx
+ Kesalahan 4xx

Pilih **Lihat detail** untuk menavigasi ke tampilan detail Layanan untuk layanan yang dipilih.

### Memfilter peta
<a name="observability-app-map-filters"></a>

Anda dapat memfilter Peta Aplikasi dengan menggunakan filter berikut:
+ **Tingkat kesalahan** - Filter layanan berdasarkan tingkat kesalahan sisi server (5xx).
+ **Tingkat kesalahan** - Filter layanan berdasarkan tingkat kesalahan sisi klien (4xx).
+ **Lingkungan** - Filter layanan berdasarkan lingkungan penyebaran.

Gambar berikut menunjukkan peta yang difilter oleh tingkat kesalahan.

![\[alt text not found\]](http://docs.aws.amazon.com/id_id/opensearch-service/latest/developerguide/images/apm/filter-by-error-rate.png)


### Korelasi dalam konteks
<a name="observability-app-map-correlations"></a>

Anda dapat menavigasi dari tampilan topologi langsung ke jejak dan log terkait. Dari node layanan apa pun, opsi korelasi berikut tersedia:
+ **Lihat jejak terkait** - Membuka tampilan jejak yang difilter untuk layanan yang dipilih.
+ **Lihat log terkait** - Membuka tampilan log yang difilter untuk layanan yang dipilih.

# Observabilitas AI
<a name="observability-ai"></a>

Observabilitas AI dalam OpenSearch menyediakan end-to-end perkakas untuk memantau, men-debug, dan mengoptimalkan alur kerja agen AI dan model bahasa besar (LLM). Dibangun di atas konvensi semantik GenAI dan terintegrasi secara native dengan OpenTelemetry (OTel), ini memberi Anda visibilitas penuh tentang bagaimana aplikasi AI Anda berperilaku dalam produksi.

Observabilitas AI mencakup kemampuan berikut:
+ **Agent tracing** - Tangkap jejak eksekusi hierarkis di seluruh langkah orkestrasi agen, panggilan LLM, pemanggilan alat, dan operasi pengambilan.
+ **Konvensi semantik GenAI** — Gunakan OTel atribut standar seperti,, dan untuk menggambarkan telemetri `gen_ai.system` khusus `gen_ai.request.model` AI. `gen_ai.usage.input_tokens`
+ **Instrumentasi** otomatis - Secara otomatis menangkap jejak dari kerangka kerja dan penyedia AI populer, termasuk OpenAI, Anthropic, Amazon Bedrock LangChain, dan lebih dari 20 pustaka tambahan.
+ **Kueri PPL** - Kueri dan data jejak agregat menggunakan Piped Processing Language (PPL) langsung dari UI. OpenSearch 

## Memulai
<a name="observability-ai-getting-started"></a>

Bagian ini memandu Anda melalui instrumentasi agen AI, mengirim jejak ke OpenSearch Layanan Amazon, dan melihatnya di OpenSearch UI.

### Untuk menginstal SDK
<a name="observability-ai-install-sdk"></a>

Instal paket instrumentasi OpenTelemetry GenAI:

```
pip install opentelemetry-instrumentation-openai-v2 opentelemetry-sdk opentelemetry-exporter-otlp
```

### Untuk instrumen kode agen Anda
<a name="observability-ai-instrument"></a>

Contoh berikut menunjukkan cara mendaftarkan OTel SDK, membubuhi keterangan fungsi agen Anda dengan `@observe` dekorator, dan memperkaya rentang dengan atribut GenAI.

```
from opentelemetry import trace
from opentelemetry.sdk.trace import TracerProvider
from opentelemetry.sdk.trace.export import BatchSpanProcessor
from opentelemetry.exporter.otlp.proto.grpc.trace_exporter import OTLPSpanExporter

# Register the tracer provider
provider = TracerProvider()
processor = BatchSpanProcessor(
    OTLPSpanExporter(endpoint="<your-osis-endpoint>")  # Use your OpenSearch Ingestion endpoint with SigV4
)
provider.add_span_processor(processor)
trace.set_tracer_provider(provider)

tracer = trace.get_tracer(__name__)

# Decorate your agent function
@observe
def run_agent(prompt: str):
    with tracer.start_as_current_span("invoke_agent") as span:
        span.set_attribute("gen_ai.operation.name", "invoke_agent")
        span.set_attribute("gen_ai.system", "openai")
        span.set_attribute("gen_ai.request.model", "gpt-4")

        # Enrich with token usage after the LLM call
        response = call_llm(prompt)
        span.set_attribute("gen_ai.usage.input_tokens", response.input_tokens)
        span.set_attribute("gen_ai.usage.output_tokens", response.output_tokens)
        return response
```

**catatan**  
Saat Anda mengirim jejak ke Amazon OpenSearch Service, gunakan titik akhir pipeline OpenSearch Ingestion Anda dengan autentikasi SigV4, bukan titik akhir localhost. Untuk informasi selengkapnya tentang mengonfigurasi saluran pipa OpenSearch Ingestion, lihat. [Sekilas tentang Amazon OpenSearch Ingestion](ingestion.md)

### Untuk melihat jejak di OpenSearch UI
<a name="observability-ai-view-traces"></a>

Setelah aplikasi yang diinstrumentasi mengirimkan data jejak, Anda dapat menjelajahinya di OpenSearch UI. Di ruang kerja observabilitas Anda, perluas **Temukan** di navigasi kiri dan pilih Jejak **Agen**.

## UI Penelusuran Agen
<a name="observability-ai-agent-tracing"></a>

Halaman Agent Traces di OpenSearch UI menyediakan antarmuka yang dibuat khusus untuk menjelajahi, men-debug, dan memantau jejak eksekusi agen LLM. Ini memberi pengembang dan operator platform pengamatan penuh ke dalam aplikasi AI agen, termasuk tampilan jejak hierarkis, flyout detail, visualisasi aliran, dan metrik agregat.

### Arsitektur
<a name="observability-ai-architecture"></a>

Diagram berikut menunjukkan aliran data dari aplikasi yang diinstrumentasi ke UI Agent Traces:

```
LLM Application (with OTel SDK + GenAI instrumentation)
    |
    |  OTLP (gRPC/HTTP)
    v
OTel Collector (batch, transform)
    |
    +---- OTLP ----> OpenSearch Ingestion --> OpenSearch (otel-v1-apm-span-*)
    |
    +---- Prometheus Remote Write --> Prometheus (metrics)
                                          |
                                          v
                              OpenSearch UI
                              +-- Agent Traces Plugin
```

### Prasyarat
<a name="observability-ai-prereqs"></a>

Sebelum Anda menggunakan Agent Traces, pastikan Anda memiliki yang berikut:
+  OpenSearch Cluster dengan data jejak yang diindeks dalam `otel-v1-apm-span-*` indeks.
+ OpenTelemetry instrumentasi dengan konvensi semantik GenAI diaktifkan dalam aplikasi LLM Anda.
+ OpenSearch Ingestion dikonfigurasi dengan `otel_trace_raw` prosesor untuk menelan bentang ke dalam. OpenSearch
+ Dukungan kueri PPL diaktifkan di OpenSearch UI.

### Atribut rentang yang diperlukan
<a name="observability-ai-span-attributes"></a>

Agent Traces memerlukan atribut rentang tertentu untuk merender data jejak dengan benar. Tabel berikut menjelaskan bidang inti dan atribut khusus Genai.

**Bidang rentang inti**  
Setiap rentang harus menyertakan bidang inti berikut:


| Bidang | Tipe | Deskripsi | 
| --- | --- | --- | 
| traceId | String | Pengidentifikasi unik untuk seluruh jejak. | 
| spanId | String | Pengidentifikasi unik untuk rentang ini. | 
| parentSpanId | String | Pengidentifikasi rentang induk. Kosong untuk rentang root. | 
| startTime | Stempel waktu | Waktu ketika rentang dimulai. | 
| endTime | Stempel waktu | Waktu ketika rentang berakhir. | 
| durationInNanos | Panjang | Durasi rentang dalam nanodetik. | 
| status.code | Bilangan Bulat | Kode status rentang (0 = tidak disetel, 1 = OK, 2 = kesalahan). | 

**Atribut GenAI**  
`gen_ai.*`Atribut berikut mengaktifkan fitur khusus AI di UI Agent Traces:


| Atribut | Nilai contoh | Deskripsi | 
| --- | --- | --- | 
| gen\$1ai.operation.name | chat | Jenis operasi GenAI. Menentukan kategori rentang. | 
| gen\$1ai.system | openai | Sistem atau penyedia AI. | 
| gen\$1ai.request.model | gpt-4 | Model yang digunakan untuk permintaan. | 
| gen\$1ai.usage.input\$1tokens | 150 | Jumlah token input yang dikonsumsi. | 
| gen\$1ai.usage.output\$1tokens | 85 | Jumlah token keluaran yang dihasilkan. | 
| gen\$1ai.response.finish\$1reasons | ["stop"] | Alasan model berhenti menghasilkan. | 

### Tata letak halaman dan bilah metrik
<a name="observability-ai-page-layout"></a>

Halaman Agent Traces menampilkan bilah metrik di bagian atas yang merangkum statistik utama di semua jejak yang terlihat. Metrik mencakup jumlah jejak total, durasi rata-rata, tingkat kesalahan, dan penggunaan token. Nilai-nilai ini diperbarui secara dinamis berdasarkan filter waktu dan kueri Anda.

### Tab Jejak
<a name="observability-ai-traces-tab"></a>

Tab Traces mencantumkan semua jejak agen root yang cocok dengan kueri dan rentang waktu Anda saat ini. Setiap baris mewakili permintaan agen tunggal.

![\[alt text not found\]](http://docs.aws.amazon.com/id_id/opensearch-service/latest/developerguide/images/agent-traces/traces-table.png)


Tabel berikut menjelaskan kolom dalam tabel jejak:


| Kolom | Deskripsi | 
| --- | --- | 
| ID Jejak | Pengidentifikasi unik untuk jejak. Pilih tautan untuk membuka flyout detail jejak. | 
| Nama agen | Nama agen yang memprakarsai jejak. | 
| Status | Status jejak keseluruhan (OK atau Kesalahan). | 
| Durasi | Total waktu dari rentang pertama hingga rentang terakhir dalam jejak. | 
| Rentang | Jumlah total bentang di jejak. | 
| Token masukan | Total token input yang dikonsumsi di semua panggilan LLM dalam jejak. | 
| Token keluaran | Total token keluaran yang dihasilkan di semua panggilan LLM dalam jejak. | 
| Waktu mulai | Stempel waktu saat jejak dimulai. | 

### Kategori Span
<a name="observability-ai-span-categories"></a>

Rentang dikategorikan berdasarkan atribut. `gen_ai.operation.name` Setiap kategori ditampilkan dengan warna dan ikon unik di UI.


| Nama operasi | Kategori | Deskripsi | 
| --- | --- | --- | 
| invoke\$1agent, create\$1agent | Agen | Langkah orkestrasi agen. | 
| chat | LLM | Panggilan penyelesaian obrolan LLM. | 
| text\$1completion, generate\$1content | Daftar isi | Operasi pembuatan teks. | 
| execute\$1tool | Alat | Pemanggilan alat. | 
| embeddings | Embeddings | Generasi penyematan. | 
| retrieval | Pengambilan | Operasi pengambilan data. | 

### Tab bentang
<a name="observability-ai-spans-tab"></a>

Tab Spans menampilkan bentang individual di semua jejak. Anda dapat memfilter dan mengurutkan rentang untuk menemukan operasi tertentu.

![\[alt text not found\]](http://docs.aws.amazon.com/id_id/opensearch-service/latest/developerguide/images/agent-traces/spans-table.png)


### Lacak detail flyout
<a name="observability-ai-trace-details"></a>

Saat Anda memilih ID jejak, panel flyout terbuka dengan dua area utama:
+ **Panel kiri** - Menampilkan pohon jejak, yang menunjukkan hubungan hirarkis orangtua-anak antara bentang. Ini juga mencakup aliran DAG (grafik asiklik terarah) yang memvisualisasikan jalur eksekusi agen.
+ **Panel kanan** - Berisi dua tab. Tab **Detail** menampilkan atribut rentang, atribut sumber daya, dan metadata khusus Genai. Tab **Timeline** menunjukkan bagan air terjun dengan durasi rentang waktu dan hubungan waktunya.

### Menanyakan jejak
<a name="observability-ai-querying"></a>

Agent Traces menggunakan PPL (Piped Processing Language) untuk semua pengambilan data. Anda dapat menulis kueri di panel kueri di bagian atas halaman.

**Untuk membuat daftar jejak root**  
Kueri berikut mengembalikan 100 jejak agen root terbaru:

```
source = otel-v1-apm-span-*
| where parentSpanId = "" AND isnotnull(`attributes.gen_ai.operation.name`)
| sort - startTime
| head 100
```

**Untuk mengambil semua bentang untuk jejak**  
Query berikut mengembalikan pohon rentang lengkap untuk jejak tertentu:

```
source = otel-v1-apm-span-*
| where traceId = "trace-id"
| head 1000
```

**Untuk menghitung metrik agregat**  
Kueri berikut menghitung durasi rata-rata dan total penggunaan token yang dikelompokkan berdasarkan model:

```
source = otel-v1-apm-span-*
| where isnotnull(`attributes.gen_ai.request.model`)
| stats avg(durationInNanos) as avg_duration,
        sum(`attributes.gen_ai.usage.input_tokens`) as total_input_tokens,
        sum(`attributes.gen_ai.usage.output_tokens`) as total_output_tokens
    by `attributes.gen_ai.request.model`
```