全部产品
Search
文档中心

Elasticsearch:Gunakan Elastic Stack untuk mengimplementasikan pemantauan terintegrasi untuk kontainer di Kubernetes

更新时间:Jul 02, 2025

Elastic Stack menyediakan fitur pemantauan terintegrasi yang memungkinkan Anda menggunakan Kibana untuk menganalisis dan menampilkan log, metrik, serta data Pemantauan Kinerja Aplikasi (APM) dari kluster Container Service for Kubernetes (ACK) secara terpusat. Jika Anda menerapkan aplikasi dalam pod pada kluster ACK, Anda dapat melihat log yang dihasilkan oleh pod, metrik peristiwa dari host dan jaringan, serta data APM di konsol Kibana, memudahkan pelacakan masalah. Topik ini menjelaskan cara mengimplementasikan pemantauan terintegrasi untuk kluster ACK.

Prasyarat

Informasi latar belakang

Topik ini menjelaskan cara menggunakan Elastic Stack untuk mengimplementasikan pemantauan terintegrasi untuk kluster ACK. Untuk informasi lebih lanjut, lihat bagian-bagian berikut:

Untuk informasi lebih lanjut tentang fitur-fitur Metricbeat, Filebeat, dan Elastic APM, lihat Pemantauan Infrastruktur, Pemantauan Log, dan Elastic APM.

Gunakan Metricbeat untuk mengumpulkan metrik

Kontroler-kontroler berikut dapat digunakan untuk menerapkan Metricbeat ke kluster ACK:

  • DaemonSet: Kontroler DaemonSet memastikan bahwa setiap node di kluster menjalankan satu pod. Ini memungkinkan Metricbeat mengumpulkan metrik host, metrik sistem, statistik Docker, dan metrik semua layanan yang dijalankan di kluster ACK.

  • Deployment: Anda dapat menggunakan kontroler Deployment untuk menerapkan satu pengirim Metricbeat. Pengirim ini digunakan untuk mengambil metrik unik dari kluster ACK, seperti metrik untuk peristiwa Kubernetes dan layanan kube-state-metrics.

Penting
  • Dalam contoh ini, baik kontroler DaemonSet maupun Deployment digunakan untuk menerapkan Metricbeat ke kluster ACK. Anda juga dapat menggunakan hanya kontroler DaemonSet atau Deployment untuk menerapkan Metricbeat.

  • Metricbeat bergantung pada fitur pemantauan yang disediakan oleh layanan kube-state-metrics. Sebelum menerapkan Metricbeat, pastikan bahwa kube-state-metrics telah diterapkan. Secara default, kube-state-metrics diterapkan di namespace arms-prom dari sebuah kontainer di kluster ACK.

  1. Gunakan klien kubectl untuk mengakses kluster ACK dan unduh file konfigurasi Metricbeat.

    curl -L -O https://raw.githubusercontent.com/elastic/beats/6.8/deploy/kubernetes/metricbeat-kubernetes.yaml
  2. Modifikasi file konfigurasi Metricbeat.

    Penting

    File konfigurasi Metricbeat resmi menggunakan versi API extensions/v1beta1 untuk DaemonSets dan Deployments. Versi API ini sudah tidak digunakan lagi di ACK V1.18 dan yang lebih baru. Anda harus memodifikasi file konfigurasi Metricbeat untuk menggunakan versi API apps/v1 untuk Kubernetes, DaemonSets, Deployments, dan ReplicaSets di ACK V1.18 dan yang lebih baru.

    1. Modifikasi konfigurasi di kind: Deployment dan kind: DaemonSet.

      • Modifikasi variabel lingkungan. Berikut adalah contohnya:

        env:
        - name: ELASTICSEARCH_HOST
          value: es-cn-nif23p3mo0065****.elasticsearch.aliyuncs.com
        - name: ELASTICSEARCH_PORT
          value: "9200"
        - name: ELASTICSEARCH_USERNAME
          value: elastic
        - name: ELASTICSEARCH_PASSWORD
          value: ****
        - name: KIBANA_HOST
          value: es-cn-nif23p3mo0065****-kibana.internal.elasticsearch.aliyuncs.com
        - name: KIBANA_PORT
          value: "5601"
        Catatan

        Secara default, variabel Kibana tidak didefinisikan dalam file konfigurasi Metricbeat yang diunduh. Anda dapat menggunakan parameter env untuk melewatkan variabel tersebut.

        Parameter

        Deskripsi

        ELASTICSEARCH_HOST

        Titik akhir internal kluster Elasticsearch Anda.

        ELASTICSEARCH_PORT

        Port privat kluster Elasticsearch Anda.

        ELASTICSEARCH_USERNAME

        Nama pengguna kluster Elasticsearch Anda. Nilai default parameter ini adalah elastic.

        ELASTICSEARCH_PASSWORD

        Kata sandi yang sesuai dengan nama pengguna elastic.

        KIBANA_HOST

        Titik akhir internal Kibana.

        KIBANA_PORT

        Port privat Kibana.

      • Tambahkan konfigurasi spec.selector. Berikut adalah contohnya:

        ## kind: DaemonSet
        spec:
          selector:
            matchLabels:
               k8s-app: metricbeat
          template:
            metadata:
              labels:
                k8s-app: metricbeat
        
        ## kind: Deployment
        spec:
          selector:
            matchLabels:
               k8s-app: metricbeat
          template:
            metadata:
              labels:
                k8s-app: metricbeat
    2. Konfigurasikan informasi keluaran Kibana di name: metricbeat-daemonset-config dan name: metricbeat-deployment-config untuk menggunakan variabel lingkungan yang dikonfigurasikan di file konfigurasi.

      output.elasticsearch:
            hosts: ['${ELASTICSEARCH_HOST:elasticsearch}:${ELASTICSEARCH_PORT:9200}']
            username: ${ELASTICSEARCH_USERNAME}
            password: ${ELASTICSEARCH_PASSWORD}
      setup.kibana:
            host: "https://${KIBANA_HOST}:${KIBANA_PORT}"
      setup.dashboards.enabled: true
    3. Modifikasi konfigurasi terkait metricbeat-daemonset-modules. Tentukan metrik sistem yang dipantau oleh modul System dan metrik yang dapat diperoleh oleh modul Kubernetes. Modul System memantau metrik berikut: CPU, beban, memori, dan jaringan.

      Catatan

      Untuk informasi lebih lanjut tentang konfigurasi dan metrik modul di Metricbeat, lihat Modul Sistem dan Modul Kubernetes.

      apiVersion: v1
      kind: ConfigMap
      metadata:
        name: metricbeat-daemonset-modules
        namespace: kube-system
        labels:
          k8s-app: metricbeat
      data:
        system.yml: |-
          - module: system
            period: 10s
            metricsets:
              - cpu
              - load
              - memory
              - network
              - process
              - process_summary
              - core
              - diskio
              - socket
            processes: ['.*']
            process.include_top_n:
              by_cpu: 5      # include top 5 processes by CPU
              by_memory: 5   # include top 5 processes by memory
      
          - module: system
            period: 1m
            metricsets:
              - filesystem
              - fsstat
            processors:
            - drop_event.when.regexp:
                system.filesystem.mount_point: '^/(sys|cgroup|proc|dev|etc|host|lib)($|/)'
        kubernetes.yml: |-
          - module: kubernetes
            metricsets:
              - node
              - system
              - pod
              - container
              - volume
            period: 10s
            host: ${NODE_NAME}
            hosts: ["localhost:10255"]
    4. Modifikasi konfigurasi terkait metricbeat-deployment-modules untuk mendapatkan metrik untuk kube-state-metrics dan peristiwa Kubernetes.

      Penting

      Layanan Metricbeat diterapkan di namespace kube-system. Layanan kube-state-metrics diterapkan di namespace arms-prom secara default. Kedua layanan tersebut termasuk dalam namespace yang berbeda. Oleh karena itu, tentukan parameter hosts dalam format kube-state-metrics.<namespace>:8080. Jika layanan Metricbeat dan kube-state-metrics diterapkan di namespace yang sama, atur parameter hosts menjadi kube-state-metrics:8080.

      apiVersion: v1
      kind: ConfigMap
      metadata:
        name: metricbeat-deployment-modules
        namespace: kube-system
        labels:
          k8s-app: metricbeat
      data:
        # Modul ini memerlukan `kube-state-metrics` aktif dan berjalan di bawah namespace `kube-system`
        kubernetes.yml: |-
          - module: kubernetes
            metricsets:
              - state_node
              - state_deployment
              - state_replicaset
              - state_pod
              - state_container
            period: 10s
            host: ${NODE_NAME}
            hosts: ["kube-state-metrics.arms-prom:8080"]
          # Hapus komentar ini untuk mendapatkan peristiwa k8s:
          - module: kubernetes
            metricsets:
              - event
    5. Buat peran dan tetapkan peran tersebut ke Metricbeat untuk mengimplementasikan kontrol akses berbasis peran (RBAC). Ini memastikan bahwa Metricbeat dapat memperoleh informasi sumber daya dari kluster ACK.

      apiVersion: rbac.authorization.k8s.io/v1beta1
      kind: ClusterRoleBinding
      metadata:
        name: metricbeat
      subjects:
      - kind: ServiceAccount
        name: metricbeat
        namespace: kube-system
      roleRef:
        kind: ClusterRole
        name: metricbeat
        apiGroup: rbac.authorization.k8s.io
      ---
      apiVersion: rbac.authorization.k8s.io/v1beta1
      kind: ClusterRole
      metadata:
        name: metricbeat
        labels:
          k8s-app: metricbeat
      rules:
      - apiGroups: [""]
        resources:
        - nodes
        - namespaces
        - events
        - pods
        verbs: ["get", "list", "watch"]
      - apiGroups: ["extensions"]
        resources:
        - replicasets
        verbs: ["get", "list", "watch"]
      - apiGroups: ["apps"]
        resources:
        - statefulsets
        - deployments
        verbs: ["get", "list", "watch"]
      - apiGroups:
        - ""
        resources:
        - nodes/stats
        verbs:
        - get
      ---
      apiVersion: v1
      kind: ServiceAccount
      metadata:
        name: metricbeat
        namespace: kube-system
        labels:
          k8s-app: metricbeat
      ---
  3. Terapkan Metricbeat di kluster ACK dan lihat sumber daya kluster.

    Gunakan klien kubectl untuk menjalankan perintah berikut:

    kubectl apply -f metricbeat-kubernetes.yaml
    kubectl get pods -n kube-system
    Penting

    Pastikan bahwa sumber daya di dalam pod sedang berjalan. Jika tidak, data mungkin tidak akan ditampilkan di konsol Kibana.

  4. Lihat data yang dipantau di konsol Kibana.

    1. Masuk ke konsol Kibana kluster Elasticsearch Anda.

      Untuk informasi lebih lanjut, lihat Masuk ke Konsol Kibana.

    2. Di bilah navigasi sebelah kiri, klik Infrastructure.

    3. Lihat statistik metrik host dan pod di kluster ACK.

      • Lihat statistik metrik host: Di halaman Infrastruktur, klik Hosts di pojok kanan atas. Di tab Map View, klik host dan pilih View metrics. Kemudian, Anda dapat melihat statistik metrik CPU, beban, dan memori.

        HostsHost metrics

      • Lihat statistik metrik pod di kluster ACK: Di halaman Infrastruktur, klik Kubernetes di pojok kanan atas. Di tab Map View, klik pod dan pilih View metrics. Kemudian, Anda dapat melihat statistik metrik CPU, memori, dan jaringan.

        Pod metrics

    4. Lihat statistik keseluruhan sumber daya kluster ACK.

      Klik Dashboard di bilah navigasi sebelah kiri. Di halaman Dashboards, klik [Metricbeat Kubernetes] Overview. Kemudian, Anda dapat melihat statistik keseluruhan sumber daya kluster ACK.

      Overview

Gunakan Filebeat untuk mengumpulkan log

Dalam contoh ini, kontroler DaemonSet digunakan untuk menerapkan Filebeat. Kontroler DaemonSet memastikan bahwa setiap node kluster ACK menjalankan pod untuk mengumpulkan data. Sumber daya dalam file konfigurasi Filebeat diterapkan di namespace kube-system. Jika ingin mengubah namespace tempat sumber daya diterapkan, Anda dapat memodifikasi file konfigurasi.

  1. Unduh file konfigurasi Filebeat.

    Gunakan klien kubectl untuk mengakses kluster ACK dan unduh file konfigurasi Filebeat.

    curl -L -O https://raw.githubusercontent.com/elastic/beats/6.8/deploy/kubernetes/filebeat-kubernetes.yaml
  2. Modifikasi file konfigurasi Filebeat.

    1. Modifikasi konfigurasi di kind: DaemonSet.

      env:
      - name: ELASTICSEARCH_HOST
        value: es-cn-nif23p3mo0065****.elasticsearch.aliyuncs.com
      - name: ELASTICSEARCH_PORT
        value: "9200"
      - name: ELASTICSEARCH_USERNAME
        value: elastic
      - name: ELASTICSEARCH_PASSWORD
        value: ****
      - name: KIBANA_HOST
        value: es-cn-nif23p3mo0065****-kibana.internal.elasticsearch.aliyuncs.com
      - name: KIBANA_PORT
        value: "5601"
      - name: NODE_NAME
        valueFrom:
           fieldRef:
              fieldPath: spec.nodeName

      Parameter

      Deskripsi

      ELASTICSEARCH_HOST

      Titik akhir internal kluster Elasticsearch Anda.

      ELASTICSEARCH_PORT

      Port privat kluster Elasticsearch Anda.

      ELASTICSEARCH_USERNAME

      Nama pengguna kluster Elasticsearch Anda. Nilai default parameter ini adalah elastic.

      ELASTICSEARCH_PASSWORD

      Kata sandi yang sesuai dengan nama pengguna elastic.

      KIBANA_HOST

      Titik akhir internal Kibana.

      KIBANA_PORT

      Port privat Kibana.

      NODE_NAME

      Host di kluster ACK.

    2. Ubah konfigurasi ConfigMap di name: filebeat-config dan konfigurasikan informasi keluaran Kibana untuk menggunakan variabel lingkungan yang dikonfigurasikan di file konfigurasi.

      output.elasticsearch:
            hosts: ['${ELASTICSEARCH_HOST:elasticsearch}:${ELASTICSEARCH_PORT:9200}']
            username: ${ELASTICSEARCH_USERNAME}
            password: ${ELASTICSEARCH_PASSWORD}
      setup.kibana:
            host: "https://${KIBANA_HOST}:${KIBANA_PORT}"
    3. Konfigurasikan Filebeat untuk mengumpulkan log dari kontainer di kluster ACK.

      apiVersion: v1
      kind: ConfigMap
      metadata:
        name: filebeat-inputs
        namespace: kube-system
        labels:
          k8s-app: filebeat
      data:
        kubernetes.yml: |-
          - type: docker
            containers.ids:
            - "*"
            processors:
              - add_kubernetes_metadata:
                  host: ${NODE_NAME}
                  in_cluster: true
      ---
  3. Terapkan Filebeat di kluster ACK dan lihat sumber daya kluster.

    Gunakan klien kubectl untuk menjalankan perintah berikut:

    kubectl apply -f filebeat-kubernetes.yaml
    kubectl get pods -n kube-system
    Penting

    Pastikan bahwa sumber daya di dalam pod sedang berjalan. Jika tidak, data mungkin tidak akan ditampilkan di konsol Kibana.

  4. Lihat log real-time di konsol Kibana.

    1. Masuk ke konsol Kibana kluster Elasticsearch Anda.

      Untuk informasi lebih lanjut, lihat Masuk ke Konsol Kibana.

    2. Lihat log host dan pod di kluster ACK.

      • Lihat log host: Di halaman Infrastruktur, klik Hosts di pojok kanan atas. Di tab Map View, klik host dan pilih View logs. Kemudian, Anda dapat melihat log real-time dari host tersebut.

      • Lihat log pod di kluster ACK: Di halaman Infrastruktur, klik Kubernetes di pojok kanan atas. Di tab Map View, klik pod dan pilih View logs. Kemudian, Anda dapat melihat log real-time dari pod tersebut.

        View logs

Gunakan Elastic APM untuk memantau kinerja aplikasi

Elastic APM adalah sistem pemantauan kinerja aplikasi yang dibangun di atas Elastic Stack. Elastic APM memungkinkan Anda memantau layanan perangkat lunak dan aplikasi secara real-time. Untuk mengimplementasikan pemantauan dan memfasilitasi pelacakan masalah, Elastic APM mengumpulkan informasi kinerja terperinci tentang waktu respons permintaan, kueri database, panggilan ke cache, dan permintaan HTTP eksternal. Elastic APM juga secara otomatis mengumpulkan kesalahan dan pengecualian yang tidak tertangani. Kesalahan dikelompokkan berdasarkan stacktrace, membantu Anda mengidentifikasi kesalahan baru dan memahami jumlah kemunculan kesalahan tertentu.

Untuk informasi lebih lanjut tentang Elastic APM, lihat Ikhtisar Elastic APM.

  1. Terapkan APM Server ke kontainer.

    Dalam contoh ini, APM Server diterapkan di kluster ACK. Anda dapat menggunakan kontroler ConfigMap untuk mendefinisikan file apm-server.yml dan memulai APM Server dengan menginisialisasi pod. Kemudian, Anda dapat menggunakan objek Service untuk mengimplementasikan penemuan layanan mandiri dan load balancing.

    1. Konfigurasikan file apm-server.yml.

      File tersebut berisi kode berikut:

      ---
      apiVersion: v1
      kind: ConfigMap
      metadata:
        name: apm-deployment-config
        namespace: kube-system
        labels:
          k8s-app: apmserver
      data:
        apm-server.yml: |-
            apm-server.host: "0.0.0.0:8200" 
            output.elasticsearch:
               hosts: ['${ELASTICSEARCH_HOST:elasticsearch}:${ELASTICSEARCH_PORT:9200}']
               username: ${ELASTICSEARCH_USERNAME}
               password: ${ELASTICSEARCH_PASSWORD}
            setup.kibana:
               host: "https://${KIBANA_HOST}:${KIBANA_PORT}"
      
      ---
      apiVersion: apps/v1
      kind: Deployment
      metadata:
        name: apmserver
        namespace: kube-system
        labels:
          k8s-app: apmserver
      spec:
        selector:
          matchLabels:
             k8s-app: apmserver
        template:
          metadata:
            labels:
              k8s-app: apmserver
          spec:
            serviceAccountName: apmserver
            hostNetwork: true
            dnsPolicy: ClusterFirstWithHostNet
            containers:
            - name: apmserver
              image: docker.elastic.co/apm/apm-server:6.8.14
              args: [
                "-c", "/etc/apm-server.yml",
                "-e",
              ]
              env:
              - name: ELASTICSEARCH_HOST
                value: es-cn-oew20i5h90006****.elasticsearch.aliyuncs.com
              - name: ELASTICSEARCH_PORT
                value: "9200"
              - name: ELASTICSEARCH_USERNAME
                value: elastic
              - name: ELASTICSEARCH_PASSWORD
                value: ****
              - name: KIBANA_HOST
                value: es-cn-oew20i5h90006****-kibana.internal.elasticsearch.aliyuncs.com
              - name: KIBANA_PORT
                value: "5601"
              - name: NODE_NAME
                valueFrom:
                  fieldRef:
                    fieldPath: spec.nodeName
              securityContext:
                runAsUser: 0
              resources:
                limits:
                  memory: 50Mi
                requests:
                  cpu: 20m
                  memory: 30Mi
              volumeMounts:
              - name: config
                mountPath: /etc/apm-server.yml
                readOnly: true
                subPath: apm-server.yml
            volumes:
            - name: config
              configMap:
                defaultMode: 0600
                name: apm-deployment-config
      ---
      apiVersion: v1
      kind: Service
      metadata:
        name: apmserver
        namespace: kube-system
        labels:
          k8s-app: apmserver
      spec:
        clusterIP: None
        ports:
        - name: http-metrics
          port: 8200
          targetPort: 8200
        selector:
          k8s-app: apmserver
      ---
      apiVersion: v1
      kind: ServiceAccount
      metadata:
        name: apmserver
        namespace: kube-system
        labels:
          k8s-app: apmserver
      ---
      Penting
      • Saat menggunakan kontroler Deployment untuk menerapkan APM Server, gambar docker.elastic.co/apm/apm-server:6.8.14 digunakan untuk menerapkan pod. Versi gambar harus konsisten dengan versi kluster Elasticsearch.

      • Port 8200 diekspos ke kluster ACK menggunakan objek Service. Ini memastikan bahwa agen APM dapat berkomunikasi dengan APM Server.

      Parameter

      Deskripsi

      ELASTICSEARCH_HOST

      Titik akhir internal kluster Elasticsearch Anda.

      ELASTICSEARCH_PORT

      Port privat kluster Elasticsearch Anda.

      ELASTICSEARCH_USERNAME

      Nama pengguna kluster Elasticsearch Anda. Nilai default parameter ini adalah elastic.

      ELASTICSEARCH_PASSWORD

      Kata sandi yang sesuai dengan nama pengguna elastic.

      KIBANA_HOST

      Titik akhir internal Kibana.

      KIBANA_PORT

      Port privat Kibana.

      NODE_NAME

      Host di kluster ACK.

    2. Terapkan APM Server ke kontainer dan lihat status APM Server.

      Gunakan klien kubectl untuk menjalankan perintah berikut:

      kubectl apply -f apm-server.yml
      kubectl get pods -n kube-system
      Penting

      Pastikan bahwa sumber daya di dalam pod sedang berjalan. Jika tidak, data mungkin tidak akan ditampilkan di konsol Kibana.

  2. Konfigurasikan agen APM.

    Dalam contoh ini, Spring Boot digunakan untuk membuat aplikasi Spring sederhana dan mengekspor aplikasi tersebut menjadi paket JAR. Kemudian, paket JAR dan agen Java terbaru yang diunduh dari Maven Central Repository diunggah ke APM Server. Untuk informasi lebih lanjut, lihat Spring Boot dan Maven Central.

    1. Masuk ke node kluster ACK dan buat Dockerfile bernama myapply di direktori kerja.

      Dockerfile harus berisi informasi berikut:

      FROM frolvlad/alpine-oraclejdk8
      MAINTAINER peterwanghao.com
      VOLUME /tmp
      ADD spring-boot-0.0.1-SNAPSHOT.jar spring-boot-0.0.1-SNAPSHOT.jar
      ADD elastic-apm-agent-1.21.0.jar elastic-apm-agent-1.21.0.jar
      EXPOSE 8080
      ENTRYPOINT ["java","-javaagent:/elastic-apm-agent-1.21.0.jar","-Delastic.apm.service_name=my-application","-Delastic.apm.server_url=http://apmserver:8200","-Delastic.apm.application_packages=com.example","-jar","/spring-boot-0.0.1-SNAPSHOT.jar"]

      Parameter dan perintah Java yang digunakan untuk memulai pod didefinisikan di ENTRYPOINT. Tabel berikut menjelaskan parameter-parameter ini.

      Parameter

      Deskripsi

      -javaagent

      Paket JAR agen APM.

      -Delastic.apm.service_name

      Nama objek Service. Nama tersebut dapat berisi huruf, angka, tanda hubung (-), garis bawah (_), dan spasi.

      -Delastic.apm.server_url

      URL APM Server. http://apmserver:8200 ditentukan dalam file apm-server.yml.

      -Delastic.apm.application_packages

      Paket perangkat lunak dasar aplikasi.

      -jar

      Paket JAR aplikasi.

    2. Gunakan perintah docker build dan Dockerfile myapply untuk membangun sebuah gambar.

      Jalankan perintah berikut di jalur saat ini:

      docker build -t myapply .
    3. Muat gambar yang telah dibuat ke kontainer lainnya.

    4. Konfigurasikan file penerapan untuk pod. File tersebut bernama my-application.yaml.

      File tersebut berisi kode berikut:

      ---
      apiVersion: v1
      kind: Pod
      metadata:
        name: my-apply
        namespace: kube-system
        labels:
          app: my-apply
      spec:
        containers:
          - name: my-apply
            image: myapply:latest
            ports:
              - containerPort: 8080
            imagePullPolicy: Never
      ---
      apiVersion: v1
      kind: Service
      metadata:
        name: my-apply
        namespace: kube-system
        labels:
          app: my-apply
      spec:
        type: NodePort
        ports:
        - name: http-metrics
          port: 8080
          nodePort: 30000
        selector:
          app: my-apply
      
      ---
      Catatan

      image menentukan gambar yang telah dibuat.

    5. Gunakan klien kubectl untuk menjalankan perintah berikut guna menerapkan pod:

      kubectl apply -f my-application.yaml
    6. Gunakan perintah curl untuk mengakses host melalui port 30000 setelah semua sumber daya di dalam pod sedang berjalan.

      Jalankan perintah curl berikut:

      curl http://10.7.XX.XX:30000
      Catatan

      10.7.XX.XX menentukan alamat IP node di kluster ACK.

      Jika akses ke host berhasil, agen APM telah diterapkan.

  3. Lihat data pemantauan yang diperoleh oleh Elastic APM di konsol Kibana.

    1. Masuk ke konsol Kibana kluster Elasticsearch Anda.

      Untuk informasi lebih lanjut, lihat Masuk ke Konsol Kibana.

    2. Klik APM di bilah navigasi sebelah kiri.

    3. Temukan aplikasi yang performanya dipantau dan klik nama aplikasi tersebut. Kemudian, Anda dapat melihat statistik kinerja keseluruhan aplikasi. Dalam contoh ini, my-application digunakan.

      APM

    4. Klik antarmuka yang diminta. Kemudian, Anda dapat melihat informasi permintaan terperinci.

      Interface details of APM

    5. Lihat statistik log dan metrik host serta pod.

      Klik Actions dan pilih Show pod logs atau Show pod metrics. Kemudian, Anda dapat melihat statistik log atau metrik.

      ActionsPod Logs

Tanya Jawab Umum

  • Deskripsi Masalah: Parameter resources.requests diatur ke nilai besar dalam file konfigurasi kluster ACK. Akibatnya, pod gagal dimulai.

    Solusi: Ubah nilai parameter resources.requests. Parameter resources.requests harus ditentukan dalam file konfigurasi Metricbeat, Filebeat, dan Elastic APM. Kami sarankan Anda mengatur parameter ini ke nilai yang sesuai berdasarkan spesifikasi kluster ACK.

  • Deskripsi Masalah: Kesalahan terus terjadi saat saya menerapkan Metricbeat, Filebeat, dan Elastic APM. Pesan kesalahan serupa dengan no matches for kind "DaemonSet" in version "extensions/v1beta1".

    Solusi: Gunakan versi API apps/v1. Hal ini karena file konfigurasi resmi menggunakan versi API extensions/v1beta1 untuk DaemonSets dan Deployments. Namun, di ACK V1.18 dan yang lebih baru, versi API extensions/v1beta1 sudah tidak digunakan lagi untuk DaemonSets, Deployments, dan ReplicaSets.