Flink menyediakan metrik pemantauan untuk membantu Anda menganalisis pekerjaan. Anda dapat melihat metrik secara langsung pada tab Data Curve di halaman Job O&M di Konsol pengembangan Realtime Compute for Apache Flink. Anda juga dapat melaporkan metrik pemantauan ke saluran lain. Topik ini menjelaskan cara melaporkan metrik pemantauan ke instans Prometheus yang dikelola sendiri, Simple Log Service (SLS), Kafka, platform yang dikelola sendiri, atau beberapa saluran sekaligus.
Perhatian
Anda hanya dapat melaporkan metrik ke instans Prometheus yang dikelola sendiri, Simple Log Service (SLS), atau Kafka. Anda juga dapat melaporkan metrik ke beberapa saluran sekaligus.
Saat melaporkan metrik ke beberapa saluran
Pelaporan ke beberapa saluran menimbulkan biaya pengumpulan tambahan. Anda juga harus mengubah item konfigurasi metrics.reporters. Untuk informasi selengkapnya, lihat Laporkan ke beberapa saluran.
Jika Anda hanya melaporkan metrik ke saluran selain Konsol Flink
Realtime Compute for Apache Flink tidak akan mengaktifkan layanan ARMS atau Cloud Monitor untuk Anda. Konsol pengembangan Flink tidak akan menampilkan metrik pemantauan. Anda harus melihat metrik pada platform tempat metrik tersebut dilaporkan.
Konfigurasi alert yang ada di Konsol pengembangan Flink akan menjadi tidak valid. Untuk informasi selengkapnya, lihat Konfigurasikan pemantauan dan alert. Anda tidak akan dapat membuat konfigurasi alert yang valid di kemudian hari. Anda harus mengonfigurasi alert pada platform tempat metrik dilaporkan.
Sesuaikan saluran pelaporan metrik pemantauan
Laporkan ke instans Prometheus yang dikelola sendiri
Pastikan jaringan Anda terhubung. Kemudian, pada tab Deployment Details pekerjaan target di Konsol pengembangan Flink, buka bagian Other Configurations di bawah Parameter Settings. Tambahkan kode berikut dan sesuaikan parameter untuk Prometheus yang dikelola sendiri. Untuk informasi selengkapnya tentang cara mengonfigurasi parameter, lihat Bagaimana cara mengonfigurasi parameter running pekerjaan kustom?
metrics.reporters: promgatewayappmgr
metrics.reporter.promgatewayappmgr.groupingKey: 'deploymentName={{deploymentName}};deploymentId={{deploymentId}};jobId={{jobId}}'
metrics.reporter.promgatewayappmgr.jobName: '{{deploymentName}}'
metrics.reporter.promgatewayappmgr.factory.class: org.apache.flink.metrics.prometheus.PrometheusPushGatewayReporterFactory
metrics.reporter.promgatewayappmgr.host: <Your pushgateway host>
metrics.reporter.promgatewayappmgr.port: <Your pushgateway port>Pada kode tersebut, ganti <Your pushgateway host> dan <Your pushgateway port> dengan nilai aktual Anda. Sistem secara otomatis mengganti deploymentName, deploymentId, dan jobId.
Persyaratan konektivitas jaringan antara Flink dan Prometheus yang dikelola sendiri adalah sebagai berikut:
Jika Prometheus yang dikelola sendiri dan ruang kerja Flink berada dalam VPC yang sama, pastikan pengaturan security group Prometheus mengizinkan akses dari Blok CIDR Flink.
Jika Prometheus yang dikelola sendiri dan ruang kerja Flink berada dalam VPC yang berbeda, tetapi instans Prometheus memiliki alamat IP publik, konfigurasikan akses jaringan publik untuk Flink. Untuk informasi selengkapnya, lihat Bagaimana cara mengakses internet?.
Jika Prometheus yang dikelola sendiri dan ruang kerja Flink berada dalam VPC yang berbeda, dan instans Prometheus hanya memiliki alamat IP VPC, Anda harus menghubungkan kedua VPC tersebut. Untuk informasi selengkapnya, lihat Bagaimana cara mengakses layanan lain lintas VPC?.
Laporkan ke Simple Log Service (SLS)
Pastikan jaringan Anda terhubung. Kemudian, pada tab Deployment Details pekerjaan target di Konsol pengembangan Flink, buka bagian Other Configurations di bawah Parameter Settings. Tambahkan kode berikut dan sesuaikan parameter terkait SLS. Untuk informasi selengkapnya tentang cara mengonfigurasi parameter, lihat Bagaimana cara mengonfigurasi parameter running pekerjaan kustom?
metrics.reporters: sls
metrics.reporter.sls.factory.class: org.apache.flink.metrics.sls.SLSReporterFactory
metrics.reporter.sls.project: <Your project>
metrics.reporter.sls.logStore: <Your logStore>
metrics.reporter.sls.endPoint: <Your endPoint>
metrics.reporter.sls.accessId: <Your accessId>
metrics.reporter.sls.accessKey: <Your accessKey>
metrics.reporter.sls.extraTags: deploymentId={{ deploymentId }};deploymentName={{ deploymentName}};namespace={{ namespace }}Pada kode tersebut, sesuaikan parameter terkait SLS. Anda tidak perlu mengubah deploymentId, deploymentName, atau namespace. Sistem secara otomatis menggantinya. Untuk informasi selengkapnya tentang Informasi AccessKey, lihat Bagaimana cara melihat ID AccessKey dan Rahasia AccessKey saya?
Laporkan ke Metricstore tertentu di SLS
Untuk melaporkan ke Metricstore tertentu, tambahkan parameter berikut. Selain itu, ubah nilai metrics.reporter.sls.logStore menjadi nama Metricstore Anda.
metrics.reporter.sls.toMetricStore: true
metrics.reporter.sls.logStore: <Your Metricstore name>Laporkan ke Kafka
Pastikan jaringan Anda terhubung. Di tab Deployment Details pekerjaan target di Konsol pengembangan Flink, buka bagian Other Configurations di bawah Parameter Settings, lalu tambahkan kode berikut dan sesuaikan parameter terkait Kafka. Untuk informasi selengkapnya tentang cara mengonfigurasi parameter, lihat Bagaimana cara mengonfigurasi parameter penjalanan pekerjaan khusus?
metrics.reporters: monitor
metrics.reporter.monitor.factory.class: org.apache.flink.metrics.monitor.KafkaReporterFactory
metrics.reporter.monitor.kafka.bootstrap.servers: <Your servers>
metrics.reporter.monitor.topicName: <Your topicName>
metrics.reporter.monitor._FLINK_CLUSTER_NAME: '{{ deploymentName }}'
metrics.reporter.monitor._JOB_NAME: '{{ deploymentName }}'
metrics.reporter.monitor._NAMESPACE_NAME: '{{ namespace }}'Pada kode tersebut, sesuaikan parameter untuk Kafka yang dikelola sendiri. Anda tidak perlu mengubah deploymentName atau namespace. Sistem secara otomatis menggantinya.
Laporkan ke beberapa saluran
Laporkan ke platform yang dikelola sendiri menggunakan API ARMS
Jika Anda memilih Prometheus Service saat membuat ruang kerja, Anda dapat menggunakan API ARMS untuk mengambil metrik Flink. Anda kemudian dapat mengintegrasikan metrik tersebut ke platform Anda sendiri. Hal ini memungkinkan Anda melihat metrik di platform yang dikelola sendiri sekaligus tetap dapat melihat kurva metrik dan menggunakan konfigurasi alert di Realtime Compute for Apache Flink.
Untuk informasi selengkapnya tentang API ARMS, lihat Ikhtisar API. Untuk informasi selengkapnya tentang metrik terkait Operator, lihat Operator Metrics.
Laporkan ke Konsol Flink dan saluran lain
Untuk melaporkan metrik ke saluran lain guna ditampilkan sekaligus tetap perlu melihat kurva metrik dan menggunakan konfigurasi alert di Realtime Compute for Apache Flink, Anda dapat mengonfigurasi pelaporan multi-saluran. Hal ini menimbulkan biaya pengumpulan tambahan.
Sebagai contoh, untuk menampilkan metrik baik di Konsol pengembangan Flink maupun di SLS, pada tab Deployment Details pekerjaan target di Konsol pengembangan Flink, buka bagian Other Configurations di bawah Parameter Settings. Tambahkan kode berikut dan sesuaikan parameter terkait SLS.
metrics.reporters: jmx,promappmgr,sls
metrics.reporter.sls.factory.class: org.apache.flink.metrics.sls.SLSReporterFactory
metrics.reporter.sls.project: <Your project>
metrics.reporter.sls.logStore: <Your logStore>
metrics.reporter.sls.endPoint: <Your endPoint>
metrics.reporter.sls.accessId: <Your accessId>
metrics.reporter.sls.accessKey: <Your accessKey>
metrics.reporter.sls.extraTags: deploymentId={{ deploymentId }};deploymentName={{ deploymentName}};namespace={{ namespace }}Saat item konfigurasi metrics.reporters mencakup jmx,promappmgr, Anda dapat melihat metrik di Konsol pengembangan Flink. Untuk informasi selengkapnya tentang parameter konfigurasi lainnya, lihat Laporkan ke Simple Log Service (SLS).
Laporkan ke beberapa saluran di luar Konsol Flink
Setelah Anda melaporkan metrik ke beberapa saluran di luar Konsol Flink, Konsol pengembangan Flink tidak akan menampilkan metrik pemantauan. Anda harus melihat metrik pada platform yang sesuai. Untuk informasi selengkapnya, lihat Perhatian.
Sebagai contoh, untuk melaporkan metrik ke SLS dan Kafka sekaligus, konfigurasikan kode berikut dalam parameter running pada tab Deployment Details pekerjaan target di Konsol pengembangan Flink:
metrics.reporters: sls,monitor
metrics.reporter.sls.factory.class: org.apache.flink.metrics.sls.SLSReporterFactory
metrics.reporter.sls.project: <Your project>
metrics.reporter.sls.logStore: <Your logStore>
metrics.reporter.sls.endPoint: <Your endPoint>
metrics.reporter.sls.accessId: <Your accessId>
metrics.reporter.sls.accessKey: <Your accessKey>
metrics.reporter.sls.extraTags: deploymentId={{ deploymentId }};deploymentName={{ deploymentName}};namespace={{ namespace }}
metrics.reporter.monitor.factory.class: org.apache.flink.metrics.monitor.KafkaReporterFactory
metrics.reporter.monitor.kafka.bootstrap.servers: <Your servers>
metrics.reporter.monitor.topicName: <Your topicName>
metrics.reporter.monitor._FLINK_CLUSTER_NAME: '{{ deploymentName }}'
metrics.reporter.monitor._JOB_NAME: '{{ deploymentName }}'
metrics.reporter.monitor._NAMESPACE_NAME: '{{ namespace }}'Untuk informasi selengkapnya tentang parameter konfigurasi, lihat Laporkan ke Simple Log Service (SLS) dan Laporkan ke Kafka.