
安定したサービス展開のための展開戦略とヒント
foo
このレッスンでは、さまざまな展開戦略を理解し、状況に応じた展開方法を選択して、サービスの信頼性を最大化する方法を学ぶことができます。また、スラックアラーム設定と運用環境配布の実践的なヒントも一緒に手に入れることができます!
初級
Jenkins, CI/CD, Slack
受講生 1,290名
難易度 初級
受講期間 無制限


学習した受講者のレビュー
5.0
Sang Do Park
3時間ほどで髪を冷やすのにちょうどいい時間なので週末に教養を聞く気持ちで見ようと受講を始めました。 ^^ ジュニア時代にlog4j、logback、slf4jの区分も大変で難しく設定して苦労していた記憶が思い浮かび、多くの開発者が見てほしいという考えに購入してみました。試行錯誤を多く経験する内容をこのようによくまとめて活用し、モニタリング段階までストーリー方式で説明してくれたので、それぞれを説明する他の講義よりも没入度が高かった。 まるで射手の経験を学ぶジュニアの立場で見ると思って中間途中出てくる開発のヒントを見てみると3時間がぐっと過ぎましたね。 開発を始めた方〜みんな見て二度見てください^^ ログは時々あなたのライフラインを守ります。 (時々途切れることもありますが…)
5.0
요니
講義、とても勉強になりました! logback, @Sl4jf についてよく知らずに使っていたのですが 今になって概念について知ることができました! しかし、この講義の場合、単純な原理や知識で終わらずに ログを加工してみたり、 CS対応などを目的としてログを扱った経験があるならば 本当に共感しながら聞けるポイントが多かったです そのため、非常に頷きながら講義を聞いたように思います とにかく、大変役立ちましたし、 より多様なテーマについて講義を制作していただければと思います 😊😊 (あるいは複数の技術が集約された、特定のドメイン全体に関する講義であればさらに良いかと思います)
5.0
smh1205
ログ管理をより積極的にできるようになるかと思います。
アプリケーションでどのようなログを残すべきかに関するノウハウ
ELKスタックを活用したログ収集および活用
サーバーに直接ログインしてログファイルを確認する方法には、さまざまな限界があります。第一に、複数のサーバーを運用する場合、それぞれのサーバーにいちいち接続する必要があるため、時間がかかり管理が複雑になります。第二に、リアルタイムでログをモニタリングすることが難しく、問題が発生した際に迅速に対応することが困難になります。また、ログの検索と分析が手動で行われるため、重要な情報を見逃したり、エラーを発見するのに時間がかかったりすることがあります。このような方式は、特に大規模な分散システムにおいて非効率的であり、サービスの安定性やユーザーエクスペリエンスに悪影響を及ぼす可能性があります。したがって、より体系的で自動化されたログ管理方法を導入することが必要です。
ログ管理は単にエラーを記録することを超え、アプリケーションの鼓動を理解し、問題を事前に予測するための重要なツールです。特に現代の複雑な分散システムでは、ログ管理がサービスの安定性とユーザーエクスペリエンスを左右することがあります。実務では、膨大なデータとトラフィックの中で迅速に問題を把握し、解決する能力が不可欠です。
今回の講義"開発者に必要なログ管理"では、どのようなログを残すべきかからログの活用まで、実務ですぐに適用できる多様な戦略とヒントを扱います。最初から最後までログ管理の全過程を体系的に学びながら、ログがどのようにサービス運営に活用されるのかを直接経験することになります。
まず最初に、ログに関する基礎知識について扱います。この講義では、ログの基本概念と重要性を理解し、どのような情報をログとして残すべきか、例外処理時のログの活用法、多様なログレベルの意味と活用方法を学習します。これを通じて、開発過程におけるログの重要性を認識し、効果的にログを残す方法を身につけることになります。
二番目には、Logbackの設定について扱います。Logbackの基本概念とSlf4jとの連携を説明し、実際のLogback設定ファイルを作成する方法を実習を通じて学習します。さまざまなAppenderを活用してログを複数のファイルに分離し、日単位でログを管理したり、ログファイルを圧縮したりするなど、実務で必要な設定技術を身につけることができます。また、開発環境ごとに異なるLogback設定を適用して、柔軟なログ管理を実装する方法も学びます。
次には、ログ収集の重要性と、そのためのツールであるElasticsearchとLogstashの使用方法を紹介します。Dockerを活用してElasticsearchとLogstashをインストールし、LogstashAppenderを通じてログをElasticsearchに転送する過程を実習します。分散環境でログを効率的に収集・管理する方法を学び、Elasticsearchで収集されたログを効果的に確認する方法も習得します。
最後に、ログの可視化と活用方法を扱います。Kibanaを活用してログデータを可視化し、ダッシュボードを通じてリアルタイムでログをモニタリングする方法を学びます。サービスやホスト情報をログデータに追加してログの可読性を高め、アラート設定を通じてエラー発生時に迅速に対応できるシステムを構築する方法を学習します。また、Jenkinsと連携してSlackで通知を受け取る実習を通じて、実務ですぐに活用できるログモニタリング環境を構築することができます。
この講義は、ログ管理の基礎から高度な設定まで体系的に学習したい開発者やエンジニアにとって、必要不可欠な内容を提供します。効果的なログ管理を通じてシステムの安定性を高め、問題発生時に迅速に対応できる能力を身に付けたいすべての方に、大きな助けとなるでしょう。
<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の基本設定から活用まで体系的に扱います。Slf4jとの連携を通じてログを効率的に管理し、多様なAppenderを活用してログを複数のファイルに分離したり、日単位で管理したりする方法を実習を通じて学びます。
Elasticsearch、Logstash、Kibanaで構成されたELKスタックを活用したログ収集と分析方法を学びます。Dockerを利用したインストールから、LogstashAppenderを通じてログをElasticsearchに転送し、Kibanaを使用してログデータを視覚化し、リアルタイムでモニタリングする技術を習得します。
オペレーティングシステムおよびバージョン(OS): Windows 10
使用ツール: Intellij Community 2023.2, Google Chrome
例、コマンドリポジトリ:https://github.com/lleellee0/shorten-url-for-logging-example-code
上記のリポジトリのREADME.mdに、関連する実習リポジトリのリンクをまとめておきました。
この講義はJava、Spring Bootアプリケーションを基準に進められます。ただし、講義の主な内容はコードレベルよりもログの概念説明が中心であるため、「Logback設定」セクションを除けば、他の言語やフレームワークで実習を進めても問題なく受講できるはずです。
サーバーにアップロードして実習を行うのではなく、ローカル開発環境のみで実習を進めます。ローカルで実習を行いますが、実際のサーバーにアップロードした際にどのように設定を変更すればよいか案内しているため、サーバーにアップロードした際も同様の手順で設定が可能です。
受講中に気になる点があれば、質問を残してください。アップデートが必要な内容があれば、更新いたします。
学習対象は
誰でしょう?
アプリケーションでどのようなログを残すべきか知りたい人
毎回SSHでサーバーに接続してログを確認することに疲れた人
前提知識、
必要でしょうか?
Spring Boot アプリケーションの開発経験
キャリア認証
6,395
受講生
358
受講レビュー
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分)
3. 何をログに残すべきか?
22:03
4. 例外とログ
17:11
5. ログレベル
22:41
6. ログの高度化
21:51
全体
98件
4.9
98件の受講レビュー
受講レビュー 17
∙
平均評価 4.8
5
3時間ほどで髪を冷やすのにちょうどいい時間なので週末に教養を聞く気持ちで見ようと受講を始めました。 ^^ ジュニア時代にlog4j、logback、slf4jの区分も大変で難しく設定して苦労していた記憶が思い浮かび、多くの開発者が見てほしいという考えに購入してみました。試行錯誤を多く経験する内容をこのようによくまとめて活用し、モニタリング段階までストーリー方式で説明してくれたので、それぞれを説明する他の講義よりも没入度が高かった。 まるで射手の経験を学ぶジュニアの立場で見ると思って中間途中出てくる開発のヒントを見てみると3時間がぐっと過ぎましたね。 開発を始めた方〜みんな見て二度見てください^^ ログは時々あなたのライフラインを守ります。 (時々途切れることもありますが…)
Sang Do Parkさん、ありがとうございます! 講義紹介文よりはるかに講義の強みをよくアピールしてくれたようですね 😊😊😊😊 講義よく聞いてくれて本当にありがとう! 書いてくれた内容も他の人にたくさん役立つと思います〜
受講レビュー 14
∙
平均評価 5.0
修正済み
5
講義、とても勉強になりました! logback, @Sl4jf についてよく知らずに使っていたのですが 今になって概念について知ることができました! しかし、この講義の場合、単純な原理や知識で終わらずに ログを加工してみたり、 CS対応などを目的としてログを扱った経験があるならば 本当に共感しながら聞けるポイントが多かったです そのため、非常に頷きながら講義を聞いたように思います とにかく、大変役立ちましたし、 より多様なテーマについて講義を制作していただければと思います 😊😊 (あるいは複数の技術が集約された、特定のドメイン全体に関する講義であればさらに良いかと思います)
ヨニさんの講義をよくお聞きいただきありがとうございます! 講義を聞きながら良かった点をお話してくださり嬉しいです。:) おっしゃっていた様々な講義は、最近オープンした講義( https://inf.run/XHEvJ )も該当しそうですし、他のテーマでも講義を作ってみます! ありがとうございます〜!
受講レビュー 2
∙
平均評価 5.0
受講レビュー 12
∙
平均評価 4.9
知識共有者の他の講座を見てみましょう!
同じ分野の他の講座を見てみましょう!