日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當前位置:首頁 > 科技  > 軟件

Go 語言開發(fā)的基于指標的監(jiān)控系統(tǒng) Prometheus

來源: 責編: 時間:2023-11-06 08:54:16 323觀看
導(dǎo)讀01 介紹Go 語言開發(fā)的基于指標的監(jiān)控系統(tǒng) Prometheus,主要采用拉取方式收集監(jiān)控數(shù)據(jù),通過 Pushgateway 也可以采用推送方式收集監(jiān)控數(shù)據(jù)。關(guān)于 Prometheus 的客戶端庫和 PromQL 的使用,是 Go 開發(fā)者重點需要掌握的部分。

01 介紹

Go 語言開發(fā)的基于指標的監(jiān)控系統(tǒng) Prometheus,主要采用拉取方式收集監(jiān)控數(shù)據(jù),通過 Pushgateway 也可以采用推送方式收集監(jiān)控數(shù)據(jù)。ho428資訊網(wǎng)——每日最新資訊28at.com

關(guān)于 Prometheus 的客戶端庫和 PromQL 的使用,是 Go 開發(fā)者重點需要掌握的部分。ho428資訊網(wǎng)——每日最新資訊28at.com

本文我們介紹通過使用 Prometheus 官方提供的 golang 客戶端庫,使用 Counter 數(shù)據(jù)類型記錄 HTTP 接口的調(diào)用量。ho428資訊網(wǎng)——每日最新資訊28at.com

02 安裝、啟動 Prometheus server

Prometheus server 可以直接使用二進制文件的方式安裝,在 Prometheus 官網(wǎng)[1]下載二進制文件,示例:ho428資訊網(wǎng)——每日最新資訊28at.com

  1. 下載二進制文件。
  2. 解壓縮二進制文件。
  3. 啟動 Prometheus server。
cd ~/Downloadwget https://github.com/prometheus/prometheus/releases/download/v2.48.0-rc.2/prometheus-2.48.0-rc.2.darwin-amd64.tar.gztar zxvf prometheus-2.48.0-rc.2.darwin-amd64.tar.gzcd prometheus-2.48.0-rc.2.darwin-amd64lltotal 472152-rw-r--r--@ 1 frank  staff      11357 10 13 00:41 LICENSE-rw-r--r--@ 1 frank  staff       3773 10 13 00:41 NOTICEdrwxr-xr-x@ 4 frank  staff        128 10 13 00:41 console_librariesdrwxr-xr-x@ 9 frank  staff        288 10 13 00:41 consoles-rwxr-xr-x@ 1 frank  staff  123733776 10 13 00:09 prometheus-rw-r--r--@ 1 frank  staff        934 10 13 00:41 prometheus.yml-rwxr-xr-x@ 1 frank  staff  117982832 10 13 00:11 promtool./prometheus --config.file=prometheus.yaml

啟動 Prometheus server 后,可以在瀏覽器訪問 http://localhost:9090/graph,查看 Prometheus 提供的可視化控制面板,也可以使用 Grafana。ho428資訊網(wǎng)——每日最新資訊28at.com

03 Golang 客戶端庫

安裝并成功啟動 Prometheus server 后,我們就可以通過 Prometheus 官方提供的 Golang 客戶端庫在我們的 Go 項目代碼埋點。ho428資訊網(wǎng)——每日最新資訊28at.com

Prometheus client 支持 4 種數(shù)據(jù)類型,分別是 Counter、Gauge、Histogram 和 Summary。ho428資訊網(wǎng)——每日最新資訊28at.com

本文我們以 Counter 數(shù)據(jù)類型為例,介紹如何在 Go 項目中使用 Prometheus go client 庫的函數(shù)埋點。ho428資訊網(wǎng)——每日最新資訊28at.com

所謂埋點,就是在我們的 Go 項目中,導(dǎo)入 github.com/prometheus/client_golang/prometheus,調(diào)用庫函數(shù),記錄監(jiān)控數(shù)據(jù)。ho428資訊網(wǎng)——每日最新資訊28at.com

示例代碼:ho428資訊網(wǎng)——每日最新資訊28at.com

package promimport "github.com/prometheus/client_golang/prometheus"var ( labelNames     = []string{"service", "code", "path", "method"} RequestCounter = prometheus.NewCounterVec(  prometheus.CounterOpts{   Name: "http_request_count_total",   Help: "Total number of HTTP requests made.",  }, labelNames, ))func init() { prometheus.MustRegister(RequestCounter)}

閱讀上面這段代碼,我們調(diào)用 prometheus.NewCounterVec(),記錄 HTTP 接口的調(diào)用量。ho428資訊網(wǎng)——每日最新資訊28at.com

我們?yōu)?HTTP 接口定義 4 個標簽,分別是 service,code,path,method。ho428資訊網(wǎng)——每日最新資訊28at.com

然后通過 /metrics 接口,讓 Prometheus server 拉取數(shù)據(jù)。ho428資訊網(wǎng)——每日最新資訊28at.com

curl http://localhost:8080/metrics// ...# HELP http_request_count_total Total number of HTTP requests made.# TYPE http_request_count_total counterhttp_request_count_total{code="200",method="GET",path="/metrics",service="example-service"} 3http_request_count_total{code="200",method="GET",path="/ping",service="example-service"} 2// ...

04 修改配置文件

接下來,我們需要修改 YAML 格式的配置文件 prometheus.yaml,添加一個 job。ho428資訊網(wǎng)——每日最新資訊28at.com

scrape_configs:  # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.  - job_name: "prometheus"    # metrics_path defaults to '/metrics'    # scheme defaults to 'http'.    static_configs:      - targets: ["localhost:9090"]  # Example service  - job_name: "example-service"    static_configs:      - targets: ["localhost:8080"]

閱讀上面這段代碼,我們在 prometheus.yaml 的 scrape_configs 部分,添加一個 job。ho428資訊網(wǎng)——每日最新資訊28at.com

然后重啟 Prometheus server,使修改后的配置文件生效。ho428資訊網(wǎng)——每日最新資訊28at.com

05 總結(jié)

本文我們通過示例,介紹怎么使用 Prometheus 監(jiān)控 Go 項目,讀者朋友們可以參照文章,動手操作一遍。ho428資訊網(wǎng)——每日最新資訊28at.com

感興趣的讀者朋友們,閱讀 Prometheus golang client[2] 官方文檔,了解更多。ho428資訊網(wǎng)——每日最新資訊28at.com

本文鏈接:http://www.www897cc.com/showinfo-26-17179-0.htmlGo 語言開發(fā)的基于指標的監(jiān)控系統(tǒng) Prometheus

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: Ydata_Profiling:自動生成數(shù)據(jù)探索報告的Python庫

下一篇: ListUtils技巧大全:提升你的Java列表操作效率

標簽:
  • 熱門焦點
  • 一加首款折疊屏!一加Open渲染圖出爐:罕見單手可握小尺寸

    8月5日消息,此前就有爆料稱,一加首款折疊屏手機將會在第三季度上市,如今隨著時間臨近,新機的各種消息也開始浮出水面。據(jù)悉,這款新機將會被命名為&ldquo;On
  • JavaScript 混淆及反混淆代碼工具

    介紹在我們開始學(xué)習反混淆之前,我們首先要了解一下代碼混淆。如果不了解代碼是如何混淆的,我們可能無法成功對代碼進行反混淆,尤其是使用自定義混淆器對其進行混淆時。什么是混
  • Rust中的高吞吐量流處理

    作者 | Noz編譯 | 王瑞平本篇文章主要介紹了Rust中流處理的概念、方法和優(yōu)化。作者不僅介紹了流處理的基本概念以及Rust中常用的流處理庫,還使用這些庫實現(xiàn)了一個流處理程序
  • 摸魚心法第一章——和配置文件說拜拜

    為了能摸魚我們團隊做了容器化,但是帶來的問題是服務(wù)配置文件很麻煩,然后大家在群里進行了“親切友好”的溝通圖片圖片圖片圖片對比就對比,簡單對比下獨立配置中心和k8s作為配
  • 十個簡單但很有用的Python裝飾器

    裝飾器(Decorators)是Python中一種強大而靈活的功能,用于修改或增強函數(shù)或類的行為。裝飾器本質(zhì)上是一個函數(shù),它接受另一個函數(shù)或類作為參數(shù),并返回一個新的函數(shù)或類。它們通常用
  • 三言兩語說透柯里化和反柯里化

    JavaScript中的柯里化(Currying)和反柯里化(Uncurrying)是兩種很有用的技術(shù),可以幫助我們寫出更加優(yōu)雅、泛用的函數(shù)。本文將首先介紹柯里化和反柯里化的概念、實現(xiàn)原理和應(yīng)用
  • 雅柏威士忌多款單品價格大跌,泥煤頂流也不香了?

    來源 | 烈酒商業(yè)觀察編 | 肖海林今年以來,威士忌市場開始出現(xiàn)了降溫跡象,越來越多不斷暴漲的網(wǎng)紅威士忌也開始悄然回歸市場理性。近日,LVMH集團旗下蘇格蘭威士忌品牌雅柏(Ardbeg
  • 自律,給不了Keep自由!

    來源 | 互聯(lián)網(wǎng)品牌官作者 | 李大為編排 | 又耳 審核 | 谷曉輝自律能不能給用戶自由暫時不好說,但大概率不能給Keep自由。近日,全球最大的在線健身平臺Keep正式登陸港交所,努力
  • 郭明錤稱華為和江淮汽車合作開發(fā)問界MPV,定價100萬左右、計劃明年量產(chǎn)

    8 月 1 日消息,郭明錤今天在 Medium 平臺發(fā)布博文,稱華為正在和江淮汽車合作,開發(fā)售價在 100 萬元的問界 MPV,預(yù)計在 2024 年第 2 季度量產(chǎn),銷量目標為
Top 主站蜘蛛池模板: 夹江县| 杂多县| 中阳县| 虎林市| 乡城县| 湛江市| 容城县| 明星| 江油市| 平南县| 峨山| 安阳市| 高台县| 繁峙县| 汕尾市| 富蕴县| 五峰| 郎溪县| 达孜县| 县级市| 天柱县| 太谷县| 定陶县| 故城县| 南溪县| 辉县市| 靖州| 保康县| 天台县| 繁峙县| 湄潭县| 南通市| 句容市| 沂水县| 田林县| 托里县| 前郭尔| 曲靖市| 洛南县| 中山市| 瑞安市|