강의

멘토링

커뮤니티

BEST
Programming

/

Web Development

Quản lý log cần thiết cho nhà phát triển

Từ việc nên ghi lại loại log nào, đến khi thu thập và tận dụng log, bao quát toàn bộ chu trình.

(4.9) 71 đánh giá

1,127 học viên

Độ khó Cơ bản

Thời gian Không giới hạn

  • foo
3시간 만에 완강할 수 있는 강의 ⏰
3시간 만에 완강할 수 있는 강의 ⏰
이론 실습 모두
이론 실습 모두
로그
로그
log
log
Elasticsearch
Elasticsearch
logback
logback
Logstash
Logstash
Kibana
Kibana
Spring Boot
Spring Boot
3시간 만에 완강할 수 있는 강의 ⏰
3시간 만에 완강할 수 있는 강의 ⏰
이론 실습 모두
이론 실습 모두
로그
로그
log
log
Elasticsearch
Elasticsearch
logback
logback
Logstash
Logstash
Kibana
Kibana
Spring Boot
Spring Boot

Đánh giá từ những học viên đầu tiên

Bạn sẽ nhận được điều này sau khi học.

  • Bí quyết về việc cần ghi lại loại log nào trong ứng dụng.

  • Thu thập và khai thác log với ELK Stack

Bạn có còn kết nối với máy chủ qua SSH để xem nhật ký không?

Phương pháp đăng nhập trực tiếp vào máy chủ và kiểm tra tệp nhật ký có một số hạn chế. Đầu tiên, nếu bạn vận hành nhiều máy chủ, bạn phải truy cập từng máy chủ riêng lẻ, điều này tốn nhiều thời gian và khiến việc quản lý trở nên phức tạp. Thứ hai, khó có thể theo dõi nhật ký theo thời gian thực, khiến việc phản hồi nhanh chóng khi có sự cố trở nên khó khăn. Ngoài ra, vì tìm kiếm và phân tích nhật ký được thực hiện thủ công nên thông tin quan trọng có thể bị bỏ sót hoặc mất thời gian để tìm lỗi. Phương pháp này đặc biệt không hiệu quả trong các hệ thống phân tán quy mô lớn và có thể ảnh hưởng tiêu cực đến tính ổn định của dịch vụ và trải nghiệm của người dùng. Do đó, cần phải giới thiệu một phương pháp quản lý nhật ký có hệ thống và tự động hơn.

Quản lý nhật ký là một công cụ quan trọng không chỉ đơn thuần ghi lại lỗi mà còn hiểu được nhịp đập của ứng dụng và dự đoán trước các vấn đề. Đặc biệt trong các hệ thống phân tán phức tạp hiện đại, quản lý nhật ký có thể xác định tính ổn định của dịch vụ và trải nghiệm của người dùng. Trong thực tế, khả năng nhanh chóng xác định và giải quyết các vấn đề giữa một lượng lớn dữ liệu và lưu lượng truy cập là điều cần thiết.

Trong bài giảng này, "Quản lý nhật ký cho nhà phát triển", chúng tôi sẽ đề cập đến nhiều chiến lược và mẹo khác nhau có thể áp dụng ngay vào thực tế, từ việc để lại nhật ký nào cho đến cách sử dụng nhật ký. Bạn sẽ học một cách có hệ thống toàn bộ quy trình quản lý nhật ký từ đầu đến cuối và trải nghiệm trực tiếp cách sử dụng nhật ký trong hoạt động dịch vụ.

Đầu tiên, chúng ta sẽ tìm hiểu kiến ​​thức cơ bản về nhật ký. Trong bài giảng này, bạn sẽ hiểu khái niệm cơ bản và tầm quan trọng của nhật ký, tìm hiểu thông tin nào cần được ghi lại, cách sử dụng nhật ký trong xử lý ngoại lệ và tìm hiểu ý nghĩa và cách sử dụng các cấp nhật ký khác nhau. Thông qua đó, bạn sẽ nhận ra tầm quan trọng của nhật ký trong quá trình phát triển và tìm hiểu cách để lại nhật ký hiệu quả.

Thứ hai, chúng ta sẽ tìm hiểu về cấu hình Logback. Chúng ta sẽ giải thích các khái niệm cơ bản về Logback và kết nối của nó với Slf4j, và tìm hiểu cách viết tệp cấu hình Logback thực tế thông qua thực hành. Bạn có thể tìm hiểu các kỹ thuật cấu hình cần thiết trong thực hành, chẳng hạn như phân tách nhật ký thành nhiều tệp bằng nhiều Appender khác nhau, quản lý nhật ký theo ngày và nén tệp nhật ký. Bạn cũng sẽ tìm hiểu cách triển khai quản lý nhật ký linh hoạt bằng cách áp dụng các thiết lập Logback khác nhau cho từng môi trường phát triển.

Tiếp theo, chúng ta sẽ giới thiệu tầm quan trọng của việc thu thập nhật ký và cách sử dụng Elasticsearch và Logstash, là những công cụ cho việc này. Chúng ta sẽ thực hành cài đặt Elasticsearch và Logstash bằng Docker và chuyển tiếp nhật ký đến Elasticsearch thông qua LogstashAppender. Chúng ta sẽ tìm hiểu cách thu thập và quản lý nhật ký hiệu quả trong môi trường phân tán và cũng tìm hiểu cách kiểm tra hiệu quả các nhật ký được thu thập trong Elasticsearch.

Cuối cùng, chúng ta sẽ tìm hiểu về phương pháp trực quan hóa và sử dụng nhật ký. Bạn sẽ học cách trực quan hóa dữ liệu nhật ký bằng Kibana và giám sát nhật ký theo thời gian thực thông qua bảng điều khiển. Bạn sẽ học cách thêm thông tin dịch vụ và máy chủ vào dữ liệu nhật ký để cải thiện khả năng đọc nhật ký và cách xây dựng hệ thống có thể phản hồi nhanh khi xảy ra lỗi thông qua cài đặt cảnh báo. Bạn cũng sẽ học cách nhận cảnh báo thông qua Slack kết hợp với Jenkins để xây dựng môi trường giám sát nhật ký có thể sử dụng ngay trong thực tế.

Khóa học này cung cấp nội dung thiết yếu cho các nhà phát triển và kỹ sư muốn học một cách có hệ thống từ những điều cơ bản về quản lý nhật ký đến các thiết lập nâng cao. Khóa học sẽ giúp ích rất nhiều cho bất kỳ ai muốn cải thiện tính ổn định của hệ thống thông qua quản lý nhật ký hiệu quả và phát triển khả năng phản hồi nhanh chóng khi có sự cố xảy ra.


Ví dụ về tệp cấu hình Logback

< cấu hình > < tài sản tên = "LOG_FILE" giá trị = "application.log" /> < người thêm vào tên = "LOGSTASH" class = "net.logstash.logback.appender.LogstashTcpSocketAppender" > < đích > localhost:5044 đích đến > < bộ mã hóa class = "net.logstash.logback.encoding.LogstashEncode" /> người thêm vào > < người thêm vào tên = "BÀN ĐIỀU KHIỂN" lớp = "ch.qos.logback.core.ConsoleAppender" > < mã hóa > < mẫu > %d{yyyy-MM-dd HH:mm:ss} %-5mức [%thread] %logger{36} - %msg%n mẫu > bộ mã hóa > người thêm vào > < người thêm vào tên = "TẬP TIN" lớp = "ch.qos.logback.core.rolling.RollingFileAppender" > < tập tin > ${LOG_FILE} tập tin > < chính sách lăn lớp = "ch.qos.logback.core.rolling.TimeBasedRollingPolicy" > < fileNamePattern > ứng dụng.%d{yyyy-MM-dd_HH-mm}.log.gz fileNamePattern > < lịch sử tối đa > 5 Lịch sử tối đa > rollingPolicy > < mã hóa > < mẫu > %d{yyyy-MM-dd HH:mm:ss} %-5mức [%thread] %logger{36} - %msg%n mẫu > bộ mã hóa > người thêm vào > < gốc mức độ = "dấu vết" > < tham chiếu phụ lục tham chiếu = "BÀN ĐIỀU KHIỂN" /> < tham chiếu phụ lục tham chiếu = "TẬP TIN" /> < tham chiếu phụ lục tham chiếu = "LOGSTASH" /> gốc > cấu hình >


Ví dụ trực quan hóa nhật ký



Tìm hiểu về những điều này

Hiểu về Nhật ký cơ bản

Tìm hiểu thông tin cần ghi nhật ký, vai trò của nhật ký trong việc xử lý ngoại lệ và ý nghĩa cũng như cách sử dụng các cấp nhật ký khác nhau để đặt nền tảng cho việc viết nhật ký hiệu quả.

Đăng nhập lại

Chúng tôi sẽ trình bày một cách có hệ thống mọi thứ từ các thiết lập cơ bản đến việc sử dụng Logback. Thông qua liên kết với Slf4j, bạn sẽ học cách quản lý nhật ký hiệu quả và cách tách nhật ký thành nhiều tệp hoặc quản lý chúng hàng ngày bằng cách sử dụng nhiều Appender khác nhau.

đống ELK

Tìm hiểu cách thu thập và phân tích nhật ký bằng ngăn xếp ELK bao gồm Elasticsearch, Logstash và Kibana. Tìm hiểu cách cài đặt bằng Docker, chuyển tiếp nhật ký đến Elasticsearch qua LogstashAppender và trực quan hóa và giám sát dữ liệu nhật ký theo thời gian thực bằng Kibana.

Những điều cần lưu ý trước khi tham gia lớp học

Môi trường thực hành

  • Hệ điều hành và Phiên bản (OS): Windows 10

  • Công cụ được sử dụng: Intellij Community 2023.2, Google Chrome

Tài liệu học tập

Kiến thức và ghi chú của người chơi

  • Bài giảng này dựa trên các ứng dụng Java và Spring Boot. Tuy nhiên, vì nội dung chính của bài giảng tập trung vào việc giải thích khái niệm về nhật ký hơn là cấp độ mã, nên bạn có thể tham gia bài giảng mà không gặp bất kỳ vấn đề nào ngay cả khi bạn thực hành với các ngôn ngữ và khuôn khổ khác, ngoại trừ phần 'Cài đặt Logback'.

  • Chúng tôi sẽ không tải nó lên máy chủ và tiến hành thực hành, mà sẽ chỉ tiến hành thực hành trong môi trường phát triển cục bộ. Mặc dù thực hành sẽ được tiến hành cục bộ, chúng tôi sẽ hướng dẫn bạn cách thay đổi cài đặt khi tải nó lên máy chủ thực tế, để bạn có thể thiết lập theo cách tương tự khi tải nó lên máy chủ.

  • Nếu bạn có bất kỳ câu hỏi nào trong khi học khóa học, vui lòng để lại câu hỏi. Tôi sẽ cập nhật nếu có bất kỳ điều gì cần cập nhật.

Khuyến nghị cho
những người này

Khóa học này dành cho ai?

  • Người muốn biết log nào cần lưu trong ứng dụng.

  • Người chán việc cứ phải SSH vào server xem log.

Cần biết trước khi bắt đầu?

  • Kinh nghiệm phát triển ứng dụng Spring Boot

Xin chào
Đây là

5,842

Học viên

275

Đánh giá

116

Trả lời

4.9

Xếp hạng

9

Các khóa học

안녕하세요.

멘토링을 하면서 주니어 개발자들이 어려워 하는 개념들에 대해 어떻게 하면 쉽게 전달할 수 있을지에 대해서 많은 고민을 하고 있는 푸(Foo)라고 합니다.

잘 부탁 드리겠습니다.


이력

  • 2019. 08 ~ 현재 : 카카오 자바 백엔드 개발자

  • 2021. 08 ~ 현재 : programmers 백엔드 데브코스 멘토

  • 2021. 12 ~ 현재 : F-Lab 자바 백엔드 멘토

 

  • 이것이 취업을 위한 백엔드 개발이다 with 자바(링크)

 

기타 이력 및 타 플랫폼 강의들은 아래 GitHub 링크에서 확인할 수 있습니다.

GitHub - https://github.com/lleellee0

Chương trình giảng dạy

Tất cả

17 bài giảng ∙ (3giờ 27phút)

Ngày đăng: 
Cập nhật lần cuối: 

Đánh giá

Tất cả

71 đánh giá

4.9

71 đánh giá

  • parksangdonews님의 프로필 이미지
    parksangdonews

    Đánh giá 17

    Đánh giá trung bình 4.8

    5

    100% đã tham gia

    3 giờ là thời gian lý tưởng để thư giãn đầu óc, vì vậy tôi đã bắt đầu học để có thể xem như là học văn hóa vào cuối tuần. ^^ Tôi nhớ lại thời còn là sinh viên, tôi đã phải vật lộn với việc phân biệt log4j, logback và slf4j và phải vật lộn để thiết lập, vì vậy tôi đã mua và xem để nhiều nhà phát triển khác cũng có thể xem. Nội dung được sắp xếp và trình bày theo cách sử dụng và theo dõi theo cách kể chuyện, vì vậy tôi thấy hấp dẫn hơn nhiều so với các khóa học khác giải thích từng phần. Tôi nghĩ như thể mình là một sinh viên mới vào nghề đang học hỏi kinh nghiệm từ người hướng dẫn và khi xem các mẹo phát triển xuất hiện ở giữa, tôi thấy 3 giờ trôi qua thật nhanh chóng .. Nếu bạn mới bắt đầu phát triển ~ Hãy xem tất cả và xem lại ^^ Đôi khi, nhật ký sẽ cứu mạng bạn. (Đôi khi, nó cũng bị đứt ... )

    • foo
      Giảng viên

      Cảm ơn Sang Do Park đã dành thời gian để đánh giá khóa học! Bạn đã nêu rõ những điểm mạnh của khóa học hơn cả phần giới thiệu khóa học 😊😊😊😊 Cảm ơn bạn đã lắng nghe khóa học!! Những nội dung bạn đã viết cũng sẽ rất hữu ích cho những người khác~

  • khd16927573님의 프로필 이미지
    khd16927573

    Đánh giá 12

    Đánh giá trung bình 5.0

    Đã chỉnh sửa

    5

    100% đã tham gia

    Tôi đã nghe giảng rất tốt! Tôi đã dùng logback, @Sl4jf mà không thực sự hiểu rõ về chúng, nhưng giờ thì tôi đã nắm được các khái niệm! Tuy nhiên, bài giảng này không chỉ dừng lại ở các nguyên lý hay kiến thức đơn thuần mà còn đề cập đến việc xử lý log, và nếu bạn đã có kinh nghiệm xử lý log với mục đích như phản hồi CS, v.v. thì có rất nhiều điểm bạn có thể thực sự đồng cảm khi nghe. Vì vậy, tôi nghĩ tôi đã gật gù rất nhiều khi nghe giảng. Dù sao thì bài giảng cũng đã giúp ích rất nhiều cho tôi, và tôi hy vọng bạn sẽ làm thêm các bài giảng về nhiều chủ đề đa dạng hơn nữa 😊😊 (Hoặc sẽ tốt hơn nữa nếu đó là bài giảng về toàn bộ một domain cụ thể, nơi tích hợp nhiều công nghệ khác nhau.)

    • foo
      Giảng viên

      Cảm ơn Yoni đã lắng nghe bài giảng kỹ lưỡng! Vui quá khi bạn chia sẻ những điểm bạn thích trong bài giảng. :) Các khóa đa dạng bạn nói có lẽ gồm cả khóa mới mở ( https://inf.run/XHEvJ ), tôi sẽ cố gắng làm thêm bài giảng chủ đề khác! Cảm ơn bạn~!

  • smh12052571님의 프로필 이미지
    smh12052571

    Đánh giá 2

    Đánh giá trung bình 5.0

    5

    100% đã tham gia

    Có vẻ có thể quản lý log chủ động hơn.

    • thirsthay님의 프로필 이미지
      thirsthay

      Đánh giá 3

      Đánh giá trung bình 4.7

      5

      41% đã tham gia

      • foo
        Giảng viên

        Cảm ơn 떨스티님 đã để lại nhận xét về khóa học!!

    • kduoh님의 프로필 이미지
      kduoh

      Đánh giá 27

      Đánh giá trung bình 5.0

      5

      100% đã tham gia

      • foo
        Giảng viên

        Cảm ơn Dudu vì đánh giá khóa học nhé. ^^ Chúc bạn một ngày tốt lành~

    Ưu đãi có thời hạn, kết thúc sau 3 ngày ngày

    20.790 ₫

    30%

    625.542 ₫

    Khóa học khác của foo

    Hãy khám phá các khóa học khác của giảng viên!

    Khóa học tương tự

    Khám phá các khóa học khác trong cùng lĩnh vực!