Logo Zephyrnet

Cung cấp Nhật ký Amazon CloudWatch đã giải nén tới Amazon S3 và Splunk bằng cách sử dụng Amazon Data Firehose | Dịch vụ web của Amazon

Ngày:

Bạn có thể sử dụng Firehose dữ liệu của Amazon để tổng hợp và phân phối các sự kiện nhật ký từ các ứng dụng và dịch vụ của bạn được ghi lại trong Nhật ký Amazon CloudWatch để của bạn Dịch vụ lưu trữ đơn giản của Amazon (Amazon S3) và đích Splunk dành cho các trường hợp sử dụng như phân tích dữ liệu, phân tích bảo mật, khắc phục sự cố ứng dụng, v.v. Theo mặc định, Nhật ký CloudWatch được phân phối dưới dạng đối tượng nén gzip. Bạn có thể muốn giải nén dữ liệu hoặc muốn gửi nhật ký tới Splunk, yêu cầu đầu vào dữ liệu được giải nén để giám sát và kiểm tra ứng dụng.

AWS đã phát hành một tính năng hỗ trợ giải nén CloudWatch Logs trong Firehose. Với tính năng mới này, bạn có thể chỉ định tùy chọn trong Firehose để giải nén CloudWatch Logs. Bạn không còn phải thực hiện xử lý bổ sung bằng cách sử dụng AWS Lambda hoặc xử lý hậu kỳ để nhận nhật ký được giải nén và có thể cung cấp dữ liệu được giải nén cho Splunk. Ngoài ra, bạn có thể sử dụng các tính năng tùy chọn của Firehose như chuyển đổi định dạng bản ghi để chuyển đổi CloudWatch Logs thành Parquet hoặc ORC, đồng thời phân vùng động để tự động nhóm các bản ghi phát trực tuyến dựa trên các khóa trong dữ liệu (ví dụ: theo tháng) và phân phối các bản ghi đã nhóm đến các địa chỉ tương ứng. Tiền tố Amazon S3.

Trong bài đăng này, chúng tôi xem xét cách bật tính năng giải nén cho các đích Splunk và Amazon S3. Chúng tôi bắt đầu với Splunk và sau đó là Amazon S3 cho các luồng mới, sau đó chúng tôi giải quyết các bước di chuyển để tận dụng tính năng này và đơn giản hóa quy trình hiện tại của bạn.

Giải nén nhật ký CloudWatch cho Splunk

Bạn có thể sử dụng bộ lọc đăng ký trong nhóm nhật ký CloudWatch để nhập dữ liệu trực tiếp vào Firehose hoặc thông qua Luồng dữ liệu Amazon Kinesis.

Lưu ý: Để có tính năng giải nén CloudWatch Logs, bạn cần có Trình thu thập sự kiện HTTP (HEC) dữ liệu đầu vào được tạo trong Splunk, với tính năng xác nhận của người lập chỉ mục được bật và loại nguồn. Điều này là cần thiết để ánh xạ tới đúng loại nguồn cho nhật ký được giải nén. Khi tạo đầu vào HEC, hãy bao gồm ánh xạ loại nguồn (ví dụ: aws:cloudtrail).

Để tạo luồng phân phối Firehose cho tính năng giải nén, hãy hoàn thành các bước sau:

  1. Cung cấp cài đặt điểm đến của bạn và chọn điểm cuối thô như loại điểm cuối.

Bạn có thể sử dụng điểm cuối thô cho tính năng giải nén để nhập cả dữ liệu sự kiện thô và dữ liệu sự kiện có định dạng JSON vào Splunk. Ví dụ: dữ liệu Nhật ký luồng VPC là dữ liệu thô và Đường mòn đám mây AWS dữ liệu ở định dạng JSON.

  1. Nhập mã thông báo HEC cho Mã thông báo xác thực.
  2. Để bật tính năng giải nén, hãy bỏ chọn Chuyển đổi bản ghi nguồn với AWS Lambda Dưới Chuyển đổi bản ghi.
  3. Chọn Bật giải nénBật trích xuất tin nhắn cho Giải nén bản ghi nguồn từ Nhật ký Amazon CloudWatch.
  4. Chọn Bật trích xuất tin nhắn cho đích Splunk.

Tính năng trích xuất tin nhắn

Sau khi giải nén, Nhật ký CloudWatch có định dạng JSON, như minh họa trong hình sau. Bạn có thể thấy dữ liệu giải nén có thông tin siêu dữ liệu như logGroup, logStreamsubscriptionFiltersvà dữ liệu thực tế được bao gồm trong message trường dưới logEvents (ví dụ sau đây hiển thị ví dụ về các sự kiện CloudTrail trong Nhật ký CloudWatch).

Khi bạn bật trích xuất thư, Firehose sẽ chỉ trích xuất nội dung của các trường thông báo và nối nội dung bằng một dòng mới giữa chúng, như minh họa trong hình sau. Với siêu dữ liệu Nhật ký CloudWatch được lọc bằng tính năng này, Splunk sẽ phân tích thành công dữ liệu nhật ký thực tế và ánh xạ tới loại nguồn được định cấu hình trong mã thông báo HEC.

Ngoài ra, nếu bạn muốn phân phối các sự kiện CloudWatch này đến đích Splunk của mình trong thời gian thực, bạn có thể sử dụng không đệm, một tính năng mới được ra mắt gần đây trong Firehose. Bạn có thể sử dụng tính năng này để thiết lập 0 giây làm khoảng thời gian đệm hoặc bất kỳ khoảng thời gian nào trong khoảng 0–60 giây để phân phối dữ liệu đến đích Splunk trong thời gian thực chỉ trong vài giây.

Với các cài đặt này, giờ đây bạn có thể nhập liền mạch dữ liệu nhật ký CloudWatch đã giải nén vào Splunk bằng Firehose.

Giải nén nhật ký CloudWatch cho Amazon S3

Tính năng giải nén CloudWatch Logs cho đích Amazon S3 hoạt động tương tự như Splunk, nơi bạn có thể tắt chuyển đổi dữ liệu bằng Lambda và bật các tùy chọn giải nén và trích xuất thông báo. Bạn có thể sử dụng tính năng giải nén để ghi dữ liệu nhật ký dưới dạng tệp văn bản vào đích Amazon S3 hoặc sử dụng với các tính năng đích khác của Amazon S3 như chuyển đổi định dạng bản ghi bằng Parquet hoặc ORC hoặc phân vùng động để phân vùng dữ liệu.

Phân vùng động với giải nén

Đối với đích Amazon S3, Firehose hỗ trợ phân vùng động, cho phép bạn liên tục phân vùng dữ liệu truyền phát bằng cách sử dụng các khóa trong dữ liệu, sau đó phân phối dữ liệu được nhóm theo các khóa này vào các tiền tố Amazon S3 tương ứng. Điều này cho phép bạn chạy phân tích hiệu suất cao, tiết kiệm chi phí khi truyền dữ liệu trong Amazon S3 bằng cách sử dụng các dịch vụ như amazon Athena, Amazon EMR, Quang phổ dịch chuyển đỏ AmazonAmazon QuickSight. Việc phân vùng dữ liệu của bạn sẽ giảm thiểu lượng dữ liệu được quét, tối ưu hóa hiệu suất và giảm chi phí cho các truy vấn phân tích của bạn trên Amazon S3.

Với tính năng giải nén mới, bạn có thể thực hiện phân vùng động mà không cần bất kỳ chức năng Lambda nào để ánh xạ các khóa phân vùng trên CloudWatch Logs. Bạn có thể kích hoạt tính năng Phân tích nội tuyến cho JSON tùy chọn, quét dữ liệu nhật ký đã giải nén và chọn các phím phân vùng. Ảnh chụp màn hình sau đây minh họa ví dụ về việc bật phân tích nội tuyến cho dữ liệu nhật ký CloudTrail với lược đồ phân vùng được chọn cho ID tài khoản và Vùng AWS trong bản ghi CloudTrail.

Ghi lại chuyển đổi định dạng với giải nén

Đối với dữ liệu CloudWatch Logs, bạn có thể sử dụng tính năng chuyển đổi định dạng bản ghi trên dữ liệu đã giải nén cho đích Amazon S3. Firehose có thể chuyển đổi định dạng dữ liệu đầu vào từ JSON sang Sàn gỗ Apache or ORC của Apache trước khi lưu trữ dữ liệu trên Amazon S3. Parquet và ORC là các định dạng dữ liệu dạng cột giúp tiết kiệm dung lượng và cho phép truy vấn nhanh hơn so với các định dạng định hướng theo hàng như JSON. Bạn có thể sử dụng các tính năng để chuyển đổi định dạng bản ghi theo Chuyển đổi và chuyển đổi bản ghi cài đặt để chuyển đổi dữ liệu nhật ký CloudWatch sang định dạng Parquet hoặc ORC. Ảnh chụp màn hình sau đây hiển thị ví dụ về cài đặt chuyển đổi định dạng bản ghi cho định dạng Parquet bằng cách sử dụng Keo AWS lược đồ và bảng cho dữ liệu nhật ký CloudTrail. Khi cài đặt phân vùng động được định cấu hình, chuyển đổi định dạng bản ghi sẽ hoạt động cùng với phân vùng động để tạo các tệp ở định dạng đầu ra với cấu trúc thư mục phân vùng trong nhóm S3 đích.

Di chuyển các luồng phân phối hiện có để giải nén

Nếu bạn muốn di chuyển luồng Firehose hiện có sử dụng Lambda để giải nén sang tính năng giải nén mới này của Firehose, hãy tham khảo các bước được nêu trong Kích hoạt và vô hiệu hóa giải nén.

GIÁ CẢ

Tính năng giải nén Firehose giải nén dữ liệu và tính phí trên mỗi GB dữ liệu được giải nén. Để hiểu giá giải nén, hãy tham khảo Định giá Firehose dữ liệu của Amazon.

Làm sạch

Để tránh bị tính phí trong tương lai, hãy xóa các tài nguyên bạn đã tạo theo thứ tự sau:

  1. Xóa bộ lọc đăng ký CloudWatch Logs.
  2. Xóa luồng phân phối Firehose.
  3. Xóa các nhóm S3.

Kết luận

Tính năng giải nén và trích xuất thông báo của Firehose giúp đơn giản hóa việc phân phối Nhật ký CloudWatch tới các đích đến của Amazon S3 và Splunk mà không yêu cầu phát triển mã hoặc xử lý bổ sung. Đối với đích Amazon S3, bạn có thể sử dụng khả năng chuyển đổi Parquet hoặc ORC và phân vùng động trên dữ liệu đã giải nén.

Để biết thêm thông tin, hãy tham khảo các nguồn sau:


Về các tác giả

Ranjit Kalidasan là Kiến trúc sư giải pháp cấp cao của Amazon Web Services có trụ sở tại Boston, Massachusetts. Ông là Kiến trúc sư giải pháp đối tác giúp các đối tác ISV bảo mật cùng xây dựng và hợp tác tiếp thị các giải pháp với AWS. Ông có hơn 25 năm kinh nghiệm trong lĩnh vực công nghệ thông tin giúp khách hàng toàn cầu triển khai các giải pháp phức tạp về bảo mật và phân tích. Bạn có thể kết nối với Ranjit trên LinkedIn.

Phaneendra Vuliyaragoli là Trưởng nhóm quản lý sản phẩm cho Amazon Data Firehose tại AWS. Với vai trò này, Phaneendra lãnh đạo chiến lược tiếp cận thị trường và sản phẩm cho Amazon Data Firehose.

tại chỗ_img

Tin tức mới nhất

tại chỗ_img