Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
OpenTelemetry Kolektor
OpenTelemetry Kolektor adalah agen agnostik vendor-agnostik open source yang menerima, memproses, dan mengekspor data telemetri. Ini bertindak sebagai saluran pusat antara aplikasi Anda dan Amazon CloudWatch, mengumpulkan metrik, log, dan jejak dari berbagai sumber dan mengirimkannya ke CloudWatch menggunakan OpenTelemetry Protokol (OTLP).
Menggunakan OpenTelemetry Kolektor dengan CloudWatch memberikan manfaat sebagai berikut:
-
Kumpulkan telemetri dari beberapa aplikasi dan host melalui satu agen, mengurangi jumlah koneksi ke. CloudWatch
-
Memproses dan memfilter telemetri sebelum mengirimnya ke CloudWatch, termasuk menambahkan atau menghapus atribut, mengelompokkan data, dan jejak pengambilan sampel.
-
Gunakan konfigurasi kolektor yang sama di seluruh AWS, lokal, dan lingkungan cloud lainnya, menyediakan pipeline telemetri yang konsisten di mana pun aplikasi Anda berjalan.
-
Kirim metrik ke label kaya CloudWatch yang tersedia untuk kueri menggunakan Prometheus Query Language (PromQL) di Query Studio. CloudWatch
Penerima yang didukung
OpenTelemetry Kolektor mendukung berbagai penerima untuk menelan data telemetri. Anda dapat menggunakan OpenTelemetry penerima seperti penerima OTLP untuk aplikasi yang diinstrumentasi dengan OpenTelemetry SDK, atau penerima Prometheus untuk mengikis metrik dari eksportir Prometheus yang ada. Penerima Prometheus umum yang digunakan meliputi: CloudWatch
-
Penerima Prometheus, untuk mengikis titik akhir apa pun Prometheus-compatible
-
Penerima Metrik Host, untuk mengumpulkan metrik tingkat sistem dari host
-
Penerima Kubernetes Cluster, untuk mengumpulkan metrik tingkat cluster dari server API Kubernetes
Anda dapat mengonfigurasi beberapa penerima dalam satu kolektor, memungkinkan Anda mengumpulkan metrik keduanya OpenTelemetry dan Prometheus dan mengirimkannya melalui pipa yang sama. CloudWatch Untuk daftar lengkap penerima yang tersedia, lihat repositori OpenTelemetry
Memulai
Prasyarat — Jika menggunakan titik akhir OTLP untuk melacak, pastikan bahwa Pencarian Transaksi diaktifkan.
Langkah:
-
Unduh rilis terbaru dari distribusi OpenTelemetry Kolektor. Untuk informasi selengkapnya, lihat rilis OpenTelemetry
Kolektor. -
Instal OpenTelemetry Kolektor di host Anda. Kolektor berjalan pada sistem operasi dan platform apa pun. Untuk informasi selengkapnya, lihat Menginstal Kolektor
. -
Konfigurasikan AWS kredensional di Amazon EC2 atau host lokal. Kolektor menggunakan kredensil ini untuk mengautentikasi CloudWatch saat mengirim data telemetri. Lihat di bawah untuk detailnya.
-
Siapkan AWS kredensil untuk kluster Amazon EKS atau Kubernetes Anda. Cara termudah untuk memulai dengan Amazon EKS adalah dengan menggunakan add-on EKS OTel Container Insights. Jika Anda lebih suka menggunakan OpenTelemetry Collector secara langsung, ikuti prosedur di bawah ini untuk menyiapkan AWS kredensil untuk kluster Amazon EKS atau Kubernetes Anda untuk mengirim telemetri. CloudWatch
-
Konfigurasikan eksportir OTLP dalam konfigurasi kolektor Anda untuk mengirim telemetri ke titik akhir. CloudWatch Lihat contoh di bawah ini.
Otentikasi dengan token pembawa (kunci API)
Jika Anda tidak perlu mengonfigurasi AWS kredensi pada host — misalnya, saat berjalan di AWS non-infrastruktur, penyedia cloud lain, atau CI/CD saluran pipa — Anda dapat menggunakan otentikasi token pembawa alih-alih SigV4. Token pembawa didukung untuk metrik dan titik akhir log (kunci API terpisah diperlukan untuk setiap layanan). Otentikasi token pembawa tidak didukung untuk jejak.
Untuk petunjuk penyiapan, lihatMenyiapkan otentikasi token pembawa untuk Metrik. Untuk log, lihat Menyiapkan otentikasi token pembawa untuk Log.
Untuk contoh konfigurasi kolektor menggunakan token pembawa, lihat contoh metrik token pembawa dalam contoh konfigurasi kolektor di bawah ini.
Contoh konfigurasi kolektor
Salin dan tempel konten di bawah ini untuk mengonfigurasi kolektor Anda untuk mengirim log dan jejak ke titik akhir OTLP.
receivers: otlp: protocols: grpc: endpoint: 0.0.0.0:4317 http: endpoint: 0.0.0.0:4318 exporters: otlphttp/logs: compression: gzip logs_endpoint:logs_otlp_endpointheaders: x-aws-log-group: ency_log_group x-aws-log-stream: default auth: authenticator: sigv4auth/logs otlphttp/traces: compression: gzip traces_endpoint:traces_otlp_endpointauth: authenticator: sigv4auth/traces extensions: sigv4auth/logs: region: "region" service: "logs" sigv4auth/traces: region: "region" service: "xray" service: telemetry: extensions: [sigv4auth/logs, sigv4auth/traces] pipelines: logs: receivers: [otlp] exporters: [otlphttp/logs] traces: receivers: [otlp] exporters: [otlphttp/traces]
Berikut ini adalah contoh untuk mengirim log dan jejak menggunakan sigv4 ke us-east-1.
receivers: otlp: protocols: grpc: endpoint: 0.0.0.0:4317 http: endpoint: 0.0.0.0:4318 exporters: otlphttp/logs: compression: gzip logs_endpoint: https://logs.us-east-1.amazonaws.com/v1/logs headers: x-aws-log-group: MyApplicationLogs x-aws-log-stream: default auth: authenticator: sigv4auth/logs otlphttp/traces: compression: gzip traces_endpoint: https://xray.us-east-1.amazonaws.com/v1/traces auth: authenticator: sigv4auth/traces extensions: sigv4auth/logs: region: "us-east-1" service: "logs" sigv4auth/traces: region: "us-east-1" service: "xray" service: telemetry: extensions: [sigv4auth/logs, sigv4auth/traces] pipelines: logs: receivers: [otlp] exporters: [otlphttp/logs] traces: receivers: [otlp] exporters: [otlphttp/traces]
catatan
Konfigurasikan OpenTelemetry SDK Anda ke konfigurasi sampling always_on untuk merekam rentang 100% dengan andal dan mendapatkan visibilitas penuh ke aplikasi penting Anda dengan Sinyal Aplikasi. CloudWatch Untuk informasi selengkapnya, lihat contoh konfigurasi sampler SDK OpenTelemetry Java
Salin dan tempel konten di bawah ini untuk mengonfigurasi kolektor Anda untuk mengirim metrik ke titik akhir OTLP.
receivers: otlp: protocols: http: endpoint: "0.0.0.0:4318" processors: batch: send_batch_size: 200 timeout: 10s exporters: otlphttp: tls: insecure: false endpoint:metrics_otlp_endpointauth: authenticator: sigv4auth extensions: sigv4auth: service: "monitoring" region: "region" service: extensions: [sigv4auth] pipelines: metrics: receivers: [otlp] processors: [batch] exporters: [otlphttp]
Berikut ini adalah contoh untuk mengirim metrik menggunakan sigv4 ke us-east-1.
receivers: otlp: protocols: http: endpoint: "0.0.0.0:4318" processors: batch: send_batch_size: 200 timeout: 10s exporters: otlphttp: tls: insecure: false endpoint: "https://monitoring.us-east-1.amazonaws.com/v1/metrics:443" auth: authenticator: sigv4auth extensions: sigv4auth: service: "monitoring" region: "us-east-1" service: extensions: [sigv4auth] pipelines: metrics: receivers: [otlp] processors: [batch] exporters: [otlphttp]
Metrik dengan otentikasi token pembawa
Berikut ini adalah contoh untuk mengirim metrik menggunakan token pembawa ke us-east-1. Untuk petunjuk penyiapan dan praktik terbaik keamanan, lihatMenyiapkan otentikasi token pembawa untuk Metrik.
extensions: bearertokenauth: filename: "/etc/otel/cw-api-key" receivers: otlp: protocols: http: endpoint: "0.0.0.0:4318" processors: batch: send_batch_size: 200 timeout: 10s exporters: otlphttp: tls: insecure: false endpoint: "https://monitoring.us-east-1.amazonaws.com/v1/metrics" auth: authenticator: bearertokenauth service: extensions: [bearertokenauth] pipelines: metrics: receivers: [otlp] processors: [batch] exporters: [otlphttp]
penting
Jangan pernah melakukan hardcode kunci API secara langsung di file konfigurasi kolektor. Gunakan filename untuk membaca dari rahasia yang dipasang, atau ${env:VAR} untuk membaca dari variabel lingkungan yang disuntikkan oleh manajer rahasia Anda.
catatan
Tidak seperti SiGv4, token pembawa tidak memerlukan file AWS kredensyal, peran IAM, atau konfigurasi IRSA. Kolektor dapat berjalan di platform apa pun tanpa dependensi AWS SDK.