Google Dataflow를 사용해 Google Cloud Storage에서 Elastic으로 직접 데이터 수집

blog-thumb-cloud-gcp.png

오늘 Google Dataflow를 통해 Google Cloud Storage(GCS)에서 Elastic Stack으로 직접 데이터 수집이 지원됨을 발표하게 되어 기쁘게 생각합니다. 이제 개발자, 사이트 안정성 엔지니어(SRE) 및 보안 분석가는 Google Cloud Console에서 클릭 몇 번만으로 GCS에서 Elastic Stack으로 데이터를 수집할 수 있습니다.

많은 개발자, SRE 및 보안 분석가는 GCS를 사용하여 애플리케이션 및 인프라에서 생성된 로그와 이벤트를 Google Cloud에 저장하는 동시에 Elastic Stack을 사용하여 이러한 애플리케이션 및 인프라의 보안 이상 징후를 해결하거나 모니터링하거나 찾습니다. 두 솔루션 모두의 경험을 향상시키기 위해 Google과 Elastic은 함께 협력하여 GCS에 저장된 로그와 이벤트를 Elastic Stack에 수집하기 위한 사용하기 쉽고 보다 원활한 방법을 제공하게 되었습니다. 따라서 사용자 정의 데이터 프로세서를 만들지 않고도 Google Cloud Console에서 클릭 몇 번만으로 데이터 파이프라인 아키텍처를 단순화하고, 운영 오버헤드를 제거하며, 문제 해결에 필요한 시간을 줄일 수 있습니다.

이 블로그 게시물에서는 Google Dataflow를 사용하여 GCS에서 Elastic Stack으로 에이전트 없는 데이터 수집을 시작하는 방법에 대해 설명합니다.

GCS에서 데이터 수집 간소화

Google Cloud Storage는 Amazon S3 또는 Azure Blob Storage와 자주 비교되는 객체 스토리지 솔루션입니다. GCS는 종종 데이터 백업 및 아카이브용으로, 스트리밍이 필요 없는 데이터 분석을 위해, 또는 심지어 저렴한 가격으로 간단한 웹페이지 및 애플리케이션을 호스팅하는 데 사용됩니다. 개발자, SRE 또는 보안 분석가는 백업이나 아카이브 목적으로 애플리케이션 또는 인프라 로그와 이벤트를 GCS에 저장하기로 결정할 수도 있습니다. Google Cloud 사용자는 데이터 파이프라인을 가질 수도 있습니다. 이 파이프라인의 모든 데이터를 Elastic Stack으로 수집할 필요 없으며, 일부는 필요한 경우 이후 분석을 위해 GCS에 저장할 수 있습니다.

로그와 이벤트가 GCS에 있으면 Elastic과 같은 서드파티 분석 솔루션을 위한 수집 방법을 결정해야 합니다. Google Cloud Console에서 클릭 몇 번만으로 GCS에서 Elastic Stack으로 직접 데이터를 수집할 수 있는 것이 이상적입니다. 이것이 이제 Apache Beam 기반의 인기 있는 서버리스 데이터 프로세스 제품인 Google Dataflow의 드롭다운 메뉴를 통해 가능합니다. 데이터 흐름은 로그와 이벤트를 GCS에서 Elastic Stack으로 효과적으로 푸시합니다. 현재 CSV 파일 형식이 지원되고 있으며 조만간 JSON에 대한 지원을 추가할 예정입니다.

다음은 데이터 수집 흐름의 요약입니다. 통합은 Elastic Cloud의 Elastic Stack, Google Cloud Marketplace의 Elastic Cloud 또는 자체 관리 환경에 관계없이 모든 사용자에게 적용됩니다.

데이터 흐름
 

시작하기

GCS 수집 기능을 보여드릴 수 있는 가장 좋은 방법은 예제를 단계별로 따라가보는 것입니다. 다음 예에서는 실시간 지진 및 지진 통계에 대한 정보를 제공하는 공개 데이터 세트를 카탈로그화하는 USGS의 지진 데이터를 분석합니다. 우리는 지난 달에 발생한 USGS 규모 2.5 이상의 지진을 CSV로 사용하려고 합니다. 데이터가 어떻게 보이는지 알려드리기 위해 파일의 첫 다섯 줄만 보여드리겠습니다.

데이터 파일
 

Google Cloud Console의 Dataflow 페이지에서 GCS to Elasticsearch template을 선택합니다. 템플릿은 다음 중 하나를 사용하여 JSON 문서의 스키마를 작성합니다.

  1. Javascript UDF(제공되는 경우)
  2. JSON 스키마(제공되는 경우)
  3. CSV 헤더*(기본값)

UDF 또는 JSON 스키마가 제공되는 경우, CSV 헤더 대신 UDF 또는 JSON 스키마가 사용됩니다.

클라우드 스테이징
 
양식의 첫 번째 필드에 GCS의 파일 위치를 나타내는 매개 변수를 입력합니다. 클라우드 ID는 아래와 같이 Elastic Cloud UI에서 확인할 수 있습니다. API 키는 Create API key API를 사용하여 생성할 수 있습니다.
API 키
 

Elasticsearch index 필드에서 데이터를 로드할 인덱스 이름을 선택합니다. 예를 들어, 우리는 quakes 인덱스를 사용했습니다.

클라우드 스테이징
 

Run Job을 클릭하여 GCS에서 Elasticsearch로 이 지진 데이터 수집을 시작합니다. 모두 Google Cloud Console을 벗어나지 않고 가능합니다.

그런 다음 Kibana로 이동하여 인덱스 패턴을 만든 다음 몇 분 만에 시각화를 시작할 수 있습니다.

Kibana
 

지진 데이터 표시를 보여주는 샘플 대시보드:

지진 지도
 

결론

Elastic은 끊임없는 개발을 통해 고객이 보다 쉽게 원하는 곳에서 실행하고 원하는 것을 사용할 수 있도록 지원하고 있습니다. Google Cloud와의 이러한 간소화된 통합이 그 가장 최근의 예입니다. Elastic Cloud는 Elastic Stack의 가치를 확장하여 고객이 더 많은 것을, 더 빨리 할 수 있도록 하며, 이것은 고객이 플랫폼을 경험할 수 있는 가장 좋은 방법입니다. Google Cloud에서 Elastic을 사용하려면 Google Cloud Marketplace 또는 elastic.co를 방문하세요.