Kategori | Tautan cepat |
Pengumpulan log | |
Pemantauan aplikasi |
|
Pemantauan Prometheus Alibaba Cloud | |
Pemantauan Prometheus sumber terbuka (komponen ack-prometheus-operator) | |
Manajemen peringatan | |
Masalah lainnya |
Pengumpulan log
Bagaimana cara memecahkan masalah pengecualian pengumpulan log kontainer?
Masalah
Pengecualian pengumpulan log kontainer terjadi sehingga konten log baru tidak dapat dilaporkan.
Solusi
Periksa apakah heartbeat kelompok mesin tidak normal.
Periksa status heartbeat kelompok mesin untuk menentukan apakah Logtail telah diinstal dengan benar di lingkungan kontainer Anda.
Periksa status heartbeat kelompok mesin.
Masuk ke Konsol Simple Log Service.
Di bagian Proyek, klik proyek yang Anda inginkan.

Di panel navigasi, pilih .
Di daftar kelompok mesin, klik kelompok mesin tujuan.
Di halaman Machine Group Settings, lihat status kelompok mesin dan catat jumlah node yang status heartbeat-nya OK.
Periksa jumlah node pekerja di kluster kontainer.
Jalankan perintah berikut untuk melihat jumlah node pekerja di kluster.
kubectl get node | grep -v masterHasil yang mirip dengan berikut ini dikembalikan.
NAME STATUS ROLES AGE VERSION cn-hangzhou.i-bp17enxc2us3624wexh2 Ready <none> 238d v1.10.4 cn-hangzhou.i-bp1ad2b02jtqd1shi2ut Ready <none> 220d v1.10.4
Bandingkan jumlah node yang status heartbeat-nya OK dengan jumlah node pekerja di kluster kontainer. Pecahkan masalah berdasarkan hasil perbandingan.
Status heartbeat semua node di kelompok mesin adalah Failed.
Jika Anda mengumpulkan log dari kontainer Docker standar, lihat Kumpulkan log dari kontainer Docker (stdout dan file) dan periksa apakah
${your_region_name},${your_aliyun_user_id}, dan${your_machine_group_user_defined_id}telah ditentukan dengan benar.Jika Anda menggunakan kluster Kubernetes Alibaba Cloud, kirim tiket.
Jika Anda menggunakan kluster Kubernetes yang dikelola sendiri, lihat Kumpulkan log teks dari kontainer Kubernetes menggunakan sidecar dan periksa apakah
{regionId},{aliuid},{access-key-id}, dan{access-key-secret}telah ditentukan dengan benar.Jika ditentukan secara salah, jalankan perintah
helm del --purge alibaba-log-controlleruntuk menghapus paket instalasi, lalu instal ulang.
Jumlah node yang status heartbeat-nya OK lebih sedikit daripada jumlah node pekerja di kluster.
Periksa apakah DaemonSet diterapkan secara manual menggunakan file YAML.
Jalankan perintah berikut. Jika hasil dikembalikan, berarti DaemonSet diterapkan secara manual menggunakan file YAML.
kubectl get po -n kube-system -l k8s-app=logtailKonfigurasikan parameter seperti ${your_region_name}, ${your_aliyun_user_id}, dan ${your_machine_group_name} dengan nilai aktual Anda.
Jalankan perintah berikut untuk memperbarui file.
kubectl apply -f ./logtail-daemonset.yaml
Untuk kasus lainnya, kirim tiket.
Periksa apakah pengumpulan log kontainer tidak normal.
Jika Anda tidak dapat menemukan log di halaman Preview atau halaman kueri Logstore di konsol Simple Log Service, berarti Simple Log Service belum mengumpulkan log kontainer Anda. Dalam hal ini, periksa status kontainer, lalu lakukan pemeriksaan berikut.
PentingPerhatikan hal berikut saat mengumpulkan log dari file kontainer.
Logtail hanya mengumpulkan log inkremental. Jika file log tidak diperbarui setelah konfigurasi Logtail diterapkan, Logtail tidak akan mengumpulkan log dari file tersebut. Untuk informasi selengkapnya, lihat Baca file log.
Logtail hanya dapat mengumpulkan log dari file yang menggunakan penyimpanan kontainer default atau dipasang ke jalur lokal. Metode penyimpanan lain tidak didukung.
Setelah log dikumpulkan, Anda harus membuat indeks untuk mengkueri dan menganalisis log di Logstore. Untuk informasi selengkapnya, lihat Buat indeks.
Periksa kesalahan heartbeat kelompok mesin. Untuk informasi selengkapnya, lihat Periksa kesalahan heartbeat kelompok mesin.
Periksa apakah konfigurasi Logtail benar.
Periksa apakah pengaturan IncludeLabel, ExcludeLabel, IncludeEnv, ExcludeEnv, dan lainnya dalam konfigurasi Logtail memenuhi kebutuhan Anda.
CatatanLabel adalah label kontainer, yaitu label dalam output Docker inspect, bukan label Kubernetes.
Anda dapat sementara menghapus pengaturan IncludeLabel, ExcludeLabel, IncludeEnv, dan ExcludeEnv untuk memeriksa apakah log dapat dikumpulkan. Jika log dapat dikumpulkan, berarti pengaturan parameter ini salah.
Operasi dan pemeliharaan lainnya.
Lihat log Logtail
Log Logtail disimpan di direktori
/usr/local/ilogtail/kontainer Logtail. File log diberi namailogtail.LOGdanlogtail_plugin.LOG.Masuk ke kontainer Logtail. Untuk informasi selengkapnya, lihat Masuk ke kontainer Logtail.
Buka direktori /usr/local/ilogtail/.
cd /usr/local/ilogtailLihat file ilogtail.LOG dan logtail_plugin.LOG.
cat ilogtail.LOG cat logtail_plugin.LOG
Deskripsi output standar (stdout) kontainer Logtail
Deskripsi output standar (stdout) kontainer Logtail
Output standar kontainer Logtail tidak memberikan informasi bermakna untuk pemecahan masalah. Anda dapat mengabaikan konten berikut.
start umount useless mount points, /shm$|/merged$|/mqueue$ umount: /logtail_host/var/lib/docker/overlay2/3fd0043af174cb0273c3c7869500fbe2bdb95d13b1e110172ef57fe840c82155/merged: must be superuser to unmount umount: /logtail_host/var/lib/docker/overlay2/d5b10aa19399992755de1f85d25009528daa749c1bf8c16edff44beab6e69718/merged: must be superuser to unmount umount: /logtail_host/var/lib/docker/overlay2/5c3125daddacedec29df72ad0c52fac800cd56c6e880dc4e8a640b1e16c22dbe/merged: must be superuser to unmount ...... xargs: umount: exited with status 255; aborting umount done start logtail ilogtail is running logtail status: ilogtail is runningLihat status komponen terkait Simple Log Service di kluster Kubernetes
Lihat status komponen Simple Log Service di kluster Kubernetes
Jalankan perintah berikut untuk melihat status dan informasi penerapan 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 sumber daya 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 ini 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" }
Mengapa saya tidak dapat menghapus proyek?
Masalah
Bagaimana cara menghapus proyek, atau apa yang harus saya lakukan jika menerima pesan kesalahan "izin tidak mencukupi" saat mencoba melakukannya?
Solusi
Untuk informasi selengkapnya tentang cara menghapus proyek atau Logstore, lihat Kelola proyek dan Kelola Logstore. Jika proyek gagal dihapus, lihat Apa yang harus saya lakukan jika pesan kesalahan "Operasi ditolak, izin tidak mencukupi" dikembalikan saat menghapus proyek?
Jenis kesalahan umum dalam pengumpulan data Simple Log Service
Jenis kesalahan | Deskripsi | Solusi |
LOG_GROUP_WAIT_TOO_LONG_ALARM | Paket data menunggu terlalu lama untuk dikirim setelah dihasilkan. | Periksa apakah paket dikirim sesuai harapan. Kesalahan ini dapat disebabkan oleh volume data yang melebihi konfigurasi default, kuota yang 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 kesalahan untuk menghasilkan ekspresi reguler baru. |
PARSE_LOG_FAIL_ALARM | Dalam mode seperti JSON dan pembatas, penguraian gagal karena format log tidak sesuai dengan format yang ditentukan. | Klik pesan kesalahan untuk melihat laporan kesalahan terperinci. |
CATEGORY_CONFIG_ALARM | Konfigurasi pengumpulan Logtail tidak valid. | Penyebab umum adalah ekspresi reguler gagal mengekstrak jalur file untuk digunakan sebagai topik. |
LOGTAIL_CRASH_ALARM | Logtail mengalami crash karena melebihi batas penggunaan sumber daya server. | Tingkatkan batas penggunaan CPU dan memori. Untuk informasi selengkapnya, lihat Atur parameter startup Logtail. |
REGISTER_INOTIFY_FAIL_ALARM | Logtail gagal mendaftarkan pendengar log di Linux. Kesalahan 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 | Sumber daya CPU yang dikonfigurasi untuk Logtail tidak mencukupi, atau throttling dipicu saat data dikirim melalui jaringan. | Tingkatkan batas penggunaan CPU atau batas konkurensi pengiriman jaringan. Untuk informasi selengkapnya, lihat Atur parameter startup Logtail. |
SEND_DATA_FAIL_ALARM |
|
|
REGISTER_INOTIFY_FAIL_ALARM | Logtail gagal mendaftarkan pengamat inotify untuk direktori log. | Periksa apakah direktori tersebut ada dan verifikasi pengaturan izinnya. |
SEND_QUOTA_EXCEED_ALARM | Lalu lintas penulisan log melebihi batas yang dikonfigurasi. | Tingkatkan jumlah shard di konsol. Untuk informasi selengkapnya, lihat Pisahkan shard. |
READ_LOG_DELAY_ALARM | Pengumpulan log tertunda dan ketinggalan dari pembuatan log. Kesalahan ini biasanya disebabkan oleh sumber daya CPU yang tidak mencukupi untuk Logtail atau throttling pengiriman jaringan. | Tingkatkan batas penggunaan CPU atau batas konkurensi pengiriman jaringan. Untuk informasi selengkapnya, lihat Atur parameter startup Logtail. Jika Anda mengimpor data historis, sejumlah besar data dikumpulkan dalam waktu singkat. Anda dapat mengabaikan kesalahan ini. |
DROP_LOG_ALARM | Pengumpulan log tertunda, dan jumlah file log yang diputar yang belum diproses melebihi 20. Kesalahan ini biasanya disebabkan oleh sumber daya CPU yang tidak mencukupi untuk Logtail atau throttling pengiriman jaringan. | Tingkatkan batas penggunaan CPU atau batas konkurensi pengiriman jaringan. Untuk informasi selengkapnya, 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 sudah kedaluwarsa karena stempel waktunya lebih dari 12 jam lebih lama daripada waktu pengumpulan. Penyebab yang mungkin meliputi:
|
|
STAT_LIMIT_ALARM | Jumlah file di direktori yang ditentukan dalam konfigurasi pengumpulan melebihi batas. | Periksa apakah direktori pengumpulan target berisi banyak file dan subdirektori. Tetapkan direktori root yang sesuai untuk pemantauan dan tentukan kedalaman pemantauan maksimum untuk subdirektori. Anda juga dapat mengubah parameter mem_usage_limit. Untuk informasi selengkapnya, lihat Atur parameter startup Logtail. |
DROP_DATA_ALARM | Menyimpan log ke disk lokal mengalami timeout saat proses keluar. Log yang belum disimpan akan dibuang. | Kesalahan ini biasanya terjadi karena proses pengumpulan sangat terblokir. Tingkatkan batas penggunaan CPU atau batas konkurensi pengiriman jaringan. Untuk informasi selengkapnya, lihat Atur parameter startup Logtail. |
INPUT_COLLECT_ALARM | Terjadi kesalahan selama pengumpulan dari sumber input. | Selesaikan kesalahan berdasarkan detail dalam pesan kesalahan. |
HTTP_LOAD_ADDRESS_ALARM | Parameter Addresses yang ditentukan dalam konfigurasi pengumpulan data HTTP tidak valid. | Periksa apakah parameter Addresses valid. |
HTTP_COLLECT_ALARM | Terjadi kesalahan selama pengumpulan data HTTP. | Pecahkan masalah berdasarkan detail dalam pesan kesalahan. Kesalahan ini biasanya disebabkan oleh timeout. |
FILTER_INIT_ALARM | Terjadi kesalahan selama inisialisasi filter. | Kesalahan ini biasanya disebabkan oleh ekspresi reguler yang tidak valid dalam filter. Perbaiki ekspresi tersebut berdasarkan detail dalam pesan kesalahan. |
INPUT_CANAL_ALARM | Terjadi kesalahan runtime dalam binary logging MySQL. | Pecahkan masalah berdasarkan detail dalam pesan kesalahan. Layanan canal mungkin dimulai ulang saat konfigurasi diperbarui. Abaikan kesalahan yang disebabkan oleh restart layanan. |
CANAL_INVALID_ALARM | Status internal binary logging MySQL tidak normal. | Kesalahan ini biasanya terjadi ketika perubahan skema tabel selama runtime menyebabkan ketidakkonsistenan metadata. Konfirmasi apakah skema tabel dimodifikasi saat kesalahan dilaporkan. |
MYSQL_INIT_ALARM | Terjadi kesalahan selama inisialisasi MySQL. | Selesaikan kesalahan berdasarkan detail dalam pesan kesalahan. |
MYSQL_CHECKPOINT_ALARM | Format checkpoint MySQL tidak normal. | Konfirmasi apakah pengaturan terkait checkpoint dalam konfigurasi ini telah dimodifikasi. |
MYSQL_TIMEOUT_ALARM | Kueri MySQL mengalami timeout. | Konfirmasi bahwa server dan jaringan MySQL berfungsi normal. |
MYSQL_PARSE_ALARM | Gagal mengurai hasil kueri MySQL. | Konfirmasi bahwa format checkpoint dalam konfigurasi MySQL sesuai dengan format kolom yang sesuai. |
AGGREGATOR_ADD_ALARM | Gagal menambahkan data ke antrian. | Kesalahan ini menunjukkan bahwa data dikirim terlalu cepat. Abaikan kesalahan ini jika volume data aktual besar. |
ANCHOR_FIND_ALARM | Terjadi kesalahan dalam plugin processor_anchor. Hal ini dapat disebabkan oleh konfigurasi yang salah atau log yang tidak sesuai dengan konfigurasi. | Klik tautan kesalahan untuk melihat pesan kesalahan terperinci. Kesalahan ini memiliki subtipe berikut. Periksa konfigurasi Anda berdasarkan detail subtipe tertentu.
|
ANCHOR_JSON_ALARM | Terjadi kesalahan dalam plugin processor_anchor saat memperluas konten JSON yang ditentukan oleh parameter Start dan Stop. | Klik tautan kesalahan untuk melihat pesan kesalahan terperinci. Periksa konten yang sedang diproses dan konfigurasi terkait untuk mengidentifikasi kesalahan konfigurasi atau menemukan log yang tidak valid. |
CANAL_RUNTIME_ALARM | Terjadi kesalahan runtime dalam plugin binary logging. | Klik tautan kesalahan untuk melihat pesan kesalahan terperinci dan pecahkan masalah. Kesalahan ini biasanya terkait dengan instance MySQL primer yang terhubung. |
CHECKPOINT_INVALID_ALARM | Gagal mengurai checkpoint. | Klik tautan kesalahan untuk melihat pesan kesalahan terperinci. Pecahkan masalah berdasarkan kunci checkpoint, konten checkpoint (1.024 byte pertama), dan pesan kesalahan 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. Tetapkan 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 kesalahan untuk melihat pesan kesalahan terperinci. Pecahkan masalah berdasarkan perintah dan pesan kesalahan spesifik. |
DOCKER_FILE_MATCH_ALARM | File yang ditentukan tidak dapat ditemukan di kontainer Docker. | Klik tautan kesalahan untuk melihat pesan kesalahan terperinci. Pecahkan masalah berdasarkan informasi kontainer dan jalur file yang dicari. |
DOCKER_REGEX_COMPILE_ALARM | Terjadi kesalahan dalam plugin service_docker_stdout. Plugin gagal mengompilasi BeginLineRegex dari konfigurasi. | Klik tautan kesalahan untuk melihat pesan kesalahan terperinci. Periksa apakah ekspresi reguler benar. |
DOCKER_STDOUT_INIT_ALARM | Plugin service_docker_stdout gagal diinisialisasi. | Klik tautan kesalahan untuk melihat pesan kesalahan terperinci. Kesalahan ini memiliki subtipe berikut.
|
DOCKER_STDOUT_START_ALARM | Ukuran stdout melebihi batas selama pengumpulan oleh plugin service_docker_stdout. | Kesalahan ini biasanya terjadi jika data stdout sudah ada selama pengumpulan pertama. Abaikan kesalahan ini. |
DOCKER_STDOUT_STAT_ALARM | Plugin service_docker_stdout tidak dapat mendeteksi stdout. | Kesalahan ini biasanya terjadi karena stdout tidak dapat diakses saat kontainer keluar. Abaikan kesalahan ini. |
FILE_READER_EXCEED_ALARM | Jumlah objek file yang dibuka Logtail secara bersamaan melebihi batas. | Kesalahan ini biasanya terjadi karena terlalu banyak file dikumpulkan secara bersamaan. Periksa apakah konfigurasi pengumpulan masuk akal. |
GEOIP_ALARM | Terjadi kesalahan dalam plugin processor_geoip. | Klik tautan kesalahan untuk melihat pesan kesalahan terperinci. Kesalahan ini memiliki subtipe berikut.
|
HTTP_INIT_ALARM | Terjadi kesalahan dalam plugin metric_http. Ekspresi reguler ResponseStringMatch yang ditentukan dalam konfigurasi gagal dikompilasi. | Klik tautan kesalahan untuk melihat pesan kesalahan terperinci. Periksa apakah ekspresi reguler benar. |
HTTP_PARSE_ALARM | Terjadi kesalahan dalam plugin metric_http. Plugin gagal mengambil respons HTTP. | Klik tautan kesalahan untuk melihat pesan kesalahan terperinci. Periksa konten konfigurasi atau server HTTP yang diminta berdasarkan pesan kesalahan spesifik. |
INIT_CHECKPOINT_ALARM | Terjadi kesalahan dalam plugin binary logging. Plugin gagal memuat file checkpoint. Plugin mengabaikan checkpoint dan mulai memproses dari awal. | Klik tautan kesalahan untuk melihat pesan kesalahan terperinci. Tentukan apakah akan mengabaikan kesalahan ini berdasarkan informasi kesalahan spesifik. |
LOAD_LOCAL_EVENT_ALARM | Logtail sedang menangani event lokal. | Peringatan ini jarang terjadi. Jika tidak disebabkan oleh operasi manual, Anda harus memecahkan masalahnya. Klik tautan kesalahan untuk melihat pesan kesalahan terperinci. Pecahkan masalah berdasarkan nama file, nama konfigurasi, proyek, dan logstore. |
LOG_REGEX_FIND_ALARM | Terjadi kesalahan dalam plugin processor_split_log_regex dan processor_split_log_string. SplitKey yang ditentukan dalam konfigurasi tidak ditemukan dalam log. | Klik tautan kesalahan untuk melihat pesan kesalahan terperinci dan periksa kesalahan konfigurasi. |
LUMBER_CONNECTION_ALARM | Terjadi kesalahan dalam plugin service_lumberjack. Server dimatikan saat plugin berhenti. | Klik tautan kesalahan untuk melihat pesan kesalahan terperinci. Pecahkan masalah berdasarkan informasi kesalahan spesifik. Anda biasanya dapat mengabaikan kesalahan ini. |
LUMBER_LISTEN_ALARM | Terjadi kesalahan dalam plugin service_lumberjack selama inisialisasi pendengar. | Klik tautan kesalahan untuk melihat pesan kesalahan terperinci. Kesalahan ini memiliki subtipe berikut.
|
LZ4_COMPRESS_FAIL_ALARM | Terjadi kesalahan saat Logtail melakukan kompresi LZ4. | Klik tautan kesalahan untuk melihat pesan kesalahan terperinci. Pecahkan masalah berdasarkan nilai baris log, proyek, kategori, dan wilayah. |
MYSQL_CHECKPOINT_ALARM | Terjadi kesalahan dalam plugin MySQL terkait checkpoint. | Klik tautan kesalahan untuk melihat pesan kesalahan terperinci. Kesalahan ini memiliki subtipe berikut.
|
NGINX_STATUS_COLLECT_ALARM | Terjadi kesalahan dalam plugin nginx_status saat mengambil status. | Klik tautan kesalahan untuk melihat pesan kesalahan terperinci. Pecahkan masalah berdasarkan URL dan informasi kesalahan spesifik. |
NGINX_STATUS_INIT_ALARM | Terjadi kesalahan dalam plugin nginx_status. Plugin gagal menginisialisasi dan mengurai URL yang ditentukan dalam konfigurasi. | Klik tautan kesalahan untuk melihat pesan kesalahan terperinci. 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 kesalahan untuk melihat pesan kesalahan terperinci. Pecahkan masalah berdasarkan jalur file log, proyek, dan logstore. |
OPEN_LOGFILE_FAIL_ALARM | Terjadi kesalahan saat Logtail mencoba membuka file. | Klik tautan kesalahan untuk melihat pesan kesalahan terperinci. Pecahkan masalah berdasarkan jalur file log, proyek, dan logstore. |
PARSE_DOCKER_LINE_ALARM | Terjadi kesalahan dalam plugin service_docker_stdout. Plugin gagal mengurai log. | Klik tautan kesalahan untuk melihat pesan kesalahan terperinci. Kesalahan ini memiliki subtipe berikut.
|
PLUGIN_ALARM | Terjadi kesalahan selama inisialisasi plugin dan pemanggilan terkait. | Klik tautan kesalahan untuk melihat pesan kesalahan terperinci. Kesalahan ini memiliki subtipe berikut. Pecahkan masalah berdasarkan detail kesalahan spesifik.
|
PROCESSOR_INIT_ALARM | Terjadi kesalahan dalam plugin processor_regex. Plugin gagal mengompilasi ekspresi reguler Regex yang ditentukan dalam konfigurasi. | Klik tautan kesalahan untuk melihat pesan kesalahan terperinci. Periksa apakah ekspresi reguler benar. |
PROCESS_TOO_SLOW_ALARM | Logtail mengurai log terlalu lambat. |
|
REDIS_PARSE_ADDRESS_ALARM | Terjadi kesalahan dalam plugin Redis. Plugin gagal mengurai ServerUrls yang disediakan dalam konfigurasi. | Klik tautan kesalahan untuk melihat pesan kesalahan terperinci. Periksa URL yang dilaporkan mengalami kesalahan. |
REGEX_FIND_ALARM | Terjadi kesalahan dalam plugin processor_regex. Plugin tidak dapat menemukan kolom yang ditentukan oleh SourceKey dalam konfigurasi. | Klik tautan kesalahan untuk melihat pesan kesalahan terperinci. Periksa konfigurasi SourceKey yang salah atau log yang tidak valid. |
REGEX_UNMATCHED_ALARM | Terjadi kesalahan dalam plugin processor_regex. Pencocokan gagal. | Klik tautan kesalahan untuk melihat pesan kesalahan terperinci. Kesalahan ini memiliki subtipe berikut. Pecahkan masalah berdasarkan informasi kesalahan spesifik.
|
SAME_CONFIG_ALARM | Konfigurasi dengan nama yang sama sudah ada untuk logstore. Konfigurasi yang ditemukan kemudian dibuang. | Klik tautan kesalahan untuk melihat pesan kesalahan terperinci. Periksa kesalahan konfigurasi berdasarkan jalur konfigurasi dan informasi lainnya. |
SPLIT_FIND_ALARM | Terjadi kesalahan dalam plugin split_char dan split_string. Plugin tidak dapat menemukan kolom yang ditentukan oleh SourceKey dalam konfigurasi. | Klik tautan kesalahan untuk melihat pesan kesalahan terperinci. Periksa konfigurasi SourceKey yang salah atau log yang tidak valid. |
SPLIT_LOG_ALARM | Terjadi kesalahan dalam plugin processor_split_char dan processor_split_string. Jumlah kolom yang diurai berbeda dari jumlah yang ditentukan dalam SplitKeys. | Klik tautan kesalahan untuk melihat pesan kesalahan terperinci. Periksa konfigurasi SourceKey yang salah atau log yang tidak valid. |
STAT_FILE_ALARM | Terjadi kesalahan saat mengumpulkan data dari file menggunakan objek LogFileReader. | Klik tautan kesalahan untuk melihat pesan kesalahan terperinci. Pecahkan masalah berdasarkan jalur file dan informasi kesalahan. |
SERVICE_SYSLOG_INIT_ALARM | Terjadi kesalahan dalam plugin service_syslog. Plugin gagal diinisialisasi. | Klik tautan kesalahan untuk melihat pesan kesalahan terperinci. Periksa apakah parameter Address dalam konfigurasi benar. |
SERVICE_SYSLOG_STREAM_ALARM | Terjadi kesalahan dalam plugin service_syslog selama pengumpulan data melalui TCP. | Klik tautan kesalahan untuk melihat pesan kesalahan terperinci. Kesalahan ini memiliki subtipe berikut. Pecahkan masalah berdasarkan detail kesalahan spesifik.
|
SERVICE_SYSLOG_PACKET_ALARM | Terjadi kesalahan dalam plugin service_syslog selama pengumpulan data melalui UDP. | Klik tautan kesalahan untuk melihat pesan kesalahan terperinci. Kesalahan ini memiliki subtipe berikut. Pecahkan masalah berdasarkan detail kesalahan 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 menginstal agen untuk aplikasi kluster ACK?
Penyebab
Pemantauan aplikasi ditangguhkan.
Agen ARMS tidak dimuat seperti yang diharapkan di pod tempat aplikasi berada.
Solusi
Periksa apakah pemantauan aplikasi ditangguhkan.
Masuk ke Konsol ARMS. Di panel navigasi sebelah kiri, pilih .
Di 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) yang baru, pilih di bilah navigasi atas halaman detail aplikasi. Di bagian Pengaturan sakelar probe, periksa apakah pemantauan aplikasi ditangguhkan.
Jika Tangguhkan pemantauan aplikasi diaktifkan, matikan sakelar tersebut dan klik Simpan.
Jika Tangguhkan pemantauan aplikasi 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 sebelah kiri halaman detail aplikasi. Di halaman yang muncul, klik tab Custom Configuration. Di bagian Pengaturan Sakelar Agen, periksa apakah Sakelar Utama Probe diaktifkan.
Jika Sakelar Utama Probe dimatikan, aktifkan Sakelar Utama Probe dan klik Simpan di bagian bawah halaman.
Jika Sakelar Utama Probe diaktifkan, lanjutkan ke Langkah 2: Periksa apakah agen ARMS dimuat seperti yang diharapkan.
Periksa apakah agen dimuat dengan benar.
Masuk ke Konsol ACK. Di panel navigasi sebelah kiri, klik Clusters. Di halaman Kluster, klik nama kluster untuk membuka halaman detail kluster.
Di panel navigasi sebelah kiri, pilih .
Di 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 sebelah kiri halaman detail kluster, pilih . Di 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 selengkapnya, lihat Bagaimana cara menginstal ack-onepilot dan menguninstall arms-pilot?
Di panel navigasi sebelah kiri halaman detail kluster, pilih Workloads > Deployments atau StatefulSets. Di 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: "<nama-deployment-anda>" # Ganti <nama-deployment-anda> dengan nama aplikasi sebenarnya. armsSecAutoEnable: "on" # Jika Anda ingin menghubungkan aplikasi ke Keamanan Aplikasi, 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 <nama-deployment-anda> dengan nama aplikasi sebenarnya. Lalu, klik Update.
Di panel navigasi sebelah kiri halaman detail kluster, pilih . Di halaman yang muncul, temukan pod dan pilih di kolom Actions untuk memeriksa apakah log pod ack-onepilot melaporkan kesalahan Security Token Service (STS) dalam format
"Message":"STS error".Jika kesalahan dilaporkan, berikan otorisasi ke kluster aplikasi dan mulai ulang pod aplikasi. Untuk informasi selengkapnya, lihat Instal agen ARMS untuk aplikasi Java yang diterapkan di ACK.
Jika kesalahan tidak dilaporkan, submit a ticket.
Di panel navigasi sebelah 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 segera meningkatkan agen ke versi terbaru.
Jika file YAML berisi parameter tersebut, temukan pod di halaman Pods dan klik Terminal di kolom Actions untuk membuka halaman baris perintah. Jalankan perintah berikut untuk memeriksa apakah file log berisi file log dengan ekstensi .log. Lalu, submit a ticket.
cd /home/admin/.opt/ArmsAgent/logsJika file YAML tidak berisi parameter tersebut, submit a ticket.
Token Addon ARMS tidak ada di kluster
Masalah
Token Addon ARMS tidak ada di kluster.
Masuk ke Konsol ACK. Di panel navigasi sebelah kiri, klik Clusters. Di halaman Kluster, klik nama kluster untuk membuka halaman detail kluster.
Di panel navigasi sebelah 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 ARMS ke Container Service for Kubernetes.
Mengapa data pemantauan tidak normal setelah mengubah kluster atau namespace aplikasi?
Masalah
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 secara normal tetapi tidak ada data yang ditampilkan untuk metrik pemantauan kontainer, seperti CPU dan memori.
Penyebab
Parameter terkait kontainer, seperti Namespace dan ClusterId, dikonfigurasi saat aplikasi dibuat dan nilai parameter ini 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 selengkapnya, lihat Hapus aplikasi.
Metode ini menyebabkan kehilangan data historis.
Kirim tiket.
Bagaimana cara menyesuaikan jalur pemasangan agen Java?
Latar Belakang
Umumnya, komponen ack-onepilot menentukan jalur pemasangan untuk agen Application Real-Time Monitoring Service (ARMS) untuk Java dengan menginjeksi variabel lingkungan JAVA_TOOL_OPTIONS. Namun, Anda mungkin perlu menyesuaikan jalur ini untuk skenario seperti:
Manajemen konfigurasi terpusat
Kelola jalur pemasangan melalui ConfigMap Kubernetes untuk memastikan konsistensi lingkungan.
Penyimpanan persisten
Simpan file agen di persistent volume claim (PVC) kustom untuk memenuhi persyaratan keamanan atau O&M perusahaan.
Solusi
Untuk menyesuaikan jalur pemasangan untuk agen ARMS untuk Java, persyaratan versi berikut harus dipenuhi:
ack-onepilot: V4.1.0 atau lebih baru.
Agen ARMS untuk Java: V4.2.2 atau lebih baru. Anda dapat mengontrol versi agen ARMS untuk Java Anda.
Konfigurasi ini juga berlaku untuk Microservice Engine (MSE) karena integrasi ack-onepilot yang sama.
Tambahkan anotasi
disableJavaToolOptionsInjectionke beban kerja Kubernetes, seperti deployment, yang memerlukan jalur pemasangan kustom.Komponen ack-onepilot tidak akan secara otomatis mengatur jalur pemasangan atau parameter JVM lainnya menggunakan variabel lingkungan
JAVA_TOOL_OPTIONS.Untuk melihat file YAML deployment, jalankan perintah berikut:
kubectl get deployment {Nama Deployment} -o yamlCatatanJika Anda tidak yakin dengan nama deployment, jalankan perintah berikut untuk mencantumkan semua deployment:
kubectl get deployments --all-namespaceKemudian, temukan yang Anda inginkan di hasilnya dan lihat file YAML-nya.
Jalankan perintah berikut untuk mengedit file YAML:
kubectl edit deployment {Nama Deployment} -o yamlDi file YAML, tambahkan label berikut ke
spec.template.metadata:labels: armsPilotAutoEnable: "on" armsPilotCreateAppName: "<nama-deployment-anda>" # Nama deployment Anda. disableJavaToolOptionsInjection: "true" # Jika Anda ingin menyesuaikan jalur pemasangan untuk agen ARMS untuk Java, atur parameter ini ke true.
Ganti jalur pemasangan default
/home/admin/.opt/AliyunJavaAgent/aliyun-java-agent.jardi skrip atau perintah startup Java Anda dengan jalur kustom Anda:java -javaagent:/home/admin/.opt/AliyunJavaAgent/aliyun-java-agent.jar ... ... -jar xxx.jarInformasi lain seperti wilayah pelaporan dan kunci lisensi disediakan oleh ack-onepilot melalui variabel lingkungan.
Bagaimana cara melaporkan data lintas wilayah di kluster ACK?
Masalah
Bagaimana Anda melaporkan data dari Wilayah A ke Wilayah B lintas wilayah?
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.
Mulai ulang aplikasi yang ada atau terapkan aplikasi baru untuk melaporkan data lintas wilayah.
CatatanSetelah variabel lingkungan ditambahkan, semua aplikasi yang diterapkan di kluster 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 memodifikasi 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 selengkapnya, 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 dipasang. Jika arms-pilot tidak sepenuhnya diuninstall, ack-onepilot tidak berfungsi karena menganggap arms-pilot masih berjalan 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.
Masuk ke Konsol ACK. Di halaman Clusters, klik nama kluster.
Di panel navigasi sebelah kiri, pilih .
Di halaman Helm, temukan arms-pilot dan klik Delete di kolom Actions.
Di pesan Delete, klik OK.
Periksa apakah arms-pilot telah diuninstall.
Buka halaman detail kluster di Konsol ACK. Di panel navigasi sebelah kiri, pilih . Di halaman Deployments, pilih arms-pilot dari daftar drop-down Namespace, lalu periksa apakah pod namespace tersebut telah dihapus seperti yang diharapkan.
CatatanJika Anda telah mengubah namespace tempat arms-pilot berada, pilih namespace baru tersebut.
Instal ack-onepilot.
Masuk ke Konsol ACK. Di halaman Clusters, klik nama kluster.
Di panel navigasi sebelah kiri, klik . Di 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 memori 512 MB 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 Konsol ACK. Di panel navigasi sebelah kiri, pilih . Di halaman Deployments, pilih ack-onepilot dari daftar drop-down Namespace, lalu periksa apakah pod namespace tersebut berjalan seperti yang diharapkan.
Pemantauan Prometheus Alibaba Cloud
Tidak ditemukan dasbor terkait di halaman pemantauan Prometheus
Masalah
Jika pesan No Related Dashboard Found muncul di halaman halaman detail kluster setelah Anda mengaktifkan pemantauan Prometheus, ikuti langkah-langkah berikut untuk menyelesaikan masalah.

Solusi
Instal ulang komponen pemantauan Prometheus.
Instal ulang komponen:
Setelah Anda memastikan bahwa komponen telah diuninstall, klik Install, lalu klik OK di kotak dialog yang muncul.
Tunggu hingga instalasi selesai, lalu 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 sebelah kiri Konsol ARMS, klik Provisioning.
Di tab Provisioned Environments, periksa daftar Container Environment untuk memastikan apakah ada lingkungan kontainer dengan nama yang sama dengan kluster Anda.
Jika Anda tidak menemukan lingkungan kontainer yang sesuai, lihat Hubungkan melalui konsol ARMS atau Prometheus.
Jika lingkungan kontainer ada: Di kolom Actions lingkungan kontainer target, klik Probe Settings untuk membuka halaman Probe Settings.
Periksa apakah probe yang diinstal berjalan seperti yang diharapkan.
Mengapa data Managed Service for Prometheus tidak normal dan tidak dapat ditampilkan?
Penyebab
Data Managed Service for Prometheus tidak dapat ditampilkan karena pekerjaan sinkronisasi dengan layanan cloud Prometheus Alibaba Cloud gagal, sehingga pendaftaran sumber daya gagal, atau karena instance Prometheus tidak terhubung dengan benar. Lakukan langkah-langkah berikut untuk memecahkan masalah.
Solusi
Periksa status pekerjaan untuk mengakses Managed Service for Prometheus.
Masuk ke Konsol ACK. Di panel navigasi sebelah kiri, klik Clusters.
Di halaman Clusters, temukan kluster yang Anda inginkan dan klik namanya. Di panel sebelah kiri, pilih .
Di bagian atas halaman Jobs, atur Namespace ke arms-prom, lalu klik o11y-init-environment untuk memverifikasi apakah tugas berhasil.
Jika tugas tidak berhasil, data mungkin gagal disinkronkan ke Managed Service for Prometheus, dan pendaftaran sumber daya mungkin gagal. Lihat log pod untuk mendapatkan alasan kegagalan spesifik. Untuk informasi selengkapnya, lihat Pecahkan masalah pod.
Jika tidak ada pod, lanjutkan ke langkah berikutnya.
Instal ulang komponen pemantauan Prometheus.
Instal ulang komponen:
Setelah Anda memastikan bahwa komponen telah diuninstall, klik Install, lalu klik OK di kotak dialog yang muncul.
Tunggu hingga instalasi selesai, lalu kembali ke halaman Pemantauan Prometheus untuk memeriksa apakah masalah telah terselesaikan.
Jika masalah masih berlanjut, lanjutkan ke langkah berikutnya.
Periksa apakah instance Prometheus terhubung.
Di panel navigasi sebelah kiri Konsol ARMS, klik Provisioning.
Di tab Provisioned Environments, periksa daftar Container Environment untuk memastikan apakah ada lingkungan kontainer dengan nama yang sama dengan kluster Anda.
Jika Anda tidak menemukan lingkungan kontainer yang sesuai, lihat Hubungkan melalui konsol ARMS atau Prometheus.
Jika lingkungan kontainer ada: Di kolom Actions lingkungan kontainer target, klik Probe Settings untuk membuka halaman Probe Settings.
Periksa apakah probe yang diinstal berjalan seperti yang diharapkan.
Jika langkah-langkah di atas tidak menyelesaikan masalah, kirim tiket untuk menghubungi dukungan teknis.
Kesalahan "Rendered manifests contain a resource that already exists" saat menginstal ulang pemantauan Prometheus Alibaba Cloud
Masalah
Saat Anda menguninstall dan menginstal ulang agen Prometheus, pesan kesalahan berikut muncul:
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, sumber daya seperti peran mungkin gagal dihapus.
Solusi
Jalankan perintah berikut untuk menemukan ClusterRole agen Prometheus:
kubectl get ClusterRoles --all-namespaces | grep promJalankan perintah berikut untuk menghapus ClusterRole yang ditemukan pada langkah sebelumnya:
kubectl delete ClusterRole [$Cluster_Roles] -n arms-promCatatanParameter [$Cluster_Roles] menentukan ClusterRole yang ditemukan pada langkah sebelumnya.
Jika masalah masih berlanjut setelah Anda menghapus ClusterRole, lihat nilai kind dalam pesan kesalahan untuk memeriksa apakah ada sumber daya selain ClusterRole. Lakukan operasi di atas untuk menghapusnya secara berurutan.
How do I check the version of the ack-arms-prometheus component?
Latar Belakang
Anda harus memeriksa versi komponen ack-arms-prometheus yang diterapkan di kluster Anda, dan apakah perlu diperbarui.
Solusi
Masuk ke Konsol ACK. Di panel navigasi sebelah kiri, klik Clusters.
Di halaman Clusters, temukan yang ingin Anda kelola dan klik namanya. Di panel navigasi sebelah kiri, klik Add-ons.
Di halaman Add-ons, klik tab Logs and Monitoring dan temukan komponen ack-arms-prometheus.
Nomor versi ditampilkan di kartu komponen. Jika versi baru tersedia, klik Upgrade untuk memperbarui komponen.
CatatanTombol Upgrade hanya ditampilkan jika komponen bukan versi terbaru.
Mengapa pemantauan GPU tidak dapat diterapkan?
Penyebab
Jika node GPU memiliki taint, penerapan pemantauan GPU mungkin gagal. Anda dapat melakukan langkah-langkah berikut untuk melihat taint node GPU.
Solusi
Jalankan perintah berikut untuk melihat taint node GPU target.
Jika node GPU memiliki taint kustom, Anda dapat menemukan entri terkait taint. 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:NoScheduleTangani taint node GPU dengan salah satu cara berikut:
Jalankan perintah berikut untuk menghapus taint dari 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 dengan taint 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. # Field lainnya dihilangkan. # Field tolerations ditambahkan di atas field containers dan sejajar dengan field containers. tolerations: - key: "test-key" operator: "Equal" value: "test-value" effect: "NoSchedule" containers: # Field lainnya dihilangkan.
Bagaimana cara menghapus ARMS-Prometheus secara manual sepenuhnya ketika penghapusan sumber daya manual menyebabkan kegagalan instalasi ulang?
Latar Belakang
Jika Anda hanya menghapus namespace Managed Service for Prometheus, konfigurasi sisa akan tetap ada, yang dapat menyebabkan instalasi ulang gagal. Anda dapat melakukan operasi berikut untuk menghapus konfigurasi sisa ARMS-Prometheus sepenuhnya.
Solusi
Hapus namespace arms-prom.
kubectl delete namespace arms-promHapus ClusterRole.
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 ClusterRoleBinding.
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 Role dan RoleBinding.
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 sumber daya ARMS-Prometheus secara manual, buka Konsol Layanan Kontainer, pilih Operations > Add-ons, lalu instal ulang komponen ack-arms-prometheus.
Kesalahan "xxx sedang digunakan" saat menginstal komponen ack-arms-prometheus
Penyebab
Saat Anda menerapkan komponen ack-arms-prometheus, muncul pesan kesalahan yang menunjukkan "xxx sedang digunakan". Hal ini menunjukkan bahwa sumber daya sedang digunakan atau ada sumber daya sisa, sehingga instalasi komponen gagal.
Solusi
Di halaman Kluster ACK, klik nama kluster target. Di panel navigasi sebelah kiri halaman detail kluster, pilih .
Di halaman Helm, periksa apakah ack-arms-prometheus ada.
Jika ada: Hapus ack-arms-prometheus di halaman Helm, lalu instal ulang ack-arms-prometheus di halaman Component Management. Untuk informasi selengkapnya tentang cara menginstal ack-arms-prometheus, lihat Kelola komponen.
Tidak ditemukan:
Jika ack-arms-prometheus tidak ada, ini menunjukkan bahwa sumber daya sisa tertinggal saat Helm Release ack-arms-prometheus dihapus. Anda harus menghapus ARMS-Prometheus secara manual.
Kegagalan instalasi setelah prompt "Komponen Belum Diinstal" saat menginstal komponen ack-arms-prometheus
Masalah
Saat Anda mencoba menginstal komponen ack-arms-prometheus, pertama-tama Anda melihat prompt "Komponen Belum Diinstal", tetapi upaya instalasi berikutnya tetap gagal.
Solusi
Periksa apakah komponen ack-arms-prometheus sudah diinstal.
Di halaman Kluster ACK, klik nama kluster target. Di panel navigasi sebelah kiri halaman detail kluster, pilih .
Di halaman Helm, periksa apakah ack-arms-prometheus ada.
Jika ada: Hapus ack-arms-prometheus di halaman Helm, lalu instal ulang ack-arms-prometheus di halaman Component Management. Untuk informasi selengkapnya tentang cara menginstal ack-arms-prometheus, lihat Kelola komponen.
Tidak ditemukan:
Jika ack-arms-prometheus tidak ada, ini menunjukkan bahwa sumber daya sisa tertinggal saat Helm Release ack-arms-prometheus dihapus. Anda harus menghapus ARMS-Prometheus secara manual.
Periksa log ack-arms-prometheus untuk kesalahan.
Di panel navigasi sebelah 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 untuk memeriksa kesalahan dalam log.
Periksa apakah terjadi kesalahan selama instalasi Agen.
Masuk ke Konsol ARMS. Di panel navigasi sebelah kiri, klik Provisioning.
Di tab Provisioned Environments, periksa daftar Container Environment. Di kolom Actions lingkungan kontainer target, klik Probe Settings untuk membuka halaman Probe Settings.
Pemantauan Prometheus sumber terbuka
Bagaimana cara mengonfigurasi pemberitahuan peringatan DingTalk?
Masalah
Setelah menerapkan Prometheus sumber terbuka, Anda harus mengonfigurasi pemberitahuan peringatan melalui DingTalk.
Solusi
Dapatkan URL webhook chatbot DingTalk Anda. Untuk informasi selengkapnya, lihat Pemantauan event.
Di halaman wizard Parameter, temukan bagian dingtalk, atur enabled ke true, lalu tentukan URL webhook chatbot DingTalk Anda di field token. Untuk informasi selengkapnya, lihat Configure DingTalk alert notifications di Konfigurasi peringatan.
Kesalahan saat menerapkan prometheus-operator
Masalah
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 kesalahan menunjukkan bahwa kluster gagal membersihkan objek definisi sumber daya kustom (CRD) dari penerapan sebelumnya. Jalankan perintah berikut untuk menghapus objek CRD. Lalu, 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
Masalah
Setelah menerapkan Prometheus sumber terbuka, peringatan email yang Anda konfigurasi tidak mengirimkan pemberitahuan peringatan.
Solusi
Pastikan bahwa nilai smtp_auth_password adalah kode otorisasi SMTP, bukan kata sandi logon akun email. Pastikan titik akhir server SMTP mencakup nomor port.
Kesalahan "Kluster tidak dapat diakses, silakan coba lagi atau kirim tiket" saat mengklik pembaruan YAML
Masalah
Setelah menerapkan Prometheus sumber terbuka, saat Anda mengklik pembaruan YAML, muncul kesalahan: "Kluster saat ini tidak dapat diakses sementara. 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 memasang file tersebut ke pod sebagai ConfigMap. Anda dapat menentukan nama ConfigMap di field configMaps bagian prometheus dan alertmanager. Untuk informasi selengkapnya, lihat metode kedua di Pasang ConfigMap ke Prometheus.
Bagaimana cara mengaktifkan fitur setelah menerapkan prometheus-operator?
Masalah
Setelah menerapkan Prometheus sumber terbuka, Anda mungkin perlu mengonfigurasi lebih lanjut untuk mengaktifkan fitur tertentu.
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 sebelah kiri. Di halaman Helm, temukan ack-prometheus-operator dan klik Update di kolom Tindakan. Di panel Perbarui Rilis, konfigurasikan blok kode untuk mengaktifkan fitur. Lalu, klik OK.
Bagaimana memilih antara TSDB dan disk Alibaba Cloud
Masalah
Saat memilih solusi penyimpanan, bagaimana Anda memilih antara TSDB dan disk Alibaba Cloud, dan bagaimana Anda mengonfigurasi kebijakan reklamasi data?
Solusi
Penyimpanan TSDB tersedia di wilayah terbatas. Namun, penyimpanan disk didukung di semua wilayah. Gambar berikut menunjukkan cara mengonfigurasi kebijakan retensi data.
Masalah tampilan Dasbor Grafana
Masalah
Setelah menerapkan Prometheus sumber terbuka, ada masalah tampilan dengan Dasbor Grafana.
Solusi
Buka halaman detail kluster dan pilih di panel navigasi sebelah kiri. Di halaman Helm, temukan ack-prometheus-operator dan klik Update di kolom Tindakan. Di panel Perbarui Rilis, 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.
Kegagalan menginstal ulang ack-prometheus-operator setelah menghapus namespace-nya
Penyebab
Setelah Anda menghapus namespace ack-prometheus, konfigurasi sumber daya terkait mungkin tetap ada. Dalam hal ini, Anda mungkin gagal menginstal ack-prometheus lagi. Anda dapat melakukan operasi berikut untuk menghapus konfigurasi sumber daya terkait:
Solusi
Hapus konfigurasi sumber daya terkait kontrol akses berbasis peran (RBAC).
Jalankan perintah berikut untuk menghapus ClusterRole 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 ClusterRoleBinding 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
Sinkronisasi aturan peringatan gagal dengan pesan kesalahan "Proyek tidak ada: k8s-log-xxx"
Masalah
Penyebab
Solusi
Sinkronisasi aturan peringatan gagal dengan pesan kesalahan aturan ini tidak memiliki referensi grup kontak xxx
Masalah
Penyebab
Solusi
Masalah lainnya
Mengapa tidak ada data saat menjalankan kubectl top pod/node?
Masalah
Saat Anda menjalankan kubectl top pod atau kubectl top node di baris perintah, tidak ada data yang dikembalikan.
Solusi
Jalankan perintah berikut untuk memeriksa apakah layanan API metrics-server berfungsi normal:
kubectl get apiservices | grep metrics-server
Jika
v1beta1.metrics.k8s.iomenunjukkanTruedalam hasil yang dikembalikan, layanan API metrics-server berfungsi normal.Opsional: Jika layanan API metrics-server tidak berfungsi normal, jalankan perintah berikut di node kluster untuk memeriksa apakah metrics-server dapat diakses melalui port 443 dan port 8082 dalam kluster:
curl -v <metrics-server_Pod_IP>:8082/apis/metrics/v1alpha1/nodes curl -v <metrics-server_Pod_IP>:443/apis/metrics/v1alpha1/nodesJika data dikembalikan setelah Anda menjalankan perintah di atas, ini menunjukkan bahwa metrics-server dapat diakses melalui port 443 dan port 8082 dalam kluster.
Opsional: Jika metrics-server tidak dapat diakses melalui port 443 dan port 8082 dalam kluster, mulai ulang metrics-server.
Untuk memulai ulang metrics-server, hapus pod yang menjalankannya.
Masuk ke Konsol ACK. Di panel navigasi sebelah kiri, klik Clusters.
Di halaman Clusters, temukan kluster yang Anda inginkan dan klik namanya. Di panel sebelah kiri, pilih .
Di bagian atas halaman Stateless, atur Namespace ke kube-system, lalu klik metrics-server.
Di tab Pods, pilih More > Delete di kolom Actions pod metrics-server, lalu klik OK di kotak dialog.
Jika Anda masih tidak dapat mengidentifikasi masalah setelah melakukan pemeriksaan di atas, kirim tiket menggunakan templat berikut: kirim tiket.
Templat tiket:
Apakah layanan API metrics-server berfungsi normal?
Ya
Apakah metrics-server dapat diakses melalui port 443 dan port 8082 dalam kluster?
Ya
Berikan ID kluster.
Mengapa ada data yang hilang sebagian saat menjalankan kubectl top pod/node?
Masalah
Saat Anda menjalankan kubectl top pod atau kubectl top node di baris perintah, sebagian data hilang.
Solusi
Lakukan pemeriksaan berikut:
Periksa apakah data semua pod di node hilang, atau hanya sebagian pod. Jika data semua pod di node hilang, periksa perbedaan zona waktu di node menggunakan perintah
dateserver NTP.Periksa apakah pod yang menjalankan metrics-server dapat terhubung ke node melalui port 10255.
Jika Anda masih tidak dapat mengidentifikasi masalah setelah melakukan pemeriksaan di atas, kirim tiket menggunakan templat berikut: kirim tiket.
Templat tiket:
Apakah data yang hilang mencakup semua pod di node tertentu?
Ya
Apakah ada perbedaan zona waktu di node?
Tidak
Apakah metrics-server dapat terhubung ke node tertentu?
Ya
Apa yang harus saya lakukan jika HPA tidak dapat memperoleh data metrik?
Masalah
Saat menggunakan Horizontal Pod Autoscaler (HPA) Kubernetes, Anda mungkin mengalami situasi di mana HPA tidak dapat memperoleh data metrik.
Solusi
Lakukan pemeriksaan berikut:
Periksa hasil menjalankan kubectl top pod untuk pod yang sesuai. Jika data tidak normal, lihat Mengapa tidak ada data saat menjalankan kubectl top pod/node? dan Mengapa ada data yang hilang sebagian saat menjalankan kubectl top pod/node? untuk pemecahan masalah.
Jika Anda masih tidak dapat mengidentifikasi masalah setelah melakukan pemeriksaan di atas, kirim tiket menggunakan templat berikut: kirim tiket.
Templat tiket:
Apakah data pemantauan menunjukkan anomali?
Tidak
Jalankan
kubectl describe hpa<nama_hpa> dan kirimkan informasi metadata.
Mengapa HPA membuat Pod tambahan selama pembaruan bergulir?
Masalah
Saat melakukan pembaruan bergulir Kubernetes, Anda mungkin melihat bahwa Horizontal Pod Autoscaler (HPA) secara tak terduga meluncurkan Pod tambahan.
Solusi
Lakukan pemeriksaan berikut:
Periksa apakah metrics-server telah ditingkatkan ke versi terbaru. Jika versi benar, gunakan perintah kubectl edit deployments -n kube-system metrics-server untuk menambahkan parameter startup berikut ke bagian command:
--metric-resolution=15s
--enable-hpa-rolling-update-skipped=trueJika Anda mengalami masalah lebih lanjut setelah melakukan pemeriksaan di atas, kirim tiket menggunakan templat berikut: kirim tiket.
Templat tiket:
Apakah metrics-server telah ditingkatkan ke versi terbaru?
Ya
Apakah parameter startup ditambahkan untuk mencegah pod berlebih?
Ya
Jalankan
kubectl describe hpa<nama_hpa> dan kirimkan deskripsi HPA.
> Edit YAML