생성¶
POST /api/v1/blacklist/add
개요¶
블랙리스트를 생성합니다.
라우팅 파라미터¶
| 파라미터명 | 유형 | 필수 | 설명 |
|---|---|---|---|
| name | string | Y | 이름 (2024-11-27 릴리즈에서 추가) 빈 값 허용: False 빈 문자열 허용: False 최대 길이: 50 |
| desc | string | Y | 설명 (2024-11-27 릴리즈에서 추가) 예시: 설명1 빈 값 허용: False 빈 문자열 허용: True 최대 길이: 256 |
| type | string | Y | 블랙리스트 유형, 열거형 값 유형은 ('object', 'custom_object', 'logging', 'keyevent', 'tracing', 'rum', 'network', 'security', 'profiling', 'metric') 빈 값 허용: False |
| source | string | Y | 데이터 소스, 전체 소스인 경우 source는 re(.*)입니다.빈 값 허용: True 빈 문자열 허용: False $maxCharacterLength: 128 |
| sources | array | Y | 데이터 소스, 여러 소스인 경우 이 필드를 사용하며, 전체 소스가 아닌 경우에 해당합니다(전체 소스는 source 필드에 re(.*) 사용).빈 값 허용: True |
| filters | array | Y | 필터 조건 빈 값 허용: True |
파라미터 추가 설명¶
1. 요청 본문 필드 설명
| 파라미터명 | type | 필수 | 설명 |
|---|---|---|---|
| name | string | Y | 이름 (2024-11-27 릴리즈에서 추가) |
| desc | string | N | 설명 (2024-11-27 릴리즈에서 추가) |
| type | string | Y | 열거형 값 유형('object', 'custom_object', 'logging', 'keyevent', 'tracing', 'rum', 'network', 'security', 'profiling', 'metric') |
| source | string | N | 데이터 소스, 전체 소스인 경우 source는 re(.*)입니다. |
| sources | array | N | 데이터 소스, 2024-10-16 릴리즈에서 추가된 필드로, 여러 소스 선택을 지원합니다. 소스가 전체 소스가 아닌 경우 이 필드를 사용할 수 있으며, sources는 source 필드보다 우선 적용됩니다. |
| filter | array | N | 필터 조건 |
2. source 필드 설명
블랙리스트의 필터 조건 생성 시 type 유형에 따라 파라미터 source 필드의 key가 대체됩니다.
| type | 필터 조건 생성 시 source 필드에 해당하는 key |
|---|---|
| object | class |
| logging | source |
| custom_object | class |
| keyevent | source |
| tracing | service |
| rum | app_id |
| network | source |
| security | category |
| profiling | service |
| metric | measurement |
3. filters 배열 요소 필드 설명
| 파라미터명 | type | 필수 | 설명 |
|---|---|---|---|
| name | string | N | 필터 조건명 |
| operation | string | N | 수행할 연산 (예: in, not_in, match, not_match) |
| condition | string | N | dql 형식의 필터 조건 |
| values | array | N | 쿼리 조건의 구체적인 값 |
4. operation 설명 라인 프로토콜 필터 참고
| key | 설명 |
|---|---|
| in | 지정된 필드가 목록에 있는 경우 |
| not_in | 지정된 필드가 목록에 없는 경우 |
| match | 정규식 일치 |
| not_match | 정규식 불일치 |
**filters 예시는 다음과 같습니다.
filters:[
{
"name":"host",
"value":[
"host1", "host2"
],
"operation":"in",
"condition":"and"
},
{
"name":"status",
"value":[
"a*"
],
"operation":"match",
"condition":"and"
}
]
요청 예시¶
curl 'https://openapi.guance.com/api/v1/blacklist/add' \
-H 'DF-API-KEY: <DF-API-KEY>' \
-H 'Content-Type: application/json;charset=UTF-8' \
--data-raw '{"name":"Rule1","desc":"","type":"logging","source":"kodo-log","filters":[{"name":"host","value":["127.0.0.1"],"operation":"in","condition":"and"}]}' \
--compressed
응답¶
{
"code": 200,
"content": {
"conditions": "{ source = 'kodo-log' and ( host in [ '127.0.0.1' ] )}",
"createAt": 1678029404,
"creator": "xxxx",
"deleteAt": -1,
"desc": "",
"filters": [
{
"condition": "and",
"name": "host",
"operation": "in",
"value": [
"127.0.0.1"
]
}
],
"id": null,
"name": "Rule1",
"source": "kodo-log",
"status": 0,
"type": "logging",
"updateAt": 1678029404,
"updator": "xxxx",
"uuid": "blist_xxxx32",
"workspaceUUID": "wksp_xxxx32"
},
"errorCode": "",
"message": "",
"success": true,
"traceId": "TRACE-1C3DFE84-E7AD-4956-B363-8BB7EB3CD5A4"
}