Kategori | Tautan |
Pengumpulan log | |
Pemantauan Aplikasi | |
Managed Service for Prometheus |
|
Pemantauan Prometheus open source (komponen ack-prometheus-operator) | |
Manajemen peringatan | |
Masalah lainnya |
Pengumpulan log
Bagaimana cara memecahkan masalah error pengumpulan log kontainer?
Gejala
Jika Anda telah mengikuti petunjuk dalam Kumpulkan log kontainer kluster ACK tetapi tidak menemukan log pada halaman Preview di konsol Simple Log Service, pengumpulan log mungkin gagal. Untuk memecahkan masalah ini, periksa konfigurasi, status komponen dan node pengumpulan, serta log operasional kontainer pengumpulan log.
Sebelum memulai
Perhatikan poin-poin berikut saat mengumpulkan log dari file kontainer.
Komponen pengumpulan log hanya mengumpulkan log inkremental. Jika file log tidak diperbarui setelah konfigurasi Logtail diterapkan, komponen tidak akan mengumpulkan log dari file tersebut. Untuk informasi lebih lanjut, lihat Baca log.
Anda hanya dapat mengumpulkan log dari file yang menggunakan penyimpanan kontainer default atau yang dimount ke path lokal. Metode penyimpanan lain tidak didukung.
Setelah log dikumpulkan, Anda harus membuat indeks sebelum dapat melakukan kueri dan analisis log di Logstore. Untuk informasi lebih lanjut, lihat Buat indeks.
Langkah 1: Periksa konfigurasi pengumpulan
Verifikasi bahwa konfigurasi Logtail benar. Pastikan semua pengaturan pengumpulan log akurat dan kontainer terus menghasilkan log.
Konsol
Pada tab Resource Object Browser, cari clusteraliyunpipelineconfig dan klik hasil ClusterAliyunPipelineConfig.
Pada panel ClusterAliyunPipelineConfig, temukan resource target dan klik Edit YAML di kolom Actions.
kubectl
Jalankan perintah berikut untuk melihat semua konfigurasi Logtail yang dibuat oleh
AliyunPipelineConfig.kubectl get clusteraliyunpipelineconfigsLihat detail dan status konfigurasi Logtail yang dibuat oleh
AliyunPipelineConfig.Jalankan perintah berikut. Ganti
<config_name>dengan namaAliyunPipelineConfigsesuai kebutuhan.kubectl get clusteraliyunpipelineconfigs <config_name> -o yaml
Untuk informasi lebih lanjut tentang item konfigurasi, lihat Parameter CRD.
Item konfigurasi | Ikhtisar checkpoint | Contoh |
| Periksa apakah nama proyek benar. Login ke Simple Log Service console, dan temukan nama proyek yang dihasilkan oleh komponen pengumpulan log yang diinstal. |
|
| Periksa apakah path file log ada dan menghasilkan output. Untuk informasi lebih lanjut, lihat Pemetaan path file kontainer. |
|
| Fitur penemuan kontainer diaktifkan. |
|
| Endpoint Simple Log Service benar. |
|
| Informasi wilayah benar. |
|
Langkah 2: Periksa status komponen pengumpulan dan kelompok mesin
Konfirmasi bahwa komponen pengumpulan, seperti Logtail atau LoongCollector, telah diterapkan dan berjalan di setiap node pekerja, serta jumlah heartbeat OK dari kontainer pengumpulan sesuai dengan jumlah node pekerja.
Periksa status pod komponen pengumpulan.
Jalankan perintah berikut untuk memeriksa apakah semua pod pengumpulan terkait berada dalam status
Running. Jika sebuah pod berada dalam status abnormal, lihat Pecahkan masalah pengecualian pod.kubectl get pods -n kube-system -l 'k8s-app in (loongcollector-ds,logtail)'Outputnya mirip dengan berikut:
NAME READY STATUS RESTARTS AGE loongcollector-ds-fn5zn 1/1 Running 0 3d19h loongcollector-ds-ks76g 1/1 Running 0 3d19h
Periksa status heartbeat kelompok mesin.
Login ke Simple Log Service console.
Pada bagian Projects, klik yang diinginkan.

Di panel navigasi kiri, pilih .
Di daftar kelompok mesin, klik kelompok mesin tujuan.
Pada halaman Machine Group Configuration, catat jumlah mesin dengan status heartbeat OK. Verifikasi bahwa jumlah ini sesuai dengan jumlah node pekerja di kluster. Untuk informasi lebih lanjut, lihat Solusi Status Heartbeat.
Langkah 3: Lihat log operasional LoongCollector (Logtail)
Periksa kontainer pengumpulan untuk mencari error pengumpulan atau pesan kesalahan guna menganalisis lebih lanjut penyebab masalah.
Masuk ke pod komponen pengumpulan.
kubectl exec -it -n kube-system loongcollector-ds-XXXX -- bashLog Logtail disimpan di direktori
/usr/local/ilogtail/kontainer Logtail. Nama filenya adalahilogtail.LOGdanlogtail_plugin.LOG. Anda dapat login ke kontainer Logtail dan menjalankan perintah berikut untuk melihat file log:# Buka direktori /usr/local/ilogtail/. cd /usr/local/ilogtail # Lihat file ilogtail.LOG dan logtail_plugin.LOG. cat ilogtail.LOG cat logtail_plugin.LOGLihat metrik alarm log error dan temukan solusi yang sesuai di Jenis error umum untuk pengumpulan data di Simple Log Service.
Operasi O&M lainnya
Lihat status komponen Simple Log Service di kluster Kubernetes
Lihat status komponen Simple Log Service di kluster Kubernetes
Jalankan perintah berikut untuk melihat status dan informasi deployment Simple Log Service.
kubectl get deploy -n kube-system | grep -E 'alibaba-log-controller|loongcollector-operator'Hasil berikut dikembalikan:
NAME READY UP-TO-DATE AVAILABLE AGE alibaba-log-controller 1/1 1 1 11dJalankan perintah berikut untuk melihat informasi status resource DaemonSet.
kubectl get ds -n kube-system | grep -E 'logtail-ds|loongcollector-ds'Hasil berikut dikembalikan:
NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE logtail-ds 2 2 2 2 2 **ux 11dLihat nomor versi, alamat IP, dan waktu startup Logtail
Informasi ini disimpan di file
/usr/local/ilogtail/app_info.jsonkontainer Logtail.kubectl exec logtail-ds-****k -n kube-system cat /usr/local/ilogtail/app_info.jsonHasil yang mirip dengan berikut dikembalikan.
{ "UUID" : "", "hostname" : "logtail-****k", "instance_id" : "0EB****_172.20.4.2_1517810940", "ip" : "172.20.4.2", "logtail_version" : "0.16.2", "os" : "Linux; 3.10.0-693.2.2.el7.x86_64; #1 SMP Tue Sep 12 22:26:13 UTC 2017; x86_64", "update_time" : "2018-02-05 06:09:01" }Transfer log kluster ACK ke proyek di Akun Alibaba Cloud lain
Mengapa saya tidak dapat menghapus proyek?
Gejala
Topik ini menjelaskan cara menghapus proyek dan apa yang harus dilakukan jika Anda tidak dapat menghapus proyek serta menerima pesan error "izin tidak mencukupi".
Solusi
Untuk informasi lebih lanjut tentang cara menghapus proyek atau Logstore, lihat Kelola proyek dan Kelola Logstore. Jika proyek gagal dihapus, lihat Apa yang harus saya lakukan jika muncul pesan error "Operasi ditolak, izin tidak mencukupi" saat menghapus proyek?
Jenis error umum untuk pengumpulan data di Simple Log Service
Jenis error | Deskripsi | Solusi |
LOG_GROUP_WAIT_TOO_LONG_ALARM | Paket data menunggu terlalu lama untuk dikirim setelah dihasilkan. | Periksa apakah paket dikirim sesuai harapan. Error ini dapat disebabkan oleh volume data yang melebihi konfigurasi default, kuota tidak mencukupi, atau masalah jaringan. |
LOGFILE_PERMISSION_ALARM | Logtail tidak memiliki izin untuk membaca file yang ditentukan. | Periksa akun startup Logtail di server. Atasi masalah ini dengan menjalankan Logtail sebagai pengguna root. |
SPLIT_LOG_FAIL_ALARM | Ekspresi reguler untuk awal baris tidak cocok dengan konten log, sehingga Logtail tidak dapat memisahkan log menjadi baris terpisah. | Periksa apakah ekspresi reguler benar. Untuk log satu baris, atur ekspresi reguler menjadi |
MULTI_CONFIG_MATCH_ALARM | Secara default, satu file log hanya dapat cocok dengan satu konfigurasi Logtail. Jika beberapa konfigurasi Logtail cocok dengan file yang sama, hanya satu yang berlaku. Catatan Beberapa konfigurasi Logtail dapat digunakan untuk mengumpulkan output standar dari Docker. |
|
REGEX_MATCH_ALARM | Dalam mode ekspresi reguler penuh, konten log tidak cocok dengan ekspresi reguler yang ditentukan. | Salin contoh log dari pesan error untuk menghasilkan ekspresi reguler baru. |
PARSE_LOG_FAIL_ALARM | Dalam mode seperti JSON dan delimiter, penguraian gagal karena format log tidak sesuai dengan format yang ditentukan. | Klik pesan error untuk melihat laporan error detail. |
CATEGORY_CONFIG_ALARM | Konfigurasi pengumpulan Logtail tidak valid. | Penyebab umum adalah ekspresi reguler gagal mengekstrak path file untuk digunakan sebagai topik. |
LOGTAIL_CRASH_ALARM | Logtail crash karena melebihi batas penggunaan resource server. | Tingkatkan batas penggunaan CPU dan memori. Untuk informasi lebih lanjut, lihat Atur parameter startup Logtail. |
REGISTER_INOTIFY_FAIL_ALARM | Logtail gagal mendaftarkan listener log di Linux. Error ini dapat terjadi karena Logtail tidak memiliki izin untuk mengakses folder, atau folder tersebut telah dihapus. | Periksa apakah Logtail memiliki izin untuk mengakses folder atau apakah folder tersebut telah dihapus. |
DISCARD_DATA_ALARM | Resource CPU yang dikonfigurasi untuk Logtail tidak mencukupi, atau pembatasan kecepatan dipicu saat data dikirim melalui jaringan. | Tingkatkan batas penggunaan CPU atau batas konkurensi pengiriman jaringan. Untuk informasi lebih lanjut, lihat Atur parameter startup Logtail. |
SEND_DATA_FAIL_ALARM |
|
|
REGISTER_INOTIFY_FAIL_ALARM | Logtail gagal mendaftarkan watcher inotify untuk direktori log. | Periksa apakah direktori ada dan verifikasi pengaturan izinnya. |
SEND_QUOTA_EXCEED_ALARM | Traffic write log melebihi batas yang dikonfigurasi. | Tingkatkan jumlah shard di konsol. Untuk informasi lebih lanjut, lihat Pisahkan shard. |
READ_LOG_DELAY_ALARM | Pengumpulan log tertunda dan ketinggalan dari generasi log. Error ini biasanya disebabkan oleh resource CPU Logtail yang tidak mencukupi atau pembatasan kecepatan pengiriman jaringan. | Tingkatkan batas penggunaan CPU atau batas konkurensi pengiriman jaringan. Untuk informasi lebih lanjut, lihat Atur parameter startup Logtail. Jika Anda mengimpor data historis, sejumlah besar data dikumpulkan dalam waktu singkat. Anda dapat mengabaikan error ini. |
DROP_LOG_ALARM | Pengumpulan log tertunda, dan jumlah file log rotated yang belum diproses melebihi 20. Error ini biasanya disebabkan oleh resource CPU Logtail yang tidak mencukupi atau pembatasan kecepatan pengiriman jaringan. | Tingkatkan batas penggunaan CPU atau batas konkurensi pengiriman jaringan. Untuk informasi lebih lanjut, lihat Atur parameter startup Logtail. |
LOGDIR_PERMISSION_ALARM | Logtail tidak memiliki izin untuk membaca direktori pemantauan log. | Periksa apakah direktori pemantauan log ada. Jika ada, verifikasi pengaturan izinnya. |
ENCODING_CONVERT_ALARM | Konversi encoding gagal. | Periksa apakah format encoding yang dikonfigurasi sesuai dengan format encoding aktual log. |
OUTDATED_LOG_ALARM | Log kedaluwarsa karena timestamp-nya lebih dari 12 jam lebih tua daripada waktu pengumpulan. Penyebab yang mungkin termasuk:
|
|
STAT_LIMIT_ALARM | Jumlah file di direktori yang ditentukan dalam konfigurasi pengumpulan melebihi batas. | Periksa apakah direktori pengumpulan target berisi banyak file dan subdirektori. Atur direktori root yang sesuai untuk pemantauan dan tentukan kedalaman pemantauan maksimum untuk subdirektori. Anda juga dapat mengubah parameter mem_usage_limit. Untuk informasi lebih lanjut, lihat Atur parameter startup Logtail. |
DROP_DATA_ALARM | Menyimpan log ke disk lokal timeout saat proses keluar. Log yang belum disimpan akan dibuang. | Error ini biasanya terjadi karena proses pengumpulan sangat terblokir. Tingkatkan batas penggunaan CPU atau batas konkurensi pengiriman jaringan. Untuk informasi lebih lanjut, lihat Atur parameter startup Logtail. |
INPUT_COLLECT_ALARM | Terjadi error selama pengumpulan dari sumber input. | Selesaikan error berdasarkan detail dalam pesan error. |
HTTP_LOAD_ADDRESS_ALARM | Parameter Addresses yang ditentukan dalam konfigurasi pengumpulan data HTTP tidak valid. | Periksa apakah parameter Addresses valid. |
HTTP_COLLECT_ALARM | Terjadi error selama pengumpulan data HTTP. | Pecahkan masalah berdasarkan detail dalam pesan error. Error ini biasanya disebabkan oleh timeout. |
FILTER_INIT_ALARM | Terjadi error selama inisialisasi filter. | Error ini biasanya disebabkan oleh ekspresi reguler yang tidak valid dalam filter. Perbaiki ekspresi berdasarkan detail dalam pesan error. |
INPUT_CANAL_ALARM | Terjadi error runtime dalam binary logging MySQL. | Pecahkan masalah berdasarkan detail dalam pesan error. Layanan canal mungkin restart saat konfigurasi diperbarui. Abaikan error yang disebabkan oleh restart layanan. |
CANAL_INVALID_ALARM | Status internal binary logging MySQL abnormal. | Error ini biasanya terjadi ketika perubahan skema tabel selama runtime menyebabkan inkonsistensi metadata. Konfirmasi apakah skema tabel dimodifikasi saat error dilaporkan. |
MYSQL_INIT_ALARM | Terjadi error selama inisialisasi MySQL. | Selesaikan error berdasarkan detail dalam pesan error. |
MYSQL_CHECKPOINT_ALARM | Format checkpoint MySQL abnormal. | Konfirmasi apakah pengaturan terkait checkpoint dalam konfigurasi ini telah dimodifikasi. |
MYSQL_TIMEOUT_ALARM | Kueri MySQL timeout. | Konfirmasi bahwa server MySQL dan jaringan berfungsi normal. |
MYSQL_PARSE_ALARM | Gagal mengurai hasil kueri MySQL. | Konfirmasi bahwa format checkpoint dalam konfigurasi MySQL sesuai dengan format field yang sesuai. |
AGGREGATOR_ADD_ALARM | Gagal menambahkan data ke antrian. | Error ini menunjukkan bahwa data dikirim terlalu cepat. Abaikan error ini jika volume data aktual besar. |
ANCHOR_FIND_ALARM | Terjadi error dalam plugin processor_anchor. Ini dapat disebabkan oleh konfigurasi salah atau log yang tidak sesuai dengan konfigurasi. | Klik tautan error untuk melihat pesan error detail. Error ini memiliki subtipe berikut. Periksa konfigurasi Anda berdasarkan detail subtipe spesifik.
|
ANCHOR_JSON_ALARM | Terjadi error dalam plugin processor_anchor saat memperluas konten JSON yang ditentukan oleh parameter Start dan Stop. | Klik tautan error untuk melihat pesan error detail. Periksa konten yang diproses dan konfigurasi terkait untuk mengidentifikasi kesalahan konfigurasi atau menemukan log yang tidak valid. |
CANAL_RUNTIME_ALARM | Terjadi error runtime dalam plugin binary logging. | Klik tautan error untuk melihat pesan error detail dan pecahkan masalah. Error ini biasanya terkait dengan instance MySQL primer yang terhubung. |
CHECKPOINT_INVALID_ALARM | Gagal mengurai checkpoint. | Klik tautan error untuk melihat pesan error detail. Pecahkan masalah berdasarkan kunci checkpoint, konten checkpoint (1024 byte pertama), dan pesan error spesifik. |
DIR_EXCEED_LIMIT_ALARM | Jumlah direktori yang didengarkan Logtail secara bersamaan melebihi batas. | Periksa apakah konfigurasi pengumpulan untuk logstore saat ini dan konfigurasi lain yang diterapkan pada Logtail melibatkan banyak direktori. Atur direktori root yang sesuai untuk pemantauan dan tentukan kedalaman pemantauan maksimum untuk subdirektori. |
DOCKER_FILE_MAPPING_ALARM | Logtail gagal menambahkan pemetaan file Docker dengan menjalankan perintah. | Klik tautan error untuk melihat pesan error detail. Pecahkan masalah berdasarkan perintah dan pesan error spesifik. |
DOCKER_FILE_MATCH_ALARM | File yang ditentukan tidak ditemukan di kontainer Docker. | Klik tautan error untuk melihat pesan error detail. Pecahkan masalah berdasarkan informasi kontainer dan path file yang dicari. |
DOCKER_REGEX_COMPILE_ALARM | Terjadi error dalam plugin service_docker_stdout. Plugin gagal mengompilasi BeginLineRegex dari konfigurasi. | Klik tautan error untuk melihat pesan error detail. Periksa apakah ekspresi reguler benar. |
DOCKER_STDOUT_INIT_ALARM | Plugin service_docker_stdout gagal diinisialisasi. | Klik tautan error untuk melihat pesan error detail. Error ini memiliki subtipe berikut.
|
DOCKER_STDOUT_START_ALARM | Ukuran stdout melebihi batas selama pengumpulan oleh plugin service_docker_stdout. | Error ini biasanya terjadi jika data stdout sudah ada selama pengumpulan pertama. Abaikan error ini. |
DOCKER_STDOUT_STAT_ALARM | Plugin service_docker_stdout tidak dapat mendeteksi stdout. | Error ini biasanya terjadi karena stdout tidak dapat diakses saat kontainer keluar. Abaikan error ini. |
FILE_READER_EXCEED_ALARM | Jumlah objek file yang dibuka Logtail secara bersamaan melebihi batas. | Error ini biasanya terjadi karena terlalu banyak file dikumpulkan secara bersamaan. Periksa apakah konfigurasi pengumpulan masuk akal. |
GEOIP_ALARM | Terjadi error dalam plugin processor_geoip. | Klik tautan error untuk melihat pesan error detail. Error ini memiliki subtipe berikut.
|
HTTP_INIT_ALARM | Terjadi error dalam plugin metric_http. Ekspresi reguler ResponseStringMatch yang ditentukan dalam konfigurasi gagal dikompilasi. | Klik tautan error untuk melihat pesan error detail. Periksa apakah ekspresi reguler benar. |
HTTP_PARSE_ALARM | Terjadi error dalam plugin metric_http. Plugin gagal mengambil respons HTTP. | Klik tautan error untuk melihat pesan error detail. Periksa konten konfigurasi atau server HTTP yang diminta berdasarkan pesan error spesifik. |
INIT_CHECKPOINT_ALARM | Terjadi error dalam plugin binary logging. Plugin gagal memuat file checkpoint. Plugin mengabaikan checkpoint dan mulai memproses dari awal. | Klik tautan error untuk melihat pesan error detail. Tentukan apakah akan mengabaikan error ini berdasarkan informasi error spesifik. |
LOAD_LOCAL_EVENT_ALARM | Logtail sedang menangani event lokal. | Peringatan ini jarang terjadi. Jika tidak disebabkan oleh operasi manual, Anda harus memecahkan masalah. Klik tautan error untuk melihat pesan error detail. Pecahkan masalah berdasarkan nama file, nama konfigurasi, proyek, dan logstore. |
LOG_REGEX_FIND_ALARM | Terjadi error dalam plugin processor_split_log_regex dan processor_split_log_string. SplitKey yang ditentukan dalam konfigurasi tidak ditemukan di log. | Klik tautan error untuk melihat pesan error detail dan periksa kesalahan konfigurasi. |
LUMBER_CONNECTION_ALARM | Terjadi error dalam plugin service_lumberjack. Server dimatikan saat plugin berhenti. | Klik tautan error untuk melihat pesan error detail. Pecahkan masalah berdasarkan informasi error spesifik. Anda biasanya dapat mengabaikan error ini. |
LUMBER_LISTEN_ALARM | Terjadi error dalam plugin service_lumberjack selama inisialisasi listener. | Klik tautan error untuk melihat pesan error detail. Error ini memiliki subtipe berikut.
|
LZ4_COMPRESS_FAIL_ALARM | Terjadi error saat Logtail melakukan kompresi LZ4. | Klik tautan error untuk melihat pesan error detail. Pecahkan masalah berdasarkan nilai baris log, proyek, kategori, dan wilayah. |
MYSQL_CHECKPOINT_ALARM | Terjadi error dalam plugin MySQL terkait checkpoint. | Klik tautan error untuk melihat pesan error detail. Error ini memiliki subtipe berikut.
|
NGINX_STATUS_COLLECT_ALARM | Terjadi error dalam plugin nginx_status saat mengambil status. | Klik tautan error untuk melihat pesan error detail. Pecahkan masalah berdasarkan URL dan informasi error spesifik. |
NGINX_STATUS_INIT_ALARM | Terjadi error dalam plugin nginx_status. Plugin gagal menginisialisasi dan mengurai URL yang ditentukan dalam konfigurasi. | Klik tautan error untuk melihat pesan error detail. Periksa apakah URL dikonfigurasi dengan benar. |
OPEN_FILE_LIMIT_ALARM | Jumlah file yang dibuka Logtail melebihi batas, dan tidak ada file baru yang dapat dibuka. | Klik tautan error untuk melihat pesan error detail. Pecahkan masalah berdasarkan path file log, proyek, dan logstore. |
OPEN_LOGFILE_FAIL_ALARM | Terjadi error saat Logtail mencoba membuka file. | Klik tautan error untuk melihat pesan error detail. Pecahkan masalah berdasarkan path file log, proyek, dan logstore. |
PARSE_DOCKER_LINE_ALARM | Terjadi error dalam plugin service_docker_stdout. Plugin gagal mengurai log. | Klik tautan error untuk melihat pesan error detail. Error ini memiliki subtipe berikut.
|
PLUGIN_ALARM | Terjadi error selama inisialisasi plugin dan panggilan terkait. | Klik tautan error untuk melihat pesan error detail. Error ini memiliki subtipe berikut. Pecahkan masalah berdasarkan detail error spesifik.
|
PROCESSOR_INIT_ALARM | Terjadi error dalam plugin processor_regex. Plugin gagal mengompilasi ekspresi reguler Regex yang ditentukan dalam konfigurasi. | Klik tautan error untuk melihat pesan error detail. Periksa apakah ekspresi reguler benar. |
PROCESS_TOO_SLOW_ALARM | Logtail mengurai log terlalu lambat. |
|
REDIS_PARSE_ADDRESS_ALARM | Terjadi error dalam plugin Redis. Plugin gagal mengurai ServerUrls yang disediakan dalam konfigurasi. | Klik tautan error untuk melihat pesan error detail. Periksa URL yang dilaporkan error. |
REGEX_FIND_ALARM | Terjadi error dalam plugin processor_regex. Plugin tidak dapat menemukan field yang ditentukan oleh SourceKey dalam konfigurasi. | Klik tautan error untuk melihat pesan error detail. Periksa konfigurasi SourceKey yang salah atau log yang tidak valid. |
REGEX_UNMATCHED_ALARM | Terjadi error dalam plugin processor_regex. Kecocokan gagal. | Klik tautan error untuk melihat pesan error detail. Error ini memiliki subtipe berikut. Pecahkan masalah berdasarkan informasi error spesifik.
|
SAME_CONFIG_ALARM | Konfigurasi dengan nama yang sama sudah ada untuk logstore. Konfigurasi yang ditemukan kemudian dibuang. | Klik tautan error untuk melihat pesan error detail. Periksa kesalahan konfigurasi berdasarkan path konfigurasi dan informasi lainnya. |
SPLIT_FIND_ALARM | Terjadi error dalam plugin split_char dan split_string. Plugin tidak dapat menemukan field yang ditentukan oleh SourceKey dalam konfigurasi. | Klik tautan error untuk melihat pesan error detail. Periksa konfigurasi SourceKey yang salah atau log yang tidak valid. |
SPLIT_LOG_ALARM | Terjadi error dalam plugin processor_split_char dan processor_split_string. Jumlah field yang diurai berbeda dari jumlah yang ditentukan dalam SplitKeys. | Klik tautan error untuk melihat pesan error detail. Periksa konfigurasi SourceKey yang salah atau log yang tidak valid. |
STAT_FILE_ALARM | Terjadi error saat mengumpulkan data dari file menggunakan objek LogFileReader. | Klik tautan error untuk melihat pesan error detail. Pecahkan masalah berdasarkan path file dan informasi error. |
SERVICE_SYSLOG_INIT_ALARM | Terjadi error dalam plugin service_syslog. Plugin gagal diinisialisasi. | Klik tautan error untuk melihat pesan error detail. Periksa apakah parameter Address dalam konfigurasi benar. |
SERVICE_SYSLOG_STREAM_ALARM | Terjadi error dalam plugin service_syslog selama pengumpulan data melalui TCP. | Klik tautan error untuk melihat pesan error detail. Error ini memiliki subtipe berikut. Pecahkan masalah berdasarkan detail error spesifik.
|
SERVICE_SYSLOG_PACKET_ALARM | Terjadi error dalam plugin service_syslog selama pengumpulan data melalui UDP. | Klik tautan error untuk melihat pesan error detail. Error ini memiliki subtipe berikut. Pecahkan masalah berdasarkan detail error spesifik.
|
PARSE_TIME_FAIL_ALARM | Plugin gagal mengurai waktu log. | Identifikasi dan selesaikan masalah dengan salah satu cara berikut:
|
Pemantauan Aplikasi
Mengapa tidak ada data pemantauan setelah saya menginstal probe untuk aplikasi di kluster ACK?
Penyebab
Pemantauan aplikasi dijeda.
Agen ARMS tidak dimuat seperti yang diharapkan di pod tempat aplikasi berada.
Solusi
Periksa apakah pemantauan aplikasi dijeda.
Login ke ARMS console. Di panel navigasi kiri, pilih .
Pada halaman Application List, pilih wilayah di bilah navigasi atas dan klik nama aplikasi.
Jika aplikasi tidak ditemukan, lanjutkan ke Langkah 2: Periksa apakah agen ARMS dimuat seperti yang diharapkan.
Jika Anda menggunakan konsol Application Real-Time Monitoring Service (ARMS) baru, pilih di bilah navigasi atas halaman detail aplikasi. Di bagian Probe switch settings, periksa apakah pemantauan aplikasi dijeda.
Jika Pause application monitoring diaktifkan, matikan sakelar tersebut dan klik Save.
Jika Pause application monitoring dimatikan, lanjutkan ke Langkah 2: Periksa apakah agen ARMS dimuat seperti yang diharapkan.
Jika Anda menggunakan konsol ARMS lama, klik Application Settings di panel navigasi kiri halaman detail aplikasi. Pada halaman yang muncul, klik tab Custom Configuration. Di bagian Agent Switch Settings, periksa apakah Probe Master Switch diaktifkan.
Jika Probe Master Switch dimatikan, aktifkan Probe Master Switch dan klik Save di bagian bawah halaman.
Jika Probe Master Switch diaktifkan, lanjutkan ke Langkah 2: Periksa apakah agen ARMS dimuat seperti yang diharapkan.
Periksa apakah probe dimuat dengan benar.
Login ke ACK console. Di panel navigasi kiri, klik Clusters. Pada halaman Clusters, klik nama kluster untuk membuka halaman detail kluster.
Di panel navigasi kiri, pilih .
Pada halaman Pods, pilih namespace tempat aplikasi Anda berada, temukan aplikasi, lalu klik Edit YAML di kolom Actions.
Di kotak dialog Edit YAML, periksa apakah file YAML berisi initContainers.

Di panel navigasi kiri halaman detail kluster, pilih . Pada halaman yang muncul, atur parameter Namespace ke ack-onepilot. Periksa apakah ada pod bernama
ack-onepilot-*dengan pembaruan bergulir yang telah selesai di daftar pod.Jika pod yang ditentukan ada, lakukan Langkah 6.
Jika pod yang ditentukan tidak ada, instal komponen ack-onepilot dari pasar aplikasi. Untuk informasi lebih lanjut, lihat Bagaimana cara menginstal ack-onepilot dan menguninstall arms-pilot?
Di panel navigasi kiri halaman detail kluster, pilih Workloads > Deployments atau StatefulSets. Pada halaman yang muncul, temukan aplikasi dan pilih di kolom Actions. Di kotak dialog Edit YAML, periksa apakah file YAML berisi label berikut di bagian spec.template.metadata:
labels: armsPilotAutoEnable: "on" armsPilotCreateAppName: "<your-deployment-name>" # Ganti <your-deployment-name> dengan nama aplikasi sebenarnya. armsSecAutoEnable: "on" # Jika Anda ingin menghubungkan aplikasi ke Application Security, Anda harus mengonfigurasi parameter ini.Jika file YAML berisi label tersebut, lakukan Langkah 7.
Jika file YAML tidak berisi label tersebut, lakukan operasi berikut: Di kotak dialog Edit YAML, tambahkan label ke bagian spec > template > metadata dan ganti <your-deployment-name> dengan nama aplikasi sebenarnya. Kemudian, klik Update.
Di panel navigasi kiri halaman detail kluster, pilih . Pada halaman yang muncul, temukan pod dan pilih di kolom Actions untuk memeriksa apakah log pod ack-onepilot melaporkan error Security Token Service (STS) dalam format
"Message":"STS error".Jika error dilaporkan, otorisasi kluster aplikasi dan restart pod aplikasi. Untuk informasi lebih lanjut, lihat Instal agen ARMS untuk aplikasi Java yang diterapkan di ACK.
Jika error tidak dilaporkan, submit a ticket.
Di panel navigasi kiri halaman detail kluster, pilih , temukan pod dan klik Edit YAML di kolom Actions. Di kotak dialog Edit YAML, periksa apakah file YAML berisi parameter javaagent berikut:
-javaagent:/home/admin/.opt/ArmsAgent/aliyun-java-agent.jarCatatanJika Anda menggunakan agen ARMS versi sebelum 2.7.3.5, ganti aliyun-java-agent.jar dalam kode di atas dengan arms-bootstrap-1.7.0-SNAPSHOT.jar. Kami menyarankan Anda meningkatkan agen ke versi terbaru sesegera mungkin.
Jika file YAML berisi parameter tersebut, temukan pod di halaman Pods dan klik Terminal di kolom Actions untuk membuka halaman command line. Jalankan perintah berikut untuk memeriksa apakah direktori log berisi file log dengan ekstensi .log. Kemudian, submit a ticket.
cd /home/admin/.opt/ArmsAgent/logsJika file YAML tidak berisi parameter tersebut, submit a ticket.
Token ARMS Addon tidak ada di kluster
Gejala
Token ARMS Addon tidak ada di kluster target.
Login ke ACK console. Di panel navigasi kiri, klik Clusters. Pada halaman Clusters, klik nama kluster untuk membuka halaman detail kluster.
Di panel navigasi kiri, pilih .
Di bagian atas halaman, pilih kube-system dari daftar drop-down Namespace untuk memeriksa apakah addon.arms.token diaktifkan.

Solusi
Berikan izin akses Container Service for Kubernetes ke resource ARMS.
Mengapa data pemantauan menjadi abnormal setelah aplikasi dipindahkan ke kluster atau namespace yang berbeda?
Gejala
Nilai yang ditampilkan di kolom namespace pada dasbor kustom tidak diperbarui setelah Anda mengubah namespace aplikasi Anda.

Setelah Anda mengubah kluster aplikasi, data untuk metrik rate, errors, dan duration (RED) ditampilkan normal tetapi tidak ada data yang ditampilkan untuk metrik pemantauan kontainer, seperti CPU dan memori.
Kemungkinan penyebab
Parameter terkait kontainer, seperti Namespace dan ClusterId, dikonfigurasi saat aplikasi dibuat dan nilainya tidak dapat diperbarui secara otomatis. Jika Anda mengubah kluster atau namespace aplikasi, data terkait kontainer mungkin gagal diambil atau ditampilkan.
Solusi
Hapus aplikasi, buat ulang aplikasi, lalu laporkan data pemantauan lagi. Untuk informasi lebih lanjut, lihat Hapus aplikasi.
Metode ini menyebabkan kehilangan data historis.
Kirim tiket.
Bagaimana cara menyesuaikan path mount untuk probe Java?
Latar belakang
Dalam penerapan standar, komponen ack-onepilot menentukan path mount untuk agen Java dengan menginjeksi variabel lingkungan JAVA_TOOL_OPTIONS. Namun, Anda mungkin perlu menyesuaikan path mount agen untuk skenario tertentu, seperti berikut:
Manajemen konfigurasi terpusat
Anda dapat mengelola path agen secara terpusat menggunakan ConfigMap Kubernetes untuk memastikan konsistensi konfigurasi di berbagai lingkungan.
Persyaratan penyimpanan persisten
Kebijakan keamanan perusahaan atau persyaratan O&M mungkin mengharuskan menyimpan file probe di volume persisten kustom (PVC).
Solusi
Menyesuaikan path mount agen Java memerlukan versi komponen berikut:
ack-onepilot: versi 4.1.0 atau lebih baru.
ARMS Java agent: versi 4.2.2 atau lebih baru. Anda juga dapat mengontrol versi agen Java sesuai kebutuhan.
Komponen ack-onepilot digunakan bersama oleh Microservice Engine (MSE) dan Application Real-Time Monitoring Service (ARMS). Oleh karena itu, prosedur ini juga berlaku untuk aplikasi administrasi layanan MSE.
Tambahkan anotasi
disableJavaToolOptionsInjectionke beban kerja Kubernetes, seperti deployment, yang memerlukan agen Java dengan mount kustom.Setelah Anda menambahkan anotasi ini, komponen ack-onepilot tidak akan menggunakan variabel lingkungan JAVA_TOOL_OPTIONS untuk secara otomatis menentukan path mount agen atau parameter JVM lainnya.
Jalankan perintah berikut untuk melihat file YAML deployment target.
kubectl get deployment YOUR_DEPLOYMENT_NAME -o yamlCatatanJika Anda tidak yakin dengan nama deployment, Anda dapat menjalankan perintah berikut untuk mencantumkan semua deployment. Temukan deployment target di hasilnya, lalu lihat file YAML-nya.
kubectl get deployments --all-namespacesAnda dapat mengedit file YAML untuk aplikasi stateless target (Deployment).
kubectl edit deployment YOUR_DEPLOYMENT_NAME -o yamlDalam file YAML, tambahkan konten berikut di bawah `spec.template.metadata`.
labels: armsPilotAutoEnable: "on" armsPilotCreateAppName: "<span class="var-span" contenteditable="true" data-var="YOUR_DEPLOYMENT_NAME">YOUR_DEPLOYMENT_NAME"</span> # Ganti YOUR_DEPLOYMENT_NAME dengan nama aplikasi Anda. disableJavaToolOptionsInjection: "true" # Untuk menyesuaikan path mount agen Java, atur ini ke true.
Tambahkan path mount untuk agen Java ARMS ke skrip startup aplikasi atau perintah startup Java Anda.
Path mount default adalah
/home/admin/.opt/AliyunJavaAgent/aliyun-java-agent.jar. Ganti path ini dengan path kustom Anda.java -javaagent:/home/admin/.opt/AliyunJavaAgent/aliyun-java-agent.jar ... ... -jar xxx.jarInformasi lain, seperti wilayah pelaporan dan kunci lisensi, diinjeksikan oleh ack-onepilot melalui variabel lingkungan.
Bagaimana cara melaporkan data dari kluster ACK lintas wilayah?
Gejala
Bagaimana cara melaporkan data dari Wilayah A ke Wilayah B?
Solusi
Perbarui komponen ack-onepilot ke V4.0.0 atau lebih baru.
Tambahkan variabel lingkungan ARMS_REPORT_REGION ke aplikasi ack-onepilot-ack-onepilot di namespace ack-onepilot. Nilainya harus berupa ID wilayah tempat ARMS tersedia. Contoh: cn-hangzhou atau cn-beijing.
Restart aplikasi yang ada atau terapkan aplikasi baru untuk melaporkan data lintas wilayah.
CatatanSetelah variabel lingkungan ditambahkan, semua aplikasi yang diterapkan di kluster akan melaporkan data ke wilayah yang ditentukan pada langkah sebelumnya.
Bagaimana cara menguninstall arms-pilot dan menginstal ack-onepilot?
Latar belakang
Agen Pemantauan Aplikasi lama arms-pilot tidak lagi dipelihara. Anda dapat menginstal agen baru ack-onepilot untuk memantau aplikasi Anda. ack-onepilot sepenuhnya kompatibel dengan arms-pilot. Anda dapat menginstal ack-onepilot secara mulus tanpa perlu mengubah konfigurasi aplikasi. Topik ini menjelaskan cara menguninstall arms-pilot dan menginstal ack-onepilot.
Solusi
Anda harus menginstal ack-onepilot di kluster ACK V1.16 atau lebih baru. Jika kluster Anda lebih lama dari V1.16, tingkatkan kluster terlebih dahulu. Untuk informasi lebih lanjut, lihat Perbarui versi Kubernetes kluster ACK.
Anda harus menguninstall arms-pilot sebelum menginstal ack-onepilot. Jika Anda memiliki ack-onepilot dan arms-pilot yang diinstal, agen ARMS tidak dapat dimount. Jika arms-pilot tidak sepenuhnya diuninstall, ack-onepilot tidak berfungsi karena menganggap arms-pilot masih bekerja di lingkungan tersebut.
Saat Anda menguninstall arms-pilot dan menginstal ack-onepilot, konfigurasi arms-pilot tidak dapat disinkronkan secara otomatis ke ack-onepilot. Kami menyarankan Anda mencatat konfigurasi tersebut lalu mengonfigurasi ack-onepilot secara manual.
Uninstall arms-pilot.
Login ke ACK console. Pada halaman Clusters, klik nama kluster.
Di panel navigasi kiri, pilih .
Pada halaman Helm, temukan arms-pilot dan klik Delete di kolom Actions.
Pada pesan Delete, klik OK.
Periksa apakah arms-pilot telah diuninstall.
Buka halaman detail kluster di ACK console. Di panel navigasi kiri, pilih . Pada halaman Deployments, pilih arms-pilot dari daftar drop-down Namespace, dan periksa apakah pod namespace tersebut dihapus seperti yang diharapkan.
CatatanJika Anda telah mengubah namespace tempat arms-pilot berada, pilih namespace baru tersebut.
Instal ack-onepilot.
Login ke ACK console. Pada halaman Clusters, klik nama kluster.
Di panel navigasi kiri, klik . Pada halaman Add-ons, cari ack-onepilot.
Klik Install pada kartu ack-onepilot.
CatatanSecara default, komponen ack-onepilot mendukung 1.000 pod. Untuk setiap tambahan 1.000 pod di kluster, Anda harus menambahkan 0,5 core CPU dan 512 MB memori untuk komponen tersebut.
Di kotak dialog yang muncul, konfigurasikan parameter dan klik OK. Kami menyarankan Anda menggunakan nilai default.
CatatanSetelah Anda menginstal ack-onepilot, Anda dapat meningkatkan, mengonfigurasi, atau menguninstallnya di halaman Add-ons.
Periksa apakah ack-onepilot telah diinstal.
Buka halaman detail kluster di ACK console. Di panel navigasi kiri, pilih . Pada halaman Deployments, pilih ack-onepilot dari daftar drop-down Namespace, dan periksa apakah pod namespace tersebut berjalan seperti yang diharapkan.
Managed Service for Prometheus
Halaman pemantauan Prometheus menampilkan "Tidak ditemukan dasbor terkait"
Gejala
Jika Anda mengaktifkan pemantauan Prometheus dan melihat pesan No dashboard is found pada halaman untuk kluster target, ikuti prosedur di bawah ini untuk menyelesaikan masalah.

Solusi
Instal ulang komponen pemantauan Prometheus.
Instal ulang komponen:
Setelah memastikan penghapusan selesai, klik Install, lalu klik OK di kotak dialog.
Setelah instalasi selesai, kembali ke halaman Pemantauan Prometheus untuk memeriksa apakah masalah telah terselesaikan.
Jika masalah masih berlanjut, lanjutkan ke langkah berikutnya.
Periksa koneksi instance Prometheus.
Di panel navigasi kiri ARMS console, klik Integration Management.
Pada tab Integrated Environments, periksa daftar Container Service untuk lingkungan kontainer dengan nama yang sama dengan kluster Anda.
Jika tidak ada lingkungan kontainer yang sesuai: Lihat Hubungkan menggunakan konsol ARMS atau Prometheus.
Jika Anda memiliki lingkungan kontainer, klik Configure Agent di kolom Actions untuk lingkungan target guna membuka halaman Configure Agent.
Periksa apakah agen yang diinstal berjalan seperti yang diharapkan.
Mengapa data tidak ditampilkan di Managed Service for Prometheus?
Penyebab
Data mungkin tidak ditampilkan di Managed Service for Prometheus karena tugas sinkronisasi dengan layanan Prometheus Alibaba Cloud gagal, yang menyebabkan kegagalan pendaftaran resource, atau karena instance Prometheus tidak disediakan dengan benar. Ikuti proses di bawah ini untuk memeriksa dan menyelesaikan masalah.
Solusi
Periksa status tugas penyediaan untuk Managed Service for Prometheus.
Pada halaman Jobs, atur Namespace ke arms-prom di bagian atas halaman, lalu klik o11y-init-environment untuk memverifikasi bahwa job berhasil.
Jika tidak berhasil, mungkin karena sinkronisasi dengan layanan Prometheus Alibaba Cloud dan pendaftaran resource gagal. Anda dapat melihat log pod-nya untuk menemukan alasan spesifik kegagalan tersebut. Untuk informasi lebih lanjut, lihat Pecahkan masalah pengecualian pod.
Jika pod tersebut tidak ada lagi, lanjutkan dengan langkah-langkah berikut.
Instal ulang komponen pemantauan Prometheus.
Instal ulang komponen:
Setelah memastikan penghapusan selesai, klik Install, lalu klik OK di kotak dialog.
Setelah instalasi selesai, kembali ke halaman Pemantauan Prometheus untuk memeriksa apakah masalah telah terselesaikan.
Jika masalah masih berlanjut, lanjutkan ke langkah berikutnya.
Periksa penyediaan instance Prometheus.
Di panel navigasi kiri ARMS console, klik Integration Management.
Pada tab Integrated Environments, periksa daftar Container Service untuk lingkungan kontainer dengan nama yang sama dengan kluster Anda.
Jika tidak ada lingkungan kontainer yang sesuai: Lihat Hubungkan menggunakan konsol ARMS atau Prometheus.
Jika Anda memiliki lingkungan kontainer, klik Configure Agent di kolom Actions untuk lingkungan target guna membuka halaman Configure Agent.
Periksa apakah agen yang diinstal berjalan seperti yang diharapkan.
Managed Service for Prometheus gagal diinstal ulang dan muncul pesan error "rendered manifests contain a resource that already exists"
Gejala
Saat Anda menguninstall dan menginstal ulang agen Prometheus, muncul pesan error berikut:
rendered manifests contain a resource that already exists. Unable to continue with install: existing resource conflict: kind: ClusterRole, namespace: , name: arms-pilot-prom-k8s
Penyebab
Setelah Anda menjalankan perintah untuk menguninstall agen Prometheus secara manual, resource seperti role mungkin gagal dihapus.
Solusi
Jalankan perintah berikut untuk menemukan ClusterRoles agen Prometheus:
kubectl get ClusterRoles --all-namespaces | grep promJalankan perintah berikut untuk menghapus ClusterRoles yang ditemukan pada langkah sebelumnya:
kubectl delete ClusterRole [$Cluster_Roles] -n arms-promCatatanParameter [$Cluster_Roles] menentukan ClusterRoles yang ditemukan pada langkah sebelumnya.
Jika masalah masih berlanjut setelah Anda menghapus ClusterRoles, lihat nilai kind dalam pesan error untuk memeriksa apakah ada resource selain ClusterRoles. Lakukan operasi di atas untuk menghapusnya secara berurutan.
How do I view the version of the ack-arms-prometheus component?
Latar belakang
Anda perlu memeriksa versi komponen ack-arms-prometheus yang diterapkan di kluster Anda dan apakah perlu diperbarui.
Solusi
Login ke ACK console. Di panel navigasi kiri, klik Clusters.
Pada halaman Clusters, temukan yang ingin Anda kelola dan klik namanya. Di panel navigasi kiri, klik Add-ons.
Pada halaman Component Management, klik tab Log And Monitoring dan temukan komponen ack-arms-prometheus.
Versi saat ini ditampilkan di bawah nama komponen. Jika tersedia versi yang lebih baru, klik Upgrade di sebelah nomor versi untuk memperbarui komponen.
CatatanTombol Upgrade hanya tersedia jika komponen yang diinstal bukan versi terbaru.
Mengapa saya tidak dapat menerapkan pemantauan GPU?
Penyebab
Pemantauan GPU mungkin gagal diterapkan jika node GPU memiliki taint. Anda dapat melakukan langkah-langkah berikut untuk memeriksa taint pada node GPU.
Solusi
Jalankan perintah berikut untuk melihat taint node GPU target.
Jika node GPU memiliki taint kustom, Anda akan menemukan entri terkait di output. Topik ini menggunakan taint dengan
keytest-key,valuetest-value, daneffectNoSchedulesebagai contoh:kubectl describe node cn-beijing.47.100.***.***Output yang diharapkan:
Taints:test-key=test-value:NoScheduleAnda dapat menangani taint pada node GPU dengan salah satu cara berikut.
Jalankan perintah berikut untuk menghapus taint node GPU.
kubectl taint node cn-beijing.47.100.***.*** test-key=test-value:NoSchedule-Deklarasikan toleransi untuk taint node GPU agar pod dapat dijadwalkan ke node tersebut.
# 1. Jalankan perintah berikut untuk mengedit ack-prometheus-gpu-exporter. kubectl edit daemonset -n arms-prom ack-prometheus-gpu-exporter # 2. Tambahkan field berikut ke file YAML untuk mendeklarasikan toleransi terhadap taint. # Abaikan field lainnya. # Field tolerations ditambahkan di atas field containers dan sejajar dengan field containers. tolerations: - key: "test-key" operator: "Equal" value: "test-value" effect: "NoSchedule" containers: # Abaikan field lainnya.
Bagaimana cara menguninstall ARMS-Prometheus sepenuhnya untuk menghindari kegagalan instalasi ulang?
Latar belakang
Jika Anda hanya menghapus namespace Prometheus Monitoring for Alibaba Cloud, konfigurasi sisa mungkin tetap ada dan menyebabkan instalasi ulang gagal. Untuk menghapus semua konfigurasi ARMS-Prometheus secara manual dan lengkap, lakukan operasi berikut.
Solusi
Hapus namespace arms-prom.
kubectl delete namespace arms-promHapus ClusterRoles.
kubectl delete ClusterRole arms-kube-state-metrics kubectl delete ClusterRole arms-node-exporter kubectl delete ClusterRole arms-prom-ack-arms-prometheus-role kubectl delete ClusterRole arms-prometheus-oper3 kubectl delete ClusterRole arms-prometheus-ack-arms-prometheus-role kubectl delete ClusterRole arms-pilot-prom-k8s kubectl delete ClusterRole gpu-prometheus-exporter kubectl delete ClusterRole o11y:addon-controller:role kubectl delete ClusterRole arms-aliyunserviceroleforarms-clusterroleHapus ClusterRoleBindings.
kubectl delete ClusterRoleBinding arms-node-exporter kubectl delete ClusterRoleBinding arms-prom-ack-arms-prometheus-role-binding kubectl delete ClusterRoleBinding arms-prometheus-oper-bind2 kubectl delete ClusterRoleBinding arms-kube-state-metrics kubectl delete ClusterRoleBinding arms-pilot-prom-k8s kubectl delete ClusterRoleBinding arms-prometheus-ack-arms-prometheus-role-binding kubectl delete ClusterRoleBinding gpu-prometheus-exporter kubectl delete ClusterRoleBinding o11y:addon-controller:rolebinding kubectl delete ClusterRoleBinding arms-kube-state-metrics-agent kubectl delete ClusterRoleBinding arms-node-exporter-agent kubectl delete ClusterRoleBinding arms-aliyunserviceroleforarms-clusterrolebindingHapus Roles dan RoleBindings.
kubectl delete Role arms-pilot-prom-spec-ns-k8s kubectl delete Role arms-pilot-prom-spec-ns-k8s -n kube-system kubectl delete RoleBinding arms-pilot-prom-spec-ns-k8s kubectl delete RoleBinding arms-pilot-prom-spec-ns-k8s -n kube-system
Setelah Anda menghapus resource ARMS-Prometheus secara manual, navigasikan ke Operations Management > Component Management di Container Service for Kubernetes (ACK) console untuk menginstal ulang komponen ack-arms-prometheus.
Terjadi error "xxx sedang digunakan" saat menginstal komponen ack-arms-prometheus
Penyebab
Saat Anda menerapkan komponen ack-arms-prometheus, muncul error "xxx sedang digunakan". Hal ini kemungkinan disebabkan oleh resource yang sedang digunakan atau resource sisa, yang menyebabkan instalasi komponen gagal.
Solusi
Pada halaman Clusters, klik nama kluster target. Di panel navigasi kiri halaman detail kluster, pilih .
Pada halaman Helm, verifikasi bahwa ack-arms-prometheus ada.
Hapus ack-arms-prometheus dari halaman Helm lalu instal ulang di halaman Add-ons. Untuk informasi lebih lanjut, lihat Kelola komponen.
Tidak ditemukan:
Jika
ack-arms-prometheustidak ditemukan, ini menunjukkan bahwa resource sisa tetap ada dari penghapusan Helm Releaseack-arms-prometheus. Anda harus kemudian menghapus ARMS-Prometheus secara manual dan lengkap.
Komponen ack-arms-prometheus gagal diinstal setelah muncul pesan "Komponen Belum Diinstal"
Gejala
Saat Anda mencoba menginstal komponen ack-arms-prometheus, muncul pesan "Komponen Belum Diinstal" terlebih dahulu, dan instalasi tetap gagal pada percobaan kedua.
Solusi
Periksa apakah komponen ack-arms-prometheus sudah diinstal.
Pada halaman Clusters, klik nama kluster target. Di panel navigasi kiri halaman detail kluster, pilih .
Pada halaman Helm, verifikasi bahwa ack-arms-prometheus ada.
Hapus ack-arms-prometheus dari halaman Helm lalu instal ulang di halaman Add-ons. Untuk informasi lebih lanjut, lihat Kelola komponen.
Tidak ditemukan:
Jika
ack-arms-prometheustidak ditemukan, ini menunjukkan bahwa resource sisa tetap ada dari penghapusan Helm Releaseack-arms-prometheus. Anda harus kemudian menghapus ARMS-Prometheus secara manual dan lengkap.
Periksa log ack-arms-prometheus untuk mencari error.
Di panel navigasi kiri halaman detail kluster, pilih .
Di bagian atas halaman Deployments, atur Namespace ke arms-prom lalu klik arms-prometheus-ack-arms-prometheus.
Klik tab Logs dan periksa log untuk mencari error.
Periksa apakah terjadi error selama instalasi agen.
Login ke ARMS console. Di panel navigasi kiri, klik Integration Management.
Pada tab Integration Management, temukan lingkungan kontainer target di daftar Container Service. Di kolom Actions, klik Configure Agent untuk membuka halaman Configure Agent.
Pemantauan Prometheus open source
Bagaimana cara mengonfigurasi pemberitahuan peringatan DingTalk?
Gejala
Setelah Anda menerapkan Prometheus open source, Anda harus mengonfigurasinya untuk mengirim pemberitahuan peringatan menggunakan DingTalk.
Solusi
Dapatkan URL webhook chatbot DingTalk Anda. Untuk informasi lebih lanjut, lihat Pemantauan event.
Pada halaman wizard Parameters, temukan bagian dingtalk, atur enabled ke true, lalu tentukan URL webhook chatbot DingTalk Anda di field token. Untuk informasi lebih lanjut, lihat Configure DingTalk alert notifications di Konfigurasi peringatan.
Terjadi error saat menerapkan prometheus-operator
Gejala
Can't install release with errors: rpc error: code = Unknown desc = object is being deleted: customresourcedefinitions.apiextensions.k8s.io "xxxxxxxx.monitoring.coreos.com" already existsSolusi
Pesan error menunjukkan bahwa kluster gagal membersihkan objek definisi sumber daya kustom (CRD) dari penerapan sebelumnya. Jalankan perintah berikut untuk menghapus objek CRD. Kemudian, terapkan prometheus-operator lagi:
kubectl delete crd prometheuses.monitoring.coreos.com
kubectl delete crd prometheusrules.monitoring.coreos.com
kubectl delete crd servicemonitors.monitoring.coreos.com
kubectl delete crd alertmanagers.monitoring.coreos.comPeringatan email tidak berfungsi
Gejala
Setelah Anda menerapkan Prometheus open source, peringatan email yang Anda konfigurasi tidak mengirim pemberitahuan peringatan.
Solusi
Pastikan bahwa nilai smtp_auth_password adalah kode otorisasi SMTP, bukan kata sandi logon akun email. Pastikan endpoint server SMTP mencakup nomor port.
Muncul pesan error "Kluster tidak dapat diakses. Coba lagi nanti atau kirim tiket." saat saya mengklik Update YAML
Gejala
Setelah Anda menerapkan Prometheus open source, saat mengklik Update YAML, muncul pesan error "Kluster saat ini sementara tidak dapat diakses. Silakan coba lagi nanti atau kirim tiket untuk umpan balik".
Solusi
Jika file konfigurasi Tiller terlalu besar, kluster tidak dapat diakses. Untuk mengatasi masalah ini, Anda dapat menghapus beberapa anotasi di file konfigurasi dan memount file tersebut ke pod sebagai ConfigMap. Anda dapat menentukan nama ConfigMap di field configMaps bagian prometheus dan alertmanager. Untuk informasi lebih lanjut, lihat metode kedua di Mount ConfigMap ke Prometheus.
Bagaimana cara mengaktifkan fitur setelah menerapkan prometheus-operator?
Gejala
Setelah Anda menerapkan Prometheus open source, Anda mungkin perlu melakukan konfigurasi lebih lanjut untuk mengaktifkan fiturnya.
Solusi
Setelah prometheus-operator diterapkan, Anda dapat melakukan langkah-langkah berikut untuk mengaktifkan fitur prometheus-operator. Buka halaman detail kluster dan pilih di panel navigasi kiri. Pada halaman Helm, temukan ack-prometheus-operator dan klik Update di kolom Actions. Di panel Update Release, konfigurasikan blok kode untuk mengaktifkan fitur. Kemudian, klik OK.
Bagaimana cara memilih antara TSDB dan disk Alibaba Cloud?
Gejala
Saat memilih solusi penyimpanan, bagaimana cara memilih antara TSDB dan disk Alibaba Cloud, dan bagaimana cara mengonfigurasi kebijakan retensi data?
Solusi
Penyimpanan TSDB tersedia di wilayah terbatas. Namun, penyimpanan disk didukung di semua wilayah. Gambar berikut menunjukkan cara mengonfigurasi kebijakan retensi data.
Dasbor Grafana tidak ditampilkan dengan benar
Gejala
Setelah Anda menerapkan Prometheus open source, dasbor Grafana tidak ditampilkan dengan benar.
Solusi
Buka halaman detail kluster dan pilih di panel navigasi kiri. Pada halaman Helm, temukan ack-prometheus-operator dan klik Update di kolom Actions. Di panel Update Release, periksa apakah nilai field clusterVersion benar. Jika versi Kubernetes kluster Anda lebih lama dari 1.16, atur clusterVersion ke 1.14.8-aliyun.1. Jika versi Kubernetes kluster Anda 1.16 atau lebih baru, atur clusterVersion ke 1.16.6-aliyun.1.
ack-prometheus-operator gagal diinstal ulang setelah namespace-nya dihapus
Penyebab
Setelah Anda menghapus namespace ack-prometheus, konfigurasi resource terkait mungkin tetap ada. Dalam kasus ini, Anda mungkin gagal menginstal ack-prometheus lagi. Anda dapat melakukan operasi berikut untuk menghapus konfigurasi resource terkait:
Solusi
Hapus konfigurasi resource terkait kontrol akses berbasis peran (RBAC).
Jalankan perintah berikut untuk menghapus ClusterRoles terkait:
kubectl delete ClusterRole ack-prometheus-operator-grafana-clusterrole kubectl delete ClusterRole ack-prometheus-operator-kube-state-metrics kubectl delete ClusterRole psp-ack-prometheus-operator-kube-state-metrics kubectl delete ClusterRole psp-ack-prometheus-operator-prometheus-node-exporter kubectl delete ClusterRole ack-prometheus-operator-operator kubectl delete ClusterRole ack-prometheus-operator-operator-psp kubectl delete ClusterRole ack-prometheus-operator-prometheus kubectl delete ClusterRole ack-prometheus-operator-prometheus-pspJalankan perintah berikut untuk menghapus ClusterRoleBindings terkait:
kubectl delete ClusterRoleBinding ack-prometheus-operator-grafana-clusterrolebinding kubectl delete ClusterRoleBinding ack-prometheus-operator-kube-state-metrics kubectl delete ClusterRoleBinding psp-ack-prometheus-operator-kube-state-metrics kubectl delete ClusterRoleBinding psp-ack-prometheus-operator-prometheus-node-exporter kubectl delete ClusterRoleBinding ack-prometheus-operator-operator kubectl delete ClusterRoleBinding ack-prometheus-operator-operator-psp kubectl delete ClusterRoleBinding ack-prometheus-operator-prometheus kubectl delete ClusterRoleBinding ack-prometheus-operator-prometheus-psp
Jalankan perintah berikut untuk menghapus objek CRD terkait:
kubectl delete crd alertmanagerconfigs.monitoring.coreos.com kubectl delete crd alertmanagers.monitoring.coreos.com kubectl delete crd podmonitors.monitoring.coreos.com kubectl delete crd probes.monitoring.coreos.com kubectl delete crd prometheuses.monitoring.coreos.com kubectl delete crd prometheusrules.monitoring.coreos.com kubectl delete crd servicemonitors.monitoring.coreos.com kubectl delete crd thanosrulers.monitoring.coreos.com
Manajemen peringatan
Aturan peringatan gagal disinkronkan dan muncul pesan error "Proyek tidak ada: k8s-log-xxx"
Gejala
Di Alert Center, status sinkronisasi aturan peringatan menunjukkan pesan The Project does not exist : k8s-log-xxx.
Penyebab
Resource Pusat Insiden SLS belum dibuat.
Solusi
Di Simple Log Service console, konfirmasi apakah batas kuota telah tercapai. Untuk informasi lebih lanjut tentang resource, lihat Batas resource dasar.
Jika batas kuota telah tercapai, hapus proyek yang tidak perlu, atau submit a ticket untuk mengajukan peningkatan batas kuota resource proyek. Untuk informasi tentang cara menghapus proyek, lihat Kelola proyek.
Jika batas belum tercapai, lanjutkan dengan langkah-langkah berikut.
Instal ulang komponen ack-node-problem-detector.
Menginstal ulang komponen akan membuat ulang proyek default bernama k8s-log-xxxxxx.
Uninstall komponen ack-node-problem-detector.
Pada halaman manajemen kluster target di Container Service for Kubernetes console, di panel navigasi kiri, pilih .
Klik tab Logs and Monitoring. Kemudian, klik Uninstall pada kartu komponen ack-node-problem-detector dan klik Confirm di kotak dialog.
Setelah penghapusan selesai, instal komponen ack-node-problem-detector.
Di panel navigasi kiri, pilih
Pada halaman Alert Rules, klik Start Installation. Konsol secara otomatis membuat proyek, serta menginstal dan memperbarui komponen.
Pada halaman Alert Rules, nonaktifkan set aturan peringatan yang sesuai. Tunggu hingga Alert Rule Status berubah menjadi Rule Disabled, lalu aktifkan kembali set aturan untuk mencoba lagi.
Aturan peringatan gagal disinkronkan dan muncul pesan error this rule have no xxx contact groups reference
Gejala
Aturan peringatan gagal disinkronkan selama konfigurasi atau penerapan, dan sistem menampilkan pesan error seperti this rule have no xxx contact groups reference. Akibatnya, pemberitahuan untuk aturan peringatan ini tidak dikirim.
Penyebab
Sinkronisasi aturan peringatan gagal, dengan pesan kesalahan serupa berikut dilaporkan: aturan ini tidak memiliki referensi kelompok kontak xxx.
Solusi
Anda telah membuat kontak dan menambahkannya ke grup kontak.
Di sebelah kanan set aturan peringatan target, klik Edit Notification Policy untuk mengonfigurasi grup kontak mana yang berlangganan set aturan peringatan.
Masalah lainnya
Mengapa tidak ada data yang dikembalikan untuk kubectl top pod/node?
Gejala
Saat Anda menjalankan kubectl top pod atau kubectl top node di command line, tidak ada data yang dikembalikan.
Solusi
Jalankan perintah berikut untuk memeriksa apakah API Service metrics-server normal.
kubectl get apiservices | grep metrics-server
Jika hasil yang dikembalikan untuk
v1beta1.metrics.k8s.iomenunjukkanTrue, API Service metrics-server normal.Opsi: Jika API Service metrics-server tidak normal, jalankan perintah berikut pada node kluster untuk memeriksa apakah port 443 dan 8082 metrics-server dapat diakses secara normal dalam kluster.
curl -v <metrics-server_Pod_IP>:8082/apis/metrics/v1alpha1/nodes curl -v <metrics-server_Pod_IP>:443/apis/metrics/v1alpha1/nodesJika perintah mengembalikan data secara normal, port 443 dan 8082 metrics-server dapat diakses secara normal dalam kluster.
Opsi: Jika port 443 dan 8082 metrics-server tidak dapat diakses secara normal dalam kluster, restart metrics-server.
Anda dapat merestart metrics-server dengan menghapus pod-nya.
Di bagian atas halaman Stateless, atur Namespace ke `kube-system` lalu klik `metrics-server`.
Pada tab Pods, di kolom Actions untuk pod metrics-server, pilih More > Delete, lalu klik OK di kotak dialog.
Mengapa sebagian data hilang untuk kubectl top pod/node?
Gejala
Saat Anda menjalankan kubectl top pod atau kubectl top node, sebagian data hilang.
Solusi
Lakukan pemeriksaan awal berikut.
Periksa apakah semua pod di node tertentu tidak memiliki data, atau apakah pod tertentu tidak memiliki data. Jika semua pod di node tertentu tidak memiliki data, periksa apakah node tersebut memiliki deviasi zona waktu. Anda dapat menggunakan perintah
datedi server NTP untuk memverifikasi zona waktu.Periksa konektivitas jaringan dari pod metrics-server ke port 10255 node tertentu.
Apa yang harus saya lakukan jika HPA tidak dapat memperoleh data metrik?
Gejala
Saat Anda menggunakan Horizontal Pod Autoscaler (HPA) Kubernetes, Anda mungkin mengalami situasi di mana HPA tidak dapat memperoleh data metrik.
Solusi
Lakukan pemeriksaan awal berikut.
Periksa hasil menjalankan kubectl top pod untuk pod yang sesuai. Jika datanya abnormal, lihat metode pemeriksaan di Mengapa tidak ada data yang dikembalikan untuk kubectl top pod/node? dan Mengapa sebagian data hilang untuk kubectl top pod/node?
Mengapa HPA membuat Pod tambahan selama penyebaran bergulir?
Gejala
Selama pembaruan bergulir Kubernetes, Anda mungkin menemukan bahwa Horizontal Pod Autoscaler (HPA) secara tak terduga memulai Pod tambahan.
Solusi
Lakukan pemeriksaan awal berikut.
Periksa apakah metrics-server telah ditingkatkan ke versi terbaru. Jika versinya benar, gunakan perintah kubectl edit deployments -n kube-system metrics-server untuk menambahkan parameter startup berikut di bagian command.
--metric-resolution=15s
--enable-hpa-rolling-update-skipped=true
> Edit YAML