মনিটরিং
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,
}),
}