溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何使用Prometheus監(jiān)控Golang服務

發(fā)布時間:2021-07-30 16:36:22 來源:億速云 閱讀:484 作者:Leah 欄目:大數(shù)據(jù)

今天就跟大家聊聊有關如何使用Prometheus監(jiān)控Golang服務,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

Golang 服務程序

Golang的Web程序,我使用了YoyoGo框架,《 YoyoGo基于ASP.NET Core設計的Golang實現(xiàn) 》 可以查看這篇文章進行了解。最新也發(fā)布了最新的v1.5.0版本,下面Prometheus接口就是這個版本的新功能。想要程序能夠被監(jiān)控,就必須要將程序運行中的各項目指標暴露出來,提供給Promtheus進行信息采集,當然Prometheus也提供push的方式,本例中將使用拉的方式。我們可以使用Prometheus提供的golang客戶端暴露自身的運行時信息。代碼例子如下:

import (    "github.com/yoyofx/yoyogo/WebFramework""github.com/yoyofx/yoyogo/WebFramework/Context""github.com/yoyofx/yoyogo/WebFramework/Endpoints")func main(){
    YoyoGo.CreateDefaultBuilder(func(router Router.IRouterBuilder) {
        Endpoints.UsePrometheus(router)

        router.GET("/info", func (ctx *Context.HttpContext) {
            ctx.JSON(200, Context.M{"info": "ok"})
        })
    }).Build().Run()
}

如何使用Prometheus監(jiān)控Golang服務

訪問本地的8080端口就能看到監(jiān)控的指標,這里監(jiān)控的都是默認指標,當然你可以可以自定義你需要的量化的指標,然后暴露出來,這里就不多介紹了。

如何使用Prometheus監(jiān)控Golang服務

配置 Prometheus

在Prometheus官網(wǎng)下載后,我們來配置下 Prometheus,讓它為我們采集的Golang服務程序的監(jiān)控指標:

prometheus.yml

- job_name: 'golang'
   scrape_interval: 10s
   metrics_path: /actuator/metrics
   static_configs:
     - targets: ['localhost:8080']

啟動 Prometheus

.\prometheus.exe

啟動Promethues等待10s,Golang指標就會被采集到Promethues的時序數(shù)據(jù)庫中了,訪問 http://localhost:9090/ 得到如下效果

如何使用Prometheus監(jiān)控Golang服務Grafana

在Grafana官網(wǎng)下載后,接下來就是把這些指標在grafana圖形化展示出來:

啟動Grafana

./grafana-server

進入http://localhost:3000/ 后,配置數(shù)據(jù)源 DataSource,Dashboard直接使用了官方插件 10826 導入這個ID后,最后展示出來的效果如下:
如何使用Prometheus監(jiān)控Golang服務

看完上述內(nèi)容,你們對如何使用Prometheus監(jiān)控Golang服務有進一步的了解嗎?如果還想了解更多知識或者相關內(nèi)容,請關注億速云行業(yè)資訊頻道,感謝大家的支持。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI