SlideShare una empresa de Scribd logo
1 de 62
© 2022 NTT DATA Corporation
オススメのJavaログ管理手法(コンテナ編)
2022年3月11日
株式会社NTTデータ 技術開発本部
佐藤 雄太
オープンソースカンファレンス2022 Online/Spring
© 2022 NTT DATA Corporation 2
自己紹介
⚫ 佐藤 雄太(さとう ゆうた)
⚫ 株式会社NTTデータ所属
技術開発本部先進コンピューティング技術センタ
⚫ OpenJDKに関連したR&Dとサポート支援
⚫ 元々はPythonでAIなど
⚫ (正直まだJavaよりPythonの方が好き)
⚫ なぜか最近JITのアセンブラ出力見てる
末永 恭正
OpenJDK
Reviewer
IcedTea
Committer
阪田 浩一
Java Champion
OpenJDK
Author
こんな人達がいる職場で働いてます!!
© 2022 NTT DATA Corporation 3
Java 17開発貢献数
1. Oracle
2. Red Hat
3. 個人
4. SAP
5. Tencent
6. Amazon
7.NTT DATA
8. Arm
9. Alibaba
10.Intel
© 2022 NTT DATA Corporation 4
このセッションの対象と想定している方
◼ Javaを使っている方
◼ ULログを知らずに使っている、復習したい人
◼ コンテナに興味がある方、使っている方
◼ ログ収集ツールに興味ある方
Javaのみに特化した内容ではありません!
初学者向けです!
© 2022 NTT DATA Corporation 5
セッションの流れ
◼ コンテナ+Javaの背景
◼ ULログについて基本的な解説
◼ コンテナ環境でのログに関する問題点、その解決策
◼ OSSツールを活用した解決策
◼ 解決策の実例紹介
© 2022 NTT DATA Corporation
何故にJavaでコンテナ?
6
© 2022 NTT DATA Corporation 7
コンテナを選ぶ理由
© 2022 NTT DATA Corporation 8
マイクロサービスアーキテクチャ
◼ コンテナ技術等を用いてそれぞれのサービスを
独立したプロセスとしてアプリケーションを動作
⚫ 負荷が高くなったサービスを個別にスケールできる
⚫ サービスがそれぞれ独立しているのでお互いを
そこまで気にする必要がない
⚫ ログはどう扱う?
その前に現在のJavaのログはどういうものか?
© 2022 NTT DATA Corporation
Java ULログについて
9
© 2022 NTT DATA Corporation 10
Java UL(Unified Logging) ログ
◼ Java 9より追加された新形式のログ取得方法
⚫ カテゴリ別、ログレベル別に出力を設定可能(-Xlog option)
⚫ 根本的原因解析(Root Cause Analysis)に必須
⚫ このログを提出することでサポートサービスへの問い合わせが
しやすい
© 2022 NTT DATA Corporation 11
Java UL(Unified Logging) ログの指定
–Xlog[<what>][:[<output>][:[<decorators>][:<output-options>]]]
-what : 出力内容をタグとレベルで選択
-output : 出力先の指定
-decorators : デコレータの指定
-output-options : ログローテート設定
*ちなみにデフォルトではWarningで標準出力に表示されます。
© 2022 NTT DATA Corporation 12
Java UL(Unified Logging) ログ ログレベルの変更
• デフォルト(ログレベルWarning)
• ログレベルinfo
java -Xlog:os=info -version
© 2022 NTT DATA Corporation 13
Java UL(Unified Logging) ログ 出力先の変更
java -Xlog:os=info:file=/home/log/ul.log:t,hn,l,tg:filecount=1,
filesize=1m -version
• ファイルに出力
© 2022 NTT DATA Corporation 14
Java UL(Unified Logging) ログ JITコンパイルログ出力
java -Xlog:jit+compilation=debug hello
• JITの動作を表示
© 2022 NTT DATA Corporation 15
Java UL(Unified Logging) ログ 有用性
◼ これらが出来ると何が良いか?
⚫ エラー時に見たいエラー文だけ確認できる
⚫ 前のログを指定された場所に保存して一括管理する、
後で確認したいときに参照できる
➢ とりあえずこれ一本で設定を指定できるので非常にSimple
© 2022 NTT DATA Corporation 16
設定したJava UL(Unified Logging) ログの確認方法
jcmd プロセスID VM.log list
Java Sleep.java
© 2022 NTT DATA Corporation 17
設定したJava UL(Unified Logging) ログの変更方法
jcmdプロセスID VM.log output=#1 output_options=os=info
実行中に出力の
ログレベルをinfoに変更
© 2022 NTT DATA Corporation 18
Java UL(Unified Logging) ログ 総評
◼ Java9より搭載されたULログ
⚫ Java 8以前に比べて設定が容易
⚫ レベルやカテゴリ別に設定可能
⚫ jcmdコマンドを使って実行後確認、変更などが容易
⚫ なによりプログラム書く側から情報が見やすい
◼ ただコンテナ環境だとある問題点が...
© 2022 NTT DATA Corporation
コンテナの問題点
19
© 2022 NTT DATA Corporation 20
コンテナ技術とは
◼ 簡単にいうとホストOS上で独立したプロセスとして
実行されるアプリケーション環境
https://www.docker.com/resources/what-container
© 2022 NTT DATA Corporation 21
現時点で主流なコンテナエンジン
• Docker
Docker社が開発
• Podman
Red Hat社が開発
互換性があるのでどちらもほぼ同じコマンドで使える
PodmanはK8sのように簡単なpodを作れる
(後述のログ分析で便利なので今回は後者を主に利用)
© 2022 NTT DATA Corporation 22
コンテナ技術の特徴
◼ 仮想環境と違いローカル環境を汚さず、コマンド一つで簡単に
コンテナ環境を作成可能、サービスとしても利用可能
◼ 揮発性という特徴を持つ
© 2022 NTT DATA Corporation 23
コンテナの揮発性について
◼ 揮発性(volatility)
Wikipediaによると、、
⚫ 液体の蒸発しやすい性質(相転移参照)(灯油、有機物など)
⚫ 揮発性メモリ: 電源を切ると記憶内容が消える
性質の記憶装置
© 2022 NTT DATA Corporation 24
コンテナの特徴 - 揮発性について
◼ コンテナ内で出力したデータは永続しない
⚫ なぜ?
➢コンテナ環境では起動するたびに新しいコンテナを
作成することを想定しているから
⚫ なんのため?
➢起動の際はどこの環境においても同じ状況を再現
(ポータビリティを重視)
© 2022 NTT DATA Corporation 25
コンテナの揮発性が起こすログの消失
再起動
⚫ コンテナ内のログは?
➢ 漏れなく消えます
© 2022 NTT DATA Corporation 26
コンテナの揮発性が起こすログの消失
消滅
Bye !!
© 2022 NTT DATA Corporation
コンテナでのログ運用(解決策)
27
© 2022 NTT DATA Corporation 28
揮発性が起こす問題点への解決策
⚫ 何はともあれ外部へ保存!!
コンテナは終了したらインスタンスが破棄されるのが
前提なのでその前に外部へ保存する
⚫ いくつかある方法としては
❖ 外部ストレージに直接送る
❖ ネットワークでブロードキャスト
❖ サイドカー形式で他のコンテナに移動
© 2022 NTT DATA Corporation 29
コンテナでのログ分析手法(理想図)
外部ボリューム
⚫ コンテナ内で出力されたログは
「外部」のボリュームへ
⚫ 外部ボリュームに置いた
ログを別コンテナで分析
⚫ そのためにもコンテナ側で設定
を変更、OSSツールを活用
© 2022 NTT DATA Corporation 30
助けてもらうついでに、、、(ログ分析ツールを活用)
cat ul.log | grep ….
© 2022 NTT DATA Corporation
コンテナ側での設定
31
© 2022 NTT DATA Corporation 32
永続ボリュームへの移行 Step1
外部ボリューム
© 2022 NTT DATA Corporation 33
そもそもコンテナにおけるファイルシステムとは?
⚫ コンテナでは仮想環境と違いホストから分離されている
⚫ これを可能にしているのがnamespaceというLinuxの技術
⚫ コンテナではプロセスIDやファイルシステムなどが
コンテナごとに分離されている
(つまりコンテナからローカル環境が見えない)
⚫ じゃあどうする?
➢ マウントさせましょう
© 2022 NTT DATA Corporation 34
コンテナでのマウント(現時点で主な3種類)
bind volume tmpfs
メリット • 前準備が不要なので
一番簡単
• 複数コンテナでの
運用の際の
安全性の高さ
• ホストのメモリ上に
保存するので
読み取りが高速
デメリット • ホスト環境に依存するこ
と(ホスト環境への
意図しない書き込み)
• volume create
の前処理が必要
• Linuxのみ対応
• コンテナ間で
マウント領域を
共有不可
© 2022 NTT DATA Corporation 35
コンテナでのマウント(ボリュームタイプ)
⚫ 安全性が高い、Docker公式でも一番推奨
https://docs.docker.com/storage/volumes/
© 2022 NTT DATA Corporation 36
コンテナでのマウント(ボリュームタイプ)
$ volume create ullog-vol
$ --mount type=volume,src=ullog-vol,target=/home/log
⚫ Podmanだと
基本以下のパス上に作成されます
(ローカルから参照は基本非推奨)
$HOME/.local/share/contain
ers/storage/volumes/
ullog-vol/_data/
© 2022 NTT DATA Corporation
お助け外部ツールの活用 その1
37
© 2022 NTT DATA Corporation 38
永続ボリュームへの移行 Step2
外部ボリューム
© 2022 NTT DATA Corporation 39
Fluent Bit データシッピングツール
Fluent Bit
• ログを収集し、外部に送信するログシッピングツール
• 出力先にAWS,Azure
GCPなど指定先が豊富
• Parserよりデータフォーマットの
変更が容易
• コンテナ版もある
ただ調整が必要
https://fluentbit.io/
© 2022 NTT DATA Corporation 40
Fluent Bit (もしくはFluentD)データシッピングツール
Fluent Bitでは以下の図のように”input”からデータを収集
し、”Parser”そして”Filter”でデータを処理し、その後”Router”を通し、
複数の”output”にデータが送信されるパイプライン構造となっている。
© 2022 NTT DATA Corporation 41
4.3.2.4.4. Fluent Bit設定ファイル(パーサー設定ファイル)
[PARSER]
Name ul
Format regex
Regex
^¥[(?<datetime>.+?)¥]¥[(?<hostname>.+?)¥]¥[(?<level>.+?)¥]¥[(?<
tags>.+?)¥]¥s+(?<message>[¥s¥S]+?¥Z)
Time_Key datetime
Time_Format %Y-%m-%dT%H:%M:%S.%L%z
jvm-ul-parsers.conf
⚫ 設定ファイルを作成し
入力データをParserを通し、
欲しい出力データに変更可能
右図では
keyとしてdatetimeを指定
© 2022 NTT DATA Corporation 42
Fluent Bitコンテナ 調整
FROM fluent/fluent-bit
COPY ullog /log/ullog/
COPY jvm-ul-parsers.conf /fluent-bit/etc/
COPY fluent-bit.conf /fluent-bit/etc/
CMD [“/fluent-bit/bin/fluent-bit", "-c", “/fluent-bit/etc/fluent-
bit.conf"]
Dockerfile
◼ docker HubにあるFluent Bitコンテナ(AMD64版)にはmkdir,
catなど標準のコマンドが一切用意されていない...
(ディストロレスイメージ)
⚫ Dockerfileを作成し必要な設定ファイル等はローカルで作成し
予め送ることで解決 !!
© 2022 NTT DATA Corporation
お助け外部ツールの活用 その2
43
© 2022 NTT DATA Corporation 44
永続ボリュームへの移行 Step3
ログ分析
外部ボリューム
© 2022 NTT DATA Corporation 45
Elasticsearch&Kibana
• Elasticsearch
分散型で無料かつオープンな
検索・分析エンジン NoSQL
• Kibana
Elasticsearchに登録したデータを可視化
状況に応じて様々なDashboardを作成可能
先ほど紹介したFlunet Bitのプラグイン設定に対応している
https://www.elastic.co/jp/
© 2022 NTT DATA Corporation 46
Fluent Bitとのプラグイン
Data Processing Storage Visualization
[OUTPUT]
Name es
Match *
Host 127.0.0.1
Port 9200
Logstash_Format on
Logstash_Prefix ul-log
Logstash_DateFormat %Y.%m.%d
Type type1
⚫ Fluent Bit側の設定ファイル
でElasticsearchを
出力先として登録可能
© 2022 NTT DATA Corporation 47
Elasticsearch 登録データ確認
以下のようにcurlコマンドでElasticseach側での
登録したデータの確認が可能
$curl -sS -XGET "localhost:9200/index名/type名/_search?pretty"
{
"_index" : "ul-log-2021.09.01",
"_type" : "type1",
"_id" : "8U4Xn3sBT2e7G3-tQ8O6",
"_score" : 1.0,
"_source" : {
"@timestamp" : "2021-09-01T00:20:48.442Z",
"hostname" : "ce1e7e309f0c",
"level" : "info",
"tags" : "os",
"message" : "Use of CLOCK_MONOTONIC is supported"
}
© 2022 NTT DATA Corporation 48
Kibana Dashboard画面
&&
https://www.elastic.co/jp/kibana/
© 2022 NTT DATA Corporation
お助け外部ツールの活用 その2 EX
49
© 2022 NTT DATA Corporation 50
コンテナ環境の自動化
⚫ 確かに様々なOSSツールを使ってログ分析可能
⚫ だけどツールごとに設定ファイルとか
オプションとか設定、管理が大変そう
⚫ 複数コンテナの設定など自動化できないかなぁ..
© 2022 NTT DATA Corporation 51
Kubernetes(K8s)
• Kubernetes(K8s)
• コンテナ環境の管理を自動化するための
プラットフォーム
(コンテナオーケストレーションエンジン)
• 複数のコンテナをpodといった単位でまとめて一元的に管理
今まで解説してきたULログシッピングをKubernetes(K8s)を使い、
yamlで記述することで同じ動作が可能
https://kubernetes.io/
© 2022 NTT DATA Corporation 52
Kubernetes(K8s) yaml設定
apiVersion: v1
kind: Pod
…
…
- name:ullog
emptyDir:
- name: config-vol
configMap:
name: fluent-bit-config
• ログファイルをやり取りする
一時ボリューム
• emptyDirを利用
• サイドカーパターンを使い、
Fluent Bitコンテナにログ
をシッピングさせる
• 複数の設定ファイル
• configMapにまとめる
© 2022 NTT DATA Corporation
ULログで実際にやってみた
53
© 2022 NTT DATA Corporation 54
コンテナ環境ULログ分析
一時ボリューム
© 2022 NTT DATA Corporation 55
Podの作成
⚫ Javaアプリケーション, Fluent Bit Podを作成
⚫ Elasticsearch, Kibana Podを作成
© 2022 NTT DATA Corporation 56
Kibana Discover画面
Fluent Bitがログを
シッピング
© 2022 NTT DATA Corporation 57
Kibana Dashboard画面
状況に応じて
様々なグラフを作成可能
© 2022 NTT DATA Corporation 58
コンテナ環境でのログ分析(解決前)
消滅
Bye !!
© 2022 NTT DATA Corporation 59
コンテナ環境でのログ分析(解決後)
© 2022 NTT DATA Corporation
最後に
60
© 2022 NTT DATA Corporation 61
まとめ このセミナーで伝えたかったこと
⚫ ULログの有用性
⚫ コンテナは揮発性なので残したいデータは
外部ストレージへ保存する
⚫ 様々なツールと組み合わせて上記の問題を解決できる
今回は一例なので他にも色々とやり方はあると思います
❖ コンテナの特徴を理解して状況に応じた環境を作成し
よりよいJavaでのコンテナライフを送りましょう!!
© 2022 NTT DATA Corporation
本資料に記載されている会社名、商品名、又はサービス名は、各社の登録商標又は商標です

Más contenido relacionado

La actualidad más candente

MQTTとAMQPと.NET
MQTTとAMQPと.NETMQTTとAMQPと.NET
MQTTとAMQPと.NETterurou
 
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところY Watanabe
 
最適なOpenJDKディストリビューションの選び方 #codetokyo19B3 #ccc_l5
最適なOpenJDKディストリビューションの選び方 #codetokyo19B3 #ccc_l5最適なOpenJDKディストリビューションの選び方 #codetokyo19B3 #ccc_l5
最適なOpenJDKディストリビューションの選び方 #codetokyo19B3 #ccc_l5Takahiro YAMADA
 
Kubernetes 疲れに Azure Container Apps はいかがでしょうか?(江東区合同ライトニングトーク 発表資料)
Kubernetes 疲れに Azure Container Apps はいかがでしょうか?(江東区合同ライトニングトーク 発表資料)Kubernetes 疲れに Azure Container Apps はいかがでしょうか?(江東区合同ライトニングトーク 発表資料)
Kubernetes 疲れに Azure Container Apps はいかがでしょうか?(江東区合同ライトニングトーク 発表資料)NTT DATA Technology & Innovation
 
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Akihiro Suda
 
OSSプロジェクトへのコントリビューション はじめの一歩を踏み出そう!(Open Source Conference 2022 Online/Spring...
OSSプロジェクトへのコントリビューション はじめの一歩を踏み出そう!(Open Source Conference 2022 Online/Spring...OSSプロジェクトへのコントリビューション はじめの一歩を踏み出そう!(Open Source Conference 2022 Online/Spring...
OSSプロジェクトへのコントリビューション はじめの一歩を踏み出そう!(Open Source Conference 2022 Online/Spring...NTT DATA Technology & Innovation
 
Kongの概要と導入事例
Kongの概要と導入事例Kongの概要と導入事例
Kongの概要と導入事例briscola-tokyo
 
Redisの特徴と活用方法について
Redisの特徴と活用方法についてRedisの特徴と活用方法について
Redisの特徴と活用方法についてYuji Otani
 
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)NTT DATA Technology & Innovation
 
マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!mosa siru
 
さくっと理解するSpring bootの仕組み
さくっと理解するSpring bootの仕組みさくっと理解するSpring bootの仕組み
さくっと理解するSpring bootの仕組みTakeshi Ogawa
 
9/14にリリースされたばかりの新LTS版Java 17、ここ3年間のJavaの変化を知ろう!(Open Source Conference 2021 O...
9/14にリリースされたばかりの新LTS版Java 17、ここ3年間のJavaの変化を知ろう!(Open Source Conference 2021 O...9/14にリリースされたばかりの新LTS版Java 17、ここ3年間のJavaの変化を知ろう!(Open Source Conference 2021 O...
9/14にリリースされたばかりの新LTS版Java 17、ここ3年間のJavaの変化を知ろう!(Open Source Conference 2021 O...NTT DATA Technology & Innovation
 
より速く より運用しやすく 進化し続けるJVM(Java Developers Summit Online 2023 発表資料)
より速く より運用しやすく 進化し続けるJVM(Java Developers Summit Online 2023 発表資料)より速く より運用しやすく 進化し続けるJVM(Java Developers Summit Online 2023 発表資料)
より速く より運用しやすく 進化し続けるJVM(Java Developers Summit Online 2023 発表資料)NTT DATA Technology & Innovation
 
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -onozaty
 
忙しい人の5分で分かるMesos入門 - Mesos って何だ?
忙しい人の5分で分かるMesos入門 - Mesos って何だ?忙しい人の5分で分かるMesos入門 - Mesos って何だ?
忙しい人の5分で分かるMesos入門 - Mesos って何だ?Masahito Zembutsu
 
バイトコードって言葉をよく目にするけど一体何なんだろう?(JJUG CCC 2022 Spring 発表資料)
バイトコードって言葉をよく目にするけど一体何なんだろう?(JJUG CCC 2022 Spring 発表資料)バイトコードって言葉をよく目にするけど一体何なんだろう?(JJUG CCC 2022 Spring 発表資料)
バイトコードって言葉をよく目にするけど一体何なんだろう?(JJUG CCC 2022 Spring 発表資料)NTT DATA Technology & Innovation
 
OpenJDKのコミッタってどんなことしたらなったの?解決してきた技術課題の事例から見えてくる必要な知識と技術(JJUG CCC 2023 Spring)
OpenJDKのコミッタってどんなことしたらなったの?解決してきた技術課題の事例から見えてくる必要な知識と技術(JJUG CCC 2023 Spring)OpenJDKのコミッタってどんなことしたらなったの?解決してきた技術課題の事例から見えてくる必要な知識と技術(JJUG CCC 2023 Spring)
OpenJDKのコミッタってどんなことしたらなったの?解決してきた技術課題の事例から見えてくる必要な知識と技術(JJUG CCC 2023 Spring)NTT DATA Technology & Innovation
 

La actualidad más candente (20)

MQTTとAMQPと.NET
MQTTとAMQPと.NETMQTTとAMQPと.NET
MQTTとAMQPと.NET
 
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
 
最適なOpenJDKディストリビューションの選び方 #codetokyo19B3 #ccc_l5
最適なOpenJDKディストリビューションの選び方 #codetokyo19B3 #ccc_l5最適なOpenJDKディストリビューションの選び方 #codetokyo19B3 #ccc_l5
最適なOpenJDKディストリビューションの選び方 #codetokyo19B3 #ccc_l5
 
Kubernetes 疲れに Azure Container Apps はいかがでしょうか?(江東区合同ライトニングトーク 発表資料)
Kubernetes 疲れに Azure Container Apps はいかがでしょうか?(江東区合同ライトニングトーク 発表資料)Kubernetes 疲れに Azure Container Apps はいかがでしょうか?(江東区合同ライトニングトーク 発表資料)
Kubernetes 疲れに Azure Container Apps はいかがでしょうか?(江東区合同ライトニングトーク 発表資料)
 
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
 
OSSプロジェクトへのコントリビューション はじめの一歩を踏み出そう!(Open Source Conference 2022 Online/Spring...
OSSプロジェクトへのコントリビューション はじめの一歩を踏み出そう!(Open Source Conference 2022 Online/Spring...OSSプロジェクトへのコントリビューション はじめの一歩を踏み出そう!(Open Source Conference 2022 Online/Spring...
OSSプロジェクトへのコントリビューション はじめの一歩を踏み出そう!(Open Source Conference 2022 Online/Spring...
 
Kongの概要と導入事例
Kongの概要と導入事例Kongの概要と導入事例
Kongの概要と導入事例
 
Redisの特徴と活用方法について
Redisの特徴と活用方法についてRedisの特徴と活用方法について
Redisの特徴と活用方法について
 
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
 
Mavenの真実とウソ
Mavenの真実とウソMavenの真実とウソ
Mavenの真実とウソ
 
マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!
 
さくっと理解するSpring bootの仕組み
さくっと理解するSpring bootの仕組みさくっと理解するSpring bootの仕組み
さくっと理解するSpring bootの仕組み
 
9/14にリリースされたばかりの新LTS版Java 17、ここ3年間のJavaの変化を知ろう!(Open Source Conference 2021 O...
9/14にリリースされたばかりの新LTS版Java 17、ここ3年間のJavaの変化を知ろう!(Open Source Conference 2021 O...9/14にリリースされたばかりの新LTS版Java 17、ここ3年間のJavaの変化を知ろう!(Open Source Conference 2021 O...
9/14にリリースされたばかりの新LTS版Java 17、ここ3年間のJavaの変化を知ろう!(Open Source Conference 2021 O...
 
より速く より運用しやすく 進化し続けるJVM(Java Developers Summit Online 2023 発表資料)
より速く より運用しやすく 進化し続けるJVM(Java Developers Summit Online 2023 発表資料)より速く より運用しやすく 進化し続けるJVM(Java Developers Summit Online 2023 発表資料)
より速く より運用しやすく 進化し続けるJVM(Java Developers Summit Online 2023 発表資料)
 
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -
 
At least onceってぶっちゃけ問題の先送りだったよね #kafkajp
At least onceってぶっちゃけ問題の先送りだったよね #kafkajpAt least onceってぶっちゃけ問題の先送りだったよね #kafkajp
At least onceってぶっちゃけ問題の先送りだったよね #kafkajp
 
忙しい人の5分で分かるMesos入門 - Mesos って何だ?
忙しい人の5分で分かるMesos入門 - Mesos って何だ?忙しい人の5分で分かるMesos入門 - Mesos って何だ?
忙しい人の5分で分かるMesos入門 - Mesos って何だ?
 
バイトコードって言葉をよく目にするけど一体何なんだろう?(JJUG CCC 2022 Spring 発表資料)
バイトコードって言葉をよく目にするけど一体何なんだろう?(JJUG CCC 2022 Spring 発表資料)バイトコードって言葉をよく目にするけど一体何なんだろう?(JJUG CCC 2022 Spring 発表資料)
バイトコードって言葉をよく目にするけど一体何なんだろう?(JJUG CCC 2022 Spring 発表資料)
 
Helidon 概要
Helidon 概要Helidon 概要
Helidon 概要
 
OpenJDKのコミッタってどんなことしたらなったの?解決してきた技術課題の事例から見えてくる必要な知識と技術(JJUG CCC 2023 Spring)
OpenJDKのコミッタってどんなことしたらなったの?解決してきた技術課題の事例から見えてくる必要な知識と技術(JJUG CCC 2023 Spring)OpenJDKのコミッタってどんなことしたらなったの?解決してきた技術課題の事例から見えてくる必要な知識と技術(JJUG CCC 2023 Spring)
OpenJDKのコミッタってどんなことしたらなったの?解決してきた技術課題の事例から見えてくる必要な知識と技術(JJUG CCC 2023 Spring)
 

Similar a オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)

Javaコードが速く実⾏される秘密 - JITコンパイラ⼊⾨(JJUG CCC 2020 Fall講演資料)
Javaコードが速く実⾏される秘密 - JITコンパイラ⼊⾨(JJUG CCC 2020 Fall講演資料)Javaコードが速く実⾏される秘密 - JITコンパイラ⼊⾨(JJUG CCC 2020 Fall講演資料)
Javaコードが速く実⾏される秘密 - JITコンパイラ⼊⾨(JJUG CCC 2020 Fall講演資料)NTT DATA Technology & Innovation
 
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)NTT DATA Technology & Innovation
 
オレ流のOpenJDKの開発環境(JJUG CCC 2019 Fall講演資料)
オレ流のOpenJDKの開発環境(JJUG CCC 2019 Fall講演資料)オレ流のOpenJDKの開発環境(JJUG CCC 2019 Fall講演資料)
オレ流のOpenJDKの開発環境(JJUG CCC 2019 Fall講演資料)NTT DATA Technology & Innovation
 
AWSにおけるIaCを活かしたTerraformの使い方2選! ~循環型IaCとマルチクラウドチックなDR環境~ (HashiTalks: Japan 発...
AWSにおけるIaCを活かしたTerraformの使い方2選! ~循環型IaCとマルチクラウドチックなDR環境~ (HashiTalks: Japan 発...AWSにおけるIaCを活かしたTerraformの使い方2選! ~循環型IaCとマルチクラウドチックなDR環境~ (HashiTalks: Japan 発...
AWSにおけるIaCを活かしたTerraformの使い方2選! ~循環型IaCとマルチクラウドチックなDR環境~ (HashiTalks: Japan 発...NTT DATA Technology & Innovation
 
脅威へ、しなやかかつ持続可能に対応するためのIaC環境 ~循環型IaC~ (CloudNative Security Conference 2022 プレ...
脅威へ、しなやかかつ持続可能に対応するためのIaC環境 ~循環型IaC~ (CloudNative Security Conference 2022 プレ...脅威へ、しなやかかつ持続可能に対応するためのIaC環境 ~循環型IaC~ (CloudNative Security Conference 2022 プレ...
脅威へ、しなやかかつ持続可能に対応するためのIaC環境 ~循環型IaC~ (CloudNative Security Conference 2022 プレ...NTT DATA Technology & Innovation
 
GraalVMを3つの主機能から眺めてみよう(Oracle Groundbreakers APAC Virtual Tour 2020 講演資料)
GraalVMを3つの主機能から眺めてみよう(Oracle Groundbreakers APAC Virtual Tour 2020 講演資料)GraalVMを3つの主機能から眺めてみよう(Oracle Groundbreakers APAC Virtual Tour 2020 講演資料)
GraalVMを3つの主機能から眺めてみよう(Oracle Groundbreakers APAC Virtual Tour 2020 講演資料)NTT DATA Technology & Innovation
 
Java 18で入ったJVM関連の(やや細かめな)改善(JJUGナイトセミナー「Java 18 リリース記念イベント」発表資料)
Java 18で入ったJVM関連の(やや細かめな)改善(JJUGナイトセミナー「Java 18 リリース記念イベント」発表資料)Java 18で入ったJVM関連の(やや細かめな)改善(JJUGナイトセミナー「Java 18 リリース記念イベント」発表資料)
Java 18で入ったJVM関連の(やや細かめな)改善(JJUGナイトセミナー「Java 18 リリース記念イベント」発表資料)NTT DATA Technology & Innovation
 
Prometheus超基礎公開用.pdf
Prometheus超基礎公開用.pdfPrometheus超基礎公開用.pdf
Prometheus超基礎公開用.pdf勇 黒沢
 
"Up" with vagrant and docker
"Up" with vagrant and docker"Up" with vagrant and docker
"Up" with vagrant and dockerHiroshi Miura
 
GPU Container as a Serviceを実現するための最新OSS徹底比較 - OpenStack最新情報セミナー 2017年7月
GPU Container as a Serviceを実現するための最新OSS徹底比較 - OpenStack最新情報セミナー 2017年7月GPU Container as a Serviceを実現するための最新OSS徹底比較 - OpenStack最新情報セミナー 2017年7月
GPU Container as a Serviceを実現するための最新OSS徹底比較 - OpenStack最新情報セミナー 2017年7月VirtualTech Japan Inc.
 
The Twelve-Factor (A|M)pp with C#
The Twelve-Factor (A|M)pp with C#The Twelve-Factor (A|M)pp with C#
The Twelve-Factor (A|M)pp with C#Yuta Matsumura
 
DeNA private cloud のその後 - OpenStack最新情報セミナー(2017年3月)
DeNA private cloud のその後 - OpenStack最新情報セミナー(2017年3月)DeNA private cloud のその後 - OpenStack最新情報セミナー(2017年3月)
DeNA private cloud のその後 - OpenStack最新情報セミナー(2017年3月)VirtualTech Japan Inc.
 
JAVA_HOME/binにあるコマンド、いくつ使っていますか?[JVM関連ツール編](JJUGナイトセミナー「Java解析ツール特集」 発表資料)
JAVA_HOME/binにあるコマンド、いくつ使っていますか?[JVM関連ツール編](JJUGナイトセミナー「Java解析ツール特集」 発表資料)JAVA_HOME/binにあるコマンド、いくつ使っていますか?[JVM関連ツール編](JJUGナイトセミナー「Java解析ツール特集」 発表資料)
JAVA_HOME/binにあるコマンド、いくつ使っていますか?[JVM関連ツール編](JJUGナイトセミナー「Java解析ツール特集」 発表資料)NTT DATA Technology & Innovation
 
2015 0227 OSC-Spring Tokyo NETMF
2015 0227 OSC-Spring Tokyo NETMF2015 0227 OSC-Spring Tokyo NETMF
2015 0227 OSC-Spring Tokyo NETMFAtomu Hidaka
 
【ハンズオンセミナー】NoSQL/SQLデュアルインタフェースを備えたIoT向けデータベースGridDB ~ GridDB CE 4.6のテーブルパーティ...
【ハンズオンセミナー】NoSQL/SQLデュアルインタフェースを備えたIoT向けデータベースGridDB ~ GridDB CE 4.6のテーブルパーティ...【ハンズオンセミナー】NoSQL/SQLデュアルインタフェースを備えたIoT向けデータベースGridDB ~ GridDB CE 4.6のテーブルパーティ...
【ハンズオンセミナー】NoSQL/SQLデュアルインタフェースを備えたIoT向けデータベースGridDB ~ GridDB CE 4.6のテーブルパーティ...griddb
 
"Up" with vagrant and docker
"Up" with vagrant and docker"Up" with vagrant and docker
"Up" with vagrant and dockerHiroshi Miura
 
Kubernetes1.9でWindowsコンテナーをクラスタ化
Kubernetes1.9でWindowsコンテナーをクラスタ化Kubernetes1.9でWindowsコンテナーをクラスタ化
Kubernetes1.9でWindowsコンテナーをクラスタ化Takashi Kanai
 
Let's Start Contributing to OpenJDK from Today!(Oracle Groundbreakers APAC Vi...
Let's Start Contributing to OpenJDK from Today!(Oracle Groundbreakers APAC Vi...Let's Start Contributing to OpenJDK from Today!(Oracle Groundbreakers APAC Vi...
Let's Start Contributing to OpenJDK from Today!(Oracle Groundbreakers APAC Vi...NTT DATA Technology & Innovation
 

Similar a オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料) (20)

Javaコードが速く実⾏される秘密 - JITコンパイラ⼊⾨(JJUG CCC 2020 Fall講演資料)
Javaコードが速く実⾏される秘密 - JITコンパイラ⼊⾨(JJUG CCC 2020 Fall講演資料)Javaコードが速く実⾏される秘密 - JITコンパイラ⼊⾨(JJUG CCC 2020 Fall講演資料)
Javaコードが速く実⾏される秘密 - JITコンパイラ⼊⾨(JJUG CCC 2020 Fall講演資料)
 
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
 
オレ流のOpenJDKの開発環境(JJUG CCC 2019 Fall講演資料)
オレ流のOpenJDKの開発環境(JJUG CCC 2019 Fall講演資料)オレ流のOpenJDKの開発環境(JJUG CCC 2019 Fall講演資料)
オレ流のOpenJDKの開発環境(JJUG CCC 2019 Fall講演資料)
 
AWSにおけるIaCを活かしたTerraformの使い方2選! ~循環型IaCとマルチクラウドチックなDR環境~ (HashiTalks: Japan 発...
AWSにおけるIaCを活かしたTerraformの使い方2選! ~循環型IaCとマルチクラウドチックなDR環境~ (HashiTalks: Japan 発...AWSにおけるIaCを活かしたTerraformの使い方2選! ~循環型IaCとマルチクラウドチックなDR環境~ (HashiTalks: Japan 発...
AWSにおけるIaCを活かしたTerraformの使い方2選! ~循環型IaCとマルチクラウドチックなDR環境~ (HashiTalks: Japan 発...
 
脅威へ、しなやかかつ持続可能に対応するためのIaC環境 ~循環型IaC~ (CloudNative Security Conference 2022 プレ...
脅威へ、しなやかかつ持続可能に対応するためのIaC環境 ~循環型IaC~ (CloudNative Security Conference 2022 プレ...脅威へ、しなやかかつ持続可能に対応するためのIaC環境 ~循環型IaC~ (CloudNative Security Conference 2022 プレ...
脅威へ、しなやかかつ持続可能に対応するためのIaC環境 ~循環型IaC~ (CloudNative Security Conference 2022 プレ...
 
GraalVMを3つの主機能から眺めてみよう(Oracle Groundbreakers APAC Virtual Tour 2020 講演資料)
GraalVMを3つの主機能から眺めてみよう(Oracle Groundbreakers APAC Virtual Tour 2020 講演資料)GraalVMを3つの主機能から眺めてみよう(Oracle Groundbreakers APAC Virtual Tour 2020 講演資料)
GraalVMを3つの主機能から眺めてみよう(Oracle Groundbreakers APAC Virtual Tour 2020 講演資料)
 
Java 18で入ったJVM関連の(やや細かめな)改善(JJUGナイトセミナー「Java 18 リリース記念イベント」発表資料)
Java 18で入ったJVM関連の(やや細かめな)改善(JJUGナイトセミナー「Java 18 リリース記念イベント」発表資料)Java 18で入ったJVM関連の(やや細かめな)改善(JJUGナイトセミナー「Java 18 リリース記念イベント」発表資料)
Java 18で入ったJVM関連の(やや細かめな)改善(JJUGナイトセミナー「Java 18 リリース記念イベント」発表資料)
 
GPU Container as a Service を実現するための最新OSS徹底比較
GPU Container as a Service を実現するための最新OSS徹底比較GPU Container as a Service を実現するための最新OSS徹底比較
GPU Container as a Service を実現するための最新OSS徹底比較
 
Prometheus超基礎公開用.pdf
Prometheus超基礎公開用.pdfPrometheus超基礎公開用.pdf
Prometheus超基礎公開用.pdf
 
"Up" with vagrant and docker
"Up" with vagrant and docker"Up" with vagrant and docker
"Up" with vagrant and docker
 
GPU Container as a Serviceを実現するための最新OSS徹底比較 - OpenStack最新情報セミナー 2017年7月
GPU Container as a Serviceを実現するための最新OSS徹底比較 - OpenStack最新情報セミナー 2017年7月GPU Container as a Serviceを実現するための最新OSS徹底比較 - OpenStack最新情報セミナー 2017年7月
GPU Container as a Serviceを実現するための最新OSS徹底比較 - OpenStack最新情報セミナー 2017年7月
 
The Twelve-Factor (A|M)pp with C#
The Twelve-Factor (A|M)pp with C#The Twelve-Factor (A|M)pp with C#
The Twelve-Factor (A|M)pp with C#
 
DeNA private cloud のその後 - OpenStack最新情報セミナー(2017年3月)
DeNA private cloud のその後 - OpenStack最新情報セミナー(2017年3月)DeNA private cloud のその後 - OpenStack最新情報セミナー(2017年3月)
DeNA private cloud のその後 - OpenStack最新情報セミナー(2017年3月)
 
JAVA_HOME/binにあるコマンド、いくつ使っていますか?[JVM関連ツール編](JJUGナイトセミナー「Java解析ツール特集」 発表資料)
JAVA_HOME/binにあるコマンド、いくつ使っていますか?[JVM関連ツール編](JJUGナイトセミナー「Java解析ツール特集」 発表資料)JAVA_HOME/binにあるコマンド、いくつ使っていますか?[JVM関連ツール編](JJUGナイトセミナー「Java解析ツール特集」 発表資料)
JAVA_HOME/binにあるコマンド、いくつ使っていますか?[JVM関連ツール編](JJUGナイトセミナー「Java解析ツール特集」 発表資料)
 
2015 0227 OSC-Spring Tokyo NETMF
2015 0227 OSC-Spring Tokyo NETMF2015 0227 OSC-Spring Tokyo NETMF
2015 0227 OSC-Spring Tokyo NETMF
 
【ハンズオンセミナー】NoSQL/SQLデュアルインタフェースを備えたIoT向けデータベースGridDB ~ GridDB CE 4.6のテーブルパーティ...
【ハンズオンセミナー】NoSQL/SQLデュアルインタフェースを備えたIoT向けデータベースGridDB ~ GridDB CE 4.6のテーブルパーティ...【ハンズオンセミナー】NoSQL/SQLデュアルインタフェースを備えたIoT向けデータベースGridDB ~ GridDB CE 4.6のテーブルパーティ...
【ハンズオンセミナー】NoSQL/SQLデュアルインタフェースを備えたIoT向けデータベースGridDB ~ GridDB CE 4.6のテーブルパーティ...
 
"Up" with vagrant and docker
"Up" with vagrant and docker"Up" with vagrant and docker
"Up" with vagrant and docker
 
Kubernetes1.9でWindowsコンテナーをクラスタ化
Kubernetes1.9でWindowsコンテナーをクラスタ化Kubernetes1.9でWindowsコンテナーをクラスタ化
Kubernetes1.9でWindowsコンテナーをクラスタ化
 
Let's Start Contributing to OpenJDK from Today!(Oracle Groundbreakers APAC Vi...
Let's Start Contributing to OpenJDK from Today!(Oracle Groundbreakers APAC Vi...Let's Start Contributing to OpenJDK from Today!(Oracle Groundbreakers APAC Vi...
Let's Start Contributing to OpenJDK from Today!(Oracle Groundbreakers APAC Vi...
 
第9回しゃちほこオラクル倶楽部
第9回しゃちほこオラクル倶楽部第9回しゃちほこオラクル倶楽部
第9回しゃちほこオラクル倶楽部
 

Más de NTT DATA Technology & Innovation

NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 
OSSデータベースの開発コミュニティに参加しよう! (DEIM2024 発表資料)
OSSデータベースの開発コミュニティに参加しよう! (DEIM2024 発表資料)OSSデータベースの開発コミュニティに参加しよう! (DEIM2024 発表資料)
OSSデータベースの開発コミュニティに参加しよう! (DEIM2024 発表資料)NTT DATA Technology & Innovation
 
COPY FROMで異常データをスキップできるようになった話(第45回 PostgreSQLアンカンファレンス@オンライン 発表資料)
COPY FROMで異常データをスキップできるようになった話(第45回 PostgreSQLアンカンファレンス@オンライン 発表資料)COPY FROMで異常データをスキップできるようになった話(第45回 PostgreSQLアンカンファレンス@オンライン 発表資料)
COPY FROMで異常データをスキップできるようになった話(第45回 PostgreSQLアンカンファレンス@オンライン 発表資料)NTT DATA Technology & Innovation
 
Cloud Skills Challenge 2023 winter 〜Azureを頑張る理由と頑張り方
Cloud Skills Challenge 2023 winter 〜Azureを頑張る理由と頑張り方Cloud Skills Challenge 2023 winter 〜Azureを頑張る理由と頑張り方
Cloud Skills Challenge 2023 winter 〜Azureを頑張る理由と頑張り方NTT DATA Technology & Innovation
 
Unlocking Transformation: Implementing GitOps Practices in Conservative Organ...
Unlocking Transformation: Implementing GitOps Practices in Conservative Organ...Unlocking Transformation: Implementing GitOps Practices in Conservative Organ...
Unlocking Transformation: Implementing GitOps Practices in Conservative Organ...NTT DATA Technology & Innovation
 
Databricksチューニングあれこれ(JEDAI 2023 X‘mas/忘年会 Meetup! LT登壇資料)
Databricksチューニングあれこれ(JEDAI 2023 X‘mas/忘年会 Meetup! LT登壇資料)Databricksチューニングあれこれ(JEDAI 2023 X‘mas/忘年会 Meetup! LT登壇資料)
Databricksチューニングあれこれ(JEDAI 2023 X‘mas/忘年会 Meetup! LT登壇資料)NTT DATA Technology & Innovation
 
詳説探究!Cloud Native Databaseの現在地点(CloudNative Days Tokyo 2023 発表資料)
詳説探究!Cloud Native Databaseの現在地点(CloudNative Days Tokyo 2023 発表資料)詳説探究!Cloud Native Databaseの現在地点(CloudNative Days Tokyo 2023 発表資料)
詳説探究!Cloud Native Databaseの現在地点(CloudNative Days Tokyo 2023 発表資料)NTT DATA Technology & Innovation
 
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...NTT DATA Technology & Innovation
 
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)NTT DATA Technology & Innovation
 
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)NTT DATA Technology & Innovation
 
マネージドPostgreSQLの実現に向けたPostgreSQL機能向上(PostgreSQL Conference Japan 2023 発表資料)
マネージドPostgreSQLの実現に向けたPostgreSQL機能向上(PostgreSQL Conference Japan 2023 発表資料)マネージドPostgreSQLの実現に向けたPostgreSQL機能向上(PostgreSQL Conference Japan 2023 発表資料)
マネージドPostgreSQLの実現に向けたPostgreSQL機能向上(PostgreSQL Conference Japan 2023 発表資料)NTT DATA Technology & Innovation
 
最新機能までを総ざらい!PostgreSQLの注目機能を振り返る(第32回 中国地方DB勉強会 in 岡山 発表資料)
最新機能までを総ざらい!PostgreSQLの注目機能を振り返る(第32回 中国地方DB勉強会 in 岡山 発表資料)最新機能までを総ざらい!PostgreSQLの注目機能を振り返る(第32回 中国地方DB勉強会 in 岡山 発表資料)
最新機能までを総ざらい!PostgreSQLの注目機能を振り返る(第32回 中国地方DB勉強会 in 岡山 発表資料)NTT DATA Technology & Innovation
 
PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(Open Source Conference 202...
PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(Open Source Conference 202...PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(Open Source Conference 202...
PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(Open Source Conference 202...NTT DATA Technology & Innovation
 
骨抜きアジャイルの骨を生み出す 〜私(スクラムマスター)のXP学習記録〜(XP祭り2023 発表資料)
骨抜きアジャイルの骨を生み出す 〜私(スクラムマスター)のXP学習記録〜(XP祭り2023 発表資料)骨抜きアジャイルの骨を生み出す 〜私(スクラムマスター)のXP学習記録〜(XP祭り2023 発表資料)
骨抜きアジャイルの骨を生み出す 〜私(スクラムマスター)のXP学習記録〜(XP祭り2023 発表資料)NTT DATA Technology & Innovation
 
機械学習モデルを REST API としてサービングするシステム開発における上流プロセスの絞り込みと効果検証(PM学会2023年度秋季研究発表大会 発表資料)
機械学習モデルを REST API としてサービングするシステム開発における上流プロセスの絞り込みと効果検証(PM学会2023年度秋季研究発表大会 発表資料)機械学習モデルを REST API としてサービングするシステム開発における上流プロセスの絞り込みと効果検証(PM学会2023年度秋季研究発表大会 発表資料)
機械学習モデルを REST API としてサービングするシステム開発における上流プロセスの絞り込みと効果検証(PM学会2023年度秋季研究発表大会 発表資料)NTT DATA Technology & Innovation
 
ChatGPTのデータソースにPostgreSQLを使う[詳細版](オープンデベロッパーズカンファレンス2023 発表資料)
ChatGPTのデータソースにPostgreSQLを使う[詳細版](オープンデベロッパーズカンファレンス2023 発表資料)ChatGPTのデータソースにPostgreSQLを使う[詳細版](オープンデベロッパーズカンファレンス2023 発表資料)
ChatGPTのデータソースにPostgreSQLを使う[詳細版](オープンデベロッパーズカンファレンス2023 発表資料)NTT DATA Technology & Innovation
 
PostgreSQL on Kubernetes: Realizing High Availability with PGO (Postgres Ibiz...
PostgreSQL on Kubernetes: Realizing High Availability with PGO (Postgres Ibiz...PostgreSQL on Kubernetes: Realizing High Availability with PGO (Postgres Ibiz...
PostgreSQL on Kubernetes: Realizing High Availability with PGO (Postgres Ibiz...NTT DATA Technology & Innovation
 
オンプレミス回帰の動きに備えよ ~クラウドの手法をオンプレミスでも実現するには~(CloudNative Days Fukuoka 2023 発表資料)
オンプレミス回帰の動きに備えよ ~クラウドの手法をオンプレミスでも実現するには~(CloudNative Days Fukuoka 2023 発表資料)オンプレミス回帰の動きに備えよ ~クラウドの手法をオンプレミスでも実現するには~(CloudNative Days Fukuoka 2023 発表資料)
オンプレミス回帰の動きに備えよ ~クラウドの手法をオンプレミスでも実現するには~(CloudNative Days Fukuoka 2023 発表資料)NTT DATA Technology & Innovation
 
Prometheus Operator 入門(Kubernetes Novice Tokyo #26 発表資料)
Prometheus Operator 入門(Kubernetes Novice Tokyo #26 発表資料)Prometheus Operator 入門(Kubernetes Novice Tokyo #26 発表資料)
Prometheus Operator 入門(Kubernetes Novice Tokyo #26 発表資料)NTT DATA Technology & Innovation
 
ChatGPTのデータソースにPostgreSQLを使う(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)
ChatGPTのデータソースにPostgreSQLを使う(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)ChatGPTのデータソースにPostgreSQLを使う(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)
ChatGPTのデータソースにPostgreSQLを使う(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)NTT DATA Technology & Innovation
 

Más de NTT DATA Technology & Innovation (20)

NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
OSSデータベースの開発コミュニティに参加しよう! (DEIM2024 発表資料)
OSSデータベースの開発コミュニティに参加しよう! (DEIM2024 発表資料)OSSデータベースの開発コミュニティに参加しよう! (DEIM2024 発表資料)
OSSデータベースの開発コミュニティに参加しよう! (DEIM2024 発表資料)
 
COPY FROMで異常データをスキップできるようになった話(第45回 PostgreSQLアンカンファレンス@オンライン 発表資料)
COPY FROMで異常データをスキップできるようになった話(第45回 PostgreSQLアンカンファレンス@オンライン 発表資料)COPY FROMで異常データをスキップできるようになった話(第45回 PostgreSQLアンカンファレンス@オンライン 発表資料)
COPY FROMで異常データをスキップできるようになった話(第45回 PostgreSQLアンカンファレンス@オンライン 発表資料)
 
Cloud Skills Challenge 2023 winter 〜Azureを頑張る理由と頑張り方
Cloud Skills Challenge 2023 winter 〜Azureを頑張る理由と頑張り方Cloud Skills Challenge 2023 winter 〜Azureを頑張る理由と頑張り方
Cloud Skills Challenge 2023 winter 〜Azureを頑張る理由と頑張り方
 
Unlocking Transformation: Implementing GitOps Practices in Conservative Organ...
Unlocking Transformation: Implementing GitOps Practices in Conservative Organ...Unlocking Transformation: Implementing GitOps Practices in Conservative Organ...
Unlocking Transformation: Implementing GitOps Practices in Conservative Organ...
 
Databricksチューニングあれこれ(JEDAI 2023 X‘mas/忘年会 Meetup! LT登壇資料)
Databricksチューニングあれこれ(JEDAI 2023 X‘mas/忘年会 Meetup! LT登壇資料)Databricksチューニングあれこれ(JEDAI 2023 X‘mas/忘年会 Meetup! LT登壇資料)
Databricksチューニングあれこれ(JEDAI 2023 X‘mas/忘年会 Meetup! LT登壇資料)
 
詳説探究!Cloud Native Databaseの現在地点(CloudNative Days Tokyo 2023 発表資料)
詳説探究!Cloud Native Databaseの現在地点(CloudNative Days Tokyo 2023 発表資料)詳説探究!Cloud Native Databaseの現在地点(CloudNative Days Tokyo 2023 発表資料)
詳説探究!Cloud Native Databaseの現在地点(CloudNative Days Tokyo 2023 発表資料)
 
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...
 
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)
速習! PostgreSQL専用HAソフトウェア: Patroni(PostgreSQL Conference Japan 2023 発表資料)
 
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)
 
マネージドPostgreSQLの実現に向けたPostgreSQL機能向上(PostgreSQL Conference Japan 2023 発表資料)
マネージドPostgreSQLの実現に向けたPostgreSQL機能向上(PostgreSQL Conference Japan 2023 発表資料)マネージドPostgreSQLの実現に向けたPostgreSQL機能向上(PostgreSQL Conference Japan 2023 発表資料)
マネージドPostgreSQLの実現に向けたPostgreSQL機能向上(PostgreSQL Conference Japan 2023 発表資料)
 
最新機能までを総ざらい!PostgreSQLの注目機能を振り返る(第32回 中国地方DB勉強会 in 岡山 発表資料)
最新機能までを総ざらい!PostgreSQLの注目機能を振り返る(第32回 中国地方DB勉強会 in 岡山 発表資料)最新機能までを総ざらい!PostgreSQLの注目機能を振り返る(第32回 中国地方DB勉強会 in 岡山 発表資料)
最新機能までを総ざらい!PostgreSQLの注目機能を振り返る(第32回 中国地方DB勉強会 in 岡山 発表資料)
 
PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(Open Source Conference 202...
PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(Open Source Conference 202...PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(Open Source Conference 202...
PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(Open Source Conference 202...
 
骨抜きアジャイルの骨を生み出す 〜私(スクラムマスター)のXP学習記録〜(XP祭り2023 発表資料)
骨抜きアジャイルの骨を生み出す 〜私(スクラムマスター)のXP学習記録〜(XP祭り2023 発表資料)骨抜きアジャイルの骨を生み出す 〜私(スクラムマスター)のXP学習記録〜(XP祭り2023 発表資料)
骨抜きアジャイルの骨を生み出す 〜私(スクラムマスター)のXP学習記録〜(XP祭り2023 発表資料)
 
機械学習モデルを REST API としてサービングするシステム開発における上流プロセスの絞り込みと効果検証(PM学会2023年度秋季研究発表大会 発表資料)
機械学習モデルを REST API としてサービングするシステム開発における上流プロセスの絞り込みと効果検証(PM学会2023年度秋季研究発表大会 発表資料)機械学習モデルを REST API としてサービングするシステム開発における上流プロセスの絞り込みと効果検証(PM学会2023年度秋季研究発表大会 発表資料)
機械学習モデルを REST API としてサービングするシステム開発における上流プロセスの絞り込みと効果検証(PM学会2023年度秋季研究発表大会 発表資料)
 
ChatGPTのデータソースにPostgreSQLを使う[詳細版](オープンデベロッパーズカンファレンス2023 発表資料)
ChatGPTのデータソースにPostgreSQLを使う[詳細版](オープンデベロッパーズカンファレンス2023 発表資料)ChatGPTのデータソースにPostgreSQLを使う[詳細版](オープンデベロッパーズカンファレンス2023 発表資料)
ChatGPTのデータソースにPostgreSQLを使う[詳細版](オープンデベロッパーズカンファレンス2023 発表資料)
 
PostgreSQL on Kubernetes: Realizing High Availability with PGO (Postgres Ibiz...
PostgreSQL on Kubernetes: Realizing High Availability with PGO (Postgres Ibiz...PostgreSQL on Kubernetes: Realizing High Availability with PGO (Postgres Ibiz...
PostgreSQL on Kubernetes: Realizing High Availability with PGO (Postgres Ibiz...
 
オンプレミス回帰の動きに備えよ ~クラウドの手法をオンプレミスでも実現するには~(CloudNative Days Fukuoka 2023 発表資料)
オンプレミス回帰の動きに備えよ ~クラウドの手法をオンプレミスでも実現するには~(CloudNative Days Fukuoka 2023 発表資料)オンプレミス回帰の動きに備えよ ~クラウドの手法をオンプレミスでも実現するには~(CloudNative Days Fukuoka 2023 発表資料)
オンプレミス回帰の動きに備えよ ~クラウドの手法をオンプレミスでも実現するには~(CloudNative Days Fukuoka 2023 発表資料)
 
Prometheus Operator 入門(Kubernetes Novice Tokyo #26 発表資料)
Prometheus Operator 入門(Kubernetes Novice Tokyo #26 発表資料)Prometheus Operator 入門(Kubernetes Novice Tokyo #26 発表資料)
Prometheus Operator 入門(Kubernetes Novice Tokyo #26 発表資料)
 
ChatGPTのデータソースにPostgreSQLを使う(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)
ChatGPTのデータソースにPostgreSQLを使う(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)ChatGPTのデータソースにPostgreSQLを使う(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)
ChatGPTのデータソースにPostgreSQLを使う(第42回PostgreSQLアンカンファレンス@オンライン 発表資料)
 

オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)

  • 1. © 2022 NTT DATA Corporation オススメのJavaログ管理手法(コンテナ編) 2022年3月11日 株式会社NTTデータ 技術開発本部 佐藤 雄太 オープンソースカンファレンス2022 Online/Spring
  • 2. © 2022 NTT DATA Corporation 2 自己紹介 ⚫ 佐藤 雄太(さとう ゆうた) ⚫ 株式会社NTTデータ所属 技術開発本部先進コンピューティング技術センタ ⚫ OpenJDKに関連したR&Dとサポート支援 ⚫ 元々はPythonでAIなど ⚫ (正直まだJavaよりPythonの方が好き) ⚫ なぜか最近JITのアセンブラ出力見てる 末永 恭正 OpenJDK Reviewer IcedTea Committer 阪田 浩一 Java Champion OpenJDK Author こんな人達がいる職場で働いてます!!
  • 3. © 2022 NTT DATA Corporation 3 Java 17開発貢献数 1. Oracle 2. Red Hat 3. 個人 4. SAP 5. Tencent 6. Amazon 7.NTT DATA 8. Arm 9. Alibaba 10.Intel
  • 4. © 2022 NTT DATA Corporation 4 このセッションの対象と想定している方 ◼ Javaを使っている方 ◼ ULログを知らずに使っている、復習したい人 ◼ コンテナに興味がある方、使っている方 ◼ ログ収集ツールに興味ある方 Javaのみに特化した内容ではありません! 初学者向けです!
  • 5. © 2022 NTT DATA Corporation 5 セッションの流れ ◼ コンテナ+Javaの背景 ◼ ULログについて基本的な解説 ◼ コンテナ環境でのログに関する問題点、その解決策 ◼ OSSツールを活用した解決策 ◼ 解決策の実例紹介
  • 6. © 2022 NTT DATA Corporation 何故にJavaでコンテナ? 6
  • 7. © 2022 NTT DATA Corporation 7 コンテナを選ぶ理由
  • 8. © 2022 NTT DATA Corporation 8 マイクロサービスアーキテクチャ ◼ コンテナ技術等を用いてそれぞれのサービスを 独立したプロセスとしてアプリケーションを動作 ⚫ 負荷が高くなったサービスを個別にスケールできる ⚫ サービスがそれぞれ独立しているのでお互いを そこまで気にする必要がない ⚫ ログはどう扱う? その前に現在のJavaのログはどういうものか?
  • 9. © 2022 NTT DATA Corporation Java ULログについて 9
  • 10. © 2022 NTT DATA Corporation 10 Java UL(Unified Logging) ログ ◼ Java 9より追加された新形式のログ取得方法 ⚫ カテゴリ別、ログレベル別に出力を設定可能(-Xlog option) ⚫ 根本的原因解析(Root Cause Analysis)に必須 ⚫ このログを提出することでサポートサービスへの問い合わせが しやすい
  • 11. © 2022 NTT DATA Corporation 11 Java UL(Unified Logging) ログの指定 –Xlog[<what>][:[<output>][:[<decorators>][:<output-options>]]] -what : 出力内容をタグとレベルで選択 -output : 出力先の指定 -decorators : デコレータの指定 -output-options : ログローテート設定 *ちなみにデフォルトではWarningで標準出力に表示されます。
  • 12. © 2022 NTT DATA Corporation 12 Java UL(Unified Logging) ログ ログレベルの変更 • デフォルト(ログレベルWarning) • ログレベルinfo java -Xlog:os=info -version
  • 13. © 2022 NTT DATA Corporation 13 Java UL(Unified Logging) ログ 出力先の変更 java -Xlog:os=info:file=/home/log/ul.log:t,hn,l,tg:filecount=1, filesize=1m -version • ファイルに出力
  • 14. © 2022 NTT DATA Corporation 14 Java UL(Unified Logging) ログ JITコンパイルログ出力 java -Xlog:jit+compilation=debug hello • JITの動作を表示
  • 15. © 2022 NTT DATA Corporation 15 Java UL(Unified Logging) ログ 有用性 ◼ これらが出来ると何が良いか? ⚫ エラー時に見たいエラー文だけ確認できる ⚫ 前のログを指定された場所に保存して一括管理する、 後で確認したいときに参照できる ➢ とりあえずこれ一本で設定を指定できるので非常にSimple
  • 16. © 2022 NTT DATA Corporation 16 設定したJava UL(Unified Logging) ログの確認方法 jcmd プロセスID VM.log list Java Sleep.java
  • 17. © 2022 NTT DATA Corporation 17 設定したJava UL(Unified Logging) ログの変更方法 jcmdプロセスID VM.log output=#1 output_options=os=info 実行中に出力の ログレベルをinfoに変更
  • 18. © 2022 NTT DATA Corporation 18 Java UL(Unified Logging) ログ 総評 ◼ Java9より搭載されたULログ ⚫ Java 8以前に比べて設定が容易 ⚫ レベルやカテゴリ別に設定可能 ⚫ jcmdコマンドを使って実行後確認、変更などが容易 ⚫ なによりプログラム書く側から情報が見やすい ◼ ただコンテナ環境だとある問題点が...
  • 19. © 2022 NTT DATA Corporation コンテナの問題点 19
  • 20. © 2022 NTT DATA Corporation 20 コンテナ技術とは ◼ 簡単にいうとホストOS上で独立したプロセスとして 実行されるアプリケーション環境 https://www.docker.com/resources/what-container
  • 21. © 2022 NTT DATA Corporation 21 現時点で主流なコンテナエンジン • Docker Docker社が開発 • Podman Red Hat社が開発 互換性があるのでどちらもほぼ同じコマンドで使える PodmanはK8sのように簡単なpodを作れる (後述のログ分析で便利なので今回は後者を主に利用)
  • 22. © 2022 NTT DATA Corporation 22 コンテナ技術の特徴 ◼ 仮想環境と違いローカル環境を汚さず、コマンド一つで簡単に コンテナ環境を作成可能、サービスとしても利用可能 ◼ 揮発性という特徴を持つ
  • 23. © 2022 NTT DATA Corporation 23 コンテナの揮発性について ◼ 揮発性(volatility) Wikipediaによると、、 ⚫ 液体の蒸発しやすい性質(相転移参照)(灯油、有機物など) ⚫ 揮発性メモリ: 電源を切ると記憶内容が消える 性質の記憶装置
  • 24. © 2022 NTT DATA Corporation 24 コンテナの特徴 - 揮発性について ◼ コンテナ内で出力したデータは永続しない ⚫ なぜ? ➢コンテナ環境では起動するたびに新しいコンテナを 作成することを想定しているから ⚫ なんのため? ➢起動の際はどこの環境においても同じ状況を再現 (ポータビリティを重視)
  • 25. © 2022 NTT DATA Corporation 25 コンテナの揮発性が起こすログの消失 再起動 ⚫ コンテナ内のログは? ➢ 漏れなく消えます
  • 26. © 2022 NTT DATA Corporation 26 コンテナの揮発性が起こすログの消失 消滅 Bye !!
  • 27. © 2022 NTT DATA Corporation コンテナでのログ運用(解決策) 27
  • 28. © 2022 NTT DATA Corporation 28 揮発性が起こす問題点への解決策 ⚫ 何はともあれ外部へ保存!! コンテナは終了したらインスタンスが破棄されるのが 前提なのでその前に外部へ保存する ⚫ いくつかある方法としては ❖ 外部ストレージに直接送る ❖ ネットワークでブロードキャスト ❖ サイドカー形式で他のコンテナに移動
  • 29. © 2022 NTT DATA Corporation 29 コンテナでのログ分析手法(理想図) 外部ボリューム ⚫ コンテナ内で出力されたログは 「外部」のボリュームへ ⚫ 外部ボリュームに置いた ログを別コンテナで分析 ⚫ そのためにもコンテナ側で設定 を変更、OSSツールを活用
  • 30. © 2022 NTT DATA Corporation 30 助けてもらうついでに、、、(ログ分析ツールを活用) cat ul.log | grep ….
  • 31. © 2022 NTT DATA Corporation コンテナ側での設定 31
  • 32. © 2022 NTT DATA Corporation 32 永続ボリュームへの移行 Step1 外部ボリューム
  • 33. © 2022 NTT DATA Corporation 33 そもそもコンテナにおけるファイルシステムとは? ⚫ コンテナでは仮想環境と違いホストから分離されている ⚫ これを可能にしているのがnamespaceというLinuxの技術 ⚫ コンテナではプロセスIDやファイルシステムなどが コンテナごとに分離されている (つまりコンテナからローカル環境が見えない) ⚫ じゃあどうする? ➢ マウントさせましょう
  • 34. © 2022 NTT DATA Corporation 34 コンテナでのマウント(現時点で主な3種類) bind volume tmpfs メリット • 前準備が不要なので 一番簡単 • 複数コンテナでの 運用の際の 安全性の高さ • ホストのメモリ上に 保存するので 読み取りが高速 デメリット • ホスト環境に依存するこ と(ホスト環境への 意図しない書き込み) • volume create の前処理が必要 • Linuxのみ対応 • コンテナ間で マウント領域を 共有不可
  • 35. © 2022 NTT DATA Corporation 35 コンテナでのマウント(ボリュームタイプ) ⚫ 安全性が高い、Docker公式でも一番推奨 https://docs.docker.com/storage/volumes/
  • 36. © 2022 NTT DATA Corporation 36 コンテナでのマウント(ボリュームタイプ) $ volume create ullog-vol $ --mount type=volume,src=ullog-vol,target=/home/log ⚫ Podmanだと 基本以下のパス上に作成されます (ローカルから参照は基本非推奨) $HOME/.local/share/contain ers/storage/volumes/ ullog-vol/_data/
  • 37. © 2022 NTT DATA Corporation お助け外部ツールの活用 その1 37
  • 38. © 2022 NTT DATA Corporation 38 永続ボリュームへの移行 Step2 外部ボリューム
  • 39. © 2022 NTT DATA Corporation 39 Fluent Bit データシッピングツール Fluent Bit • ログを収集し、外部に送信するログシッピングツール • 出力先にAWS,Azure GCPなど指定先が豊富 • Parserよりデータフォーマットの 変更が容易 • コンテナ版もある ただ調整が必要 https://fluentbit.io/
  • 40. © 2022 NTT DATA Corporation 40 Fluent Bit (もしくはFluentD)データシッピングツール Fluent Bitでは以下の図のように”input”からデータを収集 し、”Parser”そして”Filter”でデータを処理し、その後”Router”を通し、 複数の”output”にデータが送信されるパイプライン構造となっている。
  • 41. © 2022 NTT DATA Corporation 41 4.3.2.4.4. Fluent Bit設定ファイル(パーサー設定ファイル) [PARSER] Name ul Format regex Regex ^¥[(?<datetime>.+?)¥]¥[(?<hostname>.+?)¥]¥[(?<level>.+?)¥]¥[(?< tags>.+?)¥]¥s+(?<message>[¥s¥S]+?¥Z) Time_Key datetime Time_Format %Y-%m-%dT%H:%M:%S.%L%z jvm-ul-parsers.conf ⚫ 設定ファイルを作成し 入力データをParserを通し、 欲しい出力データに変更可能 右図では keyとしてdatetimeを指定
  • 42. © 2022 NTT DATA Corporation 42 Fluent Bitコンテナ 調整 FROM fluent/fluent-bit COPY ullog /log/ullog/ COPY jvm-ul-parsers.conf /fluent-bit/etc/ COPY fluent-bit.conf /fluent-bit/etc/ CMD [“/fluent-bit/bin/fluent-bit", "-c", “/fluent-bit/etc/fluent- bit.conf"] Dockerfile ◼ docker HubにあるFluent Bitコンテナ(AMD64版)にはmkdir, catなど標準のコマンドが一切用意されていない... (ディストロレスイメージ) ⚫ Dockerfileを作成し必要な設定ファイル等はローカルで作成し 予め送ることで解決 !!
  • 43. © 2022 NTT DATA Corporation お助け外部ツールの活用 その2 43
  • 44. © 2022 NTT DATA Corporation 44 永続ボリュームへの移行 Step3 ログ分析 外部ボリューム
  • 45. © 2022 NTT DATA Corporation 45 Elasticsearch&Kibana • Elasticsearch 分散型で無料かつオープンな 検索・分析エンジン NoSQL • Kibana Elasticsearchに登録したデータを可視化 状況に応じて様々なDashboardを作成可能 先ほど紹介したFlunet Bitのプラグイン設定に対応している https://www.elastic.co/jp/
  • 46. © 2022 NTT DATA Corporation 46 Fluent Bitとのプラグイン Data Processing Storage Visualization [OUTPUT] Name es Match * Host 127.0.0.1 Port 9200 Logstash_Format on Logstash_Prefix ul-log Logstash_DateFormat %Y.%m.%d Type type1 ⚫ Fluent Bit側の設定ファイル でElasticsearchを 出力先として登録可能
  • 47. © 2022 NTT DATA Corporation 47 Elasticsearch 登録データ確認 以下のようにcurlコマンドでElasticseach側での 登録したデータの確認が可能 $curl -sS -XGET "localhost:9200/index名/type名/_search?pretty" { "_index" : "ul-log-2021.09.01", "_type" : "type1", "_id" : "8U4Xn3sBT2e7G3-tQ8O6", "_score" : 1.0, "_source" : { "@timestamp" : "2021-09-01T00:20:48.442Z", "hostname" : "ce1e7e309f0c", "level" : "info", "tags" : "os", "message" : "Use of CLOCK_MONOTONIC is supported" }
  • 48. © 2022 NTT DATA Corporation 48 Kibana Dashboard画面 && https://www.elastic.co/jp/kibana/
  • 49. © 2022 NTT DATA Corporation お助け外部ツールの活用 その2 EX 49
  • 50. © 2022 NTT DATA Corporation 50 コンテナ環境の自動化 ⚫ 確かに様々なOSSツールを使ってログ分析可能 ⚫ だけどツールごとに設定ファイルとか オプションとか設定、管理が大変そう ⚫ 複数コンテナの設定など自動化できないかなぁ..
  • 51. © 2022 NTT DATA Corporation 51 Kubernetes(K8s) • Kubernetes(K8s) • コンテナ環境の管理を自動化するための プラットフォーム (コンテナオーケストレーションエンジン) • 複数のコンテナをpodといった単位でまとめて一元的に管理 今まで解説してきたULログシッピングをKubernetes(K8s)を使い、 yamlで記述することで同じ動作が可能 https://kubernetes.io/
  • 52. © 2022 NTT DATA Corporation 52 Kubernetes(K8s) yaml設定 apiVersion: v1 kind: Pod … … - name:ullog emptyDir: - name: config-vol configMap: name: fluent-bit-config • ログファイルをやり取りする 一時ボリューム • emptyDirを利用 • サイドカーパターンを使い、 Fluent Bitコンテナにログ をシッピングさせる • 複数の設定ファイル • configMapにまとめる
  • 53. © 2022 NTT DATA Corporation ULログで実際にやってみた 53
  • 54. © 2022 NTT DATA Corporation 54 コンテナ環境ULログ分析 一時ボリューム
  • 55. © 2022 NTT DATA Corporation 55 Podの作成 ⚫ Javaアプリケーション, Fluent Bit Podを作成 ⚫ Elasticsearch, Kibana Podを作成
  • 56. © 2022 NTT DATA Corporation 56 Kibana Discover画面 Fluent Bitがログを シッピング
  • 57. © 2022 NTT DATA Corporation 57 Kibana Dashboard画面 状況に応じて 様々なグラフを作成可能
  • 58. © 2022 NTT DATA Corporation 58 コンテナ環境でのログ分析(解決前) 消滅 Bye !!
  • 59. © 2022 NTT DATA Corporation 59 コンテナ環境でのログ分析(解決後)
  • 60. © 2022 NTT DATA Corporation 最後に 60
  • 61. © 2022 NTT DATA Corporation 61 まとめ このセミナーで伝えたかったこと ⚫ ULログの有用性 ⚫ コンテナは揮発性なので残したいデータは 外部ストレージへ保存する ⚫ 様々なツールと組み合わせて上記の問題を解決できる 今回は一例なので他にも色々とやり方はあると思います ❖ コンテナの特徴を理解して状況に応じた環境を作成し よりよいJavaでのコンテナライフを送りましょう!!
  • 62. © 2022 NTT DATA Corporation 本資料に記載されている会社名、商品名、又はサービス名は、各社の登録商標又は商標です