Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Pantau metrik Spark dengan Amazon Managed Service untuk Prometheus
Dengan Amazon EMR rilis 7.1.0 dan yang lebih tinggi, Anda dapat mengintegrasikan EMR Tanpa Server dengan Amazon Managed Service untuk Prometheus guna mengumpulkan metrik Apache Spark untuk pekerjaan dan aplikasi EMR Tanpa Server. Integrasi ini tersedia saat Anda mengirimkan pekerjaan atau membuat aplikasi menggunakan AWS konsol, EMR Serverless API, atau. AWS CLI
Prasyarat
Sebelum Anda dapat mengirimkan metrik Spark Anda ke Amazon Managed Service untuk Prometheus, Anda harus menyelesaikan prasyarat berikut.
-
Buat Layanan Terkelola Amazon untuk ruang kerja Prometheus. Ruang kerja ini berfungsi sebagai titik akhir konsumsi. Catat URL yang ditampilkan untuk Endpoint - URL tulis jarak jauh. Anda harus menentukan URL saat membuat aplikasi EMR Tanpa Server.
-
Untuk memberikan akses pekerjaan Anda ke Amazon Managed Service untuk Prometheus untuk tujuan pemantauan, tambahkan kebijakan berikut ke peran pelaksanaan pekerjaan Anda.
{ "Sid": "AccessToPrometheus", "Effect": "Allow", "Action": ["aps:RemoteWrite"], "Resource": "arn:aws:aps:
<AWS_REGION>
:<AWS_ACCOUNT_ID>
:workspace/<WORKSPACE_ID>
" }
Pengaturan
Untuk menggunakan AWS konsol untuk membuat aplikasi yang terintegrasi dengan Amazon Managed Service untuk Prometheus
-
Lihat Memulai Amazon EMR Tanpa Server untuk membuat aplikasi.
-
Saat Anda membuat aplikasi, pilih Gunakan pengaturan khusus, lalu konfigurasikan aplikasi Anda dengan menentukan informasi ke dalam bidang yang ingin Anda konfigurasikan.
-
Di bawah Log dan metrik aplikasi, pilih Mengirimkan metrik engine ke Amazon Managed Service for Prometheus, lalu tentukan URL penulisan jarak jauh Anda.
-
Tentukan pengaturan konfigurasi lain yang Anda inginkan, lalu pilih Buat dan mulai aplikasi.
Gunakan API AWS CLI Tanpa Server EMR atau
Anda juga dapat menggunakan API Tanpa Server EMR AWS CLI atau EMR untuk mengintegrasikan aplikasi EMR Tanpa Server Anda dengan Amazon Managed Service for Prometheus saat menjalankan atau perintah. create-application
start-job-run
Termasuk prometheusMonitoringConfiguration
dalam perintah Anda menunjukkan bahwa EMR Tanpa Server harus menjalankan pekerjaan Spark dengan agen yang mengumpulkan metrik Spark dan menuliskannya ke titik remoteWriteUrl
akhir Anda untuk Amazon Managed Service for Prometheus. Anda kemudian dapat menggunakan metrik Spark di Amazon Managed Service for Prometheus untuk visualisasi, peringatan, dan analisis.
Properti konfigurasi lanjutan
EMR Tanpa Server menggunakan komponen dalam nama Spark PrometheusServlet
untuk mengumpulkan metrik Spark dan menerjemahkan data kinerja ke dalam data yang kompatibel dengan Amazon Managed Service for Prometheus. Secara default, EMR Tanpa Server menetapkan nilai default di Spark dan mengurai metrik driver dan pelaksana saat Anda mengirimkan pekerjaan menggunakan. PrometheusMonitoringConfiguration
Tabel berikut menjelaskan semua properti yang dapat Anda konfigurasikan saat mengirimkan pekerjaan Spark yang mengirimkan metrik ke Amazon Managed Service for Prometheus.
Properti percikan | Nilai default | Deskripsi |
---|---|---|
spark.metrics.conf.*.sink.prometheusServlet.class |
org.apache.spark.metrics.sink. PrometheusServlet |
Kelas yang digunakan Spark untuk mengirim metrik ke Amazon Managed Service untuk Prometheus. Untuk mengganti perilaku default, tentukan kelas kustom Anda sendiri. |
spark.metrics.conf.*.source.jvm.class |
org.apache.spark.metrics.source. JvmSource |
Kelas Spark digunakan untuk mengumpulkan dan mengirim metrik penting dari mesin virtual Java yang mendasarinya. Untuk berhenti mengumpulkan metrik JVM, nonaktifkan properti ini dengan menyetelnya ke string kosong, seperti. |
spark.metrics.conf.driver.sink.prometheusServlet.path |
/metrik/prometheus |
URL berbeda yang digunakan Amazon Managed Service untuk Prometheus untuk mengumpulkan metrik dari driver. Untuk mengganti perilaku default, tentukan jalur Anda sendiri. Untuk berhenti mengumpulkan metrik driver, nonaktifkan properti ini dengan menyetelnya ke string kosong, seperti |
spark.metrics.conf.executor.sink.prometheusServlet.path |
/metrics/executor/prometheus |
URL berbeda yang digunakan Amazon Managed Service untuk Prometheus untuk mengumpulkan metrik dari pelaksana. Untuk mengganti perilaku default, tentukan jalur Anda sendiri. Untuk berhenti mengumpulkan metrik pelaksana, nonaktifkan properti ini dengan menyetelnya ke string kosong, seperti. |
Untuk informasi selengkapnya tentang metrik Spark, lihat metrik Apache
Pertimbangan dan batasan
Saat menggunakan Amazon Managed Service for Prometheus untuk mengumpulkan metrik dari EMR Tanpa Server, pertimbangkan pertimbangan dan batasan berikut.
-
Dukungan untuk menggunakan Amazon Managed Service untuk Prometheus dengan EMR Serverless hanya tersedia di tempat Amazon Managed Service untuk Prometheus Wilayah AWS umumnya tersedia.
-
Menjalankan agen untuk mengumpulkan metrik Spark di Amazon Managed Service untuk Prometheus membutuhkan lebih banyak sumber daya dari pekerja. Jika Anda memilih ukuran pekerja yang lebih kecil, seperti satu pekerja vCPU, waktu kerja Anda mungkin meningkat.
-
Dukungan untuk menggunakan Amazon Managed Service untuk Prometheus dengan EMR Tanpa Server hanya tersedia untuk Amazon EMR rilis 7.1.0 dan yang lebih tinggi.
-
Layanan Terkelola Amazon untuk Prometheus harus diterapkan di akun yang sama tempat Anda menjalankan EMR Tanpa Server untuk mengumpulkan metrik.