一架梯子,一头程序猿,仰望星空!
Go Fiber教程 > 内容正文

Go Fiber监控


监控(monitor)

使用Fiber的监控中间件,可以报告服务器的指标,灵感来自于express-status-monitor,可以实时监控CPU、内存、请求响应时间、并发连接数等。

注意: Monitor仍在测试阶段,API可能会在未来改变!

签名

func New() fiber.Handler

示例

导入Fiber web框架的中间件包

import (
  "github.com/gofiber/fiber/v2"
  "github.com/gofiber/fiber/v2/middleware/monitor"
)

在你初始化Fiber应用程序之后,你可以使用以下可能性:

// 初始化默认配置(将中间件分配给/metrics)
app.Get("/metrics", monitor.New())

// 或者扩展自定义配置
// 将中间件分配给/metrics
// 并将标题更改为“MyService Metrics Page”
app.Get("/metrics", monitor.New(monitor.Config{Title: "MyService Metrics Page"}))

你还可以使用curl -X GET -H "Accept: application/json" http://localhost:3000/metrics访问API端点,它将返回:

{"pid":{ "cpu":0.4568381746582226, "ram":20516864,   "conns":3 },
 "os": { "cpu":8.759124087593099,  "ram":3997155328, "conns":44,
    "total_ram":8245489664, "load_avg":0.51 }}

配置

属性 类型 描述 默认值
Title string 指标页面标题 “Fiber Monitor”
Refresh time.Duration 刷新周期 3秒
APIOnly bool 服务是否只公开监控API false
Next func(*fiber.Ctx) bool Next定义了一个函数,返回true时跳过此中间件 nil
CustomHead string 自定义HTML代码添加到头部(结束之前)
FontURL string 指定字体资源路径或URL的FontURL https://fonts.googleapis.com/css2?family=Roboto:wght@400;900&display=swap
ChartJsURL string 指定ChartJS库路径或URL的ChartJsURL https://cdn.jsdelivr.net/npm/chart.js@2.9/dist/Chart.bundle.min.js

默认配置

var ConfigDefault = Config{
    Title:      defaultTitle,
    Refresh:    defaultRefresh,
    FontURL:    defaultFontURL,
    ChartJsURL: defaultChartJSURL,
    CustomHead: defaultCustomHead,
    APIOnly:    false,
    Next:       nil,
    index: newIndex(viewBag{
        defaultTitle,
        defaultRefresh,
        defaultFontURL,
        defaultChartJSURL,
        defaultCustomHead,
    }),
}