মনিটরিং

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 অ্যাপ্লিকেশন আরম্ভ করার পরে, আপনি নিম্নলিখিত অপশন গুলি ব্যবহার করতে পারেন:

// ডিফল্ট কনফিগারেশন দিয়ে আরম্ভ
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 }}

কনফিগারেশন

প্রপার্টি টাইপ বর্ননা ডিফল্ট
শিরোনাম string মেট্রিকস পেজের শিরোনাম "Fiber Monitor"
রিফ্রেশ time.Duration রিফ্রেশ পিরিয়ড 3 সেকেন্ড
API শুধুমাত্র bool সেবাটি কেবলমাত্র মনিটরিং API প্রদর্শন করে কি না মিথ্যা
পরবর্তী func(*fiber.Ctx) bool এটি স্কিপ করতে যে কোনও কার্যকলাপ সম্প্রদান nil
কাস্টম সিরাজ string হেডার (শেষ হয়ে রেখে) যোগ করার জন্য কাস্টম HTML কোড ফাঁকা
FontURL string Font রিসোর্স পাথ বা ইউআরএল যা FontURL দ্বারা নির্দিষ্ট করা হয় https://fonts.googleapis.com/css2?family=Roboto:wght@400;900&display=swap
ChartJsURL string ChartJS লাইব্রেরি পাথ বা ইউআরএল যা ChartJsURL দ্বারা নির্দিষ্ট করা হয় 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,
    }),
}