Instalasi agen Go memungkinkan Application Real-Time Monitoring Service (ARMS) memantau aplikasi Go Anda serta menyediakan data mengenai topologi aplikasi, jejak (traces), dan analisis SQL.
Untuk aplikasi di lingkungan Kubernetes, jangan instal agen secara manual. Gunakan komponen yang disediakan untuk mengintegrasikan aplikasi dengan ARMS. Untuk informasi selengkapnya, lihat Instal agen Go untuk Container Service for Kubernetes (ACK) dan Container Compute Service (ACS) menggunakan komponen ack-onepilot.
Jika Anda memiliki pertanyaan mengenai agen Go, hubungi kami melalui grup tanya jawab DingTalk kami (ID: 159215000379).
Prasyarat
Lingkungan build Anda harus dapat terhubung ke Internet atau jaringan internal Alibaba Cloud. Pastikan security group Anda mengizinkan lalu lintas TCP outbound pada port 8080, 9990, 80, dan 443.
Periksa konfigurasi jaringan Anda. Untuk informasi selengkapnya, lihat Konfigurasi jaringan untuk pemantauan aplikasi Go.
Periksa sistem operasi, arsitektur, versi Go, dan versi framework di lingkungan build Anda. Untuk informasi selengkapnya, lihat Komponen dan framework Go yang didukung oleh Pemantauan Aplikasi ARMS.
Langkah 1: Kompilasi gambar aplikasi Go
Untuk menggunakan pemantauan aplikasi Go ARMS, cukup gunakan tool instgo saat proses build dengan menambahkan instgo sebagai awalan pada perintah go build asli Anda. Tidak diperlukan modifikasi kode bisnis atau integrasi SDK OpenTelemetry. Agen instgo menerapkan instrumentasi otomatis berdasarkan standar OpenTelemetry, dengan menyisipkan kode pemantauan secara otomatis selama tahap analisis AST pada waktu kompilasi.
(Opsional) Jika proyek Anda mencakup direktori vendor selama proses build, tambahkan
-mod=vendorsetelahgo build.Unduh tool build instgo menggunakan perintah
wget. Pilih URL unduhan sesuai dengan sistem operasi dan arsitektur lingkungan build Anda.Perhatikan bahwa instgo diperbarui secara otomatis selama proses build. Pastikan Anda menyimpan instgo di direktori tempat pengguna build memiliki izin menulis.
Catataninstgo adalah tool build dari ARMS yang melakukan instrumentasi pada proyek Go Anda sehingga ARMS dapat memantau aplikasi tersebut.
Jika Anda memiliki akses Internet ke Object Storage Service (OSS), gunakan URL unduhan China (Hangzhou) yang sesuai dengan sistem operasi dan arsitektur Anda.
Buat tool build tersebut dapat dieksekusi.
Linux/Mac
# Berikan izin eksekusi. chmod +x instgoWindows
Anda tidak perlu memberikan izin eksekusi di Windows.
(Opsional) Konfigurasikan UID sebagai parameter build.
PentingJika langkah ini dilewati, instgo akan menginstal versi terbaru agen ARMS secara default.
Gunakan perintah
setuntuk mengonfigurasi UID sebagai parameter build.instgo set --uid={YourAliyunUid} // Diperlukan instgo versi 1.4.5 atau lebih baru. UID adalah ID akun primary Akun Alibaba Cloud Anda.Tambahkan
instgosebagai awalan pada perintah build asli Anda, lalu jalankan perintah tersebut.instgo go build {arg1} {arg2} {arg3}Jika Anda menggunakan
go installuntuk mem-build proyek, Anda juga dapat menambahkaninstgosebagai awalan pada perintah build asli Anda.Gunakan file biner yang dihasilkan pada langkah sebelumnya untuk mem-build gambar.
Langkah 2: Konfigurasi variabel lingkungan
Setelah proses build, tambahkan variabel lingkungan berikut ke aplikasi Go Anda:
export ARMS_ENABLE=true export ARMS_APP_NAME=xxx # Nama aplikasi Anda. export ARMS_REGION_ID=xxx # ID wilayah Akun Alibaba Cloud Anda. export ARMS_LICENSE_KEY=xxx # Kunci lisensi dari konsol ARMS.CatatanJika Anda ingin melaporkan data melalui Internet secara default, atur variabel lingkungan
ARMS_NETWORK_STRATEGY=public.Alih-alih mengekspor variabel lingkungan, Anda dapat menggunakan flag -ldflags untuk menentukannya selama proses build.
Ganti
moduledengan nama modul yang dikonfigurasi di go mod. Untuk parameter lainnya, rujuk ke variabel lingkungan.instgo go build -ldflags " -X 'github.com/alibaba/loongsuite-go-agent/pkg/exporters.ArmsApmName=${appName}' -X 'github.com/alibaba/loongsuite-go-agent/pkg/exporters.ArmsEnable=true' -X 'github.com/alibaba/loongsuite-go-agent/pkg/exporters.LicenseKey=${licenseKey}' -X 'github.com/alibaba/loongsuite-go-agent/pkg/exporters.RegionId=${regionId}'"Jika Anda menggunakan systemctl untuk menjalankan aplikasi, gunakan perintah berikut untuk mengatur variabel lingkungan:
systemctl set-environment ARMS_ENABLE=true systemctl set-environment ARMS_APP_NAME=xxx # Nama aplikasi Anda. systemctl set-environment ARMS_REGION_ID=xxx # ID wilayah Akun Alibaba Cloud Anda. systemctl set-environment ARMS_LICENSE_KEY=xxx # Kunci lisensi dari konsol ARMS.
(Opsional) Konfigurasi Dockerfile
Jika Anda menggunakan lingkungan Docker, modifikasi Dockerfile Anda sesuai contoh berikut.
FROM golang:1.21 AS builder
WORKDIR /app
COPY go.mod go.sum ./
RUN go mod download
COPY . .
RUN wget "http://arms-apm-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/instgo/instgo-linux-amd64" -O instgo
RUN chmod +x instgo
RUN ./instgo go build -o myapp .
FROM debian:bookworm-slim
WORKDIR /app
COPY --from=builder /app/myapp .
ENV ARMS_ENABLE=true
ENV ARMS_APP_NAME=AppName
ENV ARMS_REGION_ID=regionId
ENV ARMS_LICENSE_KEY=licenseKey
EXPOSE 8080
CMD ["./myapp"]Verifikasi hasil
Sekitar satu menit kemudian, periksa halaman di Konsol ARMS. Jika aplikasi Anda muncul dan melaporkan data, instalasi agen berhasil.