All Products
Search
Document Center

Simple Log Service:Buat dan gunakan Pusat Event K8s

Last Updated:May 28, 2026

Event Kubernetes menunjukkan perubahan status kluster, seperti pembuatan, menjalankan, atau penghapusan Pod, serta pengecualian komponen. Pusat Event K8s mengumpulkan semua event kluster Kubernetes secara real time dan menyediakan kemampuan penyimpanan, kueri, analisis, visualisasi, serta peringatan.

Informasi latar belakang

Arsitektur Kubernetes didasarkan pada mesin keadaan (state machine). Saat sistem berpindah antar keadaan, event dihasilkan. Transisi antar keadaan normal menghasilkan event Normal, sedangkan transisi antara keadaan normal dan abnormal 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 dikelola oleh ACK dan komponen bawaannya, 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, pengecualian akses jaringan publik, dan masalah deskriptor file—menjadi event node. Ketika dikombinasikan dengan kube-eventer, sistem ini memungkinkan loop tertutup untuk peringatan event node. Untuk informasi lebih lanjut, lihat NPD.

  • kube-eventer adalah alat open source yang dikelola 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. Untuk informasi lebih lanjut, lihat kube-eventer.

Prasyarat

Kluster Kubernetes telah dibuat, misalnya kluster Container Service for Kubernetes (ACK) atau kluster ACK Serverless.

Penagihan

Pusat Event K8s gratis jika kedua kondisi berikut terpenuhi:

  • Logstore terkait menggunakan periode retensi data default selama 90 hari.

  • Volume data harian kurang dari 256 MB (sekitar 250.000 event).

Contoh:

  • Dengan retensi 90 hari dan 1.000 event per hari, Pusat Event K8s gratis.

  • Dengan retensi 105 hari dan 1.000 event per hari, biaya penyimpanan berlaku setelah periode gratis 90 hari. Item yang dapat ditagih adalah Storage Space - Log Storage. Item yang dapat ditagih dalam model penagihan pay-by-feature.

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

Kubernetes Alibaba Cloud

Untuk kluster ACK, komponen ack-node-problem-detector mengintegrasikan kube-eventer dan Node Problem Detector (NPD). Deploy hanya komponen ini seperti dijelaskan dalam Pemantauan event. Untuk kluster ACK Serverless, deploy komponen kube-eventer secara terpisah.

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 keadaan, seperti eviction Pod atau kegagalan pull image. Pusat Event Kubernetes dari Simple Log Service (SLS) mengonsentrasikan semua event Kubernetes secara real time dan menyediakan penyimpanan, kueri, analisis, visualisasi, serta peringatan. Untuk mengintegrasikan event kluster Anda dengan Pusat Event Kubernetes, ikuti langkah-langkah berikut:

  • Jika Anda memilih Install node-problem-detector and Create Event Center saat pembuatan kluster, Anda dapat langsung menuju Langkah 2 untuk melihat Pusat Event Kubernetes. 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 atau . 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 lainnya

  1. Deploy kube-eventer.

    1. Instal kubectl dengan mengikuti panduan di Dapatkan file kubeconfig kluster dan gunakan kubectl untuk menghubungkan ke kluster.

    2. Buat file konfigurasi bernama eventer.yaml menggunakan contoh 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:
                  # Jika TZ ditentukan, atur nilai TZ sebagai zona waktu
                  - 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 SLS. Endpoints.

      Project

      string

      Ya

      Proyek SLS.

      Logstore

      string

      Ya

      Penyimpanan log SLS.

      internal

      string

      Parameter ini wajib untuk kluster Kubernetes yang dikelola sendiri.

      Atur ke false untuk kluster Kubernetes yang dikelola sendiri.

      region ID

      string

      Parameter ini wajib untuk kluster Kubernetes yang dikelola sendiri.

      ID wilayah Proyek SLS. Endpoints.

      AccessKey ID

      string

      Parameter ini wajib untuk kluster Kubernetes yang dikelola sendiri.

      ID AccessKey. Kami menyarankan Anda menggunakan pasangan Kunci Akses Pengguna RAM. Pasangan Kunci Akses.

      AccessKey Secret

      string

      Parameter ini wajib untuk kluster Kubernetes yang dikelola sendiri.

      Rahasia AccessKey. Kami menyarankan Anda menggunakan pasangan Kunci Akses Pengguna RAM. Pasangan Kunci Akses.

    3. Jalankan perintah berikut untuk menerapkan konfigurasi dalam 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.

    node-problem-detector di GitHub.

Langkah 2: Buat instans Pusat Event K8s

Catatan

Membuat instans Pusat Event K8s secara otomatis membuat Logstore bernama k8s-event dan dasbor terkait di Proyek target.

  1. Masuk ke Konsol Simple Log Service.

  2. Di bagian Log Application, pada tab Intelligent O&M, 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. Proyek ini digunakan untuk mengelola sumber daya Pusat Event K8s, seperti Logstore dan dasbor.

    • Jika Anda memilih Select Kubernetes Cluster from Container Service for Kubernetes, pilih kluster yang sudah ada dari daftar drop-down K8s Cluster. Simple Log Service kemudian akan membuat Proyek bernama k8s-log-{cluster-id} untuk mengelola sumber daya Pusat Event K8s, seperti Logstore dan dasbor.

Langkah 3: Gunakan instans Pusat Event K8s

Setelah membuat instans Pusat Event K8s dan melakukan deploy kube-eventer serta NPD, Anda dapat mengakses fitur-fitur berikut.

Di halaman K8s Event Center, temukan instans Pusat Event K8s target dan klik ikon K8s Event Center icon untuk melakukan operasi berikut.

image

Aksi

Deskripsi

Lihat ikhtisar event

Halaman Event Overview menampilkan total event, perbandingan error harian, statistik peringatan, tren error, dan detail OOM Pod.

Catatan

Event OOM Pod mengidentifikasi node, nama proses, dan ID proses, tetapi tidak mengidentifikasi Pod spesifik. Jalankan kueri kustom untuk menemukan event restart Pod di sekitar waktu OOM guna mengidentifikasi Pod tersebut.

Kueri detail event

Halaman Event Detail Query menampilkan event yang disaring berdasarkan tipe, objek, host, namespace, dan nama.

Lihat siklus hidup Pod

Halaman Pod Lifecycle memvisualisasikan event sepanjang siklus hidup Pod, dengan penyaringan berdasarkan tingkat event.

Lihat event node

Halaman Node Events menampilkan event siklus hidup node dan daftar event.

Lihat event komponen inti

Halaman Core Component Events menampilkan event komponen inti seperti kegagalan restart ECS atau pola URL yang tidak diimplementasikan.

Konfigurasi peringatan

Halaman Alert Configuration memungkinkan Anda menyiapkan peringatan untuk Pusat Event K8s. Konfigurasi peringatan.

Jalankan kueri kustom

Halaman Custom Query memungkinkan Anda menjalankan pernyataan kueri dan analisis kustom.

Semua event disimpan dalam Logstore, memberi Anda akses ke kueri kustom, konsumsi event, laporan kustom, dan peringatan kustom. Memulai cepat pencarian dan analisis.

Anda dapat menemukan nama Proyek dengan cara berikut:

  • Di halaman Custom Query, temukan nama Proyek di URL. Di https://sls.console.alibabacloud.com/lognext/app/k8s-event/project/k8s-log-xxxx/logsearch/k8s-event, nama Proyek adalah segmen setelah project/, misalnya k8s-log-xxxx.

  • Di tab Event Center Management, temukan instans Pusat Event K8s target dalam daftar dan lihat nama Proyek yang sesuai.

Pembaruan versi

Halaman Version Update memungkinkan Anda meningkatkan Pusat Event K8s.

Hapus instans Pusat Event K8s

Di halaman K8s Event Center > Event Center Management, temukan instans target, lalu di kolom Actions, klik ikon K8s Event Center.

Contoh log

Entri log contoh:

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":""
}

Bidang

Tipe

Deskripsi

hostname

string

Hostname tempat event terjadi.

level

string

Tingkat log. Nilai yang valid: Normal dan Warning.

pod_id

string

ID Pod. Hanya disertakan untuk event yang terkait Pod.

pod_name

string

Nama Pod. Hanya disertakan untuk event yang terkait Pod.

event_id

json

Detail event dalam format JSON.

FAQ

Tidak ada data di Pusat Event K8s

Setelah deployment, event baru dikumpulkan secara otomatis. Cari event tersebut di halaman Custom Query dengan rentang waktu diatur ke 1 hari. Jika tidak ada data yang muncul, periksa hal berikut:

  • Tidak ada event baru yang dihasilkan sejak deployment.

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

  • Parameter kube-eventer atau node-problem-detector salah.

    • Jika Anda menggunakan kluster ACK, lakukan langkah-langkah berikut:

      1. Masuk ke Konsol ACK.

      2. Di halaman Clusters, klik nama kluster target Anda.

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

      4. Di halaman Helm, klik Update untuk Update.

      5. Periksa dan modifikasi parameter seperti dijelaskan dalam Langkah 1: Deploy kube-eventer dan node-problem-detector.

    • Untuk kluster Kubernetes yang dikelola sendiri, ikuti panduan Kumpulkan event Kubernetes untuk konfigurasi parameter.

Lihat log kontainer untuk suatu event

  • Jika Anda menggunakan kluster ACK, lakukan langkah-langkah berikut:

    1. Masuk ke Konsol ACK.

    2. Di halaman Clusters, klik nama kluster target Anda.

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

    4. Pilih Namespace dari daftar drop-down Namespace.

    5. Di halaman Pods, klik Log pada baris Pod target.

  • Untuk kluster Kubernetes yang dikelola sendiri, periksa log Pod dengan awalan eventer-sls di namespace kube-system.