Repositori saat ini berisi kode sumber Agen Datadog versi 7 dan versi 6. Silakan merujuk ke dokumentasi pengguna Agen untuk informasi tentang perbedaan antara Agen v5, Agen v6, dan Agen v7. Selain itu, kami menyediakan daftar binari yang dikemas untuk memudahkan proses instalasi di sini
Catatan: kode sumber Datadog Agent v5 terletak di repositori dd-agent.
Dokumentasi umum proyek, termasuk instruksi untuk instalasi dan pengembangan, terletak di bawah direktori docs dari repo ini.
Untuk membangun Agen yang Anda butuhkan:
$GOPATH
dan memiliki $GOPATH/bin
di jalur Anda.pip install -r requirements.txt
Ini juga akan menarik Invoke jika belum diinstal. Catatan: Anda mungkin ingin menggunakan lingkungan virtual python untuk menghindari pencemaran lingkungan python seluruh sistem Anda dengan dependensi build/dev agen. Anda dapat membuat lingkungan virtual menggunakan virtualenv
dan kemudian menggunakan parameter invoke agent.build
--python-home-2=
dan/atau --python-home-3=
(tergantung pada versi python Anda menggunakan) untuk menggunakan penerjemah dan perpustakaan lingkungan virtual. Secara default, lingkungan ini hanya digunakan untuk dependensi dev yang tercantum di requirements.txt
.
Catatan: Anda mungkin sebelumnya telah menginstal invoke
via brew di MacOS, atau pip
di platform lain. Kami menyarankan Anda menggunakan versi yang disematkan dalam file persyaratan untuk pengalaman pengembangan/pembangunan yang lancar.
Catatan: Anda dapat mengaktifkan penyelesaian otomatis untuk tugas yang dipanggil. Gunakan perintah di bawah ini untuk menambahkan baris yang sesuai ke file .zshrc
Anda. echo "source <(inv --print-completion-script zsh)" >> ~/.zshrc
Pembuatan dan pengujian diatur dengan invoke
, ketik invoke --list
pada shell untuk melihat tugas yang tersedia.
Untuk mulai mengerjakan Agen, Anda dapat membangun cabang main
:
Lihat repo: git clone https://github.com/DataDog/datadog-agent.git $GOPATH/src/github.com/DataDog/datadog-agent
.
cd ke dalam folder proyek: cd $GOPATH/src/github.com/DataDog/datadog-agent
.
Instal go tools: invoke install-tools
(jika Anda mengalami error timeout, Anda mungkin perlu menambahkan GOPROXY=https://proxy.golang.org,https://goproxy.io,direct
env var ke perintah).
Buat file konfigurasi datadog.yaml
pengembangan di dev/dist/datadog.yaml
, yang berisi kunci API yang valid: api_key:
. Anda dapat memulai dengan yang kosong atau menggunakan yang lengkap yang dihasilkan oleh build Agen dari Langkah 5 (terletak di cmd/agent/dist/datadog.yaml
setelah build selesai).
Bangun agen dengan invoke agent.build --build-exclude=systemd
.
Anda dapat menentukan lokasi Python khusus untuk agen (berguna saat menggunakan virtualenvs):
invoke agent.build
--python-home-2=$GOPATH/src/github.com/DataDog/datadog-agent/venv2
--python-home-3=$GOPATH/src/github.com/DataDog/datadog-agent/venv3
Menjalankan invoke agent.build
:
bin/agent/dist
.bin/agent/agent
.dev/dist
ke bin/agent/dist
. Lihat https://github.com/DataDog/datadog-agent/blob/main/dev/dist/README.md
untuk informasi lebih lanjut. Jika Anda membuat agen versi lama, Anda mungkin mengalami kesalahan make: *** No targets specified and no makefile found. Stop.
. Untuk mengatasi masalah ini, Anda harus menghapus CMakeCache.txt
dari folder rtloader
dengan rm rtloader/CMakeCache.txt
.
Harap dicatat bahwa agen pelacakan perlu dibuat dan dijalankan secara terpisah.
Silakan merujuk ke Panduan Pengembang Agen untuk detail selengkapnya. Untuk instruksi tentang menyiapkan lingkungan windows dev, lihat Windows Dev Env.
Jalankan pengujian unit menggunakan invoke test
.
invoke test --targets=./pkg/aggregator
Anda juga dapat menggunakan invoke linter.go
untuk menjalankan go linter saja.
invoke linter.go
Saat menguji kode yang bergantung pada rtloader, buat dan instal terlebih dahulu.
invoke rtloader.make && invoke rtloader.install
invoke test --targets=./pkg/collector/python
Anda dapat menjalankan agen dengan:
./bin/agent/agent run -c bin/agent/dist/datadog.yaml
File bin/agent/dist/datadog.yaml
disalin dari dev/dist/datadog.yaml
dengan invoke agent.build
dan harus berisi kunci api yang valid.
Untuk menjalankan pemeriksaan berbasis JMX secara lokal, Anda harus memiliki:
jar
JMXFetch disalin ke dev/dist/jmx/jmxfetch.jar
java
tersedia di $PATH
AndaUntuk petunjuk rinci, lihat Pemeriksaan JMX
Anda akan menemukan informasi dan bantuan tentang cara menyumbangkan kode ke proyek ini di direktori docs/dev
dari repo ini.
Komponen ruang pengguna agen Datadog dilisensikan di bawah Lisensi Apache, Versi 2.0. Kode BPF dilisensikan di bawah Lisensi Publik Umum, Versi 2.0.