開発者に必要なログ管理

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

難易度 初級

受講期間 無制限

Elasticsearch
Elasticsearch
logback
logback
Logstash
Logstash
Kibana
Kibana
Spring Boot
Spring Boot
Elasticsearch
Elasticsearch
logback
logback
Logstash
Logstash
Kibana
Kibana
Spring Boot
Spring Boot

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

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

4.9

5.0

Sang Do Park

100% 受講後に作成

3時間ほどで髪を冷やすのにちょうどいい時間なので週末に教養を聞く気持ちで見ようと受講を始めました。 ^^ ジュニア時代にlog4j、logback、slf4jの区分も大変で難しく設定して苦労していた記憶が思い浮かび、多くの開発者が見てほしいという考えに購入してみました。試行錯誤を多く経験する内容をこのようによくまとめて活用し、モニタリング段階までストーリー方式で説明してくれたので、それぞれを説明する他の講義よりも没入度が高かった。 まるで射手の経験を学ぶジュニアの立場で見ると思って中間途中出てくる開発のヒントを見てみると3時間がぐっと過ぎましたね。 開発を始めた方〜みんな見て二度見てください^^ ログは時々あなたのライフラインを守ります。 (時々途切れることもありますが…)

5.0

요니

100% 受講後に作成

講義、とても勉強になりました! logback, @Sl4jf についてよく知らずに使っていたのですが 今になって概念について知ることができました! しかし、この講義の場合、単純な原理や知識で終わらずに ログを加工してみたり、 CS対応などを目的としてログを扱った経験があるならば 本当に共感しながら聞けるポイントが多かったです そのため、非常に頷きながら講義を聞いたように思います とにかく、大変役立ちましたし、 より多様なテーマについて講義を制作していただければと思います 😊😊 (あるいは複数の技術が集約された、特定のドメイン全体に関する講義であればさらに良いかと思います)

5.0

smh1205

100% 受講後に作成

ログ管理をより積極的にできるようになるかと思います。

受講後に得られること

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

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

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

サーバーに直接ログインしてログファイルを確認する方法には、さまざまな限界があります。第一に、複数のサーバーを運用する場合、それぞれのサーバーにいちいち接続する必要があるため、時間がかかり管理が複雑になります。第二に、リアルタイムでログをモニタリングすることが難しく、問題が発生した際に迅速に対応することが困難になります。また、ログの検索と分析が手動で行われるため、重要な情報を見逃したり、エラーを発見するのに時間がかかったりすることがあります。このような方式は、特に大規模な分散システムにおいて非効率的であり、サービスの安定性やユーザーエクスペリエンスに悪影響を及ぼす可能性があります。したがって、より体系的で自動化されたログ管理方法を導入することが必要です。

ログ管理は単にエラーを記録することを超え、アプリケーションの鼓動を理解し、問題を事前に予測するための重要なツールです。特に現代の複雑な分散システムでは、ログ管理がサービスの安定性とユーザーエクスペリエンスを左右することがあります。実務では、膨大なデータとトラフィックの中で迅速に問題を把握し、解決する能力が不可欠です。

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

まず最初に、ログに関する基礎知識について扱います。この講義では、ログの基本概念と重要性を理解し、どのような情報をログとして残すべきか、例外処理時のログの活用法、多様なログレベルの意味と活用方法を学習します。これを通じて、開発過程におけるログの重要性を認識し、効果的にログを残す方法を身につけることになります。

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

次には、ログ収集の重要性と、そのためのツールであるElasticsearchとLogstashの使用方法を紹介します。Dockerを活用してElasticsearchとLogstashをインストールし、LogstashAppenderを通じてログをElasticsearchに転送する過程を実習します。分散環境でログを効率的に収集・管理する方法を学び、Elasticsearchで収集されたログを効果的に確認する方法も習得します。

最後に、ログの可視化と活用方法を扱います。Kibanaを活用してログデータを可視化し、ダッシュボードを通じてリアルタイムでログをモニタリングする方法を学びます。サービスやホスト情報をログデータに追加してログの可読性を高め、アラート設定を通じてエラー発生時に迅速に対応できるシステムを構築する方法を学習します。また、Jenkinsと連携してSlackで通知を受け取る実習を通じて、実務ですぐに活用できるログモニタリング環境を構築することができます。

この講義は、ログ管理の基礎から高度な設定まで体系的に学習したい開発者やエンジニアにとって、必要不可欠な内容を提供します。効果的なログ管理を通じてシステムの安定性を高め、問題発生時に迅速に対応できる能力を身に付けたいすべての方に、大きな助けとなるでしょう。


Logback設定ファイルの例

<configuration> <property name="LOG_FILE" value="application.log"/> <!-- Logstashに送信するAppender --> <appender name="LOGSTASH" class="net.logstash.logback.appender.LogstashTcpSocketAppender"> <destination>localhost:5044</destination> <encoder class="net.logstash.logback.encoder.LogstashEncoder" /> </appender> <!-- コンソール出力 --> <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender"> <encoder> <pattern>%d{yyyy-MM-dd HH:mm:ss} %-5level [%thread] %logger{36} - %msg%n</pattern> </encoder> </appender> <!-- ファイル出力 --> <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> <encoder> <pattern>%d{yyyy-MM-dd HH:mm:ss} %-5level [%thread] %logger{36} - %msg%n</pattern> </encoder> </appender> <!-- Logger設定 --> <root level="trace"> <appender-ref ref="CONSOLE" /> <appender-ref ref="FILE" /> <appender-ref ref="LOGSTASH" /> </root> </configuration>


ログ可視化の例



このような内容を学びます

ログの基礎理解

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

Logback

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 アプリケーションの開発経験

こんにちは
fooです。

6,194

受講生

322

受講レビュー

117

回答

4.9

講座評価

9

講座

こんにちは。

メンタリングを通じて、ジュニア開発者が難しく感じる概念をいかに分かりやすく伝えられるかについて日々悩んでいる、フー(Foo)と申します。

よろしくお願いいたします。


経歴

  • 2019. 08 ~ 現在:カカオ Javaバックエンドエンジニア

  • 2021. 08 ~ 現在 : programmers バックエンドデブコース メンター

  • 2021. 12 ~ 現在 : F-Lab Javaバックエンドメンター

  • これが就職のためのバックエンド開発だ with Java(リンク)

その他の経歴や他プラットフォームでの講義は、以下のGitHubリンクからご確認いただけます。

GitHub - https://github.com/lleellee0

もっと見る

カリキュラム

全体

17件 ∙ (3時間 27分)

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

受講レビュー

全体

88件

4.9

88件の受講レビュー

  • thirsthay님의 프로필 이미지
    thirsthay

    受講レビュー 3

    平均評価 4.7

    5

    41% 受講後に作成

    • foo
      知識共有者

      떨스티님 受講レビュー 残してくださって ありがとうございます!!

  • parksangdonews님의 프로필 이미지
    parksangdonews

    受講レビュー 17

    平均評価 4.8

    5

    100% 受講後に作成

    3時間ほどで髪を冷やすのにちょうどいい時間なので週末に教養を聞く気持ちで見ようと受講を始めました。 ^^ ジュニア時代にlog4j、logback、slf4jの区分も大変で難しく設定して苦労していた記憶が思い浮かび、多くの開発者が見てほしいという考えに購入してみました。試行錯誤を多く経験する内容をこのようによくまとめて活用し、モニタリング段階までストーリー方式で説明してくれたので、それぞれを説明する他の講義よりも没入度が高かった。 まるで射手の経験を学ぶジュニアの立場で見ると思って中間途中出てくる開発のヒントを見てみると3時間がぐっと過ぎましたね。 開発を始めた方〜みんな見て二度見てください^^ ログは時々あなたのライフラインを守ります。 (時々途切れることもありますが…)

    • foo
      知識共有者

      Sang Do Parkさん、ありがとうございます! 講義紹介文よりはるかに講義の強みをよくアピールしてくれたようですね 😊😊😊😊 講義よく聞いてくれて本当にありがとう! 書いてくれた内容も他の人にたくさん役立つと思います〜

  • kduoh님의 프로필 이미지
    kduoh

    受講レビュー 39

    平均評価 5.0

    5

    100% 受講後に作成

    • foo
      知識共有者

      두두さん、受講レビューを残してくださりありがとうございます。^^ 良い一日をお過ごしください~

  • smh12052571님의 프로필 이미지
    smh12052571

    受講レビュー 2

    平均評価 5.0

    5

    100% 受講後に作成

    ログ管理をより積極的にできるようになるかと思います。

    • khd16927573님의 프로필 이미지
      khd16927573

      受講レビュー 12

      平均評価 5.0

      修正済み

      5

      100% 受講後に作成

      講義、とても勉強になりました! logback, @Sl4jf についてよく知らずに使っていたのですが 今になって概念について知ることができました! しかし、この講義の場合、単純な原理や知識で終わらずに ログを加工してみたり、 CS対応などを目的としてログを扱った経験があるならば 本当に共感しながら聞けるポイントが多かったです そのため、非常に頷きながら講義を聞いたように思います とにかく、大変役立ちましたし、 より多様なテーマについて講義を制作していただければと思います 😊😊 (あるいは複数の技術が集約された、特定のドメイン全体に関する講義であればさらに良いかと思います)

      • foo
        知識共有者

        ヨニさんの講義をよくお聞きいただきありがとうございます! 講義を聞きながら良かった点をお話してくださり嬉しいです。:) おっしゃっていた様々な講義は、最近オープンした講義( https://inf.run/XHEvJ )も該当しそうですし、他のテーマでも講義を作ってみます! ありがとうございます〜!

    fooの他の講座

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

    似ている講座

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

    ¥3,801