10 Trình thu thập nhật ký mã nguồn mở để ghi nhật ký tập trung

Sự khác biệt giữa các sản phẩm tầm thường và các sản phẩm tuyệt vời là đăng nhập. Tìm hiểu lý do tại sao nó như vậy và làm thế nào để gắn kết tất cả lại với nhau.


Cũng giống như bảo mật, ghi nhật ký là một thành phần quan trọng khác của các ứng dụng web (hoặc các ứng dụng nói chung) bị loại bỏ do thói quen cũ và không có khả năng nhìn thấy phía trước. Những gì nhiều người coi là các cuộn băng kỹ thuật số vô dụng là những công cụ mạnh mẽ để xem xét bên trong các ứng dụng của bạn, sửa lỗi, cải thiện các khu vực yếu và làm hài lòng khách hàng.

Trước khi chúng ta bắt đầu đăng nhập tập trung, trước tiên hãy tìm hiểu tại sao việc đăng nhập lại là một vấn đề lớn như vậy.

Hai loại (cấp) đăng nhập

Máy tính là hệ thống xác định, trừ khi chúng không.

Như một nhà phát triển chuyên nghiệp, Tôi đã gặp rất nhiều trường hợp hành vi được quan sát của ứng dụng gây khó khăn cho mọi người trong nhiều ngày liên tục, nhưng chìa khóa luôn nằm trong nhật ký. Mỗi phần mềm chúng tôi chạy đều tạo ra các bản ghi (hoặc ít nhất là nên tạo), cho chúng tôi biết những gì nó đã trải qua khi tình huống có vấn đề xảy ra.

Bây giờ, đăng nhập, như tôi thấy, có hai loại: tự động tạo ra nhật ký và lập trình viên tạo ra nhật ký. Xin lưu ý rằng đây không phải là bất kỳ sự phân biệt sách giáo khoa nào, và trích dẫn tôi về thuật ngữ này sẽ khiến bạn gặp rắc rối. ��

Hình ảnh trên cho thấy những gì có thể được gọi là một nhật ký tự động tạo.

Trong trường hợp cụ thể này, hệ thống WordPress ghi lại một điều kiện không mong muốn (Thông báo) khi chạy một số mã PHP. Các nhật ký như thế này luôn được tạo ra không mệt mỏi – bởi các công cụ cơ sở dữ liệu như MySQL, các máy chủ web như Apache, ngôn ngữ lập trình và môi trường, thiết bị di động và thậm chí cả hệ điều hành.

Những thứ này hiếm khi chứa nhiều giá trị, và các lập trình viên không thể nhìn vào chúng, trừ khi có sự cố xảy ra. Vào những lúc như vậy, họ đào sâu vào khúc gỗ, cố gắng hiểu điều gì đã xảy ra.

Nhưng nhật ký được tạo tự động chỉ có thể giúp rất nhiều. Ví dụ, nếu một số người có quyền truy cập quản trị viên vào một trang web và một trong số họ tình cờ xóa một phần thông tin thiết yếu, thì không thể phát hiện ra thủ phạm với việc sử dụng nhật ký được tạo tự động. Từ quan điểm của các hệ thống gắn liền với nhau như ứng dụng, đó chỉ là một ngày khác trong công việc – ai đó có thẩm quyền cần thiết để thực hiện một nhiệm vụ, và vì vậy hệ thống đã thực hiện nó.

Những gì cần thiết ở đây là một lớp bổ sung rõ ràng, ghi nhật ký rộng rãi tạo ra những lối mòn cho khía cạnh con người. Đây là những gì tôi gọi là nhật ký do lập trình viên tạo ra, và họ tạo thành xương sống của các ngành công nghiệp nhạy cảm như ngân hàng. Dưới đây, một ví dụ về một sơ đồ ghi nhật ký như vậy có thể trông như thế nào:

Nguồn: joomlatools.com

Ghi nhật ký là sức mạnh

Vì vậy, với hai loại nhật ký này trong một hệ thống, ở đây, cách bạn có thể tận dụng chúng và tăng cường tác động.

Luôn đi trước khách hàng

Niềm vui của khách hàng đã được biết đến như một mánh lới quảng cáo tiếp thị vô dụng, nhưng nhờ đăng nhập, nó có thể được thực hiện rất thật. Tôi biết các sản phẩm kỹ thuật số theo dõi nhật ký của họ như chim ưng và ngay khi khách hàng phá vỡ thứ gì đó trên trang, họ có thể gọi cho khách hàng và đề nghị giúp đỡ.

Chỉ cần nghĩ về nó – trong vài giây sau khi nhận được một lỗi xấu xí, bạn nhận được một cuộc gọi từ công ty nói rằng, Hey Hey, tôi hiểu rằng bạn đã cố gắng thêm mặt hàng này vào giỏ hàng, nhưng nó vẫn tiếp tục chết. Tôi có thể thêm thời gian này và hoàn thành đơn hàng cho bạn không?

Khách hàng thích thú? Bạn đặt cược!

Tinh thần đồng đội và năng suất

Giống như tôi đã nói trước đây, khi các lỗi không được theo dõi trong một thời gian dài, các nhà phát triển trong nhóm của bạn đã thất vọng và mất nhiều thời gian hơn để theo đuổi đuôi của họ. Và ở đây, điều này với việc gỡ lỗi – nó đòi hỏi một tâm trí tò mò, mới mẻ ngay từ đầu. Nếu một WTF nghĩ rất nhiều vào não của bạn, toàn bộ quá trình sẽ diễn ra.

Và điều gì làm cho việc sửa lỗi khó khăn? Theo kinh nghiệm của tôi, thiếu đăng nhập, hoặc thiếu kiến ​​thức về đăng nhập. Đối với người mới bắt đầu, bạn có thể không nhận ra rằng cơ sở dữ liệu yêu thích của mình cũng chỉ là một phần mềm khác tạo nhật ký hoặc bạn không đăng nhập rộng rãi trong ứng dụng của mình (xem nhật ký do lập trình viên tạo ở trên).

Tôi đặc biệt nhớ một trường hợp ứng dụng không phản hồi và không ai biết tại sao. Vài ngày sau, thủ phạm là giới hạn I / O của đĩa đạt được do lưu lượng truy cập quá mức. Bởi vì không ai bận tâm nhìn vào đó, không ai có thể hiểu tại sao.

Đường mòn kiểm toán

Điều gì sẽ xảy ra nếu hai năm sau, khách hàng của bạn nói rằng tất cả những đơn hàng đó được đặt bởi họ nhưng một số tin tặc?

Đối số nào sẽ phải giải trí hoặc từ chối yêu cầu của họ? Nếu bạn có ghi nhật ký rộng rãi (địa chỉ IP, ngày và giờ, thẻ tín dụng, v.v.), thì bạn sẽ có thể phân tích tất cả điều đó và đưa ra quyết định. Tốt hay xấu, ít nhất nó sẽ có một số cơ sở khách quan, thay vì giống như một phát súng trong bóng tối.

Nguồn: chữ ký-reads.com

Điều tương tự cũng đúng nếu bạn đi theo một số ống kính quy định hoặc được yêu cầu phải trải qua kiểm toán của bên thứ ba như một phần của dự án mới, quan trọng. Không có một hệ thống đăng nhập mạnh mẽ sẽ cho bạn thấy trong một ánh sáng xấu.

Cải thiện hệ thống hiện có

Làm thế nào để bạn đi về cải thiện một hệ thống hiện tại?

Bạn có nên đơn thuần ném thêm RAM và CPU vào nó không? Điều gì nếu ứng dụng của bạn chậm mặc dù có đủ tài nguyên? Nút thắt ở đâu? Thường xuyên hơn không, đăng nhập là câu trả lời.

Chẳng hạn, tất cả các hệ thống cơ sở dữ liệu chính đều có tính năng ghi nhật ký truy vấn chậm.

Nguồn: speedawTHERmonth.com

Nếu bạn thường xuyên truy cập nhật ký truy vấn chậm, bạn sẽ biết được hoạt động nào và mất nhiều thời gian nhất, và do đó phát hiện ra các khu vực nhỏ nhưng quan trọng cần làm việc. Thông thường, một thay đổi nhỏ như thế này hoạt động tốt hơn gấp đôi công suất phần cứng.

Có rất nhiều cách để một hệ thống đăng nhập tốt giúp bạn. Có lẽ tranh luận tốt nhất là nó có một hoạt động tự động mà một khi đã được thiết lập, thì không cần bất kỳ sự giám sát nào và sẽ cứu bạn khỏi bị hủy hoại một ngày nào đó.

Với cách đó, hãy để một cái nhìn vào một số Trình thu thập nhật ký nguồn mở tuyệt vời (công cụ ghi nhật ký thống nhất) ngoài kia. Chỉ trong trường hợp bạn làm phiền, chúng tôi đã đề cập đến các công cụ ghi nhật ký dựa trên đám mây thương mại trong một bài đăng trước đó.

Graylog

Graylog là một trong những tên tuổi hàng đầu trong ngành khi nói đến khả năng ghi nhật ký và hiển thị cấp ngành. Nó cũng độc đáo ở chỗ nó quét các bản ghi thu thập của bạn để tìm các dấu hiệu của lỗ hổng bảo mật và thông báo cho bạn ngay lập tức.

Mặc dù Graylog là một hệ thống ghi nhật ký tập trung, nó có tính linh hoạt mà bạn cần, cho phép bạn tùy chỉnh cảnh báo, bảng điều khiển và hơn thế nữa.

Greylog là mã nguồn mở, nhưng có một kế hoạch doanh nghiệp nếu nhu cầu của bạn phức tạp.

Với các khách hàng như SAP, Cisco và LinkedIn trong danh sách của mình, Graylog là một công cụ mà bạn có thể tin tưởng khi nhắm mắt.

Đăng nhập

Nếu bạn là một người hâm mộ hoặc người dùng của ngăn xếp đàn hồi, Đăng nhập rất đáng để kiểm tra (ngăn xếp ELK đã là một thứ, trong trường hợp bạn không biết). Giống như các công cụ ghi nhật ký khác trong danh sách này, Đăng nhập nếu đầy đủ mã nguồn mở, cho phép bạn tự do triển khai và sử dụng như bạn muốn.

Nhưng don không bị lừa: Logstash là một tình mẫu tử với khả năng vượt xa bất kỳ công cụ ghi nhật ký khiêm tốn nào. Nó có khả năng thu thập lượng dữ liệu khổng lồ từ nhiều nền tảng, cho phép bạn xác định và thực hiện các đường ống dữ liệu của riêng mình, có ý nghĩa về các bản ghi nhật ký không có cấu trúc và hơn thế nữa.

Tất nhiên, hạn chế duy nhất là nó chỉ hoạt động với bộ sản phẩm Đàn hồi, nhưng nếu bạn bắt đầu và tìm cách mở rộng quy mô, Logstash là con đường để đi!

Thông thạo

Trong số các công cụ ghi nhật ký tập trung hoạt động như một lớp giữa để nhập dữ liệu, Flutend là một trong những đầu tiên bằng. Với một thư viện bổ trợ tuyệt vời, Fluentd có thể thu thập dữ liệu từ hầu hết mọi hệ thống sản xuất, đưa nó vào cấu trúc mong muốn, xây dựng một đường ống tùy chỉnh và đưa nó vào nền tảng phân tích yêu thích của bạn, có thể là MongoDB hoặc Elaticsearch.

Fluentd được xây dựng trên Ruby, hoàn toàn mã nguồn mở, và được phổ biến rộng rãi vì tính linh hoạt và mô đun của nó.

Với các công ty lớn như Microsoft, Atlassian và Twilio sử dụng nền tảng này, Fluentd không có gì để chứng minh. ��

Flume

Nếu thực sự, các tập dữ liệu thực sự lớn là thách thức của bạn và cuối cùng bạn muốn đưa mọi thứ vào một cái gì đó như Hadoop, Flume là một trong những lựa chọn tốt nhất xung quanh Nó là một dự án mã nguồn mở tinh khiết, theo nghĩa là nó được duy trì bởi Quỹ Apache yêu quý của chúng tôi, có nghĩa là không có kế hoạch doanh nghiệp.

Điều này có thể hoặc không thể là những gì bạn chính xác đang tìm kiếm. ��

Nguồn: beyondcoder.com

Được viết bằng Java (tiếp tục làm tôi ngạc nhiên khi nói đến công nghệ đột phá), mã nguồn Flumeùi hoàn toàn mở. Flume là tốt nhất cho bạn nếu bạn đang tìm kiếm một nền tảng nhập dữ liệu phân tán, chịu lỗi cho các công việc nặng nhọc.

Bạch tuộc

Tôi cho nó không có mười trong số mười cho việc đặt tên sản phẩm, nhưng Bạch tuộc có thể là một lựa chọn tốt nếu nhu cầu của bạn đơn giản và bạn đang băn khoăn về tất cả những gì liên quan đến đường ống, ăn uống, tập hợp, v.v., là tất cả về.

Theo tôi, Octopussy đáp ứng nhu cầu của hầu hết các sản phẩm ngoài kia (số liệu thống kê ước tính là vô dụng, nhưng nếu tôi phải đoán, tôi đã nói rằng nó xử lý 80% trường hợp sử dụng trong thế giới thực).

Octopussy khôngn có một giao diện người dùng tuyệt vời (xem đây) ở tất cả, nhưng nó bù đắp cho tốc độ và sự phình to. Nguồn có sẵn trên GitHub, như mong đợi, và tôi nghĩ nó rất đáng xem.

Đăng nhập

Đăng nhập là một sản phẩm thương mại gần đây đã được tạo ra nguồn mở. Mặc dù tôi không thể thực hiện dự án trên GitHub, nhưng họ thực hiện một trình cài đặt Windows và tất cả mã nguồn có thể tải xuống.

Nếu bạn có ý định về một cộng đồng, bạn có thể tìm thấy chi tiết về danh sách gửi thư đây.

LOGalyze là một sản phẩm tương đối linh hoạt và mạnh mẽ, sẽ hoạt động tốt cho các triển khai hệ thống đơn lẻ tìm cách kết hợp ghi nhật ký từ các nguồn đã biết như Postfix, Apache, v.v. và tạo đầu ra ở định dạng CSV, PDF, HTML hoặc tương tự. Vâng, nó không làm tất cả mọi thứ, nhưng vì nó là một sản phẩm thương mại tại một thời điểm, nên nó làm khá tốt.

LogPacker

Khi nói đến việc chọn một công cụ cho công việc, tôi có hai tiêu chí: nó phải được tập trung và nó phải được hỗ trợ bởi một mô hình kinh doanh tích cực. Vấn đề với phần mềm nguồn mở, nói chung, là vài tháng / năm sau, khả năng trì trệ hoặc tử vong là rất cao. Không có số lượng công cụ đăng nhập được tung ra với sự thích thú, hiện chỉ có thể tìm thấy trong nghĩa địa GitHub.

Đo bằng thước đo này, LogPacker là một yêu thích đối với tôi.

Như bạn có thể nói từ ảnh chụp màn hình, LogPacker là tất cả về nhật ký, và không có gì khác. Sự thúc đẩy của họ chắc chắn là hướng tới các dịch vụ đám mây của họ, nhưng bạn được chào đón để tải xuống và cài đặt nó trên máy chủ của bạn (trang GitHub đây).

Phân cụm và tổng hợp có sẵn cho những người muốn sử dụng nó ở quy mô không tầm thường và các kế hoạch doanh nghiệp có sẵn, những người muốn làm việc với API hoặc cần triển khai lớn hơn. Theo ý kiến ​​của tôi, việc tối giản hóa (tập trung, mặc dù không phải là tính năng kém)!

Đăng nhập

Tôi chắc chắn có những người trong chúng ta, những người không muốn tổ chức tất cả các nghi lễ liên quan đến một hệ thống khai thác gỗ tập trung, thống nhất của thành phố. Hoạt động kinh doanh của họ đến từ các máy chủ duy nhất và họ đang tìm kiếm thứ gì đó nhanh chóng và hiệu quả để xem các tệp nhật ký của họ. Vâng, nói xin chào Đăng nhập.

Sau khi cài đặt, LogWatch có thể quét nhật ký hệ thống của bạn và tạo một báo cáo về loại bạn muốn. Mặc dù vậy, nó có một phần mềm có phần lỗi thời (đọc tin đáng tin cậy) và được viết bằng Perl. Vì vậy, bạn sẽ cần Perl 5.6+ trên máy chủ của mình để chạy nó. Tôi không có bất kỳ ảnh chụp màn hình nào để chia sẻ vì nó là một dòng lệnh hoàn toàn, quy trình được tạo ra.

Nếu bạn là một người nghiện CLI và yêu thích cách làm việc ở trường học cũ, bạn sẽ yêu thích Logwatch!

Syslog-ng

Các Syslog-ng công cụ được phát triển như một cách để xử lý các tệp dữ liệu syslog (một giao thức máy khách-máy chủ được thiết lập để ghi nhật ký hệ thống) trong thời gian thực. Tuy nhiên, theo thời gian, nó đã hỗ trợ các định dạng dữ liệu khác: không cấu trúc, SQL và NoQuery. Cách thức hoạt động của giao thức nhật ký hệ thống được tóm tắt khá gọn gàng trong hình minh họa sau.

syslog-ng là một công cụ thu thập và phân loại nhật ký đáng tin cậy ở cấp độ sản xuất, được viết bằng C và đã trở thành một tên tuổi trong ngành từ lâu. Phần tốt nhất là khả năng mở rộng của nó, cho phép bạn viết các plugin bằng C, Python, Java, Lua hoặc Perl.

lnav

Viết tắt của (Log Navigator), lnav là một công cụ đầu cuối thuần túy hoạt động trên một máy đơn, thư mục đơn. Nó dành cho những người đã đăng nhập thống nhất vào một thư mục hoặc muốn lọc và hiển thị nhật ký thời gian thực từ một nguồn duy nhất.

Nếu bạn nghĩ rằng lnav chẳng là gì ngoài cái đuôi được tôn vinh | grep bạn đã sai. Có một số tính năng sẽ khiến bạn phải mê mẩn: chế độ xem chuỗi thời gian, in ấn đẹp (đối với JSON và các định dạng khác), nguồn nhật ký được mã hóa màu, bộ lọc mạnh mẽ, khả năng hiểu một số giao thức ghi nhật ký và hơn thế nữa.

Nó chỉ đơn giản là đôi khi bạn muốn một lớp không rắc rối, thiết lập bằng không, lớp ghi nhật ký có thể tạm thời và lnav hoàn toàn phù hợp với hóa đơn!

Phần kết luận

Và bạn có nó rồi đấy!

Thật là một danh sách khó để biên dịch, thành thật mà nói, khi đăng nhập không phổ biến như, nói, quản lý nội dung và tất cả các mindshare dường như đã bị lấy bởi ba hoặc bốn công cụ. Tuy nhiên, mọi người đều có nhu cầu khác nhau, và tôi đã cố gắng bao quát chúng.

Từ dòng lệnh ngớ ngẩn, công cụ không thiết lập đến juggernauts dữ liệu đầy đủ, tất cả đều ở đây! Tôi đã bỏ lỡ một cái gì đó? Tất nhiên, tôi đã làm! Xin vui lòng cho tôi biết trong các nhận xét và tôi sẽ vui lòng thêm nó vào đây (tất nhiên là có tín dụng!).

THẺ

  • Mã nguồn mở

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map