편집자 주: 2023년 Dragon Lizard 커뮤니티는 정보 통신 기술 아카데미, Alibaba Cloud, ZTE, Fudan University, Tsinghua University, Zhejiang University, Yunguan Qiuhao, Chengyun Digital로 구성된 시스템 운영 및 유지 관리 동맹을 공식적으로 설립했습니다. , Yunshan Network, Inspur Information, Tongxin Software 및 China Unicom Software Institute를 포함한 12개 단위가 공동 후원했습니다. 이 기사는 Yun Guan Qiu Hao에서 복제되었으며 System Operation and Maintenance Alliance의 회원인 Kindling-OriginX를 소개하여 DeepFlow의 전체 네트워크 데이터 기능을 결합하여 해석 가능한 오류 근본 원인 보고서를 자동으로 생성합니다.
DeepFlow는 eBPF 기술을 활용하여 복잡한 클라우드 인프라 및 클라우드 네이티브 애플리케이션에 대한 높은 관찰 가능성을 제공하는 오픈 소스 프로젝트입니다. eBPF 기술을 통해 DeepFlow는 전체 링크 범위와 풍부한 TCP 성능 지표를 통해 정밀한 링크 추적 데이터, 네트워크 및 애플리케이션 성능 지표를 수집합니다. 이러한 기능은 전문 사용자와 네트워크 전문가에게 강력한 문제 해결 및 문제 위치 지원을 제공합니다.
Kindling-OriginX는 사용자에게 해석 가능한 오류 근본 원인 보고서를 제공하여 사용자가 오류의 근본 원인을 직접 이해할 수 있도록 하고, 근본 원인을 추론하는 프로세스를 검증하는 것이 목표입니다. 근본 원인의 정확성. 네트워크 오류는 단순히 설명하기 어렵습니다. 단순히 사용자에게 어떤 네트워크 세그먼트에 문제가 있는지 알려주는 것만으로는 충분하지 않습니다. 사용자가 네트워크에서 어떤 오류가 발생했고 어디서 발생했는지 더 잘 이해할 수 있도록 더 많은 표시와 그림이 필요합니다.
이 기사에서는 DeepFlow의 전체 네트워크 데이터 기능을 결합하여 해석 가능한 오류 근본 원인 보고서를 자동으로 생성하는 Kindling-OriginX를 소개합니다.
좌석 서비스에 200ms 지연된 네트워크 시뮬레이션 오류를 삽입합니다.
다음으로 먼저 DeepFlow를 사용하여 200ms 네트워크 오류를 식별하고 해당 조치를 취합니다.
1단계: 추적 시스템을 사용하여 범위 좁히기
마이크로서비스 환경에서 인터페이스에 성능 문제가 발생하면 첫 번째 단계는 추적 시스템을 사용하여 어떤 링크가 속도 저하를 유발하는지 확인하고 구체적인 성능을 이해하는 것입니다.
추적 시스템을 사용하면 사용자는 특정 추적을 정확하게 찾을 수 있습니다. Trace를 분석한 결과 좌석 서비스의 실행 시간이 길고 동시에 긴 구성 서비스 호출이 발생한 것으로 나타났습니다. 이 경우 연결된 네트워크 표시기는 네트워크 문제의 원인을 정확히 찾아내는 데 도움이 됩니다.
2단계: DeepFlow 불꽃 그래프를 사용하여 오류가 발생한 네트워크 세그먼트를 확인합니다
Flame 그래프에 결함 대표 Traceid를 DeepFlow에 입력하고, 네트워크 수준에서 Trace의 성능을 찾아본 후 Flame 그래프를 심층적으로 분석해 보세요. 플레임 그래프에 따라 플레임 그래프를 사용할 수 있는데, 인간의 분석에 따르면 이 결함은 호출자, 즉 좌석 서비스에서 발생해야 하며 syscall이 네트워크 카드로 전송되는 기간 동안 문제가 발생한 것으로 나타났습니다. 즉, 컨테이너 네트워크 기간에 문제가 있었습니다(결함 주입과 일치).
(사진/DeepFlow 네트워크 불꽃 그래프)
3단계: 컨테이너 네트워크에서 어떤 네트워크 지표가 비정상적인지 확인
문제 해결 경험을 바탕으로 사용자는 좌석 서비스 및 구성 서비스 포드의 네트워크 표시기를 확인해야 합니다. 이때 사용자는 DeepFlow의 Pod 수준 네트워크 표시기 페이지로 이동해야 합니다. 이 페이지를 통해 사용자는 연결 설정 시 200ms 지연 변이와 RTT 표시기의 변이를 볼 수 있습니다.
(사진/DeepFlow-pod 레벨 모니터링 표시기)
(사진/DeepFlow-pod 레벨 모니터링 표시기)
4단계: 가능한 간섭 요인 제거
경험에 따르면 호스트의 CPU와 대역폭이 가득 차면 가상 네트워크에서도 패킷 손실 및 지연이 발생하므로 Seat-service 및 config-service가 실행되는 노드의 CPU 및 노드 수준 대역폭을 확인해야 합니다. 노드 수준 리소스가 포화되지 않았는지 확인하세요.
k8s 명령을 통해 두 개의 Pod가 위치한 노드를 확인한 후 DeepFlow의 노드 표시기 모니터링 페이지로 이동하여 해당 표시기를 확인하면 노드의 bps, pps 및 기타 표시기가 합리적인 범위 내에 있는 것으로 확인됩니다. 범위.
(사진/k8s 명령어를 통해 Pod가 위치한 노드 찾기)
(사진/DeepFlow 노드 수준 모니터링 표시기(클라이언트))
(사진/DeepFlow 노드 수준 모니터링 지표(서버))
노드 수준의 네트워크 지표에는 뚜렷한 이상이 없었으므로, 최종적으로 Seat-Service의 Pod 수준 RTT 지표에 이상이 있는 것으로 판단되었습니다.
수동 문제 해결 요약
일련의 문제 해결 프로세스를 거친 후 최종 사용자는 오류를 해결할 수 있지만 사용자에게 부과되는 요구 사항은 다음과 같습니다.
아주 풍부한 네트워크 지식
네트워크 플레임 그래프에 대한 심층적인 이해
관련 도구 활용에 능숙하신 분
Kindling-OriginX 다양한 사용자 요구 사항과 사용 시나리오를 기반으로 Kindling-OriginX는 DeepFlow 데이터를 처리하고 제공합니다.
가장 단순화된 수동 문제 해결 프로세스와 유사하게 Kindling-OriginX를 사용한 문제 해결 프로세스는 다음과 같습니다.
모든 추적을 자동으로 분석
이때 오류를 고려하여 각 Trace가 자동으로 분석되고 나열된 Trace는 오류 노드에 따라 그룹화됩니다. 여행 서비스는 계단식 오류로 인해 발생합니다. 이 문서에서는 계단식 오류에 중점을 두지 않습니다. 관심이 있는 경우 마이크로서비스 계단식 오류를 처리하는 방법을 참조할 수 있습니다.
결함 노드가 좌석 서비스인 결함 루트 보고서 검토
오류 근본 원인 결론:
하위 요청 10.244.1.254:50332->10.244.5.79:15679 rtt 표시의 경우 약 200ms의 지연이 있습니다.
오류 추론 및 검증
Kindling-OriginX는 Seat-service가 config-service를 호출하는 네트워크에 문제가 있음을 확인했기 때문에 DeepFlow의 Flame Graph의 모든 데이터를 사용자에게 완전히 제시할 필요는 없습니다. 구성을 호출하려면 좌석 서비스만 가져오세요. 네트워크 서비스 호출과 관련된 데이터이면 충분합니다.
DeepFlow의 좌석 서비스를 사용하여 구성 서비스 데이터를 호출한 결과 클라이언트 포드의 컨테이너 네트워크에 201ms의 지연이 발생한 것으로 자동 분석되었습니다.
Kindling-OriginX는 전문가 분석 경험을 시뮬레이션하고 DeepFlow의 재전송 표시기와 RTT 표시기를 추가로 연관시켜 구성 서비스 호출 좌석 서비스 지연의 원인을 파악합니다.
Kindling-OriginX는 또한 노드의 CPU 사용률과 대역폭 표시기를 통합하여 간섭 요인을 제거합니다.
Kindling-OriginX는 한 페이지 분량의 보고서로 전체 결함 추론을 완성하며, 각 데이터 소스는 신뢰할 수 있고 검증 가능합니다.
Kindling-OriginX와 DeepFlow는 모두 eBPF 기술을 사용하며 다양한 시나리오에서 다양한 요구 사항을 가진 사용자에게 유연하고 효율적인 솔루션을 제공하기 위해 노력하고 있습니다. 또한 앞으로 보완 기능을 갖춘 더 많은 국내 제품이 등장할 것으로 기대합니다.
DeepFlow는 풀 링크 네트워크의 매우 완벽한 기본 데이터를 제공하여 클라우드 네이티브 애플리케이션을 심층적으로 관찰할 수 있게 하며 네트워크 문제를 해결하는 데 매우 유용합니다.
Kindling-OriginX는 eBPF를 사용하여 문제 해결 북극성 지표, AI 알고리즘 및 전문가 경험을 수집하여 사용자에게 설명 가능한 근본 원인 보고서를 제공하는 결함 추론 엔진을 구축합니다.
—— 종료 ——
위 내용은 Dragon Lizard 시스템 운영 및 유지 관리 연합: Kindling-OriginX가 DeepFlow의 데이터를 통합하여 네트워크 오류에 대한 설명을 향상시키는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!