モニタリング

Fiberのモニタリングミドルウェアを使用すると、express-status-monitorに触発されたサーバーのメトリクスをリアルタイムで監視できます。CPU、メモリ、リクエスト応答時間、同時接続数などを監視できます。

注意: モニターはまだテスト段階にあり、将来的にAPIが変更される可能性があります!

シグニチャ

func New() fiber.Handler

Fiberウェブフレームワークのミドルウェアパッケージをインポートします。

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 trueを返すとこのミドルウェアをスキップする関数を定義 nil
CustomHead string ヘッダーに追加するカスタムHTMLコード(終了も含む)
FontURL string FontURLによって指定されたフォントリソースパスまたはURL https://fonts.googleapis.com/css2?family=Roboto:wght@400;900&display=swap
ChartJsURL string ChartJsURLによって指定されたChartJSライブラリのパスまたはURL https://cdn.jsdelivr.net/npm/[email protected]/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,
    }),
}