ไปที่ prometheus.io เพื่อดูเอกสาร ตัวอย่าง และคำแนะนำฉบับเต็ม
Prometheus ซึ่งเป็นโครงการ Cloud Native Computing Foundation คือระบบและระบบตรวจสอบบริการ โดยรวบรวมตัวชี้วัดจากเป้าหมายที่กำหนดค่าตามช่วงเวลาที่กำหนด ประเมินการแสดงออกของกฎ แสดงผลลัพธ์ และสามารถเรียกใช้การแจ้งเตือนเมื่อปฏิบัติตามเงื่อนไขที่ระบุ
คุณสมบัติที่ทำให้ Prometheus แตกต่างจากตัววัดและระบบตรวจสอบอื่นๆ ได้แก่:
โมเดลข้อมูล หลายมิติ (อนุกรมเวลาที่กำหนดโดยชื่อเมตริกและชุดมิติคีย์/ค่า)
PromQL ซึ่งเป็น ภาษาคิวรีที่ทรงพลังและยืดหยุ่น เพื่อใช้ประโยชน์จากมิตินี้
ไม่มีการพึ่งพาพื้นที่จัดเก็บแบบกระจาย โหนดเซิร์ฟเวอร์เดียวเป็นอิสระ
โมเดลการดึง HTTP สำหรับการรวบรวมอนุกรมเวลา
การพุชอนุกรมเวลา ได้รับการสนับสนุนผ่านเกตเวย์ตัวกลางสำหรับงานแบทช์
เป้าหมายจะถูกค้นพบผ่าน การค้นหาบริการ หรือ การกำหนดค่าแบบคงที่
รองรับการสร้างกราฟและแดชบอร์ด หลายโหมด
รองรับ สหพันธรัฐ แบบลำดับชั้นและแนวนอน
มีหลายวิธีในการติดตั้ง Prometheus
ไบนารีที่คอมไพล์แล้วสำหรับเวอร์ชันที่เผยแพร่มีอยู่ในส่วน ดาวน์โหลด บน prometheus.io การใช้ไบนารีเวอร์ชันที่ใช้งานจริงล่าสุดเป็นวิธีที่แนะนำในการติดตั้ง Prometheus ดูบทการติดตั้งในเอกสารประกอบสำหรับรายละเอียดทั้งหมด
อิมเมจ Docker มีอยู่ใน Quay.io หรือ Docker Hub
คุณสามารถเปิดคอนเทนเนอร์ Prometheus เพื่อทดลองใช้ได้
นักเทียบท่าวิ่ง - ชื่อโพร -d -p 127.0.0.1:9090:9090 พรหม / โพร
ขณะนี้คุณสามารถเข้าถึง Prometheus ได้ที่ http://localhost:9090/
ในการสร้าง Prometheus จากซอร์สโค้ด คุณต้องมี:
ไปเวอร์ชัน 1.17 หรือสูงกว่า
NodeJS เวอร์ชัน 16 หรือสูงกว่า
NPM เวอร์ชัน 7 หรือสูงกว่า
เริ่มต้นด้วยการโคลนที่เก็บ:
คอมไพล์โคลน https://github.com/prometheus/prometheus.gitcd โพร
คุณสามารถใช้เครื่องมือ go
เพื่อสร้างและติดตั้งไบนารี prometheus
และ promtool
ลงใน GOPATH
ของคุณ:
GO111MODULE=ไปติดตั้ง github.com/prometheus/prometheus/cmd/... โพรมีธีอุส --config.file=your_config.yml
อย่างไรก็ตาม เมื่อใช้ go install
เพื่อสร้าง Prometheus นั้น Prometheus จะสามารถอ่านเนื้อหาเว็บได้จากไดเร็กทอรีระบบไฟล์ในเครื่องภายใต้ web/ui/static
และ web/ui/templates
หากต้องการค้นหาเนื้อหาเหล่านี้ คุณจะต้องเรียกใช้ Prometheus จากรากของที่เก็บโคลน โปรดทราบว่าไดเร็กทอรีเหล่านี้ไม่รวม React UI เว้นแต่จะถูกสร้างขึ้นอย่างชัดเจนโดยใช้ make assets
หรือ make build
ตัวอย่างของไฟล์การกำหนดค่าข้างต้นสามารถพบได้ที่นี่
คุณยังสามารถสร้างโดยใช้ make build
ซึ่งจะคอมไพล์ในเนื้อหาเว็บเพื่อให้สามารถเรียกใช้ Prometheus ได้จากทุกที่:
สร้าง ./prometheus --config.file=your_config.yml
Makefile มีเป้าหมายหลายประการ:
build : สร้างไบนารีของ prometheus
และ promtool
(รวมถึงการสร้างและการคอมไพล์ในเนื้อหาเว็บ)
ทดสอบ : ทำการทดสอบ
test-short : รันการทดสอบระยะสั้น
format : จัดรูปแบบซอร์สโค้ด
สัตวแพทย์ : ตรวจสอบซอร์สโค้ดเพื่อดูข้อผิดพลาดทั่วไป
สินทรัพย์ : สร้าง React UI
Prometheus มาพร้อมกับปลั๊กอินการค้นหาบริการมากมาย เมื่อสร้าง Prometheus จากแหล่งที่มา คุณสามารถแก้ไขไฟล์ Plugins.yml เพื่อปิดใช้งานการค้นพบบริการบางอย่างได้ ไฟล์นี้เป็นรายการเส้นทางการนำเข้า go ที่จัดรูปแบบ yaml ซึ่งจะรวมอยู่ในไบนารีของ Prometheus
หลังจากที่คุณเปลี่ยนไฟล์แล้ว คุณต้องรัน make build
อีกครั้ง
หากคุณใช้วิธีอื่นในการคอมไพล์ Prometheus make plugins
จะสร้างไฟล์ปลั๊กอินตามลำดับ
หากคุณเพิ่มปลั๊กอินที่ไม่อยู่ในแผนผังซึ่งเราไม่รับรองในขณะนี้ อาจจำเป็นต้องมีขั้นตอนเพิ่มเติมเพื่อปรับไฟล์ go.mod
และ go.sum
และเช่นเคย โปรดใช้ความระมัดระวังเป็นพิเศษเมื่อโหลดโค้ดของบุคคลที่สาม
เป้าหมาย make docker
ได้รับการออกแบบมาเพื่อใช้ในระบบ CI ของเรา คุณสามารถสร้างอิมเมจนักเทียบท่าในเครื่องได้ด้วยคำสั่งต่อไปนี้:
ทำโปรโมชั่น โปรโมต crossbuild -p linux/amd64 สร้าง npm_licenses สร้าง common-docker-amd64
เรากำลังเผยแพร่ Remote Write protobuf อย่างอิสระที่ buf.build
คุณสามารถใช้สิ่งนั้นเป็นห้องสมุดได้:
ไปรับ buf.build/gen/go/prometheus/prometheus/protocolbuffers/go@latest
นี่คือการทดลอง
เพื่อให้เป็นไปตามกฎ go mod หมายเลขรุ่นของ Prometheus จะไม่ตรงกับรุ่นโมดูล Go ทุกประการ สำหรับการเผยแพร่ Prometheus v2.yz เรากำลังเผยแพร่แท็ก v0.yz ที่เทียบเท่ากัน
ดังนั้น ผู้ใช้ที่ต้องการใช้ Prometheus v2.35.0 เป็นไลบรารีสามารถทำได้:
ไปรับ github.com/prometheus/[email protected]
โซลูชันนี้ทำให้ชัดเจนว่าเราอาจแยก Go API ภายในของเราระหว่างรุ่นรองที่ผู้ใช้ต้องเผชิญ เนื่องจากอนุญาตให้ทำการเปลี่ยนแปลงในเวอร์ชันหลักเป็นศูนย์ได้
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการสร้าง การรัน และการพัฒนาบน UI ที่ใช้ React โปรดดูที่ README.md ของแอป React
เอกสาร Godoc มีอยู่ใน pkg.go.dev เนื่องจากลักษณะเฉพาะของ Go Modules v2.xy จะแสดงเป็น v0.xy
ดูหน้าชุมชนสำหรับวิธีเข้าถึงนักพัฒนาและผู้ใช้ Prometheus ในช่องทางการสื่อสารต่างๆ
อ้างถึง CONTRIBUTING.md
Apache License 2.0 ดูใบอนุญาต