View a markdown version of this page

Integrasikan Amazon MSK - Amazon CloudWatch

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

Integrasikan Amazon MSK

Dengan kolektor Prometheus yang CloudWatch dikelola Amazon, Anda dapat secara otomatis menemukan dan mengumpulkan Prometheus metrik dari cluster Amazon MSK Anda. Saat Anda mengaktifkan Pemantauan Terbuka di cluster Amazon MSK, Prometheus metrik akan ditampilkan melalui Eksportir Ekstensi Manajemen Java (JMX) dan Eksportir Node. Kolektor terkelola terhubung ke VPC Anda dan mengikis metrik ini dari semua broker menggunakan penemuan DNS-based layanan dan mengirimkan metrik ini langsung ke. CloudWatch Dengan integrasi ini, Anda dapat memantau metrik tingkat host, metrik, dan JVM-level metrik broker Kafka CloudWatch tanpa menggunakan agen apa pun.

catatan

Ketika kolektor Prometheus yang CloudWatch dikelola Amazon mengirimkan metrik Amazon MSK Anda ke CloudWatch, secara otomatis memperkaya setiap metrik dengan atribut yang mengidentifikasi asalnya. Setiap metrik membawa lingkup instrumentasi kolektor, atribut cloud yang merekam AWS akun dan Wilayah, dan unit yang disimpulkan kolektor dari nama metrik. Anda dapat memfilter dan mengelompokkan atribut ini saat menanyakan metrik Anda dengan PromQL.

Prasyarat

Prosedur ini mengasumsikan keakraban dengan administrasi cluster Amazon MSK dan konsep jaringan Amazon VPC.

  • Cluster Amazon MSK dalam mode disediakan, dengan broker standar atau ekspres. Kolektor terkelola tidak mendukung Amazon MSK Serverless.

  • Buka Pemantauan diaktifkan pada cluster. Untuk informasi selengkapnya, lihat Pemantauan Ter buka dengan Prometheus di Panduan Pengembang Amazon MSK.

  • Setidaknya dua subnet di Zona Ketersediaan yang berbeda

  • Grup keamanan yang memungkinkan kolektor untuk mencapai port broker 11001 dan 11002

Langkah 1: Aktifkan Pemantauan Terbuka

Aktifkan Pemantauan Terbuka di cluster Amazon MSK Anda untuk mengekspos Prometheus metrik. Untuk petunjuk tentang mengaktifkan Pemantauan Terbuka, lihat Pemantauan Ter buka dengan Prometheus di Panduan Pengembang Amazon MSK.

aws kafka update-monitoring \ --cluster-arn "arn:aws:kafka:us-west-2:123456789012:cluster/my-cluster/abc123-def456" \ --current-version "K1A2B3C4D5" \ --open-monitoring '{ "Prometheus": { "JmxExporter": {"EnabledInBroker": true}, "NodeExporter": {"EnabledInBroker": true} } }'
catatan

--open-monitoringParameter saja mengekspos Prometheus titik akhir pada port 11001 dan 11002. Tingkat pemantauan PER_TOPIC_PER_PARTITION yang ditingkatkan seperti terpisah dari Pemantauan Terbuka dan dapat dikenakan biaya tambahan, jadi tetapkan hanya jika Anda memerlukan tingkat metrik Amazon MSK tersebut.

Langkah 2: Dapatkan nama DNS cluster Anda

Amazon MSK menyediakan nama DNS tingkat cluster yang diselesaikan ke semua IP broker. Menggunakan ini untuk penemuan layanan membuat pemantauan Anda tahan terhadap penggantian broker dan penskalaan cluster.

Dapatkan nama DNS cluster Anda (hapus awalan khusus broker seperti b-1. ataub-2.):

aws kafka get-bootstrap-brokers --cluster-arn "arn:aws:kafka:us-west-2:123456789012:cluster/my-cluster/abc123-def456"

Misalnya, jika broker bootstrap kembalib-1.my-cluster.abc123.c4.kafka.us-west-2.amazonaws.com, gunakan my-cluster.abc123.c4.kafka.us-west-2.amazonaws.com sebagai nama DNS cluster Anda.

Langkah 3: Konfigurasikan konfigurasi scrape

Berikut ini adalah contoh konfigurasi scrape untuk Amazon MSK. Anda mereferensikan konfigurasi ini saat Anda membuat scraper di langkah berikutnya. Untuk informasi selengkapnya tentang opsi konfigurasi, lihatKonfigurasi scraper.

global: scrape_interval: 60s external_labels: cluster_name: my-msk-cluster scrape_configs: - job_name: 'msk-jmx' dns_sd_configs: - names: - my-cluster.abc123.c4.kafka.us-west-2.amazonaws.com type: A port: 11001 relabel_configs: - source_labels: [__meta_dns_name] target_label: broker_dns - source_labels: [__address__] target_label: instance - target_label: compute_platform replacement: 'msk' - job_name: 'msk-node' dns_sd_configs: - names: - my-cluster.abc123.c4.kafka.us-west-2.amazonaws.com type: A port: 11002 relabel_configs: - source_labels: [__meta_dns_name] target_label: broker_dns - source_labels: [__address__] target_label: instance - target_label: compute_platform replacement: 'msk'

Langkah 4: Buat scraper

Buat scraper dengan CloudWatch tujuan, menggunakan konfigurasi scrape untuk broker Amazon MSK Anda dari langkah sebelumnya.

AWS API

Gunakan operasi CreateScraper API untuk membuat scraper dengan CloudWatch tujuan. Ganti subnet, grup keamanan, dan informasi dataset dengan nilai Anda sendiri.

POST /scrapers HTTP/1.1 { "alias": "msk-metrics-scraper", "source": { "vpcConfiguration": { "subnetIds": ["subnet-subnet-id-1", "subnet-subnet-id-2"], "securityGroupIds": ["sg-security-group-id"] } }, "destination": { "cloudWatchConfiguration": { "datasetArn": "arn:aws:cloudwatch:us-west-2:123456789012:dataset/default" } }, "scrapeConfiguration": { "configurationBlob": "base64-encoded-blob" } }
AWS CLI

Gunakan create-scraper perintah untuk membuat scraper dengan CloudWatch tujuan. Ganti subnet, grup keamanan, dan informasi dataset dengan nilai Anda sendiri.

aws amp create-scraper \ --alias "msk-metrics-scraper" \ --source '{ "vpcConfiguration": { "subnetIds": ["subnet-subnet-id-1", "subnet-subnet-id-2"], "securityGroupIds": ["sg-security-group-id"] } }' \ --scrape-configuration configurationBlob=$(cat msk-config.yaml | base64 -w 0) \ --destination '{ "cloudWatchConfiguration": { "datasetArn": "arn:aws:cloudwatch:us-west-2:123456789012:dataset/default" } }'

Metrik yang tersedia

  • JMX Exporter (port 11001) - Internal broker Kafka termasuk metrik topik, metrik partisi, tarif permintaan, lag konsumen, dan partisi yang kurang direplikasi.

  • Eksportir Node (port 11002) — Host-level metrik termasuk CPU, memori, disk I/O, dan throughput jaringan.

Untuk daftar lengkap metrik yang tersedia, lihat Metrik MSK yang dikumpulkan oleh kolektor terkelola di Panduan Pengguna Layanan Terkelola Amazon untuk Prometheus.

Validasi koleksi metrik

Untuk mengonfirmasi bahwa kolektor mengirimkan metrik JMX dan Node Exporter, jalankan kueri berikut CloudWatch dengan Query Studio. Jika setiap kueri mengembalikan titik data, kolektor berhasil mengikis eksportir terkait.

Kueri berikut mengembalikan metrik Kafka tingkat broker dari JMX Exporter (port 11001). Ini melaporkan tingkat rata-rata aktivitas topik broker, seperti pesan dan byte yang mengalir melalui broker. Poin data mengkonfirmasi bahwa kolektor sedang mengikis metrik broker Kafka.

kafka_server_BrokerTopicMetrics_MeanRate

Kueri berikut mengembalikan pemanfaatan CPU tingkat host dari Node Exporter (port 11002). Ini mengurangi tingkat CPU idle rata-rata selama jendela lima menit dari 100 untuk memberikan persentase CPU yang digunakan broker. Poin data mengkonfirmasi bahwa kolektor sedang mengikis metrik tingkat host.

100 - (avg by (instance) (rate(node_cpu_seconds_total{mode="idle"}[5m])) * 100)

Lihat dasbor otomatis

Setelah kolektor mulai mengirimkan metrik Amazon MSK Anda ke CloudWatch, CloudWatch konsol menyediakan dasbor otomatis bernama MSK oTel. Untuk membukanya, lihat MSK OT el, atau masuk ke Konsol AWS Manajemen, buka CloudWatch konsol, pilih Dasbor di panel navigasi, pilih Dasbor otomatis, lalu pilih M SK OTel. Anda dapat mulai memantau cluster Anda tanpa membuat widget atau dasbor sendiri.

Jika dasbor otomatis memenuhi kebutuhan Anda, Anda dapat menggunakannya apa adanya. Untuk membangun pengalaman pemantauan yang disesuaikan, Anda dapat menambahkan widgetnya ke dasbor khusus. Untuk informasi selengkapnya tentang dasbor kustom, lihat Menggunakan CloudWatch das bor.

Cross-account observabilitas

Untuk pemantauan Amazon MSK lintas akun, sebaiknya gunakan sentralisasi CloudWatch metrik Amazon. Untuk informasi selengkapnya, lihat sentralisasi CloudWatch metrik.

Untuk konfigurasi scraper lintas-akun alternatif menggunakan rantai peran, lihat integrasi Cross-account Amazon MSK di Panduan Pengguna Layanan Terkelola Amazon untuk Prometheus.

Batasan saat ini

  • Kolektor terkelola tidak mendukung cluster Tanpa Server Amazon MSK.

  • Kolektor yang dikelola tidak mendukung akses publik yang dikombinasikan dengan mode metadata Kraft.

  • Setiap cluster Amazon MSK dan kombinasi CloudWatch dataset memerlukan satu kolektor.