콘텐츠로 이동

Func를 통한 맞춤형 헬스 점수 함수


Guance는 Func 플랫폼을 통해 헬스 점수 계산 로직을 맞춤 설정할 수 있습니다. DQL, 구성 엔터티, 이벤트 등의 데이터를 사용하여 자체 함수를 작성하고, 플랫폼 기본 알고리즘을 대체하여 헬스 점수를 자유롭게 계산할 수 있습니다.

함수 스크립트 작성

Func에서 함수 스크립트를 새로 생성합니다. 함수 이름은 사용자 정의할 수 있지만, 다음 입력 및 출력 제약 조건을 충족해야 합니다.

입력 매개변수:

필드 필수 여부 설명
entity 현재 헬스 점수를 계산할 엔터티 객체로, 엔터티 이름, 유형, 태그 등의 기본 정보를 포함합니다

출력 매개변수:

필드 필수 여부 설명
health_status 헬스 상태. 고정 값: healthy(정상), warning(주의), critical(심각), unknown(알 수 없음)
health_score 0–100점의 헬스 점수. 계산할 수 없을 경우 null 반환

함수 예시:

'''
맞춤형 헬스 점수 함수 예시

설명:
1. 함수 이름은 사용자 정의할 수 있으며, 입력 매개변수에 entity가 반드시 포함되어야 합니다
2. entity는 현재 헬스 점수를 계산할 system 엔터티 객체입니다
3. 함수 내부에서 DQL, components, events 등을 통해 데이터를 자유롭게 조회하고 계산할 수 있습니다
4. 출력에는 반드시 health_status와 health_score가 포함되어야 합니다
'''

@DFF.API('맞춤형 시스템 헬스 점수', category='dataPlatform.entityHealthFunc')
def myCustomHealth(entity):
    # entity를 기반으로 구성 엔터티, 연관 알림 등의 데이터 조회
    # 맞춤형 계산 로직...

    result = {
        'health_status': 'healthy',
        'health_score': 95
    }

    return result

함수 분류 추가

작성 완료 후 함수에 분류 태그를 추가해야 합니다. 그렇지 않으면 해당 함수가 헬스 점수 구성의 선택 목록에 나타나지 않습니다.

분류 태그는 고정값입니다:

category='dataPlatform.entityHealthFunc'

함수 게시

코드 작성이 완료되면 게시를 클릭합니다. 게시되지 않은 함수는 헬스 점수 구성에 표시되지 않습니다.

헬스 점수 구성에서 사용

게시에 성공하면 통합 카탈로그 > 엔터티 유형 관리로 이동하여 작업 열의 "헬스 점수 구성"을 클릭하고 "사용자 정의 함수"를 선택합니다.

이제 드롭다운 목록에 게시되었으며 dataPlatform.entityHealthFunc로 분류된 모든 함수가 표시됩니다. 생성한 함수를 선택하고 저장하면 적용됩니다.

자주 묻는 질문

함수가 헬스 점수 구성의 드롭다운 목록에 나타나지 않는 이유는 무엇인가요?

다음 세 가지를 확인하세요.

  1. 함수가 게시되었는지 확인
  2. category='dataPlatform.entityHealthFunc' 분류가 추가되었는지 확인
  3. 함수가 @DFF.API 데코레이터를 통해 올바르게 등록되었는지 확인

함수 실행이 실패하면 어떻게 되나요?

플랫폼은 함수 출력을 검증합니다. 출력 형식이 요구 사항에 맞지 않거나 실행에 이상이 있는 경우 해당 시스템의 헬스 점수는 "알 수 없음"으로 표시됩니다.

함수 내부에서 어떤 데이터를 사용할 수 있나요?

함수 내부에서는 DQL을 통해 메트릭, 로그, 이벤트 등의 데이터를 조회할 수 있으며, entity의 구성 엔터티 정보를 읽을 수도 있습니다. 자세한 조회 방법은 Func 플랫폼 문서를 참조하세요.

문서 평가

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