成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

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

開發(fā) 前端
Go 語言開發(fā)的基于指標的監(jiān)控系統(tǒng) Prometheus,主要采用拉取方式收集監(jiān)控數(shù)據(jù),通過 Pushgateway 也可以采用推送方式收集監(jiān)控數(shù)據(jù)。

01 介紹

Go 語言開發(fā)的基于指標的監(jiān)控系統(tǒng) Prometheus,主要采用拉取方式收集監(jiān)控數(shù)據(jù),通過 Pushgateway 也可以采用推送方式收集監(jiān)控數(shù)據(jù)。

關(guān)于 Prometheus 的客戶端庫和 PromQL 的使用,是 Go 開發(fā)者重點需要掌握的部分。

本文我們介紹通過使用 Prometheus 官方提供的 golang 客戶端庫,使用 Counter 數(shù)據(jù)類型記錄 HTTP 接口的調(diào)用量。

02 安裝、啟動 Prometheus server

Prometheus server 可以直接使用二進制文件的方式安裝,在 Prometheus 官網(wǎng)[1]下載二進制文件,示例:

  1. 下載二進制文件。
  2. 解壓縮二進制文件。
  3. 啟動 Prometheus server。
cd ~/Download
wget https://github.com/prometheus/prometheus/releases/download/v2.48.0-rc.2/prometheus-2.48.0-rc.2.darwin-amd64.tar.gz
tar zxvf prometheus-2.48.0-rc.2.darwin-amd64.tar.gz
cd prometheus-2.48.0-rc.2.darwin-amd64
ll
total 472152
-rw-r--r--@ 1 frank  staff      11357 10 13 00:41 LICENSE
-rw-r--r--@ 1 frank  staff       3773 10 13 00:41 NOTICE
drwxr-xr-x@ 4 frank  staff        128 10 13 00:41 console_libraries
drwxr-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。

03 Golang 客戶端庫

安裝并成功啟動 Prometheus server 后,我們就可以通過 Prometheus 官方提供的 Golang 客戶端庫在我們的 Go 項目代碼埋點。

Prometheus client 支持 4 種數(shù)據(jù)類型,分別是 Counter、Gauge、Histogram 和 Summary。

本文我們以 Counter 數(shù)據(jù)類型為例,介紹如何在 Go 項目中使用 Prometheus go client 庫的函數(shù)埋點。

所謂埋點,就是在我們的 Go 項目中,導入 github.com/prometheus/client_golang/prometheus,調(diào)用庫函數(shù),記錄監(jiān)控數(shù)據(jù)。

示例代碼:

package prom

import "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)用量。

我們?yōu)?HTTP 接口定義 4 個標簽,分別是 service,code,path,method。

然后通過 /metrics 接口,讓 Prometheus server 拉取數(shù)據(jù)。

curl http://localhost:8080/metrics

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

04 修改配置文件

接下來,我們需要修改 YAML 格式的配置文件 prometheus.yaml,添加一個 job。

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。

然后重啟 Prometheus server,使修改后的配置文件生效。

05 總結(jié)

本文我們通過示例,介紹怎么使用 Prometheus 監(jiān)控 Go 項目,讀者朋友們可以參照文章,動手操作一遍。

感興趣的讀者朋友們,閱讀 Prometheus golang client[2] 官方文檔,了解更多。

責任編輯:武曉燕 來源: Golang語言開發(fā)棧
相關(guān)推薦

2022-09-04 23:24:45

Go語言監(jiān)控

2021-10-14 08:07:33

Go 應用Prometheus監(jiān)控

2022-03-14 08:25:49

云原生prometheusPushProx

2022-07-08 08:00:31

Prometheus監(jiān)控

2022-03-13 23:51:39

Web項目Go

2022-05-12 08:01:26

vmagentprometheus

2023-09-06 08:46:47

2024-06-14 08:19:45

2022-11-08 00:00:00

監(jiān)控系統(tǒng)Prometheus

2021-03-26 20:37:14

Prometheus監(jiān)控指標

2020-05-18 12:04:17

PrometheusMySQL監(jiān)控

2023-04-27 07:06:09

Categraf夜鶯

2022-08-27 21:37:57

PrometheusRedis?監(jiān)控

2020-12-30 08:09:46

運維Prometheus 監(jiān)控

2020-12-29 10:45:22

運維Prometheus-監(jiān)控

2012-09-18 10:48:47

服務器虛擬化Hypervisor虛擬化

2024-02-21 16:13:36

CNCF開源監(jiān)控工具Prometheus

2024-06-11 00:05:00

CasaOS云存儲管理

2022-03-01 16:26:09

鏈路監(jiān)控日志監(jiān)控分布式系統(tǒng)

2025-03-11 00:25:00

Springmetrics數(shù)據(jù)
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 成人欧美日韩一区二区三区 | 欧美www在线| 亚洲一区二区视频 | 中文字幕亚洲精品 | 国产午夜精品久久久久 | 一区二区在线不卡 | 中文字幕av网 | 免费高清成人 | 欧美精品在线播放 | 国产精品久久国产精品久久 | 日本久久网| 久久亚洲一区 | 成人一区精品 | 国产玖玖| 中文字幕韩在线第一页 | 成人免费网站www网站高清 | 在线色网| 亚洲成人av | 午夜电影在线播放 | 欧美视频在线免费 | 最新91在线 | 91网站在线观看视频 | 国产精品一二三区在线观看 | av网站在线免费观看 | 久久夜视频 | 欧美精品乱码久久久久久按摩 | 精品久久久久久亚洲精品 | 美女爽到呻吟久久久久 | 99免费视频 | 超碰在线97国产 | 免费观看黄a一级视频 | 国产精品久久久久久妇女6080 | 日本小电影在线 | 国产不卡一区 | 午夜视频一区二区 | 日韩国产一区 | 热re99久久精品国产99热 | 99re6在线视频精品免费 | 日韩av中文 | 亚洲一区二区精品视频 | 久久中文字幕一区 |