콘텐츠로 이동

수정



POST /api/v1/aggs_to_metric/{rule_uuid}/modify

개요

메트릭 생성 규칙 수정

경로 매개변수

매개변수명 유형 필수 설명
rule_uuid string Y 메트릭 생성 ID

Body 요청 매개변수

매개변수명 유형 필수 설명
extend json Y 추가 정보
빈 값 허용: False
jsonScript json Y 규칙 구성
빈 값 허용: False
jsonScript.type string Y 유형
예: rumToMetric
빈 값 허용: False
빈 문자열 허용: False
可选值: ['logToMetric', 'rumToMetric', 'apmToMetric', 'metricToMetric', 'securityToMetric', 'dialingToMetric']
jsonScript.query json Y DQL 조회 관련 정보
빈 값 허용: False
jsonScript.metricInfo json Y 메트릭 구성 정보
빈 값 허용: False
jsonScript.metricInfo.every string Y 빈도, 단위가 포함된 정수 지원; 1m~59m 또는 1h~24h 선택 가능, cron 미지원
예: 5m
빈 문자열 허용: False
jsonScript.metricInfo.metric string Y 메저먼트명
예: cpu
빈 문자열 허용: False
jsonScript.metricInfo.metricField string Y 메트릭명
예: load5s
빈 문자열 허용: False
jsonScript.metricInfo.unit string 단위
예: load5s
빈 문자열 허용: True
jsonScript.metricInfo.desc string 설명
예: xxx
빈 문자열 허용: True
jsonScript.metricInfo.delaySeconds integer 예약 작업 트리거 후 지연 실행 시간(초), 기본값 0은 지연 없음
예: 60
$minValue: 0
$maxValue: 86400
skipRepeatNameCheck boolean 메저먼트 메트릭 중복 이름 검사 건너뛰기 여부, 기본값 false, false는 중복 이름 검사, true는 중복 이름 검사 건너뛰기
예: false
빈 값 허용: False

매개변수 추가 설명

데이터 설명.

1. **jsonScript의 매개변수 설명

매개변수명 유형 필수 설명
type String 필수 데이터 소스 유형, 열거형
query Json 필수 조회 정보
metricInfo Json 필수 메저먼트 구성 정보

2. 검사 유형 jsonScript.type 설명

key 설명
rumToMetric RUM 메트릭 생성
apmToMetric APM 메트릭 생성
logToMetric Logging 메트릭 생성
metricToMetric Metric 메트릭 생성
securityToMetric 보안 점검 메트릭 생성

3. 검사 유형 jsonScript.metricInfo 설명

매개변수명 유형 필수 설명
every String 필수 빈도, 단위가 포함된 정수 지원; 1m~59m 또는 1h~24h 선택 가능, cron 미지원
metric String 필수 메저먼트명
metricField String 필수 메트릭명
unit String 단위
desc String 설명
delaySeconds Integer 예약 작업 트리거 후 지연 실행 시간(초), 기본값 0은 지연 없음

3.1 검사 유형 jsonScript.metricInfo.unit 단위 설명

단위 형식: custom/["단위 유형","단위"], 예: custom/["time","ms"]
사용자 정의 단위 형식: custom/["custom","사용자 정의 단위"], 예: custom/["custom","tt"]
표준 단위 유형은 단위 설명 을 참조하세요.


4. 검사 유형 jsonScript.query 설명

매개변수명 유형 필수 설명
q String 필수 쿼리문
qtype String 쿼리 구문 유형, dql/promql
qmode String 쿼리 유형, 선택 상자: selectorQuery, 직접 입력: customQuery, 이 필드는 프론트엔드 쿼리 표시 스타일에 영향을 줌

5. **extend의 매개변수 설명

매개변수명 유형 필수 설명
filters Array[dict] 비로그 유형의 필터 조건 목록
groupBy Array[str] 그룹화 정보
funcName string 필수 집계 함수, 열거 값("count", "avg", "max", "sum", "min", "count_distinct", "p75", "p95", "p99")
fieldKey string 필수 집계 필드
index string 로그 유형의 인덱스명
source string 이 필드는 유형에 따라 다른 의미를 가짐: 로그 유형: source, APM 유형: service, RUM 유형: app_id, 메트릭 유형: 메저먼트, 보안 점검: category
filterString string 로그 유형의 필터 조건, 원시 필터 문자열, 예: 'host:hangzhou123 -service:coredns internal:true'

참고: extend 필드의 모든 필드는 프론트엔드 표시용으로만 사용되며, 실제 메트릭 생성 쿼리문은 jsonScript.query에 구성된 조회 정보를 기준으로 합니다.


6. extend.filters의 본문 구조 설명

매개변수명 유형 필수 설명
condition string 이전 필터 조건과의 관계, 선택 값: and, or; 기본값: and
name string 필터링할 필드명
op string 연산자, 선택 값: =, !=, match, not match
values array 값 목록
values[#] string/int/boolean 문자열/숫자/부울 유형 가능, operation의 특성에 따라 values에서 특정 요소를 가져와 비교합니다. 예를 들어 operation=인 경우 values[0]만 연산에 사용됩니다.

6.1 extend.filters 예시:

[
  {
      "name": "A",
      "condition": "and",
      "op": "match",
      "values": ["error"]
  },
  {
      "name": "tagC",
      "condition": "and",
      "op": "=",
      "values": ["ok"]
  }
]

7. **전체 구조 예시:

    {
      "extend": {
        "filters": [],
        "groupBy": ["host_ip"],
        "funcName": "count",
        "fieldKey": "*",
        "index": "default",
        "source": "*",
        "filterString": "host:hangzhou123 region:guanzhou"
      },
      "jsonScript": {
        "type": "logToMetric",
        "metricInfo": {
          "every": "1m",
          "metric": "test",
          "metricField": "001-test",
          "unit": "custom/[\"timeStamp\",\"ms\"]",
          "desc": "",
          "delaySeconds": 60
        },
        "query": {
          "q": "L('default')::RE(`.*`):(count(`*`)) { `host`='hangzhou123' and `region`='guanzhou'  } BY `host_ip`",
          "qtype": "dql"
        }
      }
    }

요청 예시

curl 'https://openapi.guance.com/api/v1/aggs_to_metric/rul_xxxx/modify' \
-H 'DF-API-KEY: <DF-API-KEY>' \
-H 'Content-Type: application/json;charset=UTF-8' \
--data-raw '{"extend":{"filters":[],"groupBy":["host_ip"],"funcName":"count","fieldKey":"*","index":"default","source":"*","filterString":"host:hangzhou123 region:guanzhou"},"jsonScript":{"type":"logToMetric","metricInfo":{"every":"1m","metric":"test","metricField":"001-test","unit":"custom/[\"timeStamp\",\"ms\"]","desc":"","delaySeconds":60},"query":{"q":"L('default')::RE(`.*`):(count(`*`)) { `host`='hangzhou123' and `region`='guanzhou'  } BY `host_ip`","qtype":"dql"}}}' \
--compressed

응답

{
    "code": 200,
    "content": {
        "workspaceUUID": "wksp_xxxx",
        "monitorUUID": "",
        "updator": null,
        "type": "aggs",
        "refKey": "",
        "secret": null,
        "jsonScript": {
            "type": "logToMetric",
            "metricInfo": {
                "every": "1m",
                "metric": "test",
                "metricField": "001-test",
                "unit": "custom/[\"timeStamp\",\"ms\"]",
                "desc": "",
                "delaySeconds": 60
            },
            "query": {
                "q": "L('default')::RE(`.*`):(count(`*`)) { `host`='hangzhou123' and `region`='guanzhou'  } BY `host_ip`",
                "qtype": "dql"
            }
        },
        "crontabInfo": {
            "id": "cron-4VdviPep3oHc",
            "crontab": null
        },
        "extend": {
            "filters": [],
            "groupBy": [
                "host_ip"
            ],
            "funcName": "count",
            "fieldKey": "*",
            "index": "default",
            "source": "*",
            "filterString": "host:hangzhou123 region:guanzhou"
        },
        "createdWay": "manual",
        "isLocked": false,
        "openPermissionSet": false,
        "permissionSet": [],
        "id": null,
        "uuid": "rul_xxxx",
        "status": 0,
        "creator": "acnt_xxxx",
        "createAt": 1734594428,
        "deleteAt": -1,
        "updateAt": null,
        "__operation_info": {
            "uuid": "rul_xxxx"
        }
    },
    "errorCode": "",
    "message": "",
    "success": true,
    "traceId": "1111139030457458757"
} 

문서 평가

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