Pemantauan

Dengan menggunakan middleware pemantauan dari Fiber, Anda dapat melaporkan metrik server, terinspirasi oleh express-status-monitor, yang dapat memonitor CPU, memori, waktu respon permintaan, jumlah koneksi simultan, dan lainnya secara real-time.

Catatan: Monitor masih dalam fase pengujian, dan API dapat berubah di masa mendatang!

Tanda Tangan

func New() fiber.Handler

Contoh

Impor paket middleware dari kerangka kerja web Fiber

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

Setelah menginisialisasi aplikasi Fiber Anda, Anda dapat menggunakan opsi berikut:

// Inisialisasi dengan konfigurasi default (memasang middleware ke /metrics)
app.Get("/metrics", monitor.New())

// Atau perluas dengan konfigurasi kustom
// Menetapkan middleware ke /metrics
// dan mengubah judul menjadi "Halaman Metrik Layanan Saya"
app.Get("/metrics", monitor.New(monitor.Config{Title: "Halaman Metrik Layanan Saya"}))

Anda juga dapat mengakses titik akhir API menggunakan curl -X GET -H "Accept: application/json" http://localhost:3000/metrics, yang akan mengembalikan:

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

Konfigurasi

Properti Tipe Deskripsi Default
Title string Judul halaman metrik "Pemantauan Fiber"
Refresh time.Duration Periode penyegaran 3 detik
APIOnly bool Apakah layanan hanya mengekspos API pemantauan false
Next func(*fiber.Ctx) bool Next mendefinisikan fungsi yang melewati middleware ini ketika bernilai true nil
CustomHead string Kode HTML kustom untuk ditambahkan ke header (berakhir sebelum) Kosong
FontURL string Path sumber font atau URL yang ditentukan oleh FontURL https://fonts.googleapis.com/css2?family=Roboto:wght@400;900&display=swap
ChartJsURL string Path pustaka ChartJS atau URL yang ditentukan oleh ChartJsURL https://cdn.jsdelivr.net/npm/[email protected]/dist/Chart.bundle.min.js

Konfigurasi Default

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,
    }),
}