All Products
Search
Document Center

Simple Log Service:Buat dan gunakan K8s Event Center

Last Updated:Mar 26, 2026

Event Kubernetes (K8s) mencatat perubahan status kluster, seperti pembuatan, eksekusi, dan penghapusan Pod serta pengecualian komponen. K8s Event Center mengumpulkan semua event dari kluster Kubernetes Anda secara real time serta menyediakan kemampuan penyimpanan, kueri, analisis, visualisasi, dan peringatan. Topik ini menjelaskan cara membuat dan menggunakan K8s Event Center.

Latar Belakang

Prasyarat

Kluster Kubernetes, seperti kluster ACK atau kluster ACK Serverless, telah dibuat.

Penagihan

K8s Event Center gratis jika memenuhi kondisi berikut:

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

  • Volume data yang ditulis ke K8s Event Center kurang dari 256 MB per hari (sekitar 250.000 event).

Contoh:

  • Jika Anda menggunakan periode retensi default 90 hari dan kluster K8s Anda menghasilkan 1.000 event per hari, penggunaan K8s Event Center Anda gratis.

  • Jika Anda mengubah periode retensi menjadi 105 hari dan kluster K8s Anda menghasilkan 1.000 event per hari, Anda akan dikenai biaya penyimpanan Logstore setelah periode 90 hari pertama. Item yang dapat ditagih adalah Storage Space - Log Storage. Untuk informasi lebih lanjut tentang item yang dapat ditagih ini, lihat Item yang dapat ditagih pada 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 telah mengintegrasikan fungsionalitas eventer dan node-problem-detector. Anda hanya perlu mendeploy komponen ini. Untuk informasi lebih lanjut, lihat Pemantauan event. Untuk kluster ACK Serverless, Anda harus mendeploy komponen kube-eventer.

    Kubernetes Lainnya

    1. Deploy kube-eventer.

      1. Instal tool kubectl. Untuk informasi lebih lanjut, lihat Dapatkan file kubeconfig dan hubungkan ke kluster menggunakan kubectl.

      2. Buat file bernama eventer.yaml dengan konten 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 Simple Log Service. Untuk informasi lebih lanjut, lihat Endpoints.

        project

        string

        Ya

        Proyek di Simple Log Service.

        logStore

        string

        Ya

        Logstore di Simple Log Service. Perhatikan bahwa parameter ini bernama logStore dalam file YAML.

        internal

        string

        Wajib untuk kluster Kubernetes yang dikelola sendiri.

        Menentukan apakah akan menggunakan titik akhir internal. Atur parameter ini ke false untuk kluster Kubernetes yang dikelola sendiri.

        regionId

        string

        Wajib untuk kluster Kubernetes yang dikelola sendiri.

        ID wilayah tempat proyek 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 Pengguna 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 Pengguna RAM. Untuk informasi lebih lanjut, lihat 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.

      Untuk informasi lebih lanjut, lihat node-problem-detector di GitHub.

    Langkah 2: Buat instans K8s Event Center

    Catatan

    Setelah Anda membuat K8s Event Center, Simple Log Service secara otomatis membuat Logstore bernama k8s-event di proyek target, beserta dasbor terkait.

    1. Masuk ke Konsol Simple Log Service.

    2. Pada bagian Log Application, di tab Intelligent O&M, klik K8s Event Center.

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

    4. Pada panel Create Event Center, konfigurasikan parameter lalu klik Next.

      • Jika Anda memilih Select Existing Project, pilih proyek yang sudah ada dari daftar drop-down Project untuk mengelola sumber daya K8s Event Center, 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. Dengan metode ini, Simple Log Service secara default membuat proyek bernama k8s-log-{cluster-id} untuk mengelola sumber daya K8s Event Center.

    Langkah 3: Gunakan instans K8s Event Center

    Setelah Anda membuat K8s Event Center dan mendeploy komponen eventer serta NPD, Anda dapat melihat statistik event, melakukan kueri detail event, melihat siklus hidup Pod, melihat event node, melihat event komponen inti, mengonfigurasi peringatan, menjalankan kueri kustom, dan memperbarui versi di K8s Event Center.

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

    image

    Aksi

    Deskripsi

    Lihat ikhtisar event

    Halaman Event Overview menampilkan statistik ringkasan untuk event inti, seperti jumlah total event, perbandingan event error hari ini dengan kemarin, statistik peringatan, tren event error, dan detail OOM Pod.

    Catatan

    Saat ini, informasi OOM Pod tidak dapat diidentifikasi hingga ke Pod tertentu. Informasi tersebut hanya dapat mengidentifikasi node, nama proses, dan ID proses tempat event terjadi. Anda dapat menggunakan kueri kustom untuk menemukan event restart Pod sekitar waktu kejadian OOM guna mengidentifikasi Pod spesifik tersebut.

    Lakukan kueri detail event

    Halaman Event Details menampilkan informasi detail untuk event yang difilter berdasarkan berbagai dimensi, seperti tipe event, objek event, host, Namespace, dan nama.

    Lihat siklus hidup Pod

    Halaman Pod Lifecycle menampilkan informasi event secara grafis sepanjang seluruh siklus hidup Pod. Anda juga dapat memfilter event Pod penting berdasarkan tingkat event.

    Lihat event node

    Halaman Node Event 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 atau mode URL tidak diimplementasikan.

    Konfigurasi peringatan

    Halaman Alert Configuration memungkinkan Anda mengatur alert untuk Pusat Insiden K8s Anda. Untuk informasi selengkapnya, lihat Mengonfigurasi alert.

    Kueri Kustom

    Halaman Custom Query memungkinkan Anda menulis dan mengeksekusi pernyataan kueri dan analisis Anda sendiri.

    Semua event di K8s Event Center disimpan dalam Logstore. Anda dapat menggunakan semua fitur Logstore, seperti kueri kustom, konsumsi event, laporan kustom, dan peringatan kustom. Untuk informasi lebih lanjut, lihat Memulai pencarian dan analisis.

    Untuk mengakses proyek yang berisi K8s Event Center, Anda dapat menemukan nama proyek dengan salah satu cara berikut:

    • Anda dapat menemukan proyek di URL halaman Custom Query. URL tersebut memiliki format https://sls.console.alibabacloud.com/lognext/app/k8s-event/project/k8s-log-xxxx/logsearch/k8s-event. Nilai yang mengikuti field project adalah nama proyek Simple Log Service, misalnya k8s-log-xxxx.

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

    Perbarui versi

    Halaman Version Update memungkinkan Anda meningkatkan versi K8s Event Center Anda.

    Hapus instans K8s Event Center

    Di halaman K8s Event Center > Event Center Management, temukan instans yang ingin dihapus dan klik ikon k8s事件中心 di kolom Actions.

    Sampel log

    Berikut ini adalah contoh log yang dikumpulkan:

    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 event. Nilai yang valid: Normal dan Warning.

    pod_id

    string

    ID unik Pod. Bidang ini hanya ada jika event terkait dengan Pod.

    pod_name

    string

    Nama Pod. Bidang ini hanya ada jika event terkait dengan Pod.

    event_id

    json

    Konten detail event. Nilai bidang ini adalah string JSON.

    FAQ

    Tidak ada data di K8s Event Center

    Setelah Anda mendeploy K8s Event Center, event yang baru dihasilkan akan dikumpulkan secara otomatis. Anda dapat mencarinya di halaman Custom Query. Kami menyarankan mengatur rentang waktu di pojok kanan atas menjadi 1 Hari. Jika tidak ada data yang muncul, periksa kemungkinan penyebab berikut:

    • Tidak ada event baru yang dihasilkan di kluster K8s sejak Anda mendeploy K8s Event Center.

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

    • Parameter dikonfigurasi secara salah saat Anda mendeploy komponen eventer dan node-problem-detector.

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

        1. Masuk ke Konsol ACK.

        2. Di halaman Clusters, klik kluster target.

        3. Di panel navigasi kiri, pilih O&M > Component Management.

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

        5. Periksa dan modifikasi konfigurasi 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 konfigurasi parameter.

    Lihat log kontainer event

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

      1. Masuk ke Konsol ACK.

      2. Di halaman Clusters, klik 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 Logs.

    • Jika Anda menggunakan kluster Kubernetes yang dikelola sendiri, lihat log Pod dengan awalan eventer-sls di Namespace kube-system.