Kunjungi prometheus.io untuk dokumentasi lengkap, contoh dan panduan.
Prometheus, proyek Cloud Native Computing Foundation, adalah sistem pemantauan sistem dan layanan. Ia mengumpulkan metrik dari target yang dikonfigurasi pada interval tertentu, mengevaluasi ekspresi aturan, menampilkan hasilnya, dan dapat memicu peringatan ketika kondisi tertentu diamati.
Fitur yang membedakan Prometheus dari metrik dan sistem pemantauan lainnya adalah:
Model data multidimensi (deret waktu ditentukan oleh nama metrik dan kumpulan dimensi kunci/nilai)
PromQL, bahasa kueri yang kuat dan fleksibel untuk memanfaatkan dimensi ini
Tidak ada ketergantungan pada penyimpanan terdistribusi; node server tunggal bersifat otonom
Model tarik HTTP untuk pengumpulan deret waktu
Pendorongan deret waktu didukung melalui gateway perantara untuk pekerjaan batch
Target ditemukan melalui penemuan layanan atau konfigurasi statis
Berbagai mode dukungan grafik dan dasbor
Dukungan untuk federasi hierarkis dan horizontal
Ada berbagai cara menginstal Prometheus.
Biner yang telah dikompilasi untuk versi rilis tersedia di bagian unduhan di prometheus.io. Menggunakan biner rilis produksi terbaru adalah cara yang disarankan untuk menginstal Prometheus. Lihat bab Instalasi dalam dokumentasi untuk semua detailnya.
Gambar Docker tersedia di Quay.io atau Docker Hub.
Anda dapat meluncurkan wadah Prometheus untuk mencobanya
menjalankan buruh pelabuhan --name prometheus -d -p 127.0.0.1:9090:9090 prom/prometheus
Prometheus sekarang dapat dihubungi di http://localhost:9090/.
Untuk membangun Prometheus dari kode sumber, Anda memerlukan:
Gunakan versi 1.17 atau lebih tinggi.
NodeJS versi 16 atau lebih tinggi.
npm versi 7 atau lebih tinggi.
Mulailah dengan mengkloning repositori:
git clone https://github.com/prometheus/prometheus.gitcd prometheus
Anda dapat menggunakan alat go
untuk membuat dan menginstal binari prometheus
dan promtool
ke dalam GOPATH
Anda :
GO111MODULE=langsung instal github.com/prometheus/prometheus/cmd/... prometheus --config.file=your_config.yml
Namun , ketika menggunakan go install
untuk membangun Prometheus, Prometheus diharapkan dapat membaca aset webnya dari direktori sistem file lokal di bawah web/ui/static
dan web/ui/templates
. Agar aset ini dapat ditemukan, Anda harus menjalankan Prometheus dari root repositori yang dikloning. Perhatikan juga bahwa direktori ini tidak menyertakan React UI kecuali jika direktori tersebut dibuat secara eksplisit menggunakan make assets
atau make build
.
Contoh file konfigurasi di atas dapat ditemukan di sini.
Anda juga dapat membangun menggunakan make build
, yang akan dikompilasi dalam aset web sehingga Prometheus dapat dijalankan dari mana saja:
membuat membangun ./prometheus --config.file=your_config.yml
Makefile menyediakan beberapa target:
build : membangun binari prometheus
dan promtool
(termasuk pembuatan dan kompilasi dalam aset web)
test : menjalankan tes
test-short : menjalankan tes singkat
format : memformat kode sumber
dokter hewan : periksa kode sumber untuk kesalahan umum
aset : membangun React UI
Prometheus dibundel dengan banyak plugin penemuan layanan. Saat membuat Prometheus dari sumber, Anda dapat mengedit file plugins.yml untuk menonaktifkan beberapa penemuan layanan. File tersebut adalah daftar jalur impor go berformat yaml yang akan dimasukkan ke dalam biner Prometheus.
Setelah Anda mengubah file, Anda perlu menjalankan make build
lagi.
Jika Anda menggunakan metode lain untuk mengkompilasi Prometheus, make plugins
akan menghasilkan file plugins yang sesuai.
Jika Anda menambahkan plugin out-of-tree, yang saat ini tidak kami dukung, langkah tambahan mungkin diperlukan untuk menyesuaikan file go.mod
dan go.sum
. Seperti biasa, berhati-hatilah saat memuat kode pihak ketiga.
Target make docker
dirancang untuk digunakan dalam sistem CI kami. Anda dapat membuat image buruh pelabuhan secara lokal dengan perintah berikut:
buat promu promu crossbuild -p linux/amd64 buat npm_licenses buatlah common-docker-amd64
Kami menerbitkan protobuf Remote Write kami secara independen di buf.build.
Anda dapat menggunakannya sebagai perpustakaan:
dapatkan buf.build/gen/go/prometheus/prometheus/protocolbuffers/go@latest
Ini bersifat eksperimental.
Untuk mematuhi aturan go mod, nomor rilis Prometheus tidak sama persis dengan rilis modul Go. Untuk rilis Prometheus v2.yz, kami menerbitkan tag v0.yz yang setara.
Oleh karena itu, pengguna yang ingin menggunakan Prometheus v2.35.0 sebagai perpustakaan dapat melakukan:
dapatkan github.com/prometheus/[email protected]
Solusi ini memperjelas bahwa kami mungkin merusak API Go internal kami di antara rilis kecil yang dapat diakses oleh pengguna, karena perubahan yang dapat menyebabkan gangguan diperbolehkan di versi nol utama.
Untuk informasi selengkapnya tentang membangun, menjalankan, dan mengembangkan UI berbasis React, lihat README.md aplikasi React.
Dokumentasi Godoc tersedia melalui pkg.go.dev. Karena kekhasan Modul Go, v2.xy akan ditampilkan sebagai v0.xy
Lihat halaman Komunitas untuk mengetahui cara menjangkau pengembang dan pengguna Prometheus di berbagai saluran komunikasi.
Lihat KONTRIBUSI.md
Lisensi Apache 2.0, lihat LISENSI.