metrics¶
/usr/local/m2/setting.json
다음 영역에 대해 기술한다.
{
"env": {
"metrics": {
...
}
}
}
export¶
메트릭 노출 정책을 구성한다.
white¶
설정된 메트릭만을 노출한다.
"white": {
"enable": true,
"list": [
"m2_cache_tcp_client_instant_miss",
"m2_cache_tcp_client_refresh_miss",
"m2_cache_tcp_deny",
"m2_cache_tcp_error",
"m2_cache_tcp_hit",
"m2_cache_tcp_hitratio_requests",
"m2_cache_tcp_ims_hit",
"m2_cache_tcp_miss",
"m2_cache_tcp_negative_hit",
"m2_cache_tcp_redirect_hit",
"m2_cache_tcp_refresh_fail_hit",
"m2_cache_tcp_refresh_hit",
"m2_cache_tcp_refresh_miss",
"m2_dims_commands",
"m2_dims_complete",
"m2_dims_complete_seconds",
"m2_dims_dest_format",
"m2_dims_dest_height_total",
"m2_dims_dest_size_bytes",
"m2_dims_fail",
"m2_dims_init_seconds",
"m2_dims_requests",
"m2_dims_src_format",
"m2_dims_src_height_total",
"m2_dims_src_size_bytes",
"m2_dims_wait_queue",
"m2_http_backend_receive_size_bytes",
"m2_http_backend_requests",
"m2_http_backend_responses",
"m2_http_backend_send_size_bytes",
"m2_http_backend_tx_abort",
"m2_http_backend_tx_complete",
"m2_http_backend_tx_complete_seconds",
"m2_http_backend_tx_ttfb_seconds",
"m2_http_frontend_receive_size_bytes",
"m2_http_frontend_requests",
"m2_http_frontend_requests_bypass",
"m2_http_frontend_responses",
"m2_http_frontend_send_size_bytes",
"m2_http_frontend_tx_abort",
"m2_http_frontend_tx_complete",
"m2_http_frontend_tx_complete_seconds",
"m2_http_frontend_tx_ttfb_seconds",
"m2_pagefx_complete",
"m2_pagefx_complete_seconds",
"m2_pagefx_fail",
"m2_pagefx_gif2video_dest_size_bytes",
"m2_pagefx_gif2video_match",
"m2_pagefx_gif2video_src_size_bytes",
"m2_pagefx_isolstyle_resource",
"m2_pagefx_optimg_dest_size_bytes",
"m2_pagefx_optimg_match",
"m2_pagefx_optimg_maxwidth",
"m2_pagefx_optimg_src_size_bytes",
"m2_pagefx_optimg_usemap",
"m2_pagefx_requests",
"m2_pagefx_splitimg_match",
"m2_pagefx_splitimg_produce",
"m2_pagefx_wait_queue",
"m2_transcoder_complete",
"m2_transcoder_complete_seconds",
"m2_transcoder_dest_size_bytes",
"m2_transcoder_fail",
"m2_transcoder_perform_seconds",
"m2_transcoder_presets",
"m2_transcoder_requests",
"m2_transcoder_src_format",
"m2_transcoder_src_height_total",
"m2_transcoder_src_size_bytes",
"m2_transcoder_wait_queue"
]
}
enable (기본: true)
false
모든 메트릭을 노출한다.
true (기본)
노출할 메트릭을 선택한다.
list
노출할 메트릭 리스트. 간단한
*
표현만 지원한다.
동작방식과 예제는 아래과 같다.
일치하는 메트릭 이름만 명시된다면 관련 메트릭이 모두 노출된다.
# m2_http_frontend_tx_ttfb_seconds_bucket m2_http_frontend_tx_ttfb_seconds_bucket{vhost="foo.com", le="0.001"} 0 m2_http_frontend_tx_ttfb_seconds_bucket{vhost="foo.com", le="0.005"} 0 m2_http_frontend_tx_ttfb_seconds_bucket{vhost="foo.com", le="0.01"} 0 m2_http_frontend_tx_ttfb_seconds_bucket{vhost="foo.com", le="0.05"} 0 m2_http_frontend_tx_ttfb_seconds_bucket{vhost="foo.com", le="0.1"} 0 m2_http_frontend_tx_ttfb_seconds_bucket{vhost="foo.com", le="0.5"} 0 m2_http_frontend_tx_ttfb_seconds_bucket{vhost="foo.com", le="1"} 0 m2_http_frontend_tx_ttfb_seconds_bucket{vhost="foo.com", le="5"} 0 m2_http_frontend_tx_ttfb_seconds_bucket{vhost="foo.com", le="10"} 0 m2_http_frontend_tx_ttfb_seconds_bucket{vhost="foo.com", le="+Inf"} 0 m2_http_frontend_tx_ttfb_seconds_sum{vhost="foo.com"} 0.000000 m2_http_frontend_tx_ttfb_seconds_count{vhost="foo.com"} 0
함수 단위로 메트릭을 노출한다.
# m2_http_backend_* m2_http_backend_send_size_bytes{host="foo.com"} 0 m2_http_backend_sessions_establish{host="foo.com"} 0 m2_http_backend_tx_active{host="foo.com"} 0 m2_http_backend_tx_abort_total{host="foo.com"} 0 m2_http_backend_tx_complete_total{host="foo.com"} 0
특정 가상호스트 메트릭을 모두 노출한다.
# *vhost=\"foo.com\"* m2_http_frontend_send_size_bytes{vhost="foo.com"} 0 m2_dims_wait_queue{vhost="foo.com"} 0 m2_pagefx_complete_seconds{vhost="foo.com"} 0
특정 가상호스트가 제공하는 함수 메트릭만을 노출한다.
# m2_http_*=\"foo.com\"* m2_http_frontend_send_size_bytes{vhost="foo.com"} 0 m2_http_backend_receive_size_bytes{host="foo.com"} 0
chaining¶
메트릭 중 함수체인 호출에 영향을 주는 메트릭을 구성한다.
throttling¶
유입조절에 필요한 기준 지표를 설정한다.
cpu¶
CPU 사용량 측정 기준을 설정한다.
# chaining.throttling
"cpu": {
"duration": "15s"
}
duration (기준: 15초)
설정된 시간동안의 평균 CPU 사용량을 유입조절의 기준으로 한다.