콘텐츠로 이동

DQL 데이터 조회(구버전)



POST /api/v1/df/query_data

개요

DQL 데이터 조회

Query 요청 파라미터

파라미터명 타입 필수 설명
body string dql 조회 query 구조체
빈 값 허용: False
queries_body string dql 조회 query 구조체(2023-08-11일자로 해당 파라미터는 제외됨)
빈 값 허용: False
search_after string 페이지 조회 요청 파라미터(2023-08-11일자로 해당 파라미터는 제외됨)
빈 값 허용: False

파라미터 추가 설명

조회 설명


응답 content.data[i].warnings[]에는 DQLDataAccessScopeRestricted가 포함될 수 있습니다.

  • details[0].metadata.namespace는 이번 버전에서 logging으로 고정됩니다.
  • details[0].metadata.restriction=partial은 권한이 있는 로그 인덱스의 데이터만 반환됨을 의미합니다.
  • details[0].metadata.restriction=all은 관련 로그 인덱스에 데이터 액세스 권한이 없으며 빈 결과를 반환함을 의미합니다.
  • HTTP 상태 코드는 여전히 200이며, warning은 GuanceDB/Kodo의 기존 warning과 함께 존재합니다.

  • 조회 문자열 요소 필드 설명

파라미터명 type 필수 설명
body string Y 조회 요청 본문
queries_body[*] string (구버전 파라미터, 2023-08-10일자로 제외됨) 조회 목록
search_after string (구버전 파라미터, 2023-08-10일자로 제외됨, 신규 파라미터 위치는 query 구조체로 이동됨) 조회 페이지 데이터. 최초 조회는 기본값 []이며, 더 많은 페이지 데이터를 조회해야 하는 경우 이전 조회 결과의 search_after 필드를 추가하여 후속 데이터를 조회합니다.
  1. body 내 JSON 구조 파라미터 설명
파라미터명 type 필수 설명
queries array Y 다중 명령 조회, 내용은 query 객체로 구성된 목록
fieldTagDescNeeded boolean field 또는 tag 설명 정보가 필요한지 여부
  1. queries[*] 멤버 파라미터 구조 설명
파라미터명 type 필수 설명
qtype string Y 조회문 유형
dql: dql 유형 조회문
promql: PromQl 유형 조회문
query json Y 조회 구조
query.q string qtype 유형과 일치하는 조회문, 예: dql 또는 promql 조회문
query.ignore_cache boolean 조회 시 캐시 비활성화 여부, 기본값은 false(캐시 사용)
query.promqlType enum qtype=promql일 때 적용, promql 조회 유형, instantQueryrangeQuery 선택 가능, 기본값은 rangeQuery
query.highlight boolean 하이라이트 데이터 표시 여부
query.timeRange array 시간 범위의 타임스탬프 목록
query.disableMultipleField bool 단일 열 모드 활성화 여부, 기본값은 true
query.showLabel bool 객체의 labels 표시 여부, 기본값은 없음
query.funcList array dql 반환 값을 다시 집계하여 수정, disableMultipleField=false인 경우 현재 파라미터는 유효하지 않음
query.slimit integer 시계열 그룹 크기, 메트릭 조회에만 유효
query.soffset integer 시계열 그룹 오프셋
query.limit integer 페이지 크기
query.offset integer 페이지 오프셋
query.orderby array 정렬 목록, {fieldName:method}, 메저먼트 조회의 정렬은 fieldName=time만 지원함; method in ["desc", "asc"]; 메저먼트 조회의 정렬은 fieldName=time만 지원함
query.density string 응답 포인트 밀도, 우선순위는 autoDensity보다 낮고 dql 문에서 설정한 밀도보다 높음
query.interval number 시간 분할 간격, Kodo int64 범위 내로 변환 가능하고 1ms 이상의 정수 밀리초의 양수만 허용됨; 기본 단위는 초, interval_unit을 통해 밀리초 지정 가능
query.interval_unit string interval의 단위, s 또는 ms 선택 가능, 기본값 s
query.search_after array 페이지 표시, 현재 인터페이스에서 반환된 페이지 표시로, 다음 요청 시 전달
query.maxPointCount integer 최대 포인트 수
query.workspaceUUID string 조회할 워크스페이스의 uuid, "*"는 모든 권한이 부여된 워크스페이스 조회, 워크스페이스 참조 인터페이스 /wksp_share/granted_ws_list 확인 가능
query.workspaceUUIDs array 조회할 워크스페이스의 uuids, 우선순위는 query.workspaceUUID보다 높음. ["*"]는 모든 권한이 부여된 워크스페이스 조회, 워크스페이스 참조 인터페이스 /wksp_share/granted_ws_list 확인 가능
query.targetRegion string 조회 워크스페이스가 ["*"]로 지정된 경우, 이 필드는 필수
query.output_format string lineprotocol: 라인 프로토콜 출력, 기본값 미입력 시 기존 출력 형식 유지
query.cursor_time integer 세그먼트 조회 임계값: 첫 번째 세그먼트 조회 시 cursor_time을 end_time으로 설정해야 함; 이후 세그먼트 조회 시 cursor_time을 응답의 next_cursor_time으로 설정해야 함
query.cursor_token string 페이지 조회 token(엔진이 cursor_token 값을 반환): 페이지 조회 시, 이전 조회에서 반환된 next_cursor_token을 현재 조회의 cursor_token으로 설정해야 함. cursor_token이 없는 요청은 페이지 넘김 시 동일 타임스탬프의 데이터가 건너뛰어질 수 있음.
query.disable_sampling bool 샘플링 비활성화 스위치, 기본값 false
query.disable_truncate bool 조회 시 반환 내용을 자를지 여부, 기본값 없음
  1. 응답 포인트 밀도 density 파라미터 값 설명
선택 가능 값 설명
lower 낮음, 60개 포인트
low 낮음, 180개 포인트
medium 중간, 360개 포인트
high 높음, 720개 포인트
  • 포인트 밀도 파라미터의 우선순위: 최대 밀도 density[high] * maxPointCount > interval > density > dql 문의 제어 파라미터

  • 일반 조회 설명

  • 미복구 이벤트 조회

참고: openapi 인터페이스를 통해 데이터를 조회할 때 기본적으로 관리자 역할이 적용됩니다. 데이터 액세스 규칙 제한의 영향을 받을 수 있습니다.

요청 예시

curl 'https://openapi.guance.com/api/v1/df/query_data?body=\{%22queries%22:\[\{%22uuid%22:%2205ea25f0-2fa3-11ee-aa03-57233270ef0c%22,%22qtype%22:%22dql%22,%22query%22:\{%22q%22:%22L::re(`.*`):(`*`)\{+`index`+IN+\[%27default%27\]+\}%22,%22highlight%22:true,%22limit%22:50,%22orderby%22:\[\{%22time%22:%22desc%22\}\],%22_funcList%22:\[\],%22funcList%22:\[\],%22disableMultipleField%22:false,%22align_time%22:false,%22is_optimized%22:true,%22offset%22:0,%22search_after%22:\[1690808645037,538070,%22L_1690808645037_cj3r2itnel8fnfu5tlag%22\],%22timeRange%22:\[1690807857000,1690808757999\],%22tz%22:%22Asia/Shanghai%22\}\}\],%22expensiveQueryCheck%22:true\}' \
-H 'DF-API-KEY: <DF-API-KEY>' \
--compressed

응답

{
    "code": 200,
    "content": {
        "data": [
            {
                "AsyncTaskPayload": null,
                "async_id": "",
                "column_names": [
                    "container_id",
                    "source",
                    "filepath",
                    "image",
                    "index",
                    "df_metering_size",
                    "__namespace",
                    "host",
                    "log_read_offset",
                    "__docid",
                    "filename",
                    "service",
                    "image_name",
                    "image_short_name",
                    "image_tag",
                    "log_read_lines",
                    "message",
                    "log_read_time",
                    "container_name",
                    "container_type",
                    "message_length",
                    "create_time",
                    "container_runtime_name",
                    "date_ns",
                    "status"
                ],
                "complete": false,
                "cost": "19ms",
                "index_name": "",
                "index_names": "",
                "index_store_type": "es",
                "is_running": false,
                "points": null,
                "query_type": "",
                "raw_query": "{\\\"aggs\\\":{},\\\"_source\\\":{\\\"excludes\\\":[\\\"message@json\\\"],\\\"includes\\\":[]},\\\"query\\\":{\\\"bool\\\":{\\\"filter\\\":[{\\\"term\\\":{\\\"__namespace\\\":\\\"logging\\\"}},{\\\"range\\\":{\\\"date\\\":{\\\"gte\\\":\\\"1680187562081\\\",\\\"lte\\\":\\\"1680230762081\\\"}}},{\\\"bool\\\":{\\\"should\\\":[{\\\"terms\\\":{\\\"index\\\":[\\\"default\\\"]}}]}}]}},\\\"size\\\":50,\\\"sort\\\":[{\\\"date\\\":{\\\"missing\\\":\\\"_last\\\",\\\"order\\\":\\\"desc\\\",\\\"unmapped_type\\\":\\\"long\\\"}},{\\\"date_ns\\\":{\\\"missing\\\":\\\"_last\\\",\\\"order\\\":\\\"desc\\\",\\\"unmapped_type\\\":\\\"long\\\"}},{\\\"__docid\\\":{\\\"missing\\\":\\\"_first\\\",\\\"order\\\":\\\"desc\\\",\\\"unmapped_type\\\":\\\"string\\\"}}],\\\"search_after\\\":[1680226330509,8572,\\\"L_1680226330509_cgj4hqbrhi85kl1m6os0\\\"],\\\"timeout\\\":\\\"54s\\\"}",
                "search_after": [
                    1680226330508,
                    82936,
                    "L_1680226330508_cgj4hbdepb7fcn07sf60"
                ],
                "series": [
                    {
                        "columns": [
                            "container_id",
                            "time",
                            "source",
                            "filepath",
                            "image",
                            "index",
                            "df_metering_size",
                            "__namespace",
                            "host",
                            "log_read_offset",
                            "__docid",
                            "filename",
                            "service",
                            "image_name",
                            "image_short_name",
                            "image_tag",
                            "log_read_lines",
                            "message",
                            "log_read_time",
                            "container_name",
                            "container_type",
                            "message_length",
                            "create_time",
                            "container_runtime_name",
                            "date_ns",
                            "status"
                        ],
                        "values": [
                            [
                                "2fef685801c80b5cb7d04b7b5e859007de94752aadbe801df812a058acf5e380",
                                1680226330509,
                                "test",
                                "/var/lib/docker/containers/2fef685801c80b5cb7d04b7b5e859007de94752aadbe801df812a058acf5e380/2fef685801c80b5cb7d04b7b5e859007de94752aadbe801df812a058acf5e380-json.log",
                                "test:test",
                                "default",
                                1,
                                "logging",
                                "izbp152ke14timzud0du15z",
                                149232879,
                                "L_1680226330509_cgj4hqbrhi85kl1m6org",
                                "2fef685801c80b5cb7d04b7b5e859007de94752aadbe801df812a058acf5e380-json.log",
                                "test",
                                "test",
                                "test",
                                "test",
                                147890,
                                "ddtrace.profiling.exporter.http.UploadFailed: [Errno 101] Network is unreachable",
                                1680226330508872700,
                                "compose_python_ddtrace_web_b_1",
                                "docker",
                                80,
                                1680230633485,
                                "compose_python_ddtrace_web_b_1",
                                8571,
                                "unknown"
                            ],
                            [
                                "2fef685801c80b5cb7d04b7b5e859007de94752aadbe801df812a058acf5e380",
                                1680226330509,
                                "test",
                                "/var/lib/docker/containers/2fef685801c80b5cb7d04b7b5e859007de94752aadbe801df812a058acf5e380/2fef685801c80b5cb7d04b7b5e859007de94752aadbe801df812a058acf5e380-json.log",
                                "test:test",
                                "default",
                                1,
                                "logging",
                                "izbp152ke14timzud0du15z",
                                149232879,
                                "L_1680226330509_cgj4hqbrhi85kl1m6or0",
                                "2fef685801c80b5cb7d04b7b5e859007de94752aadbe801df812a058acf5e380-json.log",
                                "test",
                                "test",
                                "test",
                                "test",
                                147889,
                                "    raise retry_exc from fut.exception()",
                                1680226330508872700,
                                "compose_python_ddtrace_web_b_1",
                                "docker",
                                40,
                                1680230633485,
                                "compose_python_ddtrace_web_b_1",
                                8570,
                                "unknown"
                            ],
                            [
                                "2fef685801c80b5cb7d04b7b5e859007de94752aadbe801df812a058acf5e380",
                                1680226330509,
                                "test",
                                "/var/lib/docker/containers/2fef685801c80b5cb7d04b7b5e859007de94752aadbe801df812a058acf5e380/2fef685801c80b5cb7d04b7b5e859007de94752aadbe801df812a058acf5e380-json.log",
                                "test:test",
                                "default",
                                1,
                                "logging",
                                "izbp152ke14timzud0du15z",
                                149232879,
                                "L_1680226330509_cgj4hqbrhi85kl1m6oqg",
                                "2fef685801c80b5cb7d04b7b5e859007de94752aadbe801df812a058acf5e380-json.log",
                                "test",
                                "test",
                                "test",
                                "test",
                                147888,
                                "  File \\\"/usr/local/lib/python3.7/site-packages/tenacity/__init__.py\\\", line 361, in iter",
                                1680226330508872700,
                                "compose_python_ddtrace_web_b_1",
                                "docker",
                                87,
                                1680230633485,
                                "compose_python_ddtrace_web_b_1",
                                8569,
                                "unknown"
                            ],
                            [
                                "2fef685801c80b5cb7d04b7b5e859007de94752aadbe801df812a058acf5e380",
                                1680226330508,
                                "test",
                                "/var/lib/docker/containers/2fef685801c80b5cb7d04b7b5e859007de94752aadbe801df812a058acf5e380/2fef685801c80b5cb7d04b7b5e859007de94752aadbe801df812a058acf5e380-json.log",
                                "test:test",
                                "default",
                                1,
                                "logging",
                                "izbp152ke14timzud0du15z",
                                149228783,
                                "L_1680226330508_cgj4hbdepb7fcn07sf60",
                                "2fef685801c80b5cb7d04b7b5e859007de94752aadbe801df812a058acf5e380-json.log",
                                "test",
                                "test",
                                "test",
                                "test",
                                147841,
                                "KeyError: 'dd.service'",
                                1680226330507918000,
                                "compose_python_ddtrace_web_b_1",
                                "docker",
                                22,
                                1680230573234,
                                "compose_python_ddtrace_web_b_1",
                                82936,
                                "unknown"
                            ]
                        ]
                    }
                ],
                "total_hits": 10000
            }
        ]
    },
    "errorCode": "",
    "message": "",
    "success": true,
    "traceId": "TRACE-CD50CBBD-E29B-4F58-BD6B-618EED50920A"
}

문서 평가

이 페이지가 도움이 되었나요?