Topik ini menjawab pertanyaan yang sering diajukan mengenai pemantauan, peringatan, dan log.
Bagaimana cara memeriksa jenis layanan pemantauan yang digunakan oleh ruang kerja?
Apa saja keterbatasan peringatan CloudMonitor dibandingkan ARMS?
Bagaimana cara mengonfigurasi atau menambahkan kontak peringatan?
Bagaimana cara menonaktifkan Prometheus Service yang diaktifkan secara otomatis?
Bagaimana cara mengonfigurasi pemantauan dan peringatan untuk restart pekerjaan Flink?
Bagaimana cara mengatur parameter tingkat log untuk satu kelas?
Pekerjaan gagal dimulai setelah mengonfigurasi log untuk SLS
Bagaimana cara melihat, mencari, dan menganalisis log operasional Flink historis?
Bagaimana cara mengatasi masalah di mana log dari metode non-statis tidak ditampilkan ke SLS?
Bagaimana cara memeriksa jenis layanan pemantauan yang digunakan oleh ruang kerja?
Jenis layanan pemantauan dipilih saat membuat ruang kerja. Setelah ruang kerja dibuat, buka halaman dan klik nama pekerjaan. Jika tab Alert Configuration ditampilkan, berarti ruang kerja menggunakan layanan Prometheus Service bayar sesuai penggunaan yang merupakan bagian dari Application Real-Time Monitoring Service (ARMS). Jika tab tersebut tidak ditampilkan, berarti ruang kerja menggunakan layanan CloudMonitor gratis. Untuk informasi lebih lanjut tentang cara mengonfigurasi peringatan untuk berbagai jenis layanan, lihat Pemantauan dan peringatan pekerjaan.

Apa saja keterbatasan peringatan CloudMonitor dibandingkan ARMS?
Sintaks analisis kueri tidak didukung.
Kurva pada granularitas subtask tidak tersedia. Dalam skenario dengan beberapa sumber dan subtask, hal ini menyulitkan pelacakan cepat terhadap masalah latensi setelah pengelompokan.
Metrik yang dilaporkan dari instrumen kustom dalam kode pengguna tidak dapat dilihat, sehingga menyulitkan troubleshooting.
Bagaimana cara mengonfigurasi atau menambahkan kontak peringatan?
Saat menggunakan CloudMonitor atau mengonfigurasi peringatan di Konsol ARMS, Anda harus menambahkan atau mengonfigurasi kontak di konsol yang sesuai. Untuk informasi lebih lanjut tentang konfigurasi peringatan, lihat Konfigurasi pemantauan dan peringatan.
Jika ruang kerja Anda menggunakan layanan pemantauan ARMS dan Anda mengonfigurasi peringatan metrik atau kegagalan pekerjaan untuk satu pekerjaan secara langsung di Konsol pengembangan Realtime Compute for Apache Flink, tambahkan atau konfigurasikan kontak peringatan dengan langkah-langkah berikut.
Akses halaman konfigurasi peringatan.
Masuk ke Konsol manajemen Realtime Compute for Apache Flink. Di kolom Operation ruang kerja target, klik Console.
Di halaman , klik nama pekerjaan target.
Klik tab Alert Configuration.
Di tab Alert Rules, pilih untuk membuka panel pembuatan aturan.
Konfigurasi atau tambahkan kontak peringatan.
Tambahkan
Klik Notification Recipient Management di sebelah parameter Notification Recipient untuk menambahkan kontak, robot DingTalk, dan lainnya. Untuk informasi lebih lanjut tentang cara mengonfigurasi peringatan untuk robot DingTalk, webhook baru, dan robot Lark, lihat FAQ.
Setelah menambahkan kontak, jika Anda menggunakan panggilan telepon untuk peringatan, pastikan nomor telepon penerima telah diverifikasi. Jika tidak, peringatan tidak akan dikirimkan. Jika label Unverified muncul di kolom Phone untuk kontak target di tab Contacts, klik label tersebut untuk menyelesaikan verifikasi.

Konfigurasi
Untuk parameter Notification Recipient, pilih kontak peringatan yang diinginkan. Jika kontak yang diinginkan tidak tersedia, tambahkan dengan mengikuti langkah-langkah di atas.
Bagaimana cara menonaktifkan Prometheus Service yang diaktifkan secara otomatis?
Jika Anda memilih layanan Prometheus Service bayar sesuai penggunaan (ARMS) saat membuat ruang kerja, layanan ARMS akan diaktifkan secara otomatis. Jika Anda tidak lagi memerlukan pemantauan Realtime Compute for Apache Flink, ikuti langkah-langkah berikut untuk menguninstall Prometheus Service:
Menguninstall instans Prometheus untuk suatu ruang kerja akan menghentikan pengumpulan data pemantauan untuk ruang kerja tersebut dan mengakibatkan hilangnya kurva data pemantauan pekerjaan. Jika suatu pekerjaan mengalami anomali, Anda tidak dapat melacak waktu awal anomali atau menerima peringatan pemantauan. Lakukan dengan hati-hati.
Masuk ke Konsol Prometheus.
Di panel navigasi sebelah kiri, klik Instance List untuk membuka halaman daftar instans.
Dari daftar drop-down Tag Filtering, pilih ID atau nama ruang kerja target.
Temukan instans dengan Instance Type diatur ke Prometheus for Flink Serverless dan klik Uninstall di kolom Operation.
Pada kotak dialog yang muncul, klik Confirm.
Bagaimana cara menemukan pekerjaan yang memicu peringatan?
Event peringatan berisi JobID dan Deployment ID. Namun, JobID berubah setelah failover pekerjaan. Oleh karena itu, gunakan Deployment ID untuk menemukan pekerjaan spesifik yang melaporkan error. Anda dapat melihat Deployment ID dengan salah satu cara berikut.
Di Konsol pengembangan Realtime Compute for Apache Flink, pada tab Deployment Details, lihat Deployment ID di bagian Basic Configuration.

Lihat Deployment ID di URL pekerjaan.

Bagaimana cara mengonfigurasi pemantauan dan peringatan untuk restart pekerjaan Flink?
Konsol pengembangan Realtime Compute for Apache Flink mengonfigurasi aturan peringatan berdasarkan metrik Flink. Oleh karena itu, setelah failover pekerjaan, kurva metrik tidak ditampilkan dan peringatan tidak dapat dipicu. Untuk menangani event kritis seperti restart pekerjaan, Anda dapat mengonfigurasi aturan kustom di Konsol ARMS berdasarkan laju pertumbuhan instan metrik `flink_jobmanager_job_numRestarts`. Hal ini memungkinkan peringatan untuk event failover job manager (JM). Langkah-langkah berikut memberikan contoh:
Masuk ke Konsol manajemen Realtime Compute for Apache Flink.
Di kolom Operation ruang kerja target, klik untuk membuka Konsol Application Real-Time Monitoring Service (ARMS).
Di halaman Alert Rules, klik Create Prometheus Alert Rule.
Atur Detection Type ke Custom PromQL dan pilih instans untuk peringatan.
Tulis pernyataan Prometheus Query Language (PromQL) kustom.
Misalnya,
irate(flink_jobmanager_job_numRestarts{jobId=~"$jobId",deploymentId=~"$deploymentId"}[1m])>0melakukan kueri data untuk `flink_jobmanager_job_numRestarts` selama 1 menit terakhir dan memicu peringatan jika laju perubahan instan lebih besar dari 0.Klik Finish.
Bagaimana cara mengatur parameter tingkat log untuk satu kelas?
Sebagai contoh, untuk mengatur parameter terkait konektor Kafka seperti log4j.logger.org.apache.kafka.clients.consumer=trace (untuk tabel sumber) dan log4j.logger.org.apache.kafka.clients.producer=trace (untuk tabel sink), Anda harus mengonfigurasinya di Log Levels, bukan di Other Configuration.
Bagaimana cara mengaktifkan parameter log GC?
Di halaman , klik nama pekerjaan target. Di tab Deployment Details, di bagian Parameter Settings, tambahkan kode berikut ke Other Configuration dan simpan untuk menerapkan perubahan.
env.java.opts: >-
-XX:+PrintGCDetails -XX:+PrintGCDateStamps -Xloggc:/flink/log/gc.log
-XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=2 -XX:GCLogFileSize=50M
Pekerjaan gagal dimulai setelah mengonfigurasi log untuk SLS
Detail masalah
Setelah memodifikasi pekerjaan agar mengeluarkan log ke Simple Log Service (SLS), pekerjaan gagal dimulai dengan pesan Job startup failed. Please retry. dan melaporkan error berikut:
Unknown ApiException {exceptionType=com.ververica.platform.appmanager.controller.domain.TemplatesRenderException, exceptionMessage=Failed to render {userConfiguredLoggers={}, jobId=3fd090ea-81fc-4983-ace1-0e0e7b******, rootLoggerLogLevel=INFO, clusterName=f7dba7ec27****, deploymentId=41529785-ab12-405b-82a8-1b1d73******, namespace=flinktest-default, priorityClassName=flink-p5, deploymentName=test}} 029999 202312121531-8SHEUBJUJUPenyebab
Saat mengonfigurasi log pekerjaan, periksa apakah Anda telah memodifikasi variabel Twig apa pun, seperti `namespace` atau `deploymentId`.

Solusi
Konfigurasi ulang pengaturan dengan mengikuti petunjuk di Konfigurasi output log pekerjaan. Modifikasi parameter yang dijelaskan dalam tabel sesuai kebutuhan.
Bagaimana cara melihat, mencari, dan menganalisis log operasional Flink historis?
Realtime Compute for Apache Flink mendukung penampilan dan analisis log operasional historis di konsol pengembangan atau di penyimpanan eksternal.
Lihat dan analisis di antarmuka log pekerjaan di konsol pengembangan.
Di tab Deployment Details, Anda dapat mengaktifkan fitur Log Archiving, yang diaktifkan secara default. Anda juga dapat mengatur Log Archive Retention Period. Periode retensi default adalah 7 hari, dan 5 MB log operasional terbaru disimpan.

Lihat dan analisis di penyimpanan eksternal:
Anda dapat mengonfigurasi log pekerjaan agar dikirim ke penyimpanan eksternal, seperti OSS, SLS, atau Kafka. Anda juga dapat mengonfigurasi tingkat log untuk output tersebut. Untuk informasi lebih lanjut, lihat Konfigurasi output log pekerjaan.
Bagaimana cara mengatasi masalah di mana log dari metode non-statis tidak ditampilkan ke SLS?
Detail masalah
Karena logika implementasi SLS Logger Appender, log dari metode non-statis tidak ditampilkan ke SLS.
Solusi
Gunakan definisi standar:
private static final Logger LOG = LoggerFactory.getLogger(xxx.class);.
Data ditulis dengan benar, tetapi ikhtisar status pekerjaan Flink menunjukkan data 0. Apa yang harus saya lakukan?
Detail masalah
Jika suatu pekerjaan hanya memiliki satu node, volume data yang dibaca dan ditulis tidak ditampilkan di graf topologi pekerjaan. Hal ini terjadi ketika sumber hanya memiliki output dan sink hanya memiliki input.
Solusi
Untuk melihat trafik data spesifik di graf topologi, Anda perlu melakukan pemisahan operator. Pisahkan operator sumber dan sink menjadi operator independen dan hubungkan secara terpisah ke operator lain untuk membentuk topologi baru. Dengan demikian, Anda dapat melihat aliran data dan trafik di graf topologi.
Di halaman , klik nama pekerjaan target. Di tab Deployment Details, di bagian Parameter Settings, tambahkan konfigurasi parameter pemisahan operator
pipeline.operator-chaining: 'false'ke Other Configuration.
Apa yang harus saya lakukan jika pekerjaan Datastream tidak memiliki delay, tetapi kurva output menunjukkan adanya delay?
Deskripsi masalah
Tabel sumber terus-menerus memasukkan data ke Flink, dan setiap partisi tabel fisik Kafka juga merupakan aliran data kontinu. Namun, metrik `CurrentEmitEventTimeLag` dan `CurrentFetchEventTimeLag` untuk sumber Kafka pekerjaan Datastream menunjukkan delay selama 52 tahun.
Penyebab
Dependensi Kafka di Datastream adalah konektor komunitas, bukan konektor bawaan Flink. Konektor komunitas tidak mengimplementasikan logika pelaporan kurva. Akibatnya, kurva untuk metrik seperti delay input dan output tampak abnormal.
Solusi
Gunakan dependensi untuk konektor bawaan Flink. Untuk informasi lebih lanjut, lihat Maven Repository.
Apa yang harus saya lakukan jika NullPointerException dilemparkan dalam log TM pekerjaan Datastream tanpa stack trace yang detail?
Di halaman , klik nama pekerjaan target. Di tab Deployment Details, di bagian Parameter Settings, tambahkan kode berikut ke Other Configuration.
env.java.opts: "-XX:-OmitStackTraceInFastThrow"