뉴렐릭은 많은 인기 서비스와 프레임워크에 대한 통합 및 빠른 시작을 제공합니다. 이미 뉴렐릭을 사용 중이고 통합이 없는 서비스의 데이터를 보고하려는 경우 다음 옵션에 따라 자체 통합을 만들 수 있습니다.
- 사용하면 경량 Flex 도구(권장)를 사용하거나 통합 SDK를 사용하여 완전한 온호스트 통합을 구축할 수 있습니다.
- 원격 측정(메트릭, 추적) 모니터링 솔루션의 경우 원격 측정 SDK 를 사용하세요.
- 자체 JavaScript UI 기능을 사용하는 맞춤형 New Relic 앱 을 빌드하십시오.
뉴렐릭 Flex란 무엇인가요?
Flex는 다양한 서비스에서 항목 및 지표를 수집할 수 있는 기능에 구애받지 않는 올인원 뉴롤릭 통합입니다. 이는 인프라 에이전트 와 함께 제공됩니다. 표준 프로토콜(HTTP, 파일, 셸)을 통해 표준 형식(예: JSON 또는 일반 텍스트)으로 지표를 노출하는 모든 기능을 로그아웃할 수 있습니다. YAML 설정 파일을 생성하고, 안드로이드 에이전트를 시작하면 데이터는 다음과 같습니다. 뉴렐릭에게 보고했습니다.
데이터를 수집하고 정리한 후에는 Flex 데이터를 뉴렐릭에 쿼리하여 사용자 지정 차트를 만들고 해당 데이터를 대시보드 에서 사용할 수 있습니다.
호환성 및 요구 사항 확인
시스템이 다음 요구 사항을 충족하는지 확인하세요.
아직 계정이 없다면 무료 계정에 가입하세요 . 무료예요!
뉴렐릭 계정은 다음 운영 시스템 및 플랫폼과 호환됩니다.
- Kubernetes
- Linux
- 맥 OS
- 윈도우
귀하의 시스템과 통합이 요구 사항을 충족하는지 확인하려면 베어링 에이전트 문서에 대한 요구 사항을 참조하세요.
Flex는 Linux, Windows 또는 Kubernetes에서 실행되는 인프라 에이전트 버전 1.10.7 이상과 함께 제공됩니다.
UI 문서에서 오래된 에이전트 버전을 식별 하여 버전을 확인하거나, 업데이트가 필요한 경우 인프라 에이전트 문서를 업데이트하세요 .
설치
다음 단계에 따라 뉴렐릭 Flex를 설치하세요.
인프라 에이전트 설치
뉴렐릭 인프라 에이전트 버전 1.10.7부터 시작하여, Flex는 에이전트와 함께 제공됩니다. 인프라 에이전트를 설치하려면 다음을 참조하세요.
팁
에이전트는 루트/관리자 모드에서 실행해야 합니다. 명령줄에서 인프라 에이전트를 시작, 중지, 다시 시작할 수 있습니다.
Flex가 실행 중인지 확인하세요
이 단계를 따르세요:
인프라 에이전트의 통합 폴더로 이동합니다.
- Linux의 경우:
/etc/newrelic-infra/integrations.d
- Windows의 경우:
C:\Program Files\New Relic\newrelic-infra\integrations.d\
- Linux의 경우:
통합 설정 파일을 생성합니다. 예를 들어,
integrations.yml
이 존재하지 않는 경우입니다.파일에 Flex 설정을 추가합니다.
integrations:- name: nri-flexconfig:name: just-testing파일에 이미
integrations
섹션이 있는 경우nri-flex
추가하세요.몇 분 후 one.newrelic.com > All capabilities > Query your data 로 이동하여 이 쿼리를 실행합니다.
FROM flexStatusSampleSELECT *LIMIT 1쿼리는 다음과 유사한 테이블을 제공해야 합니다.
one.newrelic.com > All capabilities > Query your data 로 이동하여 쿼리 빌더에 쿼리를 추가하고 Run 클릭합니다.
팁
아무것도 나오지 않으면 YAML 설정 파일의 들여쓰기가 잘 되어 있는지, 들여쓰기 수준에서 공백 대신 탭이 사용되지 않는지 확인하세요. YAML Lint와 같은 YAML 검증 도구를 사용할 수 있습니다.
첫 번째 Flex 통합
이 예제에서는 Linux에서 df
명령을 사용하여 뉴렐릭에서 기본적으로 지원하지 않는 파일 시스템에서 디스크 지표를 수집하는 방법을 보여줍니다.
목표는 df
명령의 출력을 처리하여 파일 시스템과 1바이트 블록을 표시하고, 에이전트에서 이미 지원하는 파일 시스템을 제외하는 것입니다. 지원되지 않는 파일 시스템이 마운트되지 않은 경우 -x 인수를 제거하세요.
$ df -PT -B1 -x tmpfs -x xfs -x vxfs -x btrfs -x ext -x ext2 -x ext3 -x ext4Filesystem Type 1-blocks Used Available Capacity Mounted ondevtmpfs devtmpfs 246296576 0 246296576 0% /devgo_src vboxsf 499963170816 361339486208 138623684608 73% /go/src
위의 표 형식 텍스트 출력을 다음 형식의 동등한 JSON 샘플 세트로 변환해야 합니다. 에이전트가 각 샘플을 추가 필드로 장식한다는 점에 유의하세요.
{ "event": { "event_type": "FileSystemSample", "fs": "go_src", "fsType": "vboxsf", "capacityBytes": 499963170816, "usedBytes": 361345331200, "availableBytes": 138617839616, "usedPerc": 73, "mountedOn": "/go/src" }}
먼저, 다음을 지정하여 Flex에 위의 표 텍스트를 JSON으로 변환하는 방법을 알려줘야 합니다.
- 메트릭 이름:
FileSystem
- 어떤 명령을 실행해야 하나요?
df -PT -B1 ...
- 출력 테이블을 분할하는 방법
df
- 주어진 메트릭 이름에 값을 할당하는 방법
이는 YAML 설정 파일에 아래 내용을 배치하여 달성됩니다.
integrations: - name: nri-flex config: name: linuxFileSystemIntegration apis: - name: FileSystem commands: - run: 'df -PT -B1 -x tmpfs -x xfs -x vxfs -x btrfs -x ext -x ext2 -x ext3 -x ext4' split: horizontal split_by: \s+ row_start: 1 set_header: [fs,fsType,capacityBytes,usedBytes,availableBytes,usedPerc,mountedOn] perc_to_decimal: true
apis
는 각 샘플에 대한 항목의 목록입니다. 각 항목은 샘플의 이름을 설정할 뿐만 아니라 샘플을 가져와 처리하기 위한 명령과 프로시저도 설정합니다. 이 예제의 첫 번째 항목은FileSystem
으로 명명되었으며, 이는FileSystemSample
이벤트의 이름을 지정하는 데 사용됩니다.commands
CLI 애플리케이션에서 정보를 가져오는 방법을 지정합니다.run: 'df -PT -B1...
실행할 명령을 지정합니다.split: horizontal
각 출력 줄이 메트릭을 반환할 수 있음을 나타냅니다.split_by
각 줄을 다른 필드로 나누는 방법을 설명합니다. 이 경우,\s+
정규 표현식을 사용합니다. 이는 Flex에 하나 이상의 공백이 연속적으로 나열되면 구분 기호라는 것을 알려줍니다.row_start
데이터가 첫 번째 행(0) 바로 뒤에 시작되도록 지정합니다.set_header
앞서 언급된 구성요소의 각 값에 맞는 이름을 순서대로 지정합니다.perc_to_decimal: true
끝의%
기호를 제거하여 모든 백분율 문자열을 10진수 값으로 변환함을 나타냅니다.
Flex 설정을 생성하면 베어링 에이전트가 새 설정을 자동으로 감지하고 데이터 수집을 시작합니다. 새로운 통합이 작동하는지 확인하려면 다음 쿼리를 실행하세요.
FROM FileSystemSample SELECT mountedOn, fs, usedBytes, capacityBytes, usedBytes
쿼리는 다음과 유사한 테이블을 제공해야 합니다.
one.newrelic.com > All capabilities > Query your data 로 이동하여 쿼리 빌더에 쿼리를 추가하고 Run 클릭합니다.
더 많은 Flex 통합을 추가하는 방법
ìntegrations.d
파일에 setup을 추가하면 Flex 통합을 더 추가할 수 있습니다. 독립 실행형 Flex 설정은 통합의 이름으로 시작하며 Command에서 Flex를 호출하여 테스트할 수 있습니다.
$sudo /var/db/newrelic-infra/newrelic-integrations/bin/nri-flex --verbose --pretty --config_file ./myconfig.yml
예를 들어, 이 통합을 추가하려면:
name: linuxOpenFDapis: - name: linuxOpenFD commands: - run: cat /proc/sys/fs/file-nr | awk '{print $1-$2,$3}' split: horizontal set_header: [openFD,maxFD] regex_match: true split_by: (\d+)\s+(.*)
ìntegrations.d
파일을 열고 다음과 같이 추가해야 합니다.
integrations: - name: nri-flex config: name: linuxFileSystemIntegration apis: - name: FileSystem commands: - run: 'df -PT -B1 -x tmpfs -x xfs -x vxfs -x btrfs -x ext -x ext2 -x ext3 -x ext4' split: horizontal split_by: \s+ row_start: 1 set_header: [fs,fsType,capacityBytes,usedBytes,availableBytes,usedPerc,mountedOn] perc_to_decimal: true - name: linuxOpenFD commands: - run: cat /proc/sys/fs/file-nr | awk '{print $1-$2,$3}' split: horizontal set_header: [openFD,maxFD] regex_match: true split_by: (\d+)\s+(.*)
ìntegrations.d
파일에 여러 개의 Flex 설정을 추가해야 하는 경우 다음 패턴을 따르세요.
integrations: - name: nri-flex config: name: flexName_1 # Flex config goes here - name: nri-flex config: name: flexName_2 # Flex config goes here - name: nri-flex config: name: flexName_3 # Flex config goes here
들여쓰기 문제를 최소화하려면 config_template_path
지시문을 사용하여 독립 실행형 Flex 설정 파일에 링크할 수 있습니다.
integrations: - name: nri-flex config_template_path: /path/to/flex/integration.yml
Flex 시계 에서 다양한 맞춤형 통합 사례를 찾아볼 수 있습니다.
플렉스와 Kubernetes
Kubernetes에서 Flex를 구성하는 방법에 따라 사용할 수 있는 컨테이너 이미지는 3개입니다.
Kubernetes에서 실행되는 서비스를 모니터링하기 위해서만 Flex를 실행하려면
newrelic/infrastructure
컨테이너 이미지를 사용합니다. 이 이미지에는 전투 에이전트, docker 및 Flex 통합만 포함되어 있습니다. 이 옵션을 사용하면 서비스 검색을 수행하거나 다른 뉴스렉릭 통합을 사용할 수 없습니다.다른 뉴렐릭 통합과 함께 Flex를 실행하려면
newrelic/infrastructure-bundle
컨버터 이미지를 사용하세요. 이렇게 하면 다른 모든 쿠렐릭 통합이 추가됩니다.쿠버네티스 클러스터도 모니터링하려면
newrelic/infrastructure-k8s
컨버터 이미지를 사용하세요. 이 이미지는 Kubernetes 통합을 포함한 모든 통합을 추가합니다.
중요
Kubernetes 에서 서비스를 실행하는 경우, 뉴렐릭의 공식 컨테이너 이미지를 사용하는 것이 좋습니다. 자세한 내용은 Kubernetes 통합 소개를 참조하세요.
Kubernetes에서 Flex 구성
Kubernetes 통합을 설치한 후에는 클러스터에서 인프라 에이전트가 실행되고 다음 2개의 configMap
도 실행됩니다.
nri-default-integration-cfg
: 뉴렐릭 Kubernetes 통합을 활성화하는 데 사용되는configMap
입니다. 이 통합을 사용하지 않으려면 제거할 수 있습니다. Helm 명령어 로 Kubernetes를 설치한 경우integrations_config
값을 채워야 합니다. 자세한 내용은 뉴렐릭의 Helm 차트를 참조하세요.nri-integration-cfg-example
: Flex 및 기타 뉴렐릭 통합을 활성화하는 데 사용되는configMap
입니다.
Flex를 활성화하려면 configMap
에서 데이터 섹션을 생성하고 이 새 섹션 아래에 통합 에이전트 통합 설정을 추가하세요.
apiVersion: v1kind: ConfigMapmetadata: name: nri-integration-cfg-example namespace: defaultdata: nri-flex.yml: | integrations: - name: nri-flex config: name: example apis: - event_type: ExampleSample url: https://my-host:8443/admin/metrics.json
샘플 설정
다양한 샘플을 찾으시나요? 다양한 데이터 소스로 시작하는 데 도움이 되는 몇 가지 예시 설정은 다음과 같습니다.
문제점 해결
Flex 설정에 문제가 발생하면 다음의 기본 문제 해결 단계를 따르세요.
분석 에이전트 없이 설정 테스트: 이와 같은 명령을 실행하여 출력이 기대에 부합하는지 확인하기 위해 설정 파일을 수동으로 테스트할 수 있습니다.
<FILE_NAME>
구성 파일 이름으로 바꾸는 것을 잊지 마세요.bash$# Linux default path: /opt/newrelic-infra/newrelic-integrations/bin/$./nri-flex -verbose -pretty -config_path /etc/newrelic-infra/integrations.d/<FILE_NAME>$$# Windows default path: C:\Program Files\New Relic\newrelic-infra\newrelic-integrations$.\nri-flex.exe -verbose -pretty -config_path "C:\Program Files\New Relic\newrelic-infra\integrations.d\<FILE_NAME>"그러면 인프라 에이전트와 통합될 디버그 로깅 및 JSON 페이로드를 보여주는 출력이 제공됩니다. 나머지 문제 해결 단계를 계속하기 전에 Flex가 기대한 대로 HTML 포맷을 얻고 포맷하고 있는지 확인하세요. GitHub 위치 에서 Flex 설정 테스트에 대해 자세히 알아보세요.
dry-run
모드에서 하이브리드 에이전트로 테스트: 하이브리드 에이전트에서dry-run
플래그를 사용하여 Flex 설정을 테스트합니다. 출력에 뉴렐릭에 보고하려는 텔레메트리가 포함되어 있는지 확인하세요.에이전트 에이전트를 사용하여 통합 디버그: 에이전트 에이전트에서 디버그 에이전트를 활성화하여 에이전트가 예상대로 텔리메트리 데이터를 보고하는지 확인합니다.