Bagaimana cara menambahkan agen Java APM Insight di Kubernetes melalui InitContainers?

Menambahkan agen Java APM Insight di Kubernetes melalui InitContainers

Langkah 1:
Buat rahasia untuk kunci lisensi Site24x7 di namespace aplikasi Anda.
NotesAnda dapat memperoleh kunci lisensi dari akun site24x7 Anda dengan menavigasi ke Admin > Developer (Pengembang) > Device Key (Kunci Perangkat).
      Contoh:
  1. kubectl buat rahasia aplikasi-rahasia generik --from-literal=s247licensekey='kunci_lisensi_s247_Anda' -n petclinic
            Ganti app-secret, your_s247_license_key, dan namespace (petclinic) dengan nilai yang sesuai.

Langkah 2:
Buat volume kosong yang akan digunakan untuk menyalin file agen selama proses InitContainers.

      Contoh:
  1. volumes:
  2.    - name: s247agent

Langkah 3:
Sertakan perintah InitContainers berikut dalam file YAML bagan/deployment helm Anda.
  1. initContainers:
  2.       - name: agent-copy
  3.         image: site24x7/apminsight-javaagent:latest
  4.         imagePullPolicy: IfNotPresent
  5.         command: ['cp', '-r', '/opt/site24x7/.', '/home/apm']
  6.         volumeMounts:
  7.         - name: s247agent
  8.           mountPath: /home/apm

Langkah 4:
Pasang volume yang dibuat pada langkah 2 ke dalam kontainer aplikasi Anda.
      
      Contoh:
  1. containers:
  2.       - name: petclinic
  3.         image: petclinic:latest
  4.         imagePullPolicy: IfNotPresent
  5.         ports:
  6.         - containerPort: 8080
  7.        volumeMounts:
  8.         - name: s247agent
  9.           mountPath: /home/apm

Langkah 5:
Tambahkan variabel lingkungan berikut ke kontainer aplikasi.
      
      Variabel lingkungan 1:
      Nama: S247_LICENSE_KEY 
      Value: s247licensekey from the secret added in step 1
      
      Variabel lingkungan 2:
      Nama: JAVA_TOOL_OPTIONS 
      Value: "-javaagent:[mount/path]/apminsight-javaagent.jar -Dapminsight.application.name=[DesiredMonitorName]"

Notes
Pada langkah ini, kami mengonfigurasi argumen yang akan digunakan aplikasi (proses Java) selama startup dan agen untuk melaporkan data ke nama monitor yang ditentukan.

      Contoh:
  1. env:
  2.         - name: JAVA_TOOL_OPTIONS
  3.           value: -javaagent:/home/apm/apminsight-javaagent.jar -Dapminsight.application.name=petclinic-k8s
  4.         - name: S247_LICENSE_KEY
  5.           valueFrom:
  6.             secretKeyRef:
  7.               name: petclinic-secrets
  8.               key: s247_license_key
      
      Contoh file penerapan YAML untuk referensi Anda:
  1. apiVersion: v1
  2. kind: Namespace
  3. metadata:
  4.   name: petclinic

  5. ---
  6. apiVersion: v1
  7. kind: Secret
  8. metadata:
  9.   name: petclinic-secrets
  10.   namespace: petclinic
  11. type: Opaque
  12. data:
  13.   s247_license_key: OGQ3NTg0YmIxNWE1YTIzYjhmN35rfed2M1M2U3N2ExOTVhNzM1YWYyMg==

  14. ---
  15. apiVersion: apps/v1
  16. kind: Deployment
  17. metadata:
  18.   namespace: petclinic
  19.   name: petclinic-deployment
  20.   labels:
  21.     app: petclinic
  22. spec:
  23.   replicas: 2
  24.   selector:
  25.     matchLabels:
  26.       app: petclinic
  27.   template:
  28.     metadata:
  29.       labels:
  30.         app: petclinic
  31.     spec:
  32.       containers:
  33.       - name: petclinic
  34.         image: petclinic:latest
  35.         imagePullPolicy: IfNotPresent
  36.         ports:
  37.         - containerPort: 8080
  38.         env:
  39.         - name: JAVA_TOOL_OPTIONS
  40.           value: -javaagent:/home/apm/apminsight-javaagent.jar -Dapminsight.application.name=petclinic-k8s
  41.         - name: S247_LICENSE_KEY
  42.           valueFrom:
  43.             secretKeyRef:
  44.               name: petclinic-secrets
  45.               key: s247_license_key
  46.         volumeMounts:
  47.         - name: s247agent
  48.           mountPath: /home/apm
  49.       initContainers:
  50.       - name: agent-copy-init
  51.         image: site24x7/apminsight-javaagent:latest
  52.         imagePullPolicy: IfNotPresent
  53.         command: ['cp', '-r', '/opt/site24x7/.', '/home/apm']
  54.         volumeMounts:
  55.         - name: s247agent
  56.           mountPath: /home/apm
  57.       volume:
  58.       - name: s247agent

  59. ---
  60. apiVersion: v1
  61. kind: Service
  62. metadata:
  63.   namespace: petclinic
  64.   name: petclinic-service
  65. spec:
  66.   type: NodePort
  67.   selector:
  68.     app: petclinic
  69.   port:
  70.     - protocol: TCP
  71.       port: 8080
  72.       targetPort: 8080
  73.       nodePort: 30200

    • Related Articles

    • Jalur log agen APM Insight

      Jalur folder untuk melihat log agen One Satu log agen hanya dapat ditemukan di folder aplikasi umum di Windows (biasanya di bawah C:\ProgramData mulai dari Vista dan seterusnya). Periksa jalur folder berikut di Windows: ...
    • Kiat pemecahan masalah dasar untuk agen APM Insight Java

      Bahkan setelah parameter agen sudah ada, jika instans APM Insight tidak ditampilkan di konsol Site24x7, harap periksa kondisi berikut: Periksa apakah kunci lisensi yang benar disediakan dalam file apminsight.conf, properti Sistem Java, atau Sistem ...
    • Cara menambahkan instans yang telah dihapus sebelumnya (Untuk agen .NET dan .NET Core)

      Langkah-langkah untuk agen .NET Navigasi ke jalur: %ProgramData%\DotNetAgent\ %ProgramData%\DotNetCoreAgent\ (Untuk versi agen 6.8 dan di atasnya) Hapus file apminsight.net.info dari folder dengan nama yang sama dengan aplikasi. Catatan: Nama folder ...
    • Conditions préalables à l'installation de l'agent Java

      Pour faciliter l'installation de l'agent Java, veillez à remplir les conditions préalables suivantes. Une version 8 ou supérieure de Java doit être installée sur l'environnement. L'utilisateur de l'application doit disposer de toutes les ...
    • APM Insight menyediakan informasi tentang parameter yang dikirimnya ke kueri SQL

      Parameter dalam kueri SQL yang lambat dapat dilacak dan ditampilkan di bawah tab jejak. Kita memiliki pilihan untuk mengaburkan nilai parameter kueri SQL menggunakan konfigurasi Parameter Obfuscate SQL. Ini akan diaktifkan secara default. Tangkapan ...