All Products
Search
Document Center

Simple Log Service:Buat dan gunakan pusat event K8s

Last Updated:Aug 29, 2026

Event Kubernetes mencatat perubahan kondisi di kluster Anda, seperti pembuatan, eksekusi, dan penghapusan Pod, atau error komponen. Pusat event K8s mengumpulkan semua event kluster Kubernetes secara real time serta menyediakan kemampuan penyimpanan, kueri, analisis, visualisasi, dan peringatan. Topik ini menjelaskan prosedur untuk membuat dan menggunakan pusat event K8s.

Informasi latar belakang

Arsitektur Kubernetes berbasis mesin kondisi. Saat sistem berpindah antar kondisi, ia menghasilkan event. Transisi antar kondisi normal menghasilkan event Normal, sedangkan transisi antara kondisi normal dan tidak normal menghasilkan event Warning.

ACK (Container Service for Kubernetes) menyediakan solusi pemantauan event siap pakai untuk lingkungan terkontainerisasi. Solusi ini menggunakan node-problem-detector (NPD) yang dipelihara oleh ACK dan komponennya, kube-eventer, untuk menyediakan pemantauan event.

  • node-problem-detector (NPD) adalah alat untuk mendiagnosis node Kubernetes. Alat ini mengonversi anomali node—seperti hang Docker Engine, hang kernel Linux, gangguan akses jaringan publik, dan masalah deskriptor file—menjadi event node. Ketika dikombinasikan dengan kube-eventer, sistem ini memungkinkan alur peringatan tertutup untuk event node.

  • kube-eventer adalah alat open source yang dipelihara oleh ACK untuk mengarsipkan event Kubernetes. Alat ini dapat mendorong event kluster ke sistem eksternal seperti DingTalk, Simple Log Service (SLS), dan EventBridge. Alat ini juga menyediakan kemampuan penyaringan berdasarkan tingkat event, sehingga memungkinkan pengumpulan real time, peringatan terarah, dan pengarsipan asinkron event.

Prasyarat

Anda telah membuat kluster Kubernetes, seperti kluster ACK Alibaba Cloud atau kluster ACK Serverless.

Penagihan

Pusat event K8s gratis jika memenuhi kondisi berikut:

  • Periode retensi data untuk Logstore yang terkait dengan pusat event K8s adalah 90 hari (nilai default).

  • Volume data yang ditulis ke pusat event K8s kurang dari 256 MB per hari, yaitu sekitar 250.000 event.

Contoh:

  • Jika Anda menggunakan periode retensi data default 90 hari dan kluster Kubernetes Anda menghasilkan 1.000 event per hari, pusat event K8s tidak dikenai biaya.

  • Jika Anda mengatur periode retensi data menjadi 105 hari dan kluster Kubernetes Anda menghasilkan 1.000 event per hari, Anda akan dikenai biaya penyimpanan Logstore setelah 90 hari pertama. Item yang dapat ditagih adalah Log Storage. Untuk informasi lebih lanjut tentang item penagihan Log Storage, lihat Item yang dapat ditagih dalam mode bayar-per-fitur.

Langkah 1: Deploy kube-eventer dan node-problem-detector

ACK

Jika Anda menggunakan kluster ACK, Anda hanya perlu mendeploy komponen ack-node-problem-detector karena sudah mengintegrasikan fungsionalitas kube-eventer dan node-problem-detector. Jika Anda menggunakan kluster ACK Serverless, Anda harus mendeploy komponen kube-eventer.

NPD menggunakan konfigurasi dan plug-in pihak ketiga untuk mendeteksi masalah node dan menghasilkan event kluster yang sesuai. Kluster Kubernetes juga menghasilkan event sendiri selama transisi kondisi, seperti eviction Pod atau kegagalan pull image. Kubernetes Event Center dari Simple Log Service (SLS) memusatkan semua event Kubernetes secara real time serta menyediakan penyimpanan, kueri, analisis, visualisasi, dan peringatan. Untuk mengintegrasikan event kluster Anda dengan Kubernetes Event Center, ikuti langkah-langkah berikut:

  • Jika Anda memilih Install node-problem-detector and Create Event Center saat pembuatan kluster, Anda dapat langsung melanjutkan ke Langkah 2 untuk melihat Kubernetes Event Center. Untuk informasi tentang cara menginstal komponen NPD saat pembuatan kluster, lihat Buat kluster ACK yang dikelola.

  • Jika Anda tidak memilih Install node-problem-detector and Create Event Center saat pembuatan kluster, ikuti langkah-langkah berikut untuk menginstalnya secara manual.

    1. Masuk ke Konsol ACK. Di panel navigasi kiri, klik Clusters.

    2. Di halaman Clusters, klik nama kluster target. Di panel navigasi kiri, pilih Operations > Add-ons.

    3. Di tab Logs and Monitoring, temukan dan instal ack-node-problem-detector.

Kluster Kubernetes yang dikelola sendiri

  1. Deploy kube-eventer.

    1. Instal kubectl. Untuk informasi lebih lanjut, lihat Dapatkan file kubeconfig kluster dan gunakan kubectl untuk terhubung ke kluster.

    2. Buat file konfigurasi bernama eventer.yaml berdasarkan templat berikut.

      apiVersion: apps/v1
      kind: Deployment
      metadata:
        labels:
          name: kube-eventer
        name: kube-eventer
        namespace: kube-system
      spec:
        replicas: 1
        selector:
          matchLabels:
            app: kube-eventer
        template:
          metadata:
            labels:
              app: kube-eventer
            annotations:
              scheduler.alpha.kubernetes.io/critical-pod: ''
          spec:
            dnsPolicy: ClusterFirstWithHostNet
            serviceAccount: kube-eventer
            containers:
              - image: registry.cn-hangzhou.aliyuncs.com/acs/kube-eventer:v1.2.5-cc7ec54-aliyun
                name: kube-eventer
                command:
                  - "/kube-eventer"
                  - "--source=kubernetes:https://kubernetes.default"
                  ## .send to sls
                  ## --sink=sls:https://{endpoint}?project={project}&logStore=k8s-event&regionId={region-id}&internal=false&accessKeyId={accessKeyId}&accessKeySecret={accessKeySecret}
                  - --sink=sls:https://cn-beijing.log.aliyuncs.com?project=k8s-xxxx&logStore=k8s-event&regionId=cn-beijing&internal=false&accessKeyId=xxx&accessKeySecret=xxx
                env:
                  # If TZ is assigned, set the TZ value as the time zone
                  - name: TZ
                    value: "Asia/Shanghai"
                volumeMounts:
                  - name: localtime
                    mountPath: /etc/localtime
                    readOnly: true
                  - name: zoneinfo
                    mountPath: /usr/share/zoneinfo
                    readOnly: true
                resources:
                  requests:
                    cpu: 10m
                    memory: 50Mi
                  limits:
                    cpu: 500m
                    memory: 250Mi
            volumes:
              - name: localtime
                hostPath:
                  path: /etc/localtime
              - name: zoneinfo
                hostPath:
                  path: /usr/share/zoneinfo
      ---
      apiVersion: rbac.authorization.k8s.io/v1
      kind: ClusterRole
      metadata:
        name: kube-eventer
      rules:
        - apiGroups:
            - ""
          resources:
            - events
          verbs:
            - get
            - list
            - watch
      ---
      apiVersion: rbac.authorization.k8s.io/v1
      kind: ClusterRoleBinding
      metadata:
        name: kube-eventer
      roleRef:
        apiGroup: rbac.authorization.k8s.io
        kind: ClusterRole
        name: kube-eventer
      subjects:
        - kind: ServiceAccount
          name: kube-eventer
          namespace: kube-system
      ---
      apiVersion: v1
      kind: ServiceAccount
      metadata:
        name: kube-eventer
        namespace: kube-system

      Parameter

      Tipe

      Wajib

      Deskripsi

      endpoint

      string

      Ya

      Titik akhir Simple Log Service. Untuk informasi lebih lanjut, lihat Endpoints.

      project

      string

      Ya

      Proyek Simple Log Service.

      logStore

      string

      Ya

      Simple Log Service Logstore.

      internal

      string

      Wajib untuk kluster Kubernetes yang dikelola sendiri.

      Untuk kluster Kubernetes yang dikelola sendiri, Anda harus mengatur parameter ini ke false.

      regionId

      string

      Wajib untuk kluster Kubernetes yang dikelola sendiri.

      ID wilayah tempat Simple Log Service berada. Untuk informasi lebih lanjut, lihat Endpoints.

      accessKeyId

      string

      Wajib untuk kluster Kubernetes yang dikelola sendiri.

      ID AccessKey. Kami menyarankan Anda menggunakan pasangan Kunci Akses milik Pengguna Resource Access Management (RAM). Untuk informasi lebih lanjut, lihat Pasangan Kunci Akses.

      accessKeySecret

      string

      Wajib untuk kluster Kubernetes yang dikelola sendiri.

      Rahasia AccessKey. Kami menyarankan Anda menggunakan pasangan Kunci Akses milik Pengguna Resource Access Management (RAM). Untuk informasi lebih lanjut, lihat Pasangan Kunci Akses.

    3. Jalankan perintah berikut untuk menerapkan konfigurasi eventer.yaml ke kluster.

      kubectl apply -f eventer.yaml

      Output yang diharapkan:

      deployment.apps/kube-eventer created
      clusterrole.rbac.authorization.k8s.io/kube-eventer created
      clusterrolebinding.rbac.authorization.k8s.io/kube-eventer created
      serviceaccount/kube-eventer created
  2. Deploy node-problem-detector.

Langkah 2: Buat instans pusat event K8s

Catatan

Setelah Anda membuat instans pusat event K8s, Simple Log Service secara otomatis membuat Logstore bernama k8s-event dan dasbor terkait di proyek tujuan.

  1. Masuk ke konsol Simple Log Service.

  2. Di bagian Log Application, klik tab Intelligent O&M, lalu klik K8s Event Center.

  3. Di halaman Event Center Management, klik Add di pojok kanan atas.

  4. Di panel Create Event Center, konfigurasikan parameter dan klik Next.

    • Jika Anda memilih Select Existing Project, pilih proyek yang sudah ada dari daftar drop-down Project untuk mengelola resource instans pusat event K8s, seperti Logstore dan dasbor.

    • Jika Anda memilih Select Kubernetes Cluster from Container Service for Kubernetes, pilih kluster K8s yang sudah ada dari daftar drop-down K8s Cluster. Jika menggunakan metode ini, Simple Log Service secara otomatis membuat proyek bernama k8s-log-{cluster-id} untuk mengelola resource instans pusat event K8s, seperti Logstore dan dasbor.

Langkah 3: Gunakan instans pusat event K8s

Setelah Anda membuat instans pusat event K8s dan mendeploy kube-eventer dan node-problem-detector, Anda dapat mulai menggunakan pusat event tersebut. Anda dapat melihat ikhtisar event, mengkueri detail event, melihat siklus hidup Pod, melihat event node, melihat event komponen inti, mengonfigurasi peringatan, menjalankan kueri kustom, serta memperbarui versi.

Di halaman K8s Event Center, temukan instans pusat event K8s target dan klik ikon k8s事件中心-002 untuk melakukan operasi berikut.

Aksi

Deskripsi

Lihat ikhtisar event

Halaman Event Overview menampilkan statistik ringkasan event inti. Statistik tersebut mencakup jumlah total event, perbandingan event error antara hari ini dan kemarin, statistik peringatan, tren event error, serta detail OOM pod.

Catatan

Informasi OOM pod tidak mengidentifikasi pod spesifik. Anda hanya dapat mengetahui node, nama proses, dan ID proses tempat event tersebut terjadi. Anda dapat menjalankan kueri kustom untuk menemukan event restart pod yang terjadi sekitar waktu OOM pod guna membantu mengidentifikasi pod spesifik tersebut.

Kueri detail event

Halaman Event Detail Query menampilkan detail event yang difilter berdasarkan berbagai dimensi, seperti tipe event, objek event, host, namespace, dan nama.

Lihat siklus hidup pod

Halaman Pod Lifecycle menampilkan garis waktu grafis dari event dalam siklus hidup pod. Anda juga dapat menyaring event pod penting berdasarkan tingkat event.

Lihat event node

Halaman Node Events menampilkan detail event node, seperti siklus hidup node dan daftar event.

Lihat event komponen inti

Halaman Core Component Events menampilkan detail event komponen inti, seperti kegagalan restart ECS dan mode URL yang tidak diimplementasikan.

Atur peringatan

Di halaman Alert Configuration, Anda dapat mengonfigurasi peringatan untuk pusat event K8s. Untuk informasi lebih lanjut, lihat Atur peringatan.

Jalankan kueri kustom

Di halaman Custom Query, Anda dapat menyesuaikan pernyataan kueri dan pernyataan analitik.

Semua event di pusat event K8s disimpan dalam Logstore, sehingga Anda dapat menggunakan semua fitur Logstore, seperti kueri kustom, konsumsi event, laporan kustom, dan peringatan kustom. Untuk informasi lebih lanjut, lihat Panduan cepat untuk kueri dan analisis.

Untuk mengakses proyek yang terkait dengan instans pusat event K8s, Anda dapat menemukan nama proyek dengan salah satu cara berikut:

  • Temukan nama proyek di URL halaman Custom Query. URL-nya memiliki format https://sls.console.alibabacloud.com/lognext/app/k8s-event/project/k8s-log-xxxx/logsearch/k8s-event. Bagian setelah project/ adalah nama proyek, misalnya k8s-log-xxxx.

  • Di tab Event Center Management, temukan instans pusat event K8s target dalam daftar instans dan lihat nama proyek yang sesuai.

Perbarui versi

Di halaman Version Update, Anda dapat meningkatkan pusat event K8s.

Hapus instans pusat event K8s

Di halaman K8s Event Center > Event Center Management, temukan instans tersebut dan klik ikon K8s event center di kolom Actions.

Contoh log

Kode berikut menunjukkan contoh log.

hostname:  cn-hangzhou.i-***********"
level:  Normal
pod_id:  2a360760-****
pod_name:  logtail-ds-blkkr
event_id:  {  
   "metadata":{  
      "name":"logtail-ds-blkkr.157b7cc90de7e192",
      "namespace":"kube-system",
      "selfLink":"/api/v1/namespaces/kube-system/events/logtail-ds-blkkr.157b7cc90de7e192",
      "uid":"2aaf75ab-****",
      "resourceVersion":"6129169",
      "creationTimestamp":"2019-01-20T07:08:19Z"
   },
   "involvedObject":{  
      "kind":"Pod",
      "namespace":"kube-system",
      "name":"logtail-ds-blkkr",
      "uid":"2a360760-****",
      "apiVersion":"v1",
      "resourceVersion":"6129161",
      "fieldPath":"spec.containers{logtail}"
   },
   "reason":"Started",
   "message":"Started container",
   "source":{  
      "component":"kubelet",
      "host":"cn-hangzhou.i-***********"
   },
   "firstTimestamp":"2019-01-20T07:08:19Z",
   "lastTimestamp":"2019-01-20T07:08:19Z",
   "count":1,
   "type":"Normal",
   "eventTime":null,
   "reportingComponent":"",
   "reportingInstance":""
}

field log

Tipe

Deskripsi

hostname

string

Hostname host tempat event terjadi.

level

string

Tingkat log. Nilai yang valid: Normal dan Warning.

pod_id

string

ID unik pod. Field ini hanya disertakan jika event terkait dengan pod.

pod_name

string

Nama pod. Field ini hanya disertakan jika event terkait dengan pod.

event_id

json

Detail event. Nilai field ini berupa string JSON.

FAQ

Instans pusat event K8s tidak memiliki data

Setelah Anda mendeploy instans pusat event K8s, event baru akan dikumpulkan secara otomatis. Anda dapat mencarinya di halaman Custom Query. Kami menyarankan Anda mengatur rentang waktu di pojok kanan atas menjadi 1 Hari. Jika tidak ditemukan data, biasanya ada dua penyebab:

  • Tidak ada event baru yang dihasilkan di kluster Kubernetes sejak Anda mendeploy pusat event K8s.

    Anda dapat menjalankan perintah kubectl get events --all-namespaces untuk memeriksa apakah ada event baru yang dihasilkan di kluster.

  • Parameter dikonfigurasi secara salah dalam deployment kube-eventer dan node-problem-detector.

    • Jika Anda menggunakan kluster Container Service for Kubernetes (ACK), lakukan langkah-langkah berikut:

      1. Masuk ke konsol ACK.

      2. Di halaman Clusters, klik nama kluster target.

      3. Di panel navigasi kiri, pilih Apply > Helm.

      4. Di halaman Helm, temukan ack-node-problem-detector dan klik Update.

      5. Periksa dan modifikasi pengaturan parameter. Untuk informasi lebih lanjut, lihat Langkah 1: Deploy kube-eventer dan node-problem-detector.

    • Jika Anda menggunakan kluster Kubernetes yang dikelola sendiri, lihat Kumpulkan event Kubernetes untuk pengaturan parameternya.

Bagaimana cara melihat log kontainer untuk suatu event?

  • Jika Anda menggunakan kluster Container Service for Kubernetes (ACK), lakukan langkah-langkah berikut:

    1. Masuk ke konsol ACK.

    2. Di halaman Clusters, klik nama kluster target.

    3. Di panel navigasi kiri, pilih Workloads > Pods.

    4. Atur Namespace ke kube-system.

    5. Di daftar Pods, temukan pod target dan klik Log.

  • Jika Anda menggunakan kluster Kubernetes yang dikelola sendiri, periksa log Pod dengan awalan nama file eventer-sls di namespace kube-system.