클라우드 네이티브 전환 과정에서 기업의 컴퓨팅 환경의 복잡성이 증가합니다. 이런 이유로 많은 기업이 클라우드 전환을 하는 가운데 관찰 가능성(Observability) 역량 확보의 중요성에 눈을 뜹니다. 온프레미스와 클라우드를 혼합해 사용하는 경우 각 환경에서 발생하는 로그, 메트릭, 트레이스를 한눈에 파악하지 못할 경우 장애나 사고 발생 시 빠르게 대처하기 어렵다는 것에 공감하는 조직이 늘고 있는 것입니다.
관찰 가능성의 핵심은 서비스 간 연관 관계와 데이터 흐름을 종합적으로 추적하기 위해 온프레미스와 클라우드에서 발생하는 각종 데이터 소스를 통합하고 표준화된 방식으로 실시간 분석할 수 있는 체계를 갖추는 것입니다. 이런 복잡을 작업을 간소화하기 위해 다이나트레이스는 OpenPipeline으로 쉽고 빠른 체계를 만들었습니다. 이번 포스팅에서는 다이나트레이스가 OpenPipeline을 도입한 이유와 주요 특징을 알아보겠습니다.
고객의 목소리에 귀기울인 다이나트레이스의 선택 'OpenPipeline'
데이터 수집에 대한 요구는 엔터프라이즈 컴퓨팅 환경의 진화에 따라 자연스럽게 바뀌고 있습니다. 예전에는 로그, 메트릭, 트레이스 이벤트 등의 데이터를 수집해 관찰 가능성을 확보하였습니다.
요즘 기업의 컴퓨팅 환경은 레거시와 마이크로 서비스가 복잡하게 서로 연결되고 상호작용 되는 쪽으로 전환하고 있습니다. 따라서 비즈니스 로직에서 사용하는 써드파티 솔루션의 로그(예:OpenTelemetry)와 각종 애플리케이션에서 발생하는 로그 그리고 사용자 정의 데이터 같이 다양한 소스에 대한 체계화가 필요합니다. 이를 돕기 위해 다이나트레이스는 OpenPipeline를 제시하였습니다.
OpenPipeline은 복잡하고 방대한 데이터를 한 곳에서 통합 관리하고, 실시간으로 변환하며, 필요에 따라 걸러내거나 마스킹하는 기능을 수행하기 위해 도입한 인제스트 파이프라인입니다.
OpenPipeline의 특징을 정리하면 다양한 소스에서 데이터를 더 효과적으로 수집하고자 하는 현장의 요구사항을 충족하면서도 운영 및 관리 비용을 낮추고, 고객이 원하는 형태로 데이터를 가공해 저장할 수 있도록 설계되었다는 것입니다.
OpenPipeline은 거의 실시간에 가까운 데이터 스트리밍 처리가 가능합니다. 데이터 라우팅 기능을 통해 유연한 데이터 처리를 지원합니다. 예를 들어 특정 로그는 보안 팀에게만 전달하고, 다른 로그는 운영 팀에게 전달하는 식으로 데이터 흐름을 제어할 수 있습니다. 이런 특징 덕분에 여러 도구나 에이전트를 복잡하게 연동하지 않아도 다이나트레이스 환경에서 대부분의 데이터를 중앙집중적으로 제어하고 운영할 수 있는 편의성을 제공합니다. 이렇게 처리된 데이터는 최종적으로 Grail이라는 고성능 스토리지 레이어에 저장되며, 다이나트레이스의 각종 앱이나 서비스로 필요에 맞게 활용할 수 있습니다.
다이나트레이스 플랫폼 + OpenPipeline 결합
다이나트레이스 플랫폼을 큰 그림으로 살펴보면 중앙에 Grail이라고 하는 분산 스토리지 시스템이 자리 잡고 있습니다. Grail은 대규모 데이터를 빠르게 검색하고 분석할 수 있도록 고성능 설계가 되어 있으며, DQL(Dynatrace Query Language)이라는 전용 쿼리 언어를 통해 필요한 정보를 신속하게 조회할 수 있습니다.
OpenPipeline은 Grail로 들어오는 모든 데이터를 처리하는 파이프라인입니다. 다음 그림과 같이 캡쳐되고 수집된 모든 데이터는 OpenPipeline을 거쳐 필요한 변환이 이루어진 뒤 Grail에 저장됩니다. 뿐만 아니라 오픈텔레메트리나 API, 서드파티 솔루션에서 발생하는 로그도 OpenPipeline을 통해 다이나트레이스로 유입될 수 있습니다.
OpenPipeline의 또 다른 중요한 역할은 데이터를 여러 유형으로 분류하고, 어떠한 형태로 저장할지 결정하는 것입니다. 단순히 로그만 저장하는 것이 아니라 “이 로그는 보안 이벤트가 될 수도 있고, 또는 소프트웨어 배포 이벤트가 될 수도 있다”처럼 변환하는 기능도 담당합니다.
예를 들어 보안 관련 경보(alert)가 떴을 때 보안 팀에게만 해당 이벤트가 보이도록 할 수 있고, 소프트웨어 공급망 파이프라인에서 발생하는 빌드와 배포 이력을 별도로 추적하기도 훨씬 쉬워집니다.
용도에 맞춘 저장 및 관리
OpenPipeline으로 인제스트된 데이터는 최종적으로 Grail에 저장됩니다. Grail은 버킷(Bucket)이라는 단위를 통해 데이터를 보관합니다. 버킷은 폴더에 비유해볼 수도 있지만, 그보다는 접근권한이나 보존기간 등으로 용도 및 기능에 대한 구문을 위한 논리적 구획에 가깝습니다.
예를 들어 디버그 로그는 일주일만 보관하면 되고, 규제나 컴플라이언스 이슈가 있는 감사(Audit) 로그는 몇 년씩 보관해야 할 수도 있습니다. 이러한 경우 각각 다른 버킷에 저장하여 보존 정책을 달리 적용할 수 있습니다.
또한, 버킷에 따라 접근 권한을 달리 설정할 수도 있습니다. 민감 정보가 들어 있는 보안 로그라면 보안 담당자만 접근할 수 있도록 특정 버킷에만 저장하도록 설정 가능하며, 특정 팀이나 프로젝트에만 제한된 접근 권한을 줘야 하는 경우에 유연하게 대처할 수 있습니다. 결국 버킷은 데이터의 성격, 보안 수준, 보존 정책 등을 종합적으로 반영하여 구분하는 용도로 활용됩니다.
여기에서 OpenPipeline은 어떤 조건의 데이터가 어느 버킷에 들어가야 하는지를 설정하는 핵심 역할을 합니다. 인제스트 파이프라인 단에서 필터링, 마스킹, 해싱, 축약 등의 작업을 모두 마치고 나면, 마지막 단계에서 “이 데이터는 ‘debug-logs-bucket’에 들어간다” 혹은 “이 데이터는 ‘security-bucket’에 저장된다”와 같은 식으로 최종 경로를 결정하게 됩니다.
다이나트레이스 환경에서 오픈파이프라인 활용하기
실제로 다이나트레이스 콘솔에서 OpenPipeline을 어떻게 설정하고 사용하는지 간단히 살펴보겠습니다. 기본적으로 인제스트 소스(Ingest Sources), 라우팅(Routing), 그리고 파이프라인 개념을 이해하면 수월하게 사용할 수 있습니다.
인제스트 소스는 데이터가 어디서부터 들어오는지를 정의하는 구역입니다. 기본적으로 원에이전트나 다이나트레이스 확장 모듈, 그리고 각종 API가 여기에 해당합니다. 필요하다면 특정 로그 소스나 외부 툴에서 전송되는 데이터를 별도의 인제스트 소스로 명명해둘 수도 있습니다. 라우팅 단계에서는 “어떤 조건을 만족하는 데이터가 어느 파이프라인으로 흘러갈 것인지”를 결정합니다.
마지막으로 파이프라인 안에서는 데이터를 파싱, 마스킹, 해싱, 메트릭 변환, 이벤트 변환하는 등 다양한 데이터 처리 기능을 수행하며, 최종적으로 버킷을 배정합니다. 예를 들어 웹 서버 로그를 JSON 형태로 파싱한 다음 응답 시간을 frontend.response.time이라는 메트릭으로 뽑고, 그중 민감한 정보는 해싱 처리 후 ‘frontend-bucket’에 저장한다는 식으로 일련의 규칙을 구성할 수 있습니다. 이러한 설정 후 미리보기(Preview) 기능을 통해 실제 데이터가 어떻게 변환될지를 확인하고, 이상이 없으면 저장하여 곧바로 프로덕션 환경에 적용할 수 있습니다.
여러 파이프라인을 조합해서 글로벌 정책과 팀별 또는 프로젝트별 정책을 동시에 적용할 수 있는 기능이나, 수집된 데이터를 다시 외부로 전송(Forwarding)하는 기능의 확장도 예정되어 있다고 합니다. 이렇게 되면 특정 팀은 팀만의 파이프라인에서 세부적인 처리를 담당하고, 전사적으로 통합해야 하는 보안 정책이나 규제 준수 사항은 전역 파이프라인에서 통합 적용하는 구성도 한결 손쉬워질 것입니다.
OpenPipeline의 활용 가치
그렇다면 다이나트레이스 플랫폼을 이용하는 기업이 체감할 수 있는 OpenPipeline 효과는 무엇일까요? 크게 비용 및 노이즈 절감, 보안 및 개인정보 보호, 데이터 품질 개선, 그리고 도메인 특화된 활용 네 가지 측면에서 효과를 느낄 수 있을 것입니다. .
첫 번째는 비용 절감입니다. 비용과 노이즈 절감 측면에서 OpenPipeline은 방대한 로그나 중복된 이벤트를 굳이 전부 저장할 필요 없이, 필터링을 통해 필요한 데이터만 남기거나 특정 필드는 제외하여 스토리지 비용을 크게 줄일 수 있습니다. 가령 개발 단계에서 발생하는 디버그 로그는 보관 기간을 매우 짧게 설정하거나 삭제하도록 설정할 수 있고, 트래픽 테스트를 위한 가짜 데이터가 들어온다면 이를 인제스트 단계에서 걸러낼 수도 있습니다. 이렇게 하면 데이터를 분석할 때도 불필요한 노이즈가 줄어들어 분석 효율도 높아집니다.
두 번째로 보안 및 개인정보 보호 강화입니다. OpenPipeline은 중앙 집중형으로 민감 데이터를 마스킹하거나 해싱 처리할 수 있는 강력한 수단이기도 합니다. 예를 들어 사용자 이메일 주소나 이름 같은 개인정보가 로그에 섞여 들어온다면, 굳이 원본을 보관하지 않고 해시로 변환한 값만 보관해도 됩니다. 이는 GDPR 같은 규제 혹은 내부 보안 정책을 준수해야 할 때 매우 유용하며, 각 애플리케이션 개발팀이 알아서 처리하는 수고도 덜어줍니다.
세 번째는 데이터 품질 및 분석 가치 향상입니다. OpenPipeline은 비정형 텍스트 로그를 구조화하거나, 특정 항목만 뽑아서 지표로 전환하여 훨씬 더 손쉽게 모니터링하거나 분석할 수 있습니다. 예를 들어 긴 웹 서버 로그 한 줄에서 응답 시간과 HTTP 상태 코드만 뽑아내어 시간별 메트릭으로 전환하면 모니터링 대시보드를 구성할 때 매번 대규모 원본 로그를 살펴보지 않아도 빠르게 통계를 확인할 수 있습니다.
마지막으로 도메인 특화 활용 사례로 보안 이벤트 추출과 소프트웨어 배포 이벤트 추출을 효과로 꼽을 수 있습니다. 특정 로그 패턴이 발견되면 이를 자동으로 ‘보안 이벤트’로 변환해서 다이나트레이스의 애플리케이션 보안 기능과 연동할 수 있습니다.
또한, CI/CD 파이프라인에서 발생하는 빌드 시작 및 종료, 배포 완료 같은 이벤트를 하나의 표준 형식으로 추출하면 “어느 시점에 누가 무엇을 배포했는지” 같은 질문에 단일 대시보드 혹은 히스토리 조회로 찾을 수 있습니다.
정리하면 OpenPipeline은 다이나트레이스가 종합적인 관측성(Observability) 플랫폼으로서 한층 확장성을 갖추기 위해 도입된 강력한 인제스트 처리 엔진입니다. 이를 통해 로그부터 트레이스, 이벤트, 메트릭, 그리고 비즈니스 도메인 데이터까지 모든 유형의 정보를 한꺼번에 받아들여, 실시간으로 가공하고 저장하며, 필요하다면 추가 변환이나 필터링까지 수행할 수 있습니다.
지금까지 설명한 다이나트레이스 기능과 다른 궁금한 사항이 있으시면 락플레이스로 문의 바랍니다.
'PRODUCT > Solutions' 카테고리의 다른 글
다이나트레이스 플랫폼의 활용 가치를 극대화하는 AI 어시스턴트 'Davis CoPilot' 정식 출시 (5) | 2024.11.05 |
---|---|
생성형 AI 시대를 위해 태어난 Red Hat Enterprise Linux AI가 특별한 이유 (2) | 2024.10.22 |
생성형 AI 프로젝트를 성공으로 이끄는 조합 ‘Red Hat OpenShift AI + Watsonx.ai’ (6) | 2024.09.25 |
Red Hat OpenShift 기반 CI/CD 파이프라인의 완성도를 더하는 Dynatrace (4) | 2024.08.27 |
Red Hat Device Edge와 NVIDIA Jetson Orin, IGX Orin이 만들 AI 엣지의 미래 (0) | 2024.07.31 |