全部产品
Search
文档中心

Data Transmission Service:Menyebarkan lingkungan pengumpulan data

更新时间:Nov 29, 2025

Tema ini menjelaskan cara menyebarkan lingkungan pengumpulan data untuk mengumpulkan data.

1. Lakukan pemeriksaan awal

  • Pastikan kolektor ditempatkan pada server mandiri yang tidak memiliki aplikasi online.

  • Pastikan JAVA_HOME dan JDK 1.6 atau yang lebih baru telah dikonfigurasi.

2. Mulai kolektor

Jika Anda menggunakan server berbasis UNIX, jalankan perintah berikut di direktori tempat kolektor diinstal:
 `./run.sh`
 Jika Anda menggunakan server berbasis Windows, jalankan perintah berikut di direktori tempat kolektor diinstal:
 `start /b java -jar javaagent-collector.jar`
                        

Lihat log di file collector/logs/collector.log. Jika file log berisi pesan startup atau keberhasilan, kolektor telah disebarkan.

Untuk informasi tentang cara menyelesaikan kesalahan, lihat FAQ Kolektor Aplikasi.

Agen Java

1. Konfigurasi sebelum startup

  • Pastikan variabel lingkungan JAVA_HOME telah dikonfigurasi. Jika belum, atur nilai JAVA_HOME di file attach.sh ke jalur absolut JDK. Jika menggunakan JRE alih-alih JDK, Anda harus secara manual menyalin file tools.jar ke direktori ${JAVA_HOME}/lib/.

  • Konfigurasikan file javaagent.config: profiler.collector.ip = 11.23.45.67 # Tentukan alamat IP kolektor. profiler.collector.port = 9996 # Tentukan port kolektor. profiler.app.name = adamApp # Tentukan nama aplikasi. Nama aplikasi harus kurang dari 20 karakter dan hanya mengandung huruf dan angka. profiler.app.port = 8080 # Tentukan port startup aplikasi. Aplikasi mungkin menggunakan port yang berbeda untuk fitur yang berbeda. Anda hanya perlu mengonfigurasi port yang diminta. Konfigurasikan satu port terlepas dari jumlah aplikasi dalam JVM. profiler.applicationservertype = TOMCAT # Tentukan jenis kontainer middleware aplikasi. Nilai valid: TOMCAT, JBOSS, dan WEBLOGIC.

Optional configurations

        Konfigurasikan awalan untuk direktori tempat kode Java yang akan diuji berada. Ganti direktori dalam contoh berikut. Pisahkan beberapa direktori dengan koma (,). Setiap direktori harus memiliki setidaknya dua tingkat subdirektori. Kami sarankan Anda menentukan tidak lebih dari lima direktori.
        Jika database diubah, kolektor dapat memberikan saran spesifik untuk memodifikasi konfigurasi aplikasi berdasarkan informasi tumpukan panggilan yang tepat. 
        Jika beberapa direktori tidak dapat diberikan, Anda dapat meninggalkan parameter ini tidak ditentukan. Anda dapat mengonfigurasi filter di halaman analisis konsol Alibaba Cloud Advanced Database & Application Migration (ADAM). 
        `profiler.classpath.whitelist = com.alibaba.javaagent,com.alibaba.adam`
        Jika daftar izin di atas ditentukan, Anda dapat meninggalkan parameter ini tidak ditentukan. Anda juga dapat menentukan daftar larangan untuk menyaring informasi tumpukan panggilan yang tidak perlu. 
        `profiler.classpath.blacklist =org.apache,net.sf`
        Tentukan batas pemanfaatan CPU. Saat batas tercapai, pengumpulan data dijeda. 
        `profiler.cpu.threshold = 85`
        Tentukan interval pengumpulan informasi sistem. Unit: menit. Nilai default: 15. 
        `profiler.sys.send.interval = 15`
        Tentukan interval pengumpulan informasi SQL dinamis. Unit: menit. Nilai default: 15. 
        `profiler.sql.dynamic.send.interval = 15`
                        

2. Metode startup

Metode 1: Pantau aplikasi hanya sekali tanpa me-restart aplikasi

Tambahkan izin operasi sistem ke direktori javaagent. Pastikan akun yang digunakan untuk memulai agen sama dengan akun yang digunakan untuk memulai aplikasi. Jalankan perintah berikut, dengan ${pid} diganti oleh ID proses aplikasi:

Jika Anda menggunakan server berbasis UNIX, jalankan perintah berikut:
`./attach.sh -p ${pid}`
Jika Anda menggunakan server berbasis Windows, jalankan perintah berikut:
`java -cp "%JAVA_HOME%\lib\tools.jar;%cd%\javaagent-bootstrap.jar" com.alibaba.adam.javaagent.bootstrap.AgentAttacher -p ${pid}`
                        

Jika file log di direktori javaagent berisi pesan keberhasilan, agen telah dimulai. Jika lalu lintas arah masuk diterima oleh aplikasi dan direktori kolektor berisi subdirektori yang berisi data, agen telah dimulai dan telah mengirim data ke kolektor. Untuk informasi tentang cara menyelesaikan kesalahan, lihat FAQ Kolektor Aplikasi.

  • Pastikan ID proses aplikasi yang diperoleh benar.

  • Pastikan akun yang digunakan untuk memulai agen sama dengan akun yang digunakan untuk memulai aplikasi. Pastikan agen dan aplikasi memiliki izin operasi sistem yang identik. Jika tidak, agen tidak dapat memantau aplikasi. Jika aplikasi dimulai dengan melihat Windows Registry sebagai pengguna sistem, agen tidak dapat dimulai menggunakan Metode 1 karena izin akun tidak konsisten.

Metode 2: (Direkomendasikan) Mulai pemantauan saat aplikasi mulai

Ganti ${javaagent_path} dengan direktori javaagent di file konfigurasi, lalu restart aplikasi.

Sistem operasi UNIX

Tomcat: Tambahkan kode berikut ke item konfigurasi CATALINA_OPTS terakhir di file startup catalina.sh:
        CATALINA_OPTS="$CATALINA_OPTS -javaagent:${javaagent_path}/javaagent-bootstrap.jar"
JBoss: Tambahkan kode berikut ke item konfigurasi JAVA_OPTS terakhir di file startup run.conf:
        JAVA_OPTS="$JAVA_OPTS -javaagent:${javaagent_path}/javaagent-bootstrap.jar"
WebLogic: Tambahkan kode berikut ke item konfigurasi JAVA_OPTIONS terakhir di file startup startWebLogic.sh:
        JAVA_OPTIONS="$JAVA_OPTIONS -javaagent:${javaagent_path}/javaagent-bootstrap.jar"
WebSphere:
        Metode 1: Tambahkan JAVA_OPTS="$JAVA_OPTS -javaagent:/home/admin/javaagent/javaagent-bootstrap.jar" ke file konfigurasi.
        Metode 2: Tambahkan kode berikut ke parameter JVM umum:
        name:javaagent  value:/home/admin/javaagent/javaagent-bootstrap.jar
Kontainer Docker di kluster Kubernetes:
        Tempatkan direktori javaagent ke dalam gambar Docker, tambahkan file konfigurasi javaagent yang sesuai, dan deploy gambar tersebut. 
                        

Sistem operasi Windows

Tomcat: Tambahkan kode berikut ke item konfigurasi CATALINA_OPTS terakhir di file startup catalina.bat:
        CATALINA_OPTS="$CATALINA_OPTS -javaagent:${javaagent_path}/javaagent-bootstrap.jar"
JBoss: Tambahkan kode berikut ke item konfigurasi JAVA_OPTS terakhir di file startup run.conf:
        JAVA_OPTS="$JAVA_OPTS -javaagent:${javaagent_path}/javaagent-bootstrap.jar"
WebLogic: Tambahkan kode berikut ke item konfigurasi JAVA_OPTIONS terakhir di file startup startWebLogic.cmd:
        JAVA_OPTIONS="$JAVA_OPTIONS -javaagent:${javaagent_path}/javaagent-bootstrap.jar"
WebSphere:
        Metode 1: Tambahkan JAVA_OPTS="$JAVA_OPTS -javaagent:/home/admin/javaagent/javaagent-bootstrap.jar" ke file konfigurasi.
        Metode 2: Tambahkan kode berikut ke parameter JVM umum:
        name:javaagent  value:/home/admin/javaagent/javaagent-bootstrap.jar
                        

Setelah aplikasi dimulai, lihat log aplikasi. Jika Java Agent load successfully! ditampilkan, agen telah dimulai. Jika terjadi kesalahan, modifikasi skrip berdasarkan pesan kesalahan. Jika tidak ada informasi agen yang ditampilkan, agen tidak dimuat karena jalur konfigurasi tidak valid.

Perbandingan metode

Metode startup

Keuntungan

Kekurangan

Skenario

Metode 1

Anda dapat mengonfigurasi agen tanpa me-restart aplikasi meskipun aplikasi belum pernah dipantau oleh agen.

Anda harus secara manual memulai agen setiap kali Anda me-restart aplikasi. Akun yang digunakan untuk memulai agen harus sama dengan akun yang digunakan untuk memulai aplikasi.

Metode ini berlaku untuk skenario di mana Anda tidak akan me-restart aplikasi Anda untuk waktu yang lama dan restart aplikasi memengaruhi bisnis Anda.

Metode 2

Saat Anda me-restart aplikasi, agen otomatis mulai dan terus mengumpulkan data aplikasi. Anda tidak perlu mempertimbangkan izin akun.

Saat Anda mengumpulkan data aplikasi untuk pertama kalinya, Anda harus me-restart aplikasi untuk memulai agen.

Metode ini berlaku untuk skenario di mana Anda dapat me-restart aplikasi Anda untuk terus mengumpulkan data tanpa memengaruhi bisnis Anda.

Catatan penggunaan

  • Saat aplikasi berhenti, agen juga berhenti terlepas dari metode yang digunakan untuk memulai agen.

  • Anda dapat menghentikan agen dengan cara berikut.

    • Jika agen dimulai menggunakan Metode 1, restart aplikasi atau jalankan perintah ./attach.sh -p ${pid} -s.

    • Jika agen dimulai menggunakan Metode 2, hapus konfigurasi javaagent dan restart aplikasi.

  • Jika Anda ingin memantau aplikasi setelah agen dihentikan, Anda harus me-restart aplikasi.

    • Jika agen dimulai menggunakan Metode 1, mulai agen secara manual setelah aplikasi direstart.

    • Jika agen dimulai menggunakan Metode 2, tunggu agen mulai secara otomatis setelah aplikasi direstart.

  • Kluster JBoss dibagi menjadi kluster Community Edition dan Enterprise Edition. Jika item konfigurasi jboss.modules.system.pkgs ada, Anda harus menambahkan direktori com.alibaba.adam.javaagent dan me-restart aplikasi untuk memvalidasi pengaturan pemantauan terlepas apakah Anda menggunakan Metode 1 atau 2.

Kumpulkan data (data satu hingga tujuh hari)

  • Pergi ke direktori tempat kolektor diinstal, kompres file di direktori data/ dalam format ZIP berdasarkan nama aplikasi, dan unggah setiap profil aplikasi secara terpisah. Setiap aplikasi sesuai dengan satu profil. Anda dapat mengompres data yang dikumpulkan untuk aplikasi dari alamat IP yang berbeda menjadi satu file ZIP. Namun, Anda tidak dapat mengompres data yang dikumpulkan untuk aplikasi yang berbeda menjadi satu file ZIP. Jika tidak, terjadi kesalahan unggah.