Phân tích dữ liệu nhật ký LogDNA trên bộ lưu trữ đối tượng đám mây của IBM bằng cách sử dụng truy vấn IBM Cloud SQL


Tìm hiểu cách phục hồi tài liệu lưu trữ của bạn, cho phép bạn làm việc trên dữ liệu nhật ký từ Phân tích nhật ký của IBM với LogDNA bằng cách sử dụng IBM Cloud SQL Query.
Phân tích Nhật ký Đám mây của IBM với LogDNA là một dịch vụ dễ sử dụng để phân tích nhật ký, cảnh báo về chúng hoặc gỡ lỗi các ứng dụng. Thông thường, các dịch vụ ghi nhật ký giữ dữ liệu chỉ trong một khoảng thời gian tương đối ngắn 30 ngày hoặc ít hơn trong một trạng thái hoạt động của truy vấn tương tác và thăm dò đặc biệt. Đó là bởi vì các bản ghi là các luồng dữ liệu liên tục, một kho dữ liệu bit và byte. Trừ khi dữ liệu hết thời gian, bạn sẽ có vấn đề về hoạt động hoặc hóa đơn cao ngất trời.

Đó là lý do tại sao Phân tích nhật ký với LogDNA cung cấp chức năng lưu trữ, cho phép người dùng có khả năng lập chỉ mục tích cực và chủ động dữ liệu nhật ký của họ, đồng thời cho phép họ giảm tải dữ liệu đó lên Bộ lưu trữ đối tượng đám mây của IBM để đáp ứng các yêu cầu tuân thủ / quy định.

Nhưng nếu nhật ký lưu trữ không chỉ là bằng chứng thì sao? Điều gì xảy ra nếu chúng là các luồng dữ liệu có thể truy cập dễ dàng có thể giúp thúc đẩy hiểu biết và cải tiến cho các hoạt động, hiệu suất và khả năng phục hồi của ứng dụng? Điều gì xảy ra nếu bạn có thể thực hiện các truy vấn thời gian phức tạp trên các luồng dữ liệu này? Với Truy vấn IBM Cloud SQL, chúng tôi có thể giúp bạn biến nhật ký lưu trữ của bạn thành thông tin chi tiết với SQL đơn giản, không có máy chủ.

Đọc thêm bên dưới về cách phục hồi tài liệu lưu trữ của bạn, cho phép bạn làm việc với dữ liệu nhật ký từ Phân tích Nhật ký của IBM với LogDNA bằng Truy vấn IBM Cloud SQL.

Lưu trữ dữ liệu nhật ký trên IBM Cloud Object Storage
Phân tích nhật ký của IBM với LogDNA giữ dữ liệu nhật ký của bạn trong tối đa 30 ngày và nếu bạn muốn giữ dữ liệu nhật ký của mình lâu hơn, LogDNA cung cấp một tính năng để lưu trữ chúng trên Bộ lưu trữ đối tượng đám mây của IBM. Để bật tính năng này, nhấp vào biểu tượng cài đặt trong giao diện phiên bản LogDNA của bạn và điền vào các cài đặt được yêu cầu:

Đảm bảo rằng bạn đã tạo một cá thể lưu trữ đối tượng đám mây của IBM cùng với thông tin xác thực dịch vụ được thêm trước đó. Trong thông tin đăng nhập dịch vụ, bạn tìm thấy thông tin bắt buộc, chẳng hạn như Khóa API, Điểm cuối và ID trường hợp. Thêm thông tin đó và tên nhóm đã tạo vào các trường cài đặt lưu trữ LogDNA và nhấp vào lưu để bật lưu trữ.

Sau tối đa hai ngày, bạn sẽ thấy tệp nhật ký đã xuất được lưu trữ trên IBM Cloud Object Storage dưới dạng Gzip JSON:

Sử dụng IBM SQL Query để làm việc trên dữ liệu nhật ký lưu trữ
Một tệp nhật ký được lưu trữ mỗi ngày, bao gồm tất cả dữ liệu được thu thập trong vòng 24 giờ qua. Trong trường hợp cá thể LogDNA của bạn lấy một lượng lớn dữ liệu, việc lưu trữ dữ liệu nhật ký hàng giờ có thể được bật. Vấn đề với tùy chọn đó là một lượng nhỏ hàng có thể được lưu trữ trong nhiều tệp zip. Bạn có thể tìm thêm chi tiết trong tài liệu LogDNA.

Sử dụng Truy vấn SQL của IBM để làm việc trên dữ liệu nhật ký lưu trữ này một cách hiệu quả trong Đám mây của IBM. Một cách dễ dàng để bắt đầu là tạo một cá thể IBM Cloud SQL Query Lite. Nó giới hạn bạn khả năng chỉ chạy một truy vấn tại một thời điểm và quét tối đa 30 GB mỗi ngày. Khi sử dụng gói Tiêu chuẩn, bạn có thể chạy song song tối đa năm truy vấn và chỉ cần trả tiền cho dữ liệu được quét ở mức $ 5 mỗi TB / Quét.

Trước tiên, chúng tôi khuyên bạn nên chuyển đổi các đối tượng json.gz thành các đối tượng JSON được phân vùng vì các tệp nén có thể được truy cập song song và do đó, việc đọc loại dữ liệu đó là không hiệu quả. Bạn có thể tự hỏi tại sao các tệp nén như Parquet thậm chí không tốt hơn. Điều này sẽ đúng theo quan điểm hiệu suất, nhưng vì dữ liệu lược đồ của các tệp nhật ký thường không ổn định, điều này có thể dẫn đến các vấn đề đọc dữ liệu từ các ngày khác nhau. Khi sử dụng JSON, công cụ cơ bản của Truy vấn SQL (Apache Spark) luôn phân tích lược đồ được sử dụng và do đó tránh được các vấn đề nhất quán như vậy.

Trong trường hợp bạn khá chắc chắn rằng dữ liệu lược đồ nhật ký của bạn ổn định, Parquet như một định dạng đầu ra sẽ hiệu quả hơn cả bằng cách tăng hiệu suất và giảm lượng dữ liệu được quét.

Dưới đây là một ví dụ về câu lệnh SQL Query để chuyển đổi dữ liệu logDNA đã nén của bạn thành các đối tượng JSON được phân vùng:

Trong tuyên bố, thông tin dấu thời gian Học cách _ts của mỗi hàng được sử dụng để tạo thông tin năm, ngày trong năm và giờ. Kết quả của truy vấn trên được lưu trữ trong Bộ lưu trữ đối tượng đám mây của IBM phản ánh phân vùng được chỉ định là phân vùng kiểu Hive. Ví dụ: bạn có thể thấy _hour = 00 trong tên đối tượng, có nghĩa là tất cả dữ liệu nhật ký thuộc về giờ đó được bao gồm trong đối tượng đó. Bước chuyển đổi này có thể được tự động bằng cách sử dụng các chức năng đám mây. Các chi tiết có thể được tìm thấy trong kho dữ liệu Github của chúng tôi.

Sau các bước chuẩn bị ở trên, bạn có thể bắt đầu chạy SQL trên dữ liệu nhật ký. Một ví dụ đơn giản là tìm tất cả các hàng nhật ký ERROR trong khung thời gian từ 7 giờ sáng đến 8 giờ sáng ngày 17 tháng 7.

SQL Query cũng cung cấp các cấu trúc thời gian gốc để thực hiện các chức năng thời gian phức tạp như phân đoạn, thống kê thời gian, tham gia tạm thời, nội suy và dự báo. Một truy vấn đơn giản có liên quan trong ngữ cảnh này là xác định mức trung bình hàng giờ. Điều này được minh họa trong câu lệnh dưới đây (lấy đầu vào là khung nhìn thời gian trên dữ liệu nhật ký; bạn có thể tìm thêm chi tiết về điều này trong tài liệu Truy vấn SQL):