监控(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,
}),
}