강의

멘토링

로드맵

BEST
Programming

/

Web Development

開発者に必要なログ管理

どのようなログを残すべきかという点から始まり、ログを収集し活用するまでの全体的なサイクルについて扱います。

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

学習した受講者のレビュー

こんなことが学べます

  • アプリケーションでどのようなログを残すべきかに関するノウハウ

  • ELKスタックを活用したログ収集および活用

まだSSHでサーバーに接続してログを見ますか?

サーバーに直接ログインしてログファイルを確認する方法にはいくつかの制限があります。まず、複数のサーバーを運用する場合は、各サーバーに毎日アクセスする必要があるため、時間がかかり、管理が複雑になります。第二に、リアルタイムでログを監視するのは難しく、問題が発生したときに迅速に対応するのが難しくなります。さらに、ログの検索と分析が手動で行われるため、重要な情報を見逃したり、エラーを検出するのに時間がかかる場合があります。この方法は、特に大規模な分散システムでは非効率的であり、サービスの信頼性とユーザーエクスペリエンスに悪影響を及ぼす可能性があります。したがって、より体系的で自動化されたログ管理方法を導入する必要があります。

ログ管理は、単にエラーを記録することを超えて、アプリケーションの心拍数を理解し、問題を事前に予測する重要なツールです。特に、現代の複雑な分散システムでは、ログ管理はサービスの信頼性とユーザーエクスペリエンスに依存します。実務では、数多くのデータやトラフィックの中で迅速に問題を特定し解決する能力が不可欠です。

今回の講義「開発者に必要なログ管理」では、どのログを残すべきかからログ活用まで、実務ですぐに適用できるさまざまな戦略とヒントを取り上げます。最初から最後まで、ログ管理の全過程を体系的に学び、ログがどのようにサービス運用に活用できるかを直接経験することになります。

まず、ログに関する基礎知識について説明します。このレッスンでは、ログの基本的な概念と重要性を理解し、どの情報をログとして残すべきか、例外処理のログの活用方法、さまざまなログレベルの意味と活用方法を学びます。これにより、開発中のログの重要性を認識し、効果的にログを残す方法を学びます。

第二に、Logbackの設定について説明します。 Logbackの基本概念とSlf4jとの連携を説明し、実際のLogback設定ファイルを作成する方法を実習を通じて学習します。さまざまな Appender を活用して、ログを複数のファイルに分割したり、日単位でログを管理したり、ログファイルを圧縮したりするなど、実務上必要なセットアップ技術を習得できます。また、開発環境ごとに異なるLogback設定を適用して柔軟なログ管理を実装する方法も学びます。

次に、ログ収集の重要性とそのためのツールであるElasticsearchとLogstashの使い方を紹介します。 Dockerを利用してElasticsearchとLogstashをインストールし、LogstashAppenderを介してログをElasticsearchに転送するプロセスを実践します。分散環境でログを効率的に収集および管理する方法を学び、Elasticsearchで収集されたログを効果的に確認する方法についても学びます。

最後に、ログの可視化と活用方法について説明します。 Kibanaを活用してログデータを視覚化し、ダッシュボードを介してリアルタイムでログを監視する方法を学びます。サービスとホスト情報をログデータに追加してログの読みやすさを向上させ、アラーム設定でエラーが発生したときに迅速に対応できるシステムを構築する方法を学びます。また、Jenkinsと連携してスラックでアラームを受け取る実習を通じて、実務ですぐに活用できるログ監視環境を構築できます。

この講義は、ログ管理の基礎から高度な設定まで体系的に学習したい開発者やエンジニアに必要な内容を提供します。効果的なログ管理により、システムの安定性を高め、問題が発生した場合に迅速に対応できる能力を育成したいすべての人に大いに役立ちます。


ログバック設定ファイルの例

<configuration> <プロパティ name = "LOG_FILE" value = "application.log" /> <アペンダー name = "LOGSTASH" class = "net.logstash.logback.appender.LogstashTcpSocketAppender" > <宛先> localhost:5044 destination > <エンコーダ class = "net.logstash.logback.encoder.LogstashEncoder" /> appender > <アペンダー name = "CONSOLE" class = "ch.qos.logback.core.ConsoleAppender" > <エンコーダ> < pattern > %d{yyyy-MM-dd HH:mm:ss} %-5level [%thread] %logger{36} - %msg%n pattern > encoder > appender > <アペンダー name = "FILE" class = "ch.qos.logback.core.rolling.RollingFileAppender" > < file > ${LOG_FILE} file > < rollingPolicy class = "ch.qos.logback.core.rolling.TimeBasedRollingPolicy" > < fileNamePattern > application.%d{yyyy-MM-dd_HH-mm}.log.gz fileNamePattern > < maxHistory > 5 maxHistory > rollingPolicy > <エンコーダ> < pattern > %d{yyyy-MM-dd HH:mm:ss} %-5level [%thread] %logger{36} - %msg%n pattern > encoder > appender > < root level = "trace" > < appender-ref ref = "CONSOLE" /> < appender-ref ref = "FILE" /> < appender-ref ref = "LOGSTASH" /> root > configuration >


ログ視覚化の例



このようなことを学びます。

ログ基礎の理解

どの情報をログに残すべきか、例外処理におけるログの役割、さまざまなログレベルの意味と活用方法を学習し、効果的なログ作成の基礎を築きます。

ログバック

Logbackのデフォルト設定から活用まで体系的に取り上げます。 Slf4jとの連携を通じてログを効率的に管理し、さまざまなAppenderを活用してログを複数のファイルに分けたり、日単位で管理する方法を実習を通じて習得します。

ELKスタック

Elasticsearch、Logstash、Kibanaで構成されたELKスタックを活用したログ収集と分析方法を学びます。 Dockerを使用したインストールから、LogstashAppenderを介してログをElasticsearchに渡し、Kibanaを使用してログデータを視覚化し、リアルタイムで監視する技術を習得します。

受講前の注意

練習環境

  • オペレーティングシステムとバージョン(OS):Windows 10

  • 使用ツール: Intellij Community 2023.2, Google Chrome

学習資料

選手の知識と注意事項

  • そのレッスンはJava、Spring Bootアプリケーションに基づいて行われます。ただし、講義の主な内容はコードレベルではなくログの概念説明中心なので、「Logback設定」セクションを除けば他の言語、フレームワークで実習を進行しても問題なく講義を受講することができるでしょう。

  • サーバーに載せて実習を進めるのではなく、ローカル開発環境でのみ実習を進めます。ローカルで実習を進めますが、実際のサーバーに上げたときは、どのように設定を変えればいいのかご案内していますので、サーバーに上げたときも同様の過程で設定が可能です。

  • 受講中に質問がある場合は、質問を残してください。更新する必要がある場合は、更新します。

こんな方に
おすすめです

学習対象は
誰でしょう?

  • アプリケーションでどのようなログを残すべきか知りたい人

  • 毎回SSH経由でサーバーに接続してログを見るのに疲れた人

前提知識、
必要でしょうか?

  • Spring Boot アプリケーション開発経験

こんにちは
です。

5,428

受講生

250

受講レビュー

111

回答

4.9

講座評価

9

講座

안녕하세요.

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

잘 부탁 드리겠습니다.


이력

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

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

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

 

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

 

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

GitHub - https://github.com/lleellee0

カリキュラム

全体

17件 ∙ (3時間 27分)

講座掲載日: 
最終更新日: 

受講レビュー

全体

61件

4.9

61件の受講レビュー

  • parksangdonews8226님의 프로필 이미지
    parksangdonews8226

    受講レビュー 17

    平均評価 4.8

    5

    100% 受講後に作成

    It's a perfect time to cool off for about 3 hours, so I started taking the course thinking I'd watch it on the weekend as a way to learn something new. ^^ I remembered how hard it was to distinguish between log4j, logback, and slf4j when I was a junior and how much trouble I had setting them up, so I bought it thinking many developers would find it useful. The content was well organized and explained in a story format, from the trial and error process to the monitoring stage, so it was more engaging than other lectures that explain each one separately. I thought of it as a junior learning from a mentor and kept looking at the development tips that came up here and there, and before I knew it, 3 hours had passed... If you're new to development, watch it. Watch it twice. ^^ Logs can sometimes save your life. (Sometimes they break, too...)

    • foo
      知識共有者

      Thank you for your thoughtful review, Sang Do Park! I think you've done a much better job of highlighting the strengths of the class than the introduction to the class 😊😊😊😊 Thank you so much for listening to the class!! The things you wrote will be of great help to others as well~

  • khd16927573님의 프로필 이미지
    khd16927573

    受講レビュー 12

    平均評価 5.0

    修正済み

    5

    100% 受講後に作成

    I really enjoyed the lecture! I was using logback and @Sl4jf without fully understanding them, but now I've learned about their concepts! However, this lecture didn't just stop at simple principles or knowledge; it allowed me to process logs, and if one has experience handling logs for purposes like CS response, there were many points that resonated deeply. Thus, I found myself nodding along throughout the lecture. In any case, it was incredibly helpful, and I hope you'll create lectures on a wider variety of topics 😊😊 (Or, lectures that integrate various technologies or cover an entire specific domain would be even better.)

    • foo
      知識共有者

      Yoni, thank you for attending the lecture! It's great you shared what you liked during the lecture. :) The various lectures you mentioned likely include the recently opened one ( https://inf.run/XHEvJ ), and I'll also try to create lectures on other topics! Thank you~!

  • smh12052571님의 프로필 이미지
    smh12052571

    受講レビュー 2

    平均評価 5.0

    5

    100% 受講後に作成

    We could manage logs more actively.

    • oottagiya님의 프로필 이미지
      oottagiya

      受講レビュー 21

      平均評価 3.8

      3

      35% 受講後に作成

      • thirsthay님의 프로필 이미지
        thirsthay

        受講レビュー 3

        平均評価 4.7

        5

        41% 受講後に作成

        • foo
          知識共有者

          Thanks 떨스티 for the review!!

      ¥3,580

      fooの他の講座

      知識共有者の他の講座を見てみましょう!

      似ている講座

      同じ分野の他の講座を見てみましょう!