모니터링 API는 웹 서버, 웹 사이트 및 애플리케이션 풀에 대한 성능 및 상태 데이터를 제공합니다. 이 데이터를 사용하여 리소스가 얼마나 효과적으로 사용되고 있는지 측정할 수 있습니다.
웹 서버 모니터링(/api/webserver/monitoring)
/api/webserver/monitoring 엔드포인트는 웹 서버에 대한 집계된 성능 데이터를 노출합니다. 이러한 데이터 요소에는 네트워킹, CPU, 메모리, HTTP 요청 및 캐싱이 포함됩니다. system_in_use 같은 일부 속성을 제외하고 모든 데이터의 범위는 웹 서버로 지정됩니다. 예를 들어 private_working_set 웹 서버 작업자 프로세스에서 사용하는 메모리만 포함합니다.
예제
웹 서버 모니터링 리소스
{
"id": "{id}",
"network": {
"bytes_sent_sec": "59486",
"bytes_recv_sec": "8313",
"connection_attempts_sec": "0",
"total_bytes_sent": "4797480792",
"total_bytes_recv": "670503816",
"total_connection_attempts": "1",
"current_connections": "1"
},
"requests": {
"active": "0",
"per_sec": "64",
"total": "5197703"
},
"memory": {
"handles": "358",
"private_bytes": "9097216",
"private_working_set": "8032256",
"system_in_use": "6734737408",
"installed": "15403110400"
},
"cpu": {
"threads": "24",
"processes": "1",
"percent_usage": "0",
"system_percent_usage": "14"
},
"disk": {
"io_write_operations_sec": "1",
"io_read_operations_sec": "1",
"page_faults_sec": "0"
},
"cache": {
"file_cache_count": "2",
"file_cache_memory_usage": "699",
"file_cache_hits": "18506471",
"file_cache_misses": "46266060",
"total_files_cached": "10",
"output_cache_count": "0",
"output_cache_memory_usage": "0",
"output_cache_hits": "0",
"output_cache_misses": "18506478",
"uri_cache_count": "2",
"uri_cache_hits": "18506452",
"uri_cache_misses": "26",
"total_uris_cached": "13"
}
}
필드 설명
Network
bytes_sent_sec: 웹 서버가 마지막 1초 동안 보낸 바이트 수입니다.
bytes_recv_sec: 웹 서버가 마지막 1초 동안 받은 바이트 수입니다.
connection_attempts_sec: 마지막 1초 동안 시도된 클라이언트 연결 수입니다.
total_bytes_sent: 웹 서버가 시작된 이후 전송된 바이트 수입니다.
total_bytes_recv: 웹 서버가 시작된 이후 받은 바이트 수입니다.
total_connection_attempts: 웹 서버가 시작된 이후 시도한 클라이언트 연결 수입니다.
current_connections: 웹 서버에서 열려 있는 활성 연결의 수입니다.
요청
활성: 현재 웹 서버에서 처리 중인 요청 수입니다.
per_sec: 지난 1초 동안 처리된 요청 수입니다.
total: 웹 서버가 시작된 이후 처리된 요청 수입니다.
메모리
handles: 현재 웹 서버 프로세스에서 열려 있는 핸들의 수입니다.
private_bytes: 모든 웹 서버 프로세스에서 사용되는 총 프라이빗 바이트입니다.
private_working_set: 모든 웹 서버 프로세스에서 사용되는 총 프라이빗 작업 집합입니다.
system_in_use: 전체 시스템에서 사용 중인 총 메모리입니다.
installed: 설치된 총 메모리입니다.
CPU
threads: 현재 웹 서버 프로세스에서 활성 상태인 스레드 수입니다.
process: 웹 서버에서 요청을 처리하는 데 사용하는 프로세스의 수입니다.
percent_usage: 웹 서버 프로세스에서 사용되는 CPU의 백분율입니다.
system_percent_usage: 전체 시스템에서 사용되는 CPU의 백분율입니다.
디스크
io_write_operations_sec: 마지막 1초 동안 모든 웹 서버 프로세스에서 수행한 쓰기 작업 수입니다.
io_read_operations_sec: 마지막 1초 동안 모든 웹 서버 프로세스에서 수행한 읽기 작업 수입니다.
page_faults_sec: 마지막 1초 동안 모든 웹 서버 프로세스에서 발생한 페이지 오류 수입니다.
Cache
file_cache_count: 콘텐츠가 사용자 모드 캐시에 있는 파일의 현재 수입니다.
file_cache_memory_usage: 사용자 모드 파일 캐시에 사용되는 현재 바이트 수입니다.
file_cache_hits: 웹 서버가 시작된 이후 사용자 모드 파일 캐시의 성공적인 조회 수입니다.
file_cache_misses: 웹 서버가 시작된 이후 사용자 모드 파일 캐시에서 실패한 조회 횟수입니다.
total_files_cached: 웹 서버가 시작된 이후 콘텐츠가 사용자 모드 캐시에 추가된 파일 수입니다.
output_cache_count: 현재 항목 수가 출력 캐시에 있습니다.
output_cache_memory_usage: 출력 캐시에 사용되는 현재 바이트 수입니다.
output_cache_hits: 웹 서버가 시작된 이후 출력 캐시의 성공적인 조회 수입니다.
output_cache_misses: 웹 서버가 시작된 이후 출력 캐시에서 실패한 조회 수입니다.
uri_cache_count: 현재 사용자 모드 캐시에 있는 URI 정보 블록 수입니다.
uri_cache_hits: 웹 서버가 시작된 이후 사용자 모드 URI 캐시에서 성공한 조회 횟수입니다.
uri_cache_misses: 웹 서버가 시작된 이후 사용자 모드 URI 캐시에서 실패한 조회 횟수입니다.
total_uris_cached: 웹 서버가 시작된 이후 사용자 모드 캐시에 추가된 URI 정보 블록 수입니다.
웹 사이트 모니터링(/api/webserver/websites/monitoring/{id})
/api/webserver/websites/monitoring 엔드포인트는 개별 웹 사이트에 대한 성능 데이터를 노출합니다. 데이터는 웹 서버 모니터링 리소스에서 사용할 수 있는 것과 비슷합니다.
참고: 이 데이터에는 웹 사이트가 실행되는 애플리케이션 풀의 정보가 포함됩니다. 여러 웹 사이트가 동일한 애플리케이션 풀에서 실행되는 경우 애플리케이션 풀에서 가져온 웹 사이트 데이터가 잘못되었을 수 있습니다. 웹 사이트 수준에서 정확한 성능 측정을 위해 애플리케이션 풀당 하나의 사이트를 할당합니다.
예제
웹 사이트 모니터링 리소스
{
"id": "{id}",
"uptime": "88170",
"network": {
"bytes_sent_sec": "31280",
"bytes_recv_sec": "4371",
"connection_attempts_sec": "0",
"total_bytes_sent": "4939609870",
"total_bytes_recv": "690368010",
"total_connection_attempts": "1",
"current_connections": "1"
},
"requests": {
"active": "0",
"per_sec": "33",
"total": "5351689"
},
"memory": {
"handles": "358",
"private_bytes": "9097216",
"private_working_set": "8032256",
"system_in_use": "6704680960",
"installed": "15403110400"
},
"cpu": {
"percent_usage": "0",
"threads": "24",
"processes": "1"
},
"disk": {
"io_write_operations_sec": "1",
"io_read_operations_sec": "1",
"page_faults_sec": "0"
},
"cache": {
"file_cache_count": "2",
"file_cache_memory_usage": "699",
"file_cache_hits": "10703511",
"file_cache_misses": "26758783",
"total_files_cached": "2",
"output_cache_count": "0",
"output_cache_memory_usage": "0",
"output_cache_hits": "0",
"output_cache_misses": "10703512",
"uri_cache_count": "2",
"uri_cache_hits": "10703508",
"uri_cache_misses": "4",
"total_uris_cached": "2"
},
"website": {
"name": "Default Web Site",
"id": "{id}",
"status": "started"
}
}
필드 설명
대부분의 필드는 웹 서버 리소스와 동일합니다. 아래에 표시된 대로 몇 가지 추가 필드가 있습니다.
uptime: 웹 사이트가 시작된 후 경과된 시간(초)입니다.
웹 사이트: 데이터가 속한 웹 사이트 리소스입니다.
애플리케이션 풀 모니터링(/api/webserver/application-pools/monitoring/{id})
/api/webserver/application-pools/모니터링 엔드포인트는 개별 애플리케이션 풀에 대한 성능 데이터를 노출합니다. 데이터는 웹 서버 모니터링 리소스에서 사용할 수 있는 것과 비슷합니다. 웹 서버에 있는 일부 속성은 애플리케이션 풀의 컨텍스트에서 사용할 수 없습니다.
예제
애플리케이션 풀 모니터링 리소스
{
"id": "{id}",
"requests": {
"active": "0",
"per_sec": "76",
"total": "5371766"
},
"memory": {
"handles": "358",
"private_bytes": "9097216",
"private_working_set": "8032256",
"system_in_use": "6742872064",
"installed": "15403110400"
},
"cpu": {
"percent_usage": "0",
"threads": "24",
"processes": "1"
},
"disk": {
"io_write_operations_sec": "0",
"io_read_operations_sec": "0",
"page_faults_sec": "0"
},
"cache": {
"file_cache_count": "2",
"file_cache_memory_usage": "699",
"file_cache_hits": "10743531",
"file_cache_misses": "26858833",
"total_files_cached": "2",
"output_cache_count": "0",
"output_cache_memory_usage": "0",
"output_cache_hits": "0",
"output_cache_misses": "10743532",
"uri_cache_count": "2",
"uri_cache_hits": "10743528",
"uri_cache_misses": "4",
"total_uris_cached": "2"
},
"application_pool": {
"name": "DefaultAppPool",
"id": "{id}",
"status": "started"
}
}