• EnglishEspañol日本語한국어Português
  • 로그인지금 시작하기

사용자의 편의를 위해 제공되는 기계 번역입니다.

In the event of any inconsistency between the English version and the translated version, the English versionwill take priority. Please visit this page for more information.

문제 신고

컨테이너화된 프라이빗 미니언(CPM) 구성

중요

2024년 10월 22일에 컨테이너화된 미니언(분당권수) 및 이것이 지원하는 구형 신세틱스 손잡이 버전의 지원이 종료 됩니다. 부동 위치 모니터의 성능 저하를 방지하려면 권장되는 마이그레이션 단계를 검토하십시오.

이 문서는 컨테이너화된 프라이빗 미니언 (CPM) 구성 과정을 안내합니다.

다음을 수행하여 CPM을 사용자 정의할 수 있습니다.

귀하는 CPM 파일을 수정할 수 없으며 New Relic은 귀하가 수정한 사항에 대해 책임을 지지 않습니다.

환경변수를 이용한 설정

환경 변수를 사용하면 특정 환경 및 기능 요구 사항을 충족하도록 CPM 구성을 미세 조정할 수 있습니다.

볼륨 마운트 지침

모든 디렉터리 및 파일 must 에는 읽기/쓰기 권한이 있는 3729 그룹 소유권이 할당됩니다. 이렇게 하면 uid: 1000gid: 3729 사용하는 Runner가 마운트된 모든 볼륨에 액세스할 수 있습니다. 그러나 미니언은 루트(uid: 0) 또는 [2000, 4000] 범위(포함) 사이의 모든 uid 로 실행될 수 있습니다. 자세한 내용은 Kubernetes 또는 Docker 에서 루트가 아닌 사용자 로 실행을 참조하세요.

Docker

  • 디렉토리는 내에서 -v 인수를 지정하여 컨테이너에 볼륨으로 마운트됩니다. docker run
  • 예를 들어, docker run ... -v /path/to/src:/path/to/dest:rw

Kubernetes

  • kubectl cp 사용하여 영구 볼륨(

    PV

    )에 디렉터리를 추가할 수 있습니다. 그러나 파일 권한이 적절하게 설정되어 있는 한 대체 접근 방식이 지원됩니다.

  • 예를 들어, kubectl cp /path/to/src <POD_NAME>:/path/to/dest 은 지정된 포드의 각 PV에 디렉토리를 추가합니다.

  • 각 PV에는 별도의 디렉토리 사본이 있어야 합니다. 예를 들어 n개의 미니언 복제본이 있는 클러스터에는 각각 고유한 디렉토리 사본이 있는 n개의 PV가 있어야 합니다.

  • 미니언을 부팅하기 전에 디렉터리와 파일을 추가해야 합니다. 그렇지 않으면 업데이트를 감지하기 위해 미니언을 다시 시작해야 합니다.

커스텀 노드 모듈

커스텀 노드 모듈은 분당 호출 수 전용입니다. 이를 통해 임의의 노드 모듈 세트를 제공하고 이를 신세틱 모니터링의 스크립트 모니터에 사용할 수 있습니다.

모듈을 설정하려면:

  1. npm 공식 지침에 따라 디렉토리 루트에 package.json 을 포함하는 디렉토리를 만듭니다. dependencies 필드에 포함된 모든 항목은 시작 시 CPM에 의해 설치되며 해당 개인 미니언에서 모니터를 실행할 때 사용할 수 있게 됩니다.

    선택적으로 루트 수준 package.json 을 Node.js 버전별 디렉터리로 재정의할 수 있습니다. 이렇게 하면 런타임의 Node.js 버전 이 더 이상 종속성과 호환되지 않는 경우 모니터 런타임별로 스크립트를 업데이트할 수 있습니다. 아래에서 이에 대한 예를 참조하십시오.

  2. 사용자 정의 모듈 디렉토리와 package.json 을 생성하면 이를 Docker 및 Kubernetes용 CPM에 적용할 수 있습니다.

  3. 모듈이 제대로 설치되었는지 또는 오류가 있는지 확인하려면 "... Initialization of Custom Modules ..." 에 대한 CPM 로그 를 확인하십시오. npm 설치 로그가 표시됩니다.

이제 이 개인 위치로 보내는 모니터의 스크립트"require('async');" 을(를) 추가할 수 있습니다.

맞춤 모듈에 대해 package.json 변경

로컬 및 호스팅 모듈과 함께 Node.js 모듈을 사용할 수도 있습니다. CPM에서 사용하는 맞춤 모듈을 변경하려면 package.json를 수정하고 CPM을 재부팅하세요. 재부팅하는 동안 설정 변경 사항을 감지한 다음 정리하고 다시 설치합니다.

주의

로컬 모듈: package.json 에는 모든 로컬 모듈이 포함될 수 있지만 이러한 모듈은 사용자 정의 모듈 디렉토리 아래 트리 내부에 있어야 합니다. 트리 외부에 저장하면 초기화 프로세스가 실패하고 CPM을 시작한 후 도커 로그 에 오류 메시지가 표시됩니다.

영구 데이터 저장

CPM은 상태 비저장 애플리케이션이며 기본적으로 이전 요청이나 세션의 정보를 보존하지 않습니다. 그러나 영구 데이터 저장을 활성화하여 실행 사이에 데이터를 보존할 수 있습니다. 예를 들어 미니언이 자신을 식별하는 방법(예: Minion_ID )을 영구적으로 설정하고 이를 사용하여 해당 데이터를 생성한 정확한 미니언과 연결할 수 있습니다.

Docker에서 영구 데이터 저장소를 설정하려면:

  1. 디렉터리를 만듭니다.

  2. /var/lib/newrelic/synthetics 에 디렉토리를 마운트하여 CPM을 시작합니다.

    예시:

    docker run ... -v /example-permanent-dir:/var/lib/newrelic/synthetics:rw ...

Kubernetes에서 영구 데이터 저장소를 설정하려면 다음 안내를 따르세요.

  1. CPM을 시작하고 설치 중에 명령줄이나 YAML 파일에서 persistence.permanentData 구성 값의 값을 설정합니다. 값은 데이터를 저장할 미니언의 영구 볼륨에 대한 하위 경로를 지정해야 합니다.

    예시:

    helm install ... --set persistence.permanentData=<permanent-data-subpath> ...

스크립팅된 모니터에 대한 사용자 정의 환경 변수

컨테이너화된 개인 미니언을 사용하면 스크립팅된 모니터에서 사용할 환경 변수를 구성할 수 있습니다. 이러한 변수는 CPM에서 로컬로 호스팅되며 $env.USER_DEFINED_VARIABLES 을 통해 액세스할 수 있습니다. 사용자 정의 변수를 설정하는 방법에는 JSON 파일을 마운트하거나 시작 시 CPM에 환경 변수를 제공하는 두 가지 방법이 있습니다. 둘 다 제공되는 경우 CPM은 환경에서 제공된 값만 사용합니다.

스크립트에서 사용자 정의 환경 변수에 액세스

구성된 사용자 정의 환경 변수를 참조하려면 예약된 $env.USER_DEFINED_VARIABLES 다음에 점 표기법으로 지정된 변수 이름을 사용하십시오.

예를 들어, $env.USER_DEFINED_VARIABLES.MY_VARIABLE

주의

사용자 정의 환경 변수는 로그에서 삭제되지 않습니다. 민감한 정보의 경우 보안 자격 증명 기능을 사용하는 것이 좋습니다.

Copyright © 2024 New Relic Inc.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.