모니터링
Fiber의 모니터링 미들웨어를 사용하면 Express의 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,
}),
}