️ URL: https://grafana.com/blog/2020/09/09/all-the-non-technical-advantages-of-loki-reduce-costs-streamline-operations-build-better-teams/ 。
Sự miêu tả
Tất cả chúng ta đều biết tại sao Loki lại trợ giúp đắc lực cho việc quản lý nhật ký. Nhưng đây là tất cả lý do tại sao nhóm kế toán và vận hành của công ty bạn cũng sẽ yêu thích Loki.
Tại sao bạn nên sử dụng Loki?
---Giảm chi phí, hợp lý hóa hoạt động và xây dựng đội ngũ tốt hơn.
Ngoài lý do kỹ thuật và khả năng mở rộng, lợi ích tổ chức của nó thường bị đánh giá thấp hoặc bị bỏ qua.
Tôi muốn nói về những gì Loki làm - hay tốt hơn nữa là những gì nó cho phép bạn tránh làm. Tôi đã học được những điều này một cách khó khăn. Những điều này có thể có ý nghĩa khi bạn mở rộng quy mô con người, nhóm hoặc dự án thay vì tập dữ liệu.
Điều này có thể được chia đại khái thành hai phe: chi phí và quy trình, giả sử rằng chi phí là tiền tệ và quy trình là tổ chức.
Giới thiệu về nguyên tắc kỹ thuật của Loki
Đầu tiên là phần giới thiệu ngắn gọn về cách Loki hoạt động, điều này sẽ giúp ích cho phần còn lại. Loki là một công cụ tổng hợp nhật ký không thiên vị, có thể mở rộng và tiết kiệm chi phí, chủ yếu dựa trên mô hình gắn thẻ Prometheus và được kết hợp với các bộ phận bên trong Cortex để cho phép mở rộng quy mô. ..
Loki nhập nhật ký của bạn và làm cho chúng có thể tìm kiếm được. Bạn biết đấy, những tệp văn bản chứa biểu diễn vô định hình của nợ kỹ thuật. Cốt truyện mong manh, mang tính thăm dò của ứng dụng của bạn. Điều gì đó mà sự ngắn gọn của thước đo không bao giờ có thể diễn tả được. Nhật ký gỡ lỗi có vẻ vô dụng dưới ánh nắng mặt trời và cầu vồng, nhưng chúng vô giá khi xảy ra lỗi.
Về cơ bản, Loki đã đưa ra hai lựa chọn và mọi thứ khác đều kế thừa lựa chọn đó.
- Nó chỉ lập chỉ mục một phần siêu dữ liệu chứ không phải toàn bộ dòng nhật ký.
- Nó tách lớp lưu trữ của mình thành một cặp phụ trợ có thể cắm được: một để lập chỉ mục và một cho nhật ký nén.
Tại sao Loki chỉ lập chỉ mục siêu dữ liệu
Vì vậy, Loki chỉ lập chỉ mục siêu dữ liệu. Chính xác thì điều này làm cho hoạt động của nó hiệu quả hơn về mặt chi phí như thế nào và ở mức bao nhiêu?
Điều phổ biến với các chỉ mục toàn văn bản là bản thân các chỉ mục cuối cùng sẽ lớn hơn dữ liệu mà chúng lập chỉ mục. Việc chạy các chỉ mục rất tốn kém vì chúng yêu cầu phần cứng đắt tiền hơn (thường là các trường hợp sử dụng nhiều bộ nhớ).
Loki hoàn toàn không lập chỉ mục nội dung của nhật ký mà chỉ lập chỉ mục siêu dữ liệu của nguồn của nó (các thẻ như app=api, môi trường=prod, machine_id=instance-123-abc).
Do đó, Loki không cần duy trì một cụm phiên bản đắt tiền để phục vụ một chỉ mục toàn văn lớn mà chỉ cần lo lắng về một phần nhỏ dữ liệu. Theo nguyên tắc chung, đây nhỏ hơn 4 bậc độ lớn (một phần mười nghìn) so với dữ liệu.
Do đó, ngay từ đầu, Loki đã giảm thiểu phần tốn kém nhất khi chạy trình tổng hợp nhật ký chỉ mục.
Tại sao Loki sử dụng bộ lưu trữ đối tượng làm bộ lưu trữ nhật ký
Chúng ta vừa đề cập đến các quyết định lập chỉ mục mà Loki đưa ra; bây giờ hãy xem bộ lưu trữ tách rời có thể giúp giảm chi phí như thế nào. Suy cho cùng, Loki cũng cần lưu trữ nhật ký. Nó thực hiện điều này bằng cách gửi chúng dưới dạng các khối nén đến kho lưu trữ đối tượng có thể cắm được như AWS S3.
So với các trường hợp ngốn bộ nhớ đắt tiền mà chúng ta đã nói đến trước đó, lưu trữ đối tượng rất rẻ và rất tiết kiệm chi phí. Nhật ký vẫn ở đó cho đến khi được truy cập. Về cơ bản, các chỉ mục thẻ nhỏ được sử dụng để định tuyến các yêu cầu đến nhật ký nén trong bộ lưu trữ đối tượng, sau đó được giải nén và quét theo kiểu song song cao trên phần cứng thông thường.
Để giúp chúng ta chuyển sang những lợi ích mang tính định hướng quy trình hơn, tôi muốn chỉ ra rằng khi khai thác gỗ rẻ, nó sẽ loại bỏ động cơ sai trái nhằm giảm khai thác gỗ. Không ghi nhật ký gỡ lỗi đó là một hành vi chống mẫu (vì chúng rất tốn kém để lưu trữ và truy xuất). Khi dung lượng lưu trữ rẻ, chúng ta có thể tránh được những quyết định khó khăn này và đảm bảo có đủ nguồn lực cần thiết khi gặp thất bại.
Loki có thể giảm bớt những cơn đau đầu trong hoạt động của bạn như thế nào
Bây giờ chúng ta đã giải thích lý do tại sao nhân viên kế toán của chúng ta yêu thích Loki, hãy xem xét các lý do chi tiết khiến nhóm điều hành của chúng ta cũng yêu thích Loki.
Vì Loki sử dụng phương pháp ghi nhật ký không lập chỉ mục nên nó tránh được sự phụ thuộc vào ghi nhật ký có cấu trúc để nâng cao hiểu biết sâu sắc về hoạt động từ dữ liệu nhật ký. Điều này có nghĩa là không cần các công cụ xử lý trước để phối hợp các định nghĩa lược đồ và không cần chơi trò chơi tiếp theo khi cố gắng thay đổi các lược đồ này trên nhiều ứng dụng hoặc nhóm.
Các vấn đề về xây dựng các công cụ quy trình đặc biệt và di chuyển tương thích ngược không thực sự được áp dụng. Tuy nhiên, khi tránh tiền xử lý, cần phải đề cập đến sự đánh đổi. Khi truy vấn, chúng ta phải hiểu cách tương tác có ý nghĩa với dữ liệu.
Nhưng đây quả là một sự khác biệt tuyệt vời! Nợ kỹ thuật trong thời gian truy vấn có thể được quản lý theo một trong hai cách và trong một khoảng thời gian dài hoặc hoàn toàn không (đó là một trong những lý do chính khiến chúng tôi sử dụng logfmt để dễ đọc/grepping tại thời điểm truy vấn).
Mặt khác, quá trình tiền xử lý theo thời gian hấp thụ đòi hỏi nỗ lực ban đầu đáng kể, rất dễ thay đổi và gây ra ma sát mô.
Vấn đề luôn là có rất nhiều trường hợp sử dụng, định dạng và kiến thức chuyên môn khác nhau giữa các nhóm trong nội bộ. Nhưng một trong những phương pháp ghi nhật ký này mang lại cho chúng tôi sự linh hoạt khi giải quyết vấn đề này, còn phương pháp kia thì không.
Loki thiếu một lược đồ chính thức (202204 có nó), điều đó không có nghĩa là nó không thể được sử dụng để phân tích. Nhưng nó được thiết kế riêng cho các nhà phát triển và vận hành và hướng tới ứng phó sự cố hơn là phân tích lịch sử. Điều đó có nghĩa là phiên bản tiếp theo của Loki sẽ mang đến khả năng phân tích mạnh mẽ cho các chỉ báo đặc biệt.
Nó không chỉ là grep. Ngôn ngữ truy vấn LogQL của nó, được mô phỏng theo PromQL của Prometheus, có thể nhanh chóng chứng minh các giả thuyết và chuyển đổi liền mạch giữa nhật ký và số liệu. Ví dụ: nhanh chóng tạo ra tỷ lệ lỗi từ các mục nhật ký, dễ dàng như thế này.
Như đã đề cập trước đó, một số điều tôi yêu thích về Loki là những điều nó cho phép chúng ta tránh làm.
Bạn có nhớ mô hình dữ liệu không có chỉ mục và lược đồ nhỏ của chúng tôi không? Loki cho phép chúng tôi tránh phải xử lý các chỉ mục nóng và lạnh, quản lý vòng đời và truy xuất dữ liệu lưu trữ một lần để kích hoạt lại dữ liệu cũ khi phát sinh vấn đề kiểm tra. Chỉ cần gửi dữ liệu cũ của bạn tới bộ lưu trữ đối tượng giá rẻ và đừng lo lắng về việc quản lý các tầng lập chỉ mục tập trung vào hiệu suất liên tiếp trên phần cứng đắt tiền.
Loki tự động tạo, xoay và hết hạn chỉ mục nhỏ của riêng mình, đảm bảo nó không phát triển quá lớn và cho phép người dùng truy vấn bất kỳ dữ liệu nào một cách minh bạch miễn là bạn chỉ định khoảng thời gian lưu giữ.
Loki cũng xử lý các nâng cấp lên phiên bản bộ nhớ trong một cách liền mạch. Bạn muốn tận dụng một số cải tiến mới? Không vấn đề. Loki duy trì một tham chiếu cho ranh giới giữa các truy vấn này, phân chia rõ ràng các truy vấn giữa chúng và gắn chúng lại với nhau. Không cần phải lo lắng về các vấn đề tương thích khi dỡ bỏ và tải lại các phiên bản lược đồ cũ hơn.
Loki có thể cải thiện đội của bạn như thế nào
Tiếp theo, tôi muốn nói về dev và ops. Việc kết hợp cả hai ngày càng trở nên phổ biến (và vì lý do chính đáng).
Tuy nhiên, có một sự khác biệt ở đây - đừng nhầm lẫn giữa việc hiểu cách thức/nơi phần mềm được triển khai với việc chạy một hệ thống có khả năng quan sát. Hãy để các nhà phát triển ứng dụng của bạn ghi nhật ký những gì họ muốn mà không phải lo lắng về chế độ ghi nhật ký nào họ cần sử dụng để đảm bảo rằng một số quy trình tiền xử lý của công cụ quan sát của họ không bị hỏng.
Như đã đề cập trước đó, tại Grafana Labs, chúng tôi thích logfmt hơn vì đầu ra đơn giản của nó cho phép thực hiện các hoạt động/lọc theo thời gian truy vấn thân thiện với grep. Vấn đề là, một mức độ nhất quán nào đó là tốt, nhưng không cần thiết. Hãy để các nhà phát triển và hoạt động của bạn tập trung vào bản chất của những gì họ cần, thay vì lo lắng về mô hình của hệ thống quan sát của bạn.
Loki thiếu các lược đồ do người dùng xác định và bản chất không được lập chỉ mục của nó sẽ loại bỏ gánh nặng nhận thức đối với các nhà phát triển và nhân viên vận hành, cho phép họ tập trung lại vào bản chất công việc của mình và sau đó chuyển sang truy vấn Loki khi cần.
Hãy để nhóm vận hành của bạn hiểu các yêu cầu phụ để chạy và mở rộng quy mô Loki, bao gồm cả việc định cấu hình quảng cáo (hoặc bất kỳ proxy nào bạn sử dụng). Tôi khuyên bạn nên sử dụng thẻ để đính kèm mã nhận dạng môi trường vào nhật ký của mình, chẳng hạn như application=api , env=prod , cluster=us-central , v.v. Sau đó, người dùng có thể trộn và kết hợp các bộ lọc thẻ để nhanh chóng tinh chỉnh vị trí xảy ra sự cố và tận dụng tính chất song song ồ ạt của các đường dẫn đọc của Loki để thực hiện các truy vấn tùy ý trên các tập dữ liệu khổng lồ với chi phí thấp.
Và đừng lo lắng - Loki là nguồn mở. Nó đảm bảo rằng rào cản để hiểu Loki là tương đối thấp. Đừng cảm thấy như bạn chỉ tuyển dụng từ các tổ chức lớn khác hoặc lo lắng về việc các kỹ sư mới đến mà không có kinh nghiệm sử dụng các công cụ bạn đã chọn.
Loki có thể chạy ở chế độ nhị phân đơn trên một máy (như Prometheus) và sau đó mở rộng quy mô khi các trường hợp sử dụng của bạn tăng lên do các vấn đề về quy mô, dự phòng hoặc tính khả dụng. Chúng tôi có một số lượng lớn người dùng chạy Loki trên mọi thứ, từ Raspberry Pis đến các cụm lớn, có thể mở rộng theo chiều ngang.
Loki không làm mọi thứ, nhưng chúng tôi nghĩ rằng nó mang lại sự đánh đổi tốt cho trường hợp sử dụng của nó: một công cụ tổng hợp nhật ký nhanh, giá cả phải chăng, có khả năng mở rộng cao, tích hợp tốt với mô hình gắn thẻ Prometheus và có thể được sử dụng dễ dàng Chuyển đổi giữa các chỉ báo và nhật ký một cách dễ dàng .
Loạt bài viết của Grafana
Grafana loạt bài viết.
Khi ba người cùng nhau đi du lịch thì phải có thầy; chia sẻ kiến thức, thế giới là vì lợi ích chung. Bài viết này được viết bởi blog công nghệ Dongfeng Weiming EWhisper.cn.
Cuối cùng, bài viết về Grafana series (10): Tại sao bạn nên sử dụng Loki kết thúc tại đây. Nếu bạn muốn biết thêm về Grafana series (10): Tại sao bạn nên sử dụng Loki, vui lòng tìm kiếm bài viết của CFSDN hoặc tiếp tục Duyệt qua các bài viết liên quan. Tôi hy vọng bạn sẽ ủng hộ blog của tôi trong tương lai! .
Tôi là một lập trình viên xuất sắc, rất giỏi!