监控
用于 Fiber 的监控中间件,用于报告服务器指标,灵感来自 express-status-monitor
安装
此中间件支持 Fiber v3。
go get -u github.com/gofiber/fiber/v3
go get -u github.com/gofiber/contrib/monitor
签名
monitor.New(config ...monitor.Config) fiber.Handler
配置
属性 | 类型 | 描述 | 默认值 |
---|---|---|---|
标题 | string | 指标页面标题。 | Fiber 监控 |
刷新 | time.Duration | 刷新周期。 | 3 秒 |
仅 API | bool | 服务是否仅暴露监控 API。 | false |
下一个 | func(c *fiber.Ctx) bool | 定义一个函数来添加自定义字段。 | nil |
自定义 Head | string | 添加到 Head 部分的自定义 HTML 代码(结束之前)。 | 空 |
字体 URL | string | 特殊字体资源的路径或 URL。也可以使用相对路径。 | https://fonts.googleapis.com/css2?family=Roboto:wght@400;900&display=swap |
Chart.js URL | string | Chart.js 库的路径或 URL。也可以使用相对路径。 | https://cdn.jsdelivr.net.cn/npm/chart.js@2.9/dist/Chart.bundle.min.js |
示例
package main
import (
"log"
"github.com/gofiber/fiber/v3"
"github.com/gofiber/contrib/monitor"
)
func main() {
app := fiber.New()
// Initialize default config (Assign the middleware to /metrics)
app.Get("/metrics", monitor.New())
// Or extend your config for customization
// Assign the middleware to /metrics
// and change the Title to `MyService Metrics Page`
app.Get("/metrics", monitor.New(monitor.Config{Title: "MyService Metrics Page"}))
log.Fatal(app.Listen(":3000"))
}
默认配置
var ConfigDefault = Config{
Title: defaultTitle,
Refresh: defaultRefresh,
FontURL: defaultFontURL,
ChartJsURL: defaultChartJSURL,
CustomHead: defaultCustomHead,
APIOnly: false,
Next: nil,
}