Diagnostic - Create Or Update
새 진단을 만들거나 기존 진단을 업데이트합니다.
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/diagnostics/{diagnosticId}?api-version=2021-08-01
URI 매개 변수
Name | In(다음 안에) | 필수 | 형식 | Description |
---|---|---|---|---|
diagnostic
|
path | True |
string minLength: 1maxLength: 80 pattern: ^[^*#&+:<>?]+$ |
진단 식별자입니다. 현재 API Management 서비스 인스턴스에서 고유해야 합니다. |
resource
|
path | True |
string |
리소스 그룹의 이름입니다. |
service
|
path | True |
string minLength: 1maxLength: 50 pattern: ^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$ |
API Management 서비스의 이름입니다. |
subscription
|
path | True |
string |
Microsoft Azure 구독을 고유하게 식별하는 구독 자격 증명입니다. 구독 ID는 모든 서비스 호출에 대한 URI의 일부를 형성합니다. |
api-version
|
query | True |
string |
클라이언트 요청과 함께 사용할 API의 버전입니다. |
요청 헤더
Name | 필수 | 형식 | Description |
---|---|---|---|
If-Match |
string |
엔터티의 ETag입니다. 엔터티를 만들 때는 필요하지 않지만 엔터티를 업데이트할 때 필요합니다. |
요청 본문
Name | 필수 | 형식 | Description |
---|---|---|---|
properties.loggerId | True |
string |
대상 로거의 리소스 ID입니다. |
properties.alwaysLog |
적용할 메시지 샘플링 설정 유형을 지정합니다. |
||
properties.backend |
백 엔드로 들어오는/나가는 HTTP 메시지에 대한 진단 설정 |
||
properties.frontend |
게이트웨이로 들어오는/나가는 HTTP 메시지에 대한 진단 설정입니다. |
||
properties.httpCorrelationProtocol |
Application Insights 진단에 사용할 상관 관계 프로토콜을 설정합니다. |
||
properties.logClientIp |
boolean |
ClientIP를 기록합니다. 기본값은 false입니다. |
|
properties.metrics |
boolean |
메트릭 내보내기 정책을 통해 사용자 지정 메트릭을 내보낸다. Application Insights 진단 설정에만 적용됩니다. |
|
properties.operationNameFormat |
Application Insights 원격 분석에 대한 작업 이름의 형식입니다. 기본값은 Name입니다. |
||
properties.sampling |
진단에 대한 샘플링 설정입니다. |
||
properties.verbosity |
추적 정책에서 내보낸 추적에 적용되는 세부 정보 수준입니다. |
응답
Name | 형식 | Description |
---|---|---|
200 OK |
진단이 성공적으로 업데이트됨 헤더 ETag: string |
|
201 Created |
진단이 성공적으로 생성되었습니다. 헤더 ETag: string |
|
Other Status Codes |
작업이 실패한 이유를 설명하는 오류 응답입니다. |
보안
azure_auth
Azure Active Directory OAuth2 Flow.
형식:
oauth2
Flow:
implicit
권한 부여 URL:
https://login.microsoftonline.com/common/oauth2/authorize
범위
Name | Description |
---|---|
user_impersonation | 사용자 계정 가장 |
예제
ApiManagementCreateDiagnostic
샘플 요청
PUT https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/diagnostics/applicationinsights?api-version=2021-08-01
{
"properties": {
"alwaysLog": "allErrors",
"loggerId": "/loggers/azuremonitor",
"sampling": {
"samplingType": "fixed",
"percentage": 50
},
"frontend": {
"request": {
"headers": [
"Content-type"
],
"body": {
"bytes": 512
}
},
"response": {
"headers": [
"Content-type"
],
"body": {
"bytes": 512
}
}
},
"backend": {
"request": {
"headers": [
"Content-type"
],
"body": {
"bytes": 512
}
},
"response": {
"headers": [
"Content-type"
],
"body": {
"bytes": 512
}
}
}
}
}
샘플 응답
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/diagnostics/applicationinsights",
"type": "Microsoft.ApiManagement/service/diagnostics",
"name": "applicationinsights",
"properties": {
"alwaysLog": "allErrors",
"loggerId": "/loggers/azuremonitor",
"sampling": {
"samplingType": "fixed",
"percentage": 50
},
"frontend": {
"request": {
"headers": [
"Content-type"
],
"body": {
"bytes": 512
}
},
"response": {
"headers": [
"Content-type"
],
"body": {
"bytes": 512
}
}
},
"backend": {
"request": {
"headers": [
"Content-type"
],
"body": {
"bytes": 512
}
},
"response": {
"headers": [
"Content-type"
],
"body": {
"bytes": 512
}
}
}
}
}
{
"id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/diagnostics/applicationinsights",
"type": "Microsoft.ApiManagement/service/diagnostics",
"name": "applicationinsights",
"properties": {
"alwaysLog": "allErrors",
"loggerId": "/loggers/applicationinsights",
"sampling": {
"samplingType": "fixed",
"percentage": 50
},
"frontend": {
"request": {
"headers": [
"Content-type"
],
"body": {
"bytes": 512
}
},
"response": {
"headers": [
"Content-type"
],
"body": {
"bytes": 512
}
}
},
"backend": {
"request": {
"headers": [
"Content-type"
],
"body": {
"bytes": 512
}
},
"response": {
"headers": [
"Content-type"
],
"body": {
"bytes": 512
}
}
}
}
}
정의
Name | Description |
---|---|
Always |
적용할 메시지 샘플링 설정 유형을 지정합니다. |
Body |
본문 로깅 설정입니다. |
Data |
|
Data |
|
Data |
데이터 마스킹 모드입니다. |
Diagnostic |
진단 세부 정보입니다. |
Error |
오류 필드 계약입니다. |
Error |
오류 응답입니다. |
Http |
Application Insights 진단에 사용할 상관 관계 프로토콜을 설정합니다. |
Http |
Http 메시지 진단 설정입니다. |
Operation |
Application Insights 원격 분석에 대한 작업 이름의 형식입니다. 기본값은 Name입니다. |
Pipeline |
게이트웨이로 들어오는/나가는 HTTP 메시지에 대한 진단 설정입니다. |
Sampling |
진단에 대한 샘플링 설정입니다. |
Sampling |
샘플링 유형입니다. |
Verbosity |
추적 정책에서 내보낸 추적에 적용되는 세부 정보 수준입니다. |
AlwaysLog
적용할 메시지 샘플링 설정 유형을 지정합니다.
값 | Description |
---|---|
allErrors |
샘플링 설정에 관계없이 항상 모든 잘못된 요청을 기록합니다. |
BodyDiagnosticSettings
본문 로깅 설정입니다.
Name | 형식 | Description |
---|---|---|
bytes |
integer (int32) maximum: 8192 |
기록할 요청 본문 바이트 수입니다. |
DataMasking
Name | 형식 | Description |
---|---|---|
headers |
헤더에 대한 마스킹 설정 |
|
queryParams |
Url 쿼리 매개 변수에 대한 마스킹 설정 |
DataMaskingEntity
Name | 형식 | Description |
---|---|---|
mode |
데이터 마스킹 모드입니다. |
|
value |
string |
마스킹할 엔터티의 이름(예: 헤더 또는 쿼리 매개 변수의 이름)입니다. |
DataMaskingMode
데이터 마스킹 모드입니다.
값 | Description |
---|---|
Hide |
엔터티의 존재를 숨깁니다. |
Mask |
엔터티 값을 마스킹합니다. |
DiagnosticContract
진단 세부 정보입니다.
Name | 형식 | Description |
---|---|---|
id |
string |
리소스에 대한 정규화된 리소스 ID입니다. 예 - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} |
name |
string |
리소스의 이름 |
properties.alwaysLog |
적용할 메시지 샘플링 설정 유형을 지정합니다. |
|
properties.backend |
백 엔드로 들어오는/나가는 HTTP 메시지에 대한 진단 설정 |
|
properties.frontend |
게이트웨이로 들어오는/나가는 HTTP 메시지에 대한 진단 설정입니다. |
|
properties.httpCorrelationProtocol |
Application Insights 진단에 사용할 상관 관계 프로토콜을 설정합니다. |
|
properties.logClientIp |
boolean |
ClientIP를 기록합니다. 기본값은 false입니다. |
properties.loggerId |
string |
대상 로거의 리소스 ID입니다. |
properties.metrics |
boolean |
메트릭 내보내기 정책을 통해 사용자 지정 메트릭을 내보낸다. Application Insights 진단 설정에만 적용됩니다. |
properties.operationNameFormat |
Application Insights 원격 분석에 대한 작업 이름의 형식입니다. 기본값은 Name입니다. |
|
properties.sampling |
진단에 대한 샘플링 설정입니다. |
|
properties.verbosity |
추적 정책에서 내보낸 추적에 적용되는 세부 정보 수준입니다. |
|
type |
string |
리소스의 형식입니다. 예: "Microsoft.Compute/virtualMachines" 또는 "Microsoft.Storage/storageAccounts" |
ErrorFieldContract
오류 필드 계약입니다.
Name | 형식 | Description |
---|---|---|
code |
string |
속성 수준 오류 코드입니다. |
message |
string |
사람이 읽을 수 있는 속성 수준 오류 표현입니다. |
target |
string |
속성 이름입니다. |
ErrorResponse
오류 응답입니다.
Name | 형식 | Description |
---|---|---|
error.code |
string |
서비스 정의 오류 코드입니다. 이 코드는 응답에 지정된 HTTP 오류 코드의 하위 상태로 사용됩니다. |
error.details |
유효성 검사 오류가 발생한 경우 요청에 잘못된 필드 보내기 목록입니다. |
|
error.message |
string |
사람이 읽을 수 있는 오류 표현입니다. |
HttpCorrelationProtocol
Application Insights 진단에 사용할 상관 관계 프로토콜을 설정합니다.
값 | Description |
---|---|
Legacy |
요청 상관 관계 데이터를 사용하여 Request-Id 및 Request-Context 헤더를 삽입합니다. https://github.com/dotnet/corefx/blob/master/src/System.Diagnostics.DiagnosticSource/src/HttpCorrelationProtocol.md참조하세요. |
None |
상관 관계 헤더를 읽고 삽입하지 마세요. |
W3C |
추적 컨텍스트 헤더를 삽입합니다. https://w3c.github.io/trace-context참조하세요. |
HttpMessageDiagnostic
Http 메시지 진단 설정입니다.
Name | 형식 | Description |
---|---|---|
body |
본문 로깅 설정입니다. |
|
dataMasking |
데이터 마스킹 설정입니다. |
|
headers |
string[] |
기록할 HTTP 헤더의 배열입니다. |
OperationNameFormat
Application Insights 원격 분석에 대한 작업 이름의 형식입니다. 기본값은 Name입니다.
값 | Description |
---|---|
Name |
API_NAME; rev=API_REVISION - OPERATION_NAME |
Url |
HTTP_VERB URL |
PipelineDiagnosticSettings
게이트웨이로 들어오는/나가는 HTTP 메시지에 대한 진단 설정입니다.
Name | 형식 | Description |
---|---|---|
request |
요청에 대한 진단 설정입니다. |
|
response |
응답에 대한 진단 설정입니다. |
SamplingSettings
진단에 대한 샘플링 설정입니다.
Name | 형식 | Description |
---|---|---|
percentage |
number (double) minimum: 0maximum: 100 |
고정 비율 샘플링에 대한 샘플링 비율입니다. |
samplingType |
샘플링 유형입니다. |
SamplingType
샘플링 유형입니다.
값 | Description |
---|---|
fixed |
고정 비율 샘플링. |
Verbosity
추적 정책에서 내보낸 추적에 적용되는 세부 정보 수준입니다.
값 | Description |
---|---|
error |
'심각도'가 'error'로 설정된 추적만 이 진단 인스턴스에 연결된 로거로 전송됩니다. |
information |
'심각도'가 'information' 및 'error'로 설정된 추적은 이 진단 인스턴스에 연결된 로거로 전송됩니다. |
verbose |
추적 정책에서 내보낸 모든 추적은 이 진단 인스턴스에 연결된 로거로 전송됩니다. |