데이터 연동 분석: 링크¶
개요¶
현재 비즈니스 시스템의 안정성을 보장하려면 데이터에 대한 의존도가 점점 높아지고 있습니다. 시스템 전반을 관측하기 위해 데이터를 수집할 때 가장 먼저 필요한 것은 데이터 정보를 조회할 수 있는 통합 진입점이며, 이 데이터를 기반으로 주요 정보를 추출하여 시각화 대시보드와 모니터를 구축해 관측 및 알림에 활용할 수 있어야 합니다. 이러한 기능 모듈이 서로 독립적이라면 단독 사용 시에는 문제가 없지만, 문제 해결을 위해 조사할 때는 모듈 간을 반복적으로 전환하고 검색하며 확인해야 하므로 매우 불편합니다.
이러한 문제를 해결하기 위해 Guance는 대시보드, 탐색기, 모니터의 세 가지 핵심 기능을 제공하여 데이터 조회, 모니터링 및 분석을 효율적으로 수행할 수 있도록 지원합니다. 또한 링크 기능을 제공하여 각 모듈 간을 원활하게 이동하며 데이터 연동 분석을 수행하고 시스템 전체를 포괄적으로 관측할 수 있도록 합니다.
시작하기¶
이 문서는 탐색기, 대시보드, 모니터의 세 가지 기능을 중심으로 링크를 구성하여 데이터 연동 분석을 구현하는 방법을 설명합니다.
- 탐색기: 수집된 모든 데이터를 기록합니다. 이곳에서 데이터를 추적하고 태그를 기반으로 필터링하며 데이터 상세 정보를 확인할 수 있습니다.
- 대시보드: 개별 시각화 차트로 구성되어 핵심 성능 지표를 직관적으로 보여줍니다.
- 모니터: 데이터 이상을 모니터링하고, 모니터링 트리거 조건이 충족되면 알림 이벤트를 생성하여 통지를 보냅니다.
사전 준비¶
아직 tree-node-{"name":"datakit-daemonset.md","path":"/zh/best-practices/insight/datakit-daemonset.md","type":"file","repo":"guance集成","birthtime":1700705887402.8657,"mtime":1700705887402.8657,"level":5,"marked":false} 계정이 없거나 워크스페이스에 데이터가 없는 경우 다음 단계에 따라 데이터 수집을 완료할 수 있습니다.
- Guance 콘솔에 로그인합니다. (계정이 없는 경우 여기에서 등록하세요.)
- DataKit 수집기 설치
- 콘솔의 통합 페이지로 이동하여 해당 데이터 수집기를 활성화합니다.
시나리오 1: 대시보드 & 탐색기 연동 분석¶
사용자 시나리오 예시
대시보드에 차트를 추가하여 Web 应用的错误数를 집계합니다. 이후 특정 시간대에 여러 오류가 발생한 것을 발견하고, 이 오류들을 가장 빠르게 찾아서 조사하고자 합니다.
1. 차트에 링크 구성¶
1) 대시보드에서 통계 차트를 생성한 후, 먼저 쿼리문을 구성합니다.
R::`error`:(COUNT(`error_source`) AS `오류 수`) { `app_id` = '#{appid}' and `env` = '#{env}' and `version` = '#{version}' }
2) 링크 > 링크 추가를 클릭한 후, 이동할 URL과 해당 파라미터를 구성합니다. 위 DQL을 예로 들어, 오류를 발견한 후 탐색기로 이동하여 오류 데이터를 필터링하려면 app_id, env, version의 값을 탐색기로 전달하여 필터링해야 합니다.
Warning
대상 페이지의 링크 및 파라미터 형식을 모르는 경우, 대상 페이지의 URL을 복사하여 붙여넣은 후 조정할 수 있습니다!
또한, 복사한 링크에 URLEncode 인코딩이 포함된 경우 붙여넣을 때 자동으로 디코딩되어 URL의 가독성이 높아집니다.
링크 구성이 완료되면 차트를 저장합니다.
링크 구성 설명¶
플랫폼에는 사용자가 빠르게 추가할 수 있도록 일부 내장 링크가 포함되어 있습니다. 주소 입력란을 클릭하면 확인할 수 있습니다. 이 링크들은 대상 페이지의 기본 URL만 유지하며 time, query 등의 파라미터는 포함되어 있지 않으므로 실제 필요에 따라 수동으로 추가할 수 있습니다.
파라미터 추가 방법
링크의 파라미터를 구성하는 두 가지 방법을 지원합니다.
1) 입력란의 URL 뒤에 직접 파라미터를 수동으로 추가합니다. 2) 파라미터 추가를 클릭하여 구성합니다. 구성된 파라미터는 자동으로 위의 URL에 추가되며, 위아래 파라미터는 항상 일관성을 유지합니다.
- 파라미터 구성 시 시스템에 미리 설정된 일반 key를 선택할 수 있으며, 각 key에는 설명과 예시가 함께 제공됩니다. 시스템 사전 설정 파라미터 외에도 key/value를 수동으로 입력하여 링크를 구성할 수 있습니다.
템플릿 변수를 사용하여 파라미터 값 전달
링크에서는 템플릿 변수를 사용하여 데이터 정보를 전달할 수 있습니다. 현재 사용 가능한 템플릿 변수가 자동으로 표시되며, 사용자는 이를 복사하여 사용할 수 있습니다.
템플릿 변수란 무엇인가요?
<模板变量>는 동적 파라미터 값을 전달하는 데 사용됩니다. 예를 들어, 꺾은선형 차트 쿼리에서 by host, 각 라인을 클릭하면 특정 host를 선택하는 것이므로 host의 값은 고정되어 있지 않으며, 링크에서 동적으로 파라미터를 전달해야 합니다. 이때 템플릿 변수를 사용하며, 템플릿 변수는 선택된 host에 따라 해당 값을 전달합니다.
현재 3가지 유형의 템플릿 변수를 지원합니다: 시간 변수, 태그 변수, 뷰 변수.
| 변수 유형 | 변수 | 설명 |
|---|---|---|
| 시간 변수 | #{TR} | 현재 차트 쿼리의 시간 범위입니다. 현재 쿼리 시간이 最近1小时라고 가정하면, 템플릿 변수: &time=#{TR}는 &time=1h와 동일합니다. |
| 태그 변수 | #{T} | 현재 차트 쿼리의 모든 그룹화 태그 집합입니다. 현재 차트 쿼리가 M::'datakit':(LAST('cpu_usage')) BY 'host','os'이고 쿼리 결과가 host=abc, os=linux인 경우, 템플릿 변수: &query=#{T}는 &query=host:abc os:linux와 동일합니다. |
| #{T.name} | 현재 차트 쿼리에서 특정 태그의 값입니다. name은 쿼리의 모든 tagKey로 대체할 수 있습니다. 현재 차트 쿼리가 M::'datakit':(LAST('cpu_usage')) BY 'host', 'os'이고 쿼리 결과가 host=abc, os=linux인 경우, - 템플릿 변수 #{T.host} = abc- &query=hostname:#{T.host}는 &query=hostname:abc와 동일합니다. |
|
| 뷰 변수 | #{V} | 현재 대시보드의 모든 뷰 변수 집합입니다. 현재 대시보드의 뷰 변수가 version=V1.7.0 및 region=cn-hangzhou 인 경우, 템플릿 변수 &query=#{V}는 &query=version:V1.7.0 region:cn-hangzhou와 동일합니다. |
| #{V.name} | 현재 대시보드에서 특정 뷰 변수의 값입니다. name은 임의의 변수명으로 대체할 수 있습니다. 현재 대시보드의 뷰 변수가 version=V1.7.0인 경우, - 템플릿 변수 #{V.version} = V1.7.0- &query=version:{V.version}는 &query=version:V1.7.0와 동일합니다. |
링크 열기 방식
구성된 링크는 세 가지 열기 방식을 지원합니다. 새 페이지에서 열기, 현재 페이지에서 열기, 사이드 페이지에서 열기입니다.
2. 연동 데이터 분석¶
다음으로 웹 애플리케이션 개요 대시보드를 예시로 차트 링크를 통한 데이터 연동 조회 방법을 설명합니다.
아래 그림과 같이 뷰 변수에서 특정 应用와 环境를 선택했을 때 총 2개의 오류 데이터가 있는 것을 발견했습니다. 이제 이 2개의 오류를 찾아보겠습니다.
차트를 클릭하여 드롭다운 메뉴를 열고 링크 > Error 탐색기로 이동을 선택합니다. 그러면 해당 탐색기 페이지가 열리고, 쿼리 시간 범위와 모든 필터 조건이 함께 전달되어 2개의 오류 레코드를 찾을 수 있습니다. 이렇게 하여 원클릭 연동 조회를 구현했습니다. 이제 이러한 오류의 상세 정보를 확인하고 오류 원인을 찾을 수 있습니다.
시나리오 2: 모니터 & 탐색기 연동 분석¶
사용자 시나리오 예시
서비스에서 5xx 오류가 발생하는지 모니터링하는 모니터를 생성합니다. 오류가 발견되면 즉시 알림을 생성하고, 가장 빠른 속도로 이러한 오류를 찾아 조사합니다.
1. 모니터에 링크 구성¶
1) 애플리케이션 성능 메트릭 모니터링 모니터를 생성합니다. 먼저 检测指标 및 触发条件를 구성합니다.
2) 이벤트 내용에 이동할 링크를 삽입합니다. 여기에 입력하는 텍스트 내용은 Markdown 구문을 사용해야 합니다. 위 사용자 시나리오에 따라 특정 서비스에서 5xx 오류가 발생할 때 알림을 트리거하므로, 삽입할 링크는 트레이스 탐색기로 이동하여 오류 트레이스를 필터링하는 것입니다.
- 먼저
service,http_status_code와 같은 파라미터를 링크에 구성하여 필터 조건을 탐색기로 전달해야 합니다. - 모니터 구성의 감지 구간이 최근 15분이므로, 탐색기로 이동했을 때 조회하는 시간 범위도 동일해야 합니다. 즉, 이벤트 알림 시간이 종료 시간이 되고, 그로부터 15분 전이 시작 시간이 됩니다.
모든 구성이 완료되면 모니터를 저장합니다.
링크 구성 설명¶
이벤트 내용에는 모든 링크를 삽입할 수 있습니다. 예: 탐색기, 대시보드, 외부 링크 등 사용 사례에 따라 구성하면 됩니다.
예를 들어, 감지 구간이 15분이고 감지 메트릭 쿼리가 다음과 같습니다.
그러면 추가된 링크에 자동으로 다음 두 파라미터가 포함됩니다.
1) 필터 조건 파라미터: &query=http_status_code:>=500 service:{{service}} (BY 뒤의 그룹화가 템플릿 변수로 채워집니다)
2) 시간 파라미터: 이벤트 발생 시간을 종료 시간으로, 그로부터 15분 전을 시작 시간으로 합니다. 예시: &time={{ date * 1000 - 900000}},{{date * 1000}} (여기서 템플릿 변수 연산이 사용됩니다)
템플릿 변수 설명¶
이벤트 내용에서는 템플릿 변수를 사용하여 데이터 정보를 전달할 수 있습니다. 시스템이 자동으로 현재 사용 가능한 템플릿 변수를 표시하며, {{ 버튼을 클릭하거나 직접 {{ 를 입력하여 변수 목록을 불러올 수 있습니다.
템플릿 변수란 무엇인가요?
<模板变量>는 동적 파라미터 값을 전달하는 데 사용됩니다. 모니터의 이벤트 제목과 이벤트 내용을 구성할 때 직접 작성한 고정 텍스트 외에도 이벤트의 필드를 사용하여 텍스트를 렌더링할 수 있습니다. 모니터의 템플릿 변수는 두 가지 유형으로 나뉩니다.
1) 고정 속성 변수: 예:
{{df_status}}(이벤트 상태), {{df_monitor_checker_name}}(모니터 이름), {{df_workspace_name}}(워크스페이스 이름), {{Result}}(이 이벤트를 생성할 때 감지된 값) 등입니다.
2) 감지 차원 변수: 예: 감지 메트릭 쿼리에서 by 'host','service'를 사용하는 경우, 템플릿 변수 {{host}}, {{service}}를 사용하여 감지 대상을 렌더링할 수 있습니다.
자세한 내용은 모니터 템플릿 변수를 참조하십시오.
2. 연동 데이터 분석¶
다음으로 애플리케이션 성능 메트릭 모니터링 모니터를 예시로, 모니터에 링크를 구성하여 데이터 연동 조회를 구현하는 방법을 설명합니다.
이전 단계의 모니터 구성을 이어받아, 트리거된 알림 이벤트에는 구성된 알림 내용이 표시되며, 여기에는 이동 링크가 포함되어 있습니다. 이를 클릭하면 해당 오류 트레이스 데이터를 확인할 수 있습니다. 그런 다음 트레이스 상세 정보, 연관된 로그, 네트워크 상태 등 여러 차원을 결합하여 오류 발생 원인을 분석할 수 있습니다.







