뉴렐릭 eBPF 에이전트는 eBPF 기술을 사용하여 코드 측정이 필요 없는 단일 에이전트에서 APM 기능을 제공합니다. 이 접근 방식은 모델링 구현, 배포를 위해 팀과 협력할 필요성을 제거함으로써 플랫폼 엔지니어링 팀의 역량을 강화합니다.
eBPF 기반 APM을 사용하는 경우
- 대규모 구현, 배포: 대규모로 구현하고 배포해야 하며 개별 언어 에이전트의 오버헤드 없이 "충분히 좋은" 지표를 요구하는 많은 기능을 구현하는 경우.
- 알 수 없거나 수정 불가능한 워크로드: 모니터링하려는 로드가 알 수 없는 프로그래밍 언어로 작성되었거나 수정할 수 없는 경우.
- 플랫폼 엔지니어링 효율성: 개별 팀과의 조율 없이 규모에 맞게 구현하고, 배포하고 모니터링하려는 경우.
- Linux 중심 환경: eBPF가 Kubernetes와 호스트 환경 모두에서 Linux에서 훌륭하게 작동하므로 Windows 플랫폼을 모니터링할 필요가 없는 경우입니다.
- 분산 추적 요구 사항 없음: 모니터링 요구 사항에 분산 추적 기능이 필요하지 않은 경우입니다.
eBPF 대 기존 APM 비교
eBPF 기반 APM과 기존 APM 에이전트의 차이점을 이해하면 올바른 접근 방식을 선택하는 데 도움이 됩니다.
기능 | eBPF 에이전트(eAPM) | APM 에이전트 |
|---|---|---|
요약 | ✅ | ✅ |
거래 | ✅ (변, Go, Node.js 에 대한 세그먼트 연결) | ✅ |
데이터베이스 작업 | ✅ | ✅ |
서비스 맵 | ✅ | ✅ |
분산 추적 | ❌ | ✅ |
프로그래밍 언어에 구애받지 않음 | ✅ | ❌ |
맞춤형 계측 | ❌ | ✅ |
앱과 서비스를 지속적으로 자동 검색 | ✅ | ❌ |
리눅스 지원 | ✅ | ✅ |
Windows 지원 | ❌ | ✅ |
TCP 및 DNS 텔레메트리 | ✅ | ❌ |
데이터 소스 관점
eBPF 기반 APM은 모니터링 관점을 애플리케이션 계층에서 커널 계층으로 전환합니다.
기능 | APM 언어 에이전트 | eBPF 기반 APM |
|---|---|---|
데이터 소스 | 애플리케이션의 메모리/런타임 후크 | Linux 커널(eBPF를 통해) |
언어 의존성/종속성 | 높음(각 언어에 대해 특정 에이전트가 필요함) | 없음(커널의 프로세스 관점에서 작동) |
코드 수정 | 필수의 | 필요 없음(외부에서 프로세스 관찰) |
결과 | 알려진 언어에 대한 Deep 인사이트 | Linux(C++, Rust 등)의 모든 워크로드에 적합한 인사이트 |
구현, 배포에 대한 모범 사례
1. 기존 APM 보완
포괄적인 적용 범위를 위해 eBPF 에이전트를 사용하여 APM 언어 에이전트를 보완하세요. 이를 통해 eAPM과 APM 에이전트가 공존하면서 이중 데이터 수집 없이 전체 APM 적용 범위를 확보할 수 있습니다.
권장 접근 방식:
- APM 언어 에이전트: 심층적인 인사이트, 반전 추적 또는 맞춤형 측정이 필요한 가장 중요한 기능에 사용합니다.
- eBPF 기반 APM: 계측되지 않은 서비스, 타사 앱을 포함한 기타 모든 것을 다루고 새로운 서비스를 지속적으로 검색/보고하는 데 사용합니다.
2. 더 심층적인 맥락을 위해 네트워크 메트릭 추가
시사
우리는 아직 eBPF 네트워크 메트릭 기능을 개발 중이지만, 여러분이 직접 사용해보면 좋을 것 같습니다!
이 기능은 현재 사전 출시 정책 에 따라 미리보기의 일부로 제공됩니다. HIPAA 또는 FedRAMP 규정을 준수하는 고객은 이용할 수 없습니다.
eBPF 에이전트는 또한 세분화된 네트워크 지표(TCP, DNS 등)를 제공하여 기능 경계 외부에 대한 가시성을 제공할 수도 있습니다. 이 기능은 보완적이며 eAPM과 함께 사용하거나 사용하지 않고도 사용할 수 있습니다. 자세한 내용은 네트워크-메트릭 을 참조하세요.
다음 구현, 배포 옵션을 사용할 수 있습니다.
애플리케이션 메트릭 소스 | 네트워크 메트릭 소스 | 구성 |
|---|---|---|
APM 언어 에이전트 | eBPF 에이전트(네트워크 메트릭 전용 모드) | 두 명의 에이전트 |
eBPF 에이전트(eAPM) | eBPF 에이전트(동일 에이전트) | 단일 에이전트 |
3. 통합 모니터링 접근 방식 만들기
위의 방법을 따르면 단일 eBPF 에이전트를 사용하여 인프라와 애플리케이션 모니터링 요구 사항을 모두 처리할 수 있습니다. 이는 옵저버티빌리를 통합하여 에이전트가 자동으로 중요한 성능 데이터(eAPM) 및 네트워크 지표(eBPF 네트워크 지표)를 수집하여 기존 대시보드를 채우고 코드 변경이나 재시작 없이 심층적인 컨텍스트를 제공할 수 있도록 합니다.
이익:
- 뉴렐릭 APM UI 자동으로 채우는 APM 인사이트.
- 동일한 에이전트의 네트워크 인사이트.
구현 권장 사항
확장을 위해 eAPM 으로 시작: 많은 구조에 걸쳐 대규모로 구현, 배포하다 모니터링이 필요하고 복잡한 조정 없이 "충분히 좋은" 지표를 원하는 경우 eBPF 기반 APM 으로 시작하세요.
완전한 가시성을 위해 네트워크 지표 추가: eAPM 이 구현되고 배포되면 eBPF 네트워크 지표를 추가하여 포괄적인 문제 해결, 처리 기능에 대한 경계를 넘어 가시성을 확보하는 것을 고려하세요.