강의

멘토링

커뮤니티

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,751

受講生

264

受講レビュー

116

回答

4.9

講座評価

9

講座

안녕하세요.

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

잘 부탁 드리겠습니다.


이력

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

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

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

 

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

 

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

GitHub - https://github.com/lleellee0

カリキュラム

全体

17件 ∙ (3時間 27分)

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

受講レビュー

全体

67件

4.9

67件の受講レビュー

  • Sang Do Park님의 프로필 이미지
    Sang Do Park

    受講レビュー 17

    平均評価 4.8

    5

    100% 受講後に作成

    3시간 정도로 머리 식히기 딱 좋은 시간이라 주말에 교양을 듣는 기분으로 보려고 수강을 시작했습니다. ^^ 주니어 시절에 log4j, logback, slf4j 구분도 힘들고 어려워 설정하며 고생했던 기억이 떠올라 많은 개발자가 보면 좋겠다는 생각에 구매해서 봤습니다. 시행착오를 많이 겪을 만한 내용을 이렇게 잘 정리해서 활용하고 모니터링 단계까지 스토리 방식으로 설명해주니 각각을 설명하는 다른 강의보다 몰입도가 높았습니다. 마치 사수의 경험을 배우는 주니어의 입장으로 본다 생각하고 중간 중간 나오는 개발 팁을 보다보니 3시간이 훌쩍 지나가더군요 .. 개발을 시작하신 분 ~ 모두 보세요 두 번 보세요 ^^ 로그는 가끔 여러분의 생명줄을 지켜줍니다. ( 가끔 끊기도 하지만 ... )

    • 이준형(Foo)
      知識共有者

      Sang Do Park님 정성스런 수강평 감사합니다! 강의 소개글보다 훨씬 강의 강점을 잘 어필해주신 것 같네요 ㅎㅎㅎㅎ 강의 잘 들어주셔서 정말 감사합니다!! 적어주신 내용들도 다른분들께 많이 도움이 될 것 같습니다~

  • 요니님의 프로필 이미지
    요니

    受講レビュー 12

    平均評価 5.0

    修正済み

    5

    100% 受講後に作成

    강의 너무 잘 들었습니다! logback, @Sl4jf에 대해 잘 모르고 쓰고있었는데 이제라도 개념에대해 알게되었습니다! 그러나 해당 강의의 경우 단순 원리나 지식에서 끝나지 않고 로그를 가공해보고, CS 대응등을 목적으로 로그를 다뤄본 경험이 있다면 정말 공감하면서 들을 수 있는 포인트가 많았습니다 그래서 굉장히 고개를 끄덕이면서 강의를 들었던거 같습니다 아무쪼록 너무 큰 도움이 되었고, 더 다양한 주제에 대해 강의를 찍어주셨으면 하는 바램입니다 ㅎㅎ (혹은 여러 기술이 집약된 , 특정 도메인 전체에 대한 강의라면 더 좋을것 같습니다)

    • 이준형(Foo)
      知識共有者

      요니님 강의 잘 들어주셔서 감사합니다! 강의 들으면서 좋아던 점들 이야기해주셔서 좋네요. :) 말씀하신 다양한 강의는 최근 오픈한 강의 ( https://inf.run/XHEvJ )도 해당될 것 같고, 다른 주제들로도 강의 만들어보겠습니다! 감사합니다~!

  • smh1205님의 프로필 이미지
    smh1205

    受講レビュー 2

    平均評価 5.0

    5

    100% 受講後に作成

    로그 관리를 더 적극적으로 할 수 있을 것 같습니다.

    • 올막곧낼막님의 프로필 이미지
      올막곧낼막

      受講レビュー 26

      平均評価 3.8

      3

      35% 受講後に作成

      • 떨스티님의 프로필 이미지
        떨스티

        受講レビュー 3

        平均評価 4.7

        5

        41% 受講後に作成

        • 이준형(Foo)
          知識共有者

          떨스티님 수강평 남겨주셔서 감사합니다!!

      ¥3,703

      fooの他の講座

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

      似ている講座

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