엔지니어링

Splunk에서 Elastic Stack으로 마이그레이션: 데이터 마이그레이션

약 20년 전 Splunk가 처음 출시되었을 때, Splunk는 수많은 기업들 또는 조직이 하루동안 수집하는 데이터 볼륨을 기반으로 한 요금제를 활용해 비즈니스 인사이트를 얻는 데 있어 로그의 중요성을 깨닫도록 도와주었습니다. 지난 이십 년 동안, 시스템과 사용자가 생성하는 데이터의 볼륨, 다양성, 속도는 기하급수적으로 증가해왔고, 비즈니스와 운영자의 인사이트에 대한 수요는 단순한 규정 준수와 기본 보고서의 수준 이상으로 증가했습니다. 또한, 개발 방법론과 모니터링 요구 사항은 급속하게 진화해왔으며, 데이터에 대한 인사이트를 제공하기 위한 머신 러닝의 수요 증가로 인해 실시간 검색 기능이 필요해졌습니다.

데이터 수집 한계("Splunk 한계점")에 도달한 기업들

현재, 기업들은 운영에 대한 실시간 인사이트를 얻기 위해 밀리초 당 페타바이트의 데이터를 검색하고, 머신 러닝 시스템을 지원하며, 비즈니스의 속도에 따라 확장할 수 있어야 합니다. 데이터 수집을 기반으로 하는 요금제로 인해 Splunk 비용은 엄두도 못낼 정도로 높은 것이 되었습니다. 기술 확장에 대한 어려움이 결합되어, 수많은 조직들이 “Splunk 한계점”이라 일컫는 한계에 부딪히게 되었고, 이제 자사 시스템에 그 이상의 데이터를 추가하는 것을 더 이상 감당할 수 없게 되었으며, 기업들은 보안 및 통합모니터링(observability) 사용 사례를 위한 소중한 데이터를 종종 삭제하기에 다다랐습니다. 문제를 좀더 복잡하게 만드는 것은, Splunk의 프리미엄 애플리케이션이 다른 요금제 모델을 채택하고 있으며, 그 일부는 완전히 다른 플랫폼과 아키텍처를 기반으로 구축되어, 이렇게 이질적인 도구를 위한 인프라를 관리하고 비용을 예측하는 것이 어렵다는 점입니다. Splunk가 최근 영구 라이선스를 중단한 것 또한 수많은 회사들이 새로운 솔루션을 찾아 나서게 만들었습니다.

Elastic은 검색을 초기 사용 사례로 하여 생성되었으며, 따라서 처음부터 철저하게 속도와 확장성을 위해 구축됩니다. 그 속도와 확장성은 또한 제공되는 솔루션 제품군의 성장을 추진하며, 이 모든 것이 단일한 스택 위에 구축됩니다. 유연한 오픈 소스 라이선싱 모델과 아울러 합리적인 제품에 대한 리소스 기반의 공정한 요금제로 인해, 점점 더 많은 조직들이 Splunk에서 Elastic으로 마이그레이션을 하고 있습니다.

Elastic의 핵심 기능은 오픈 소스 라이선싱 모델로, 새로운 사용자들이 라이선스를 구매할 필요 없이 시작할 수 있게 해줍니다. 라이선스는 상당히 관대하며 개발자가 자체 제품에 Elasticsearch를 통합하는 것까지도 감안하고 있습니다. 개발자가 머신 러닝, APM, 클러스터 간 복제, 엔드포인트 보안 또는 오케스트레이션 도구 같은 프리미엄 기능을 활용할 준비가 되면, 라이선스를 업그레이드하기만 하면 됩니다. 추가적인 도구, 별도의 아키텍처 또는 추가적인 하드웨어를 배포할 필요가 없습니다. 오픈 소스 모델은 또한 관리하는 개발, 준비, 프로덕션을 위한 여러 환경 관리와 연관된 비용을 유지함으로써 도움이 됩니다.

Splunk 데이터를 Elastic으로 마이그레이션하는 4단계

Splunk에 비해 차별화된 장점들 때문에, 수많은 조직들이 Elastic으로 전환하고 있습니다. 이러한 조직 중 다수가 마이그레이션을 완료할 때 모범 사례(Best practices) 제공을 요청했습니다. 한 데이터 플랫폼에서 다른 데이터 플랫폼으로 마이그레이션하기 위한 간편한 버튼 같은 것은 존재하지 않지만, 조직이 따를 수 있는 간단한 몇 가지 테크닉은 있습니다.

1단계: Splunk로 수집되지 않고 있는 데이터 소스 파악

손쉬운 첫 번째 단계는 비용(라이선싱)이나 기술적인 제약으로 인해 Splunk로 수집되지 않고 있는 데이터 소스(출처)를 검토하는 것입니다. 이러한 것들은 DNS, DHCP, 엔드포인트, 애플리케이션 로그 같은 많은 양의 데이터 소스일 때가 많습니다. 이전에 해제된 이러한 데이터 소스를 Elastic으로 수집하기 시작하는 것은 조직이 새로운 사용 사례를 구축하는 동시에 Elastic Stack을 시작할 수 있게 해줍니다. 그리고 Elastic Stack의 무료 기본 배포 버전을 다운로드하거나 Elastic Cloud의 Elasticsearch Service 무료 체험판을 활용해서도 신속하게 시작하실 수 있습니다.

2단계: Splunk에서 Elastic으로 마이그레이션하기 위한 인벤토리 데이터 소스

Elastic으로의 마이그레이션을 적절하게 계획하려면, 어느 데이터 소스가 현재 Splunk로 수집되고 있는지 인벤토리 목록을 만드는 것이 중요합니다. 이렇게 하기 위한 쉬운 방법 한 가지는 SPL 쿼리를 통하는 것입니다.

| eventcount summarize=false index=* index=_* 
| dedup index
| fields index
| map maxsearches=100 search="|metadata type=sourcetypes index=\"$index$\"
| eval index=\"$index$\""
| fields index sourcetype

일단 Splunk Search 애플리케이션에서 쿼리를 실행하면, 데이터 소스 목록을 다양한 형식으로 내보내는 옵션이 있습니다.

3단계: 기존 데이터 흐름을 Splunk에서 Elastic으로 마이그레이션

Beats는 수천 개의 시스템으로부터 Elastic으로 데이터를 전송하는 데 사용될 수 있는 데이터 수집기 제품군입니다. 그러나, 수많은 Splunk 사용자가 이미 Splunk의 Universal Forwarder를 시스템에 배포했을 수도 있습니다. 마이그레이션을 시작할 때 Splunk Universal Forwarder를 사용해 Elastic Stack으로 데이터를 이동할 수 있습니다. 안타깝게도, Splunk는 Universal Forwarder로 데이터를 서드파티 시스템에 전송할 수 있는 방법에 기술 및 라이선싱 제약을 부과하고 있습니다. 따라서 가장 좋은 방법을 위해 설명서와 라이선싱을 검토하는 것이 좋습니다. 시간이 지나면서, 보다 큰 유연함과 보안, 안정성을 위해 Universal Forwarder를 Beats 모듈로 교체하셔야 합니다. Elastic 컨설팅 팀은 어려운 사용자 정의 데이터 소스를 가지고 작업하는 데 있어 방대한 경험을 보유하고 있기에, 여러분의 마이그레이션 프로세스를 지원해 드릴 수 있습니다.

4단계: 기존 데이터를 Splunk에서 Elastic으로 마이그레이션

대부분의 조직들이 새로운 데이터로 시작하고 싶어하지만, Splunk에서 Elastic으로 기존 데이터를 마이그레이션해야 하는 사용 사례가 있을 때가 많습니다. 데이터의 볼륨에 따라 이렇게 하는 데는 수많은 방법이 있습니다. 가장 쉬운 방법은 Splunk의 설명서에 나와 있는 대로, Splunk 인터페이스에서 데이터를 내보내는 것입니다.

Elasticsearch로 가져오기 위해 CSV나 JSON을 통해 가장 작은 데이터 세트 내보내기

또한 Splunk API를 사용해 데이터를 내보낼 수도 있으며, 또는 ODBC를 통해 연결할 수 있습니다. 사용하는 접근 방법은 사용 사례, 데이터의 볼륨, 작업하고 있는 데이터 유형에 따라 달라지게 됩니다.

마이그레이션 작업을 위한 지원

이 4단계가 조직이 계획을 세우고 Splunk에서 Elastic으로 데이터를 마이그레이션하는 데 도움이 되긴 하지만, 또한 팀을 훈련시켜야 합니다. Splunk SPL 사용자를 위한 Kibana 교육 과정은 이 전환에 대해 팀을 돕고자 설계되었습니다. 또한 저희는 컨설팅 서비스를 제공하여 마이그레이션 프로세스를 돕고 있습니다. 다른 회사들이 어떻게 보다 나은 ROI(투자 수익률), 더 빠른 속도, 개선된 확장성을 위해 성공적으로 Splunk에서 Elastic으로 전환했는지 보려면,차량공유 서비스 제공업체인 Lyft의 이 사용자 스토리를 확인해보세요.. 더불어, 저희의 Splunk에서 Elastic으로 마이그레이션하기에서 더 자세한 내용을 읽어보시고 특별한 요청사항이 있으면 언제든지 연락주시기 바랍니다.