請造訪 prometheus.io 以取得完整的文件、範例和指南。
Prometheus 是雲端原生運算基金會項目,是一個系統和服務監控系統。它以給定的時間間隔從配置的目標收集指標,評估規則表達式,顯示結果,並可以在觀察到指定條件時觸發警報。
Prometheus 與其他指標和監控系統的差異在於:
多維資料模型(由指標名稱和鍵/值維度集定義的時間序列)
PromQL,一種強大而靈活的查詢語言,可以利用這種維度
不依賴分散式儲存;單一伺服器節點是自治的
用於時間序列收集的 HTTP拉模型
透過批次作業的中間網關支援推送時間序列
透過服務發現或靜態配置發現目標
多種圖形和儀表板支援模式
支持分層和水平聯合
安裝 Prometheus 有多種方法。
prometheus.io 上的下載部分提供了已發布版本的預編譯二進位。使用最新的生產版本二進位是安裝 Prometheus 的建議方法。有關所有詳細信息,請參閱文檔中的安裝章節。
Docker 映像可在 Quay.io 或 Docker Hub 上取得。
您可以啟動 Prometheus 容器來嘗試它
docker run --name prometheus -d -p 127.0.0.1:9090:9090 舞會/普羅米修斯
現在可以透過 http://localhost:9090/ 存取 Prometheus。
要從原始程式碼建立 Prometheus,您需要:
Go 版本 1.17 或更高版本。
NodeJS 版本 16 或更高版本。
npm 版本 7 或更高版本。
首先克隆儲存庫:
git 克隆 https://github.com/prometheus/prometheus.gitcd prometheus
您可以使用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
下的本機檔案系統目錄讀取其 Web 資源。為了找到這些資產,您必須從克隆儲存庫的根目錄中執行 Prometheus。另請注意,這些目錄不包含 React UI,除非它是使用make assets
或make build
明確建構的。
可以在此處找到上述設定檔的範例。
您還可以使用make build
進行構建,它將在 Web 資產中進行編譯,以便 Prometheus 可以從任何地方運行:
進行建構 ./prometheus --config.file=your_config.yml
Makefile 提供了幾個目標:
build :建立prometheus
和promtool
二進位(包括在 Web 資產中建置和編譯)
測試:運行測試
test-short :執行簡短測試
format :格式化原始碼
vet :檢查原始碼中的常見錯誤
資產:建立 React UI
Prometheus 捆綁了許多服務發現插件。從原始程式碼建立 Prometheus 時,您可以編輯 plugins.yml 檔案以停用某些服務發現。該檔案是 yaml 格式的 go 匯入路徑列表,將內建到 Prometheus 二進位檔案中。
更改檔案後,需要再次執行make build
。
如果您使用其他方法編譯 Prometheus, make plugins
將產生相應的插件檔案。
如果您新增樹外外掛程式(我們目前不認可),則可能需要額外的步驟來調整go.mod
和go.sum
檔。與往常一樣,載入第三方程式碼時要格外小心。
make docker
目標是專為在我們的 CI 系統中使用而設計的。您可以使用以下命令在本機上建置 docker 映像:
製作普羅穆 promu crossbuild -p linux/amd64 製作 npm_licenses 製作通用 docker-amd64
我們正在 buf.build 上獨立發布遠端寫入 protobuf。
您可以將其用作庫:
去取得 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,因為主要版本 0 中允許進行重大更改。
有關在基於 React 的 UI 上建置、運行和開發的更多信息,請參閱 React 應用程式的 README.md。
Godoc 文件可透過 pkg.go.dev 取得。由於Go模組的特殊性,v2.xy將顯示為v0.xy
請參閱社群頁面,了解如何透過各種溝通管道聯絡 Prometheus 開發人員和使用者。
參考 CONTRIBUTING.md
Apache 許可證 2.0,請參閱許可證。