SlideShare a Scribd company logo
5
Most read
8
Most read
11
Most read
Grafana Loki の
Docker Logging Driver 入門
Masahiko Utsunomiya
2020/1/16
Docker Meetup Tokyo #34
1#dockertokyo https://bit.ly/2Nd7hfu
掲載内容は個人の見解であり、
所属する企業や組織の立場、戦略、意見を
代表するものではありません
2#dockertokyo https://bit.ly/2Nd7hfu
Whois
 金融分野のお客様のクラウド導入支援
 興味:Observability(Prometheus, Fluentd, Loki, Jaeger, etc.)
 Grafana Loki コントリビュータ
Helm Chart のメンテナンスなどしています
polar3130
Masahiko Utsunomiya
Infrastructure Engineer / Relationship Builder
NTT DATA Corporation
3#dockertokyo https://bit.ly/2Nd7hfu
制作に参加した書籍がでました
“Kubernetes
ポケットリファレンス”
ISBN : 978-4-297-10957-8
2019/11/16発売
技術評論社より
主にレビュアとして参加、
本編・コラムの一部執筆も担当させて頂きました
4#dockertokyo https://bit.ly/2Nd7hfu
Docker のログ、どうしてますか
例えば、次のような環境で動いているシステムのログ収集を...
ホストのログは Cloudwatch Logs へ
Docker エンジンのログは
rsyslog でファイルサーバへ
application
アプリケーションのログは
Fluentd で Elasticsearch へ
5#dockertokyo https://bit.ly/2Nd7hfu
Docker のログ、どうしてますか
バラバラに収集すると後から特定のログを探すのは大変
ホストのログは Cloudwatch Logs へ
Docker エンジンのログは
rsyslog でファイルサーバへ
application
アプリケーションのログは
Fluentd で Elasticsearch へ
アプリの利用傾向から
将来のリソースを予測したい、
ログから相関とかわからない?
監査に必要だから
この期間の関連するログを
全部もってきて!
デバッグしたいけど、
関連するログは
どこに置いてあったっけ?
6#dockertokyo https://bit.ly/2Nd7hfu
目的と手段のミスマッチ
改変できない、されていないと
証明できることが必要
プロセスの透明性が重視される
軽量性、高可用性が必要
できるだけ多くの生ログと、
簡便なgrepツールが求められる
Logging
短期的目線長期的目線
監査・実績管理傾向分析・予測
複雑な二次加工が必要(傾向)
多角的な集計・フィルタリング
ができるツールが求められる
デバッグ傾向分析・予測
目的に合わない手段では、ログの運用負荷が不必要に高まる場合がある
7#dockertokyo https://bit.ly/2Nd7hfu
手段に応じたロギングドライバの選択
Docker はロギングソリューションに応じてドライバを変更できる
デフォルトは json-file, その他は Fluentd などがサポートされている
公式にないものもプラグインをインストールして利用可能
none
local
json-file (default)
journald
syslog
gelf
fluentd
awslogs
splunk
etwlogs
gcplogs
logentries
○ docker logs
✕ docker logs
(Docker CEの場合)
built-in logging drivers※
$ docker plugin install <org/image>logging driver plugins
※ Docker v19.03
8#dockertokyo https://bit.ly/2Nd7hfu
ロギングドライバの設定
デフォルトのロギングドライバは daemon.json で設定
log-opts にドライバに応じたオプション設定を追記
コンテナ起動時にドライバを個別指定することも可能
参考:https://docs.docker.com/config/containers/logging/configure/
daemon.json
{
"log-driver": "syslog",
"log-opts": {
"syslog-address": "udp://1.2.3.4:1111"
}
}
$ vim /etc/docker/daemon.json
$ docker info --format '{{.LoggingDriver}}'
syslog
$ docker run --name hoge ...
$ docker inspect hoge --format '{{.HostConfig.LogConfig.Type}}’
syslog
9#dockertokyo https://bit.ly/2Nd7hfu
ロギングドライバの設定
デフォルトのロギングドライバは daemon.json で設定
log-opts にドライバに応じたオプション設定を追記
コンテナ起動時にドライバを個別指定することも可能
参考:https://docs.docker.com/config/containers/logging/configure/
daemon.json
{
"log-driver": "syslog",
"log-opts": {
"syslog-address": "udp://1.2.3.4:1111"
}
}
$ vim /etc/docker/daemon.json
$ docker info --format '{{.LoggingDriver}}'
syslog
$ docker run --name hoge --log-driver json-file ...
$ docker inspect hoge --format '{{.HostConfig.LogConfig.Type}}’
json-file
10#dockertokyo https://bit.ly/2Nd7hfu
• 圧縮された非構造化ログとメタデータのインデックスのみを扱うことで軽量に動作
• Prometheusにインスパイアされた設計:
時系列データベース、サービスディスカバリ、ラベルによる多次元データモデル
• 水平スケーラビリティ、高可用性、マルチテナンシーをデフォルトで組み込み
Grafana Labs が開発中のOSSロギングツール
(以降、Lokiと記載)
- latest: v1.2.0 (KubeCon + CloudNativeCon NA 2019 にて GA)
- Github Star 8,416(1/11時点)
- Go 言語で開発
- https://grafana.com/lokilike Prometheus, but for logs.
Grafana Loki とは
11#dockertokyo https://bit.ly/2Nd7hfu
Grafana Loki の Docker ロギングドライバ
logging driver plugins のひとつとして公開されているドライバ
下記のように docker plugin コマンドでインストール
Loki サーバ または Grafana Cloud へのログ転送をサポート
インストールが完了すれば daemon.json でデフォルトドライバにも指定可能
デュアルロギング方式
Docker Enterprise Edition のように、json-file 形式も併せて出力される
Loki サーバとの接続に問題がある場合でもホスト上で docker logs によりログを確認できる
$ docker plugin install grafana/loki-docker-driver:latest --alias loki --grant-all-permissions
12#dockertokyo https://bit.ly/2Nd7hfu
Grafana Loki によるログ検索
Grafana Loki Logging Driver for Loki
コンテキストに応じた
ラベルを選択し、
grep感覚でフィルタリング
ログの量や頻度に応じた
メトリクスも生成できる
ラベルベースで
コンテナを横断した
検索が可能
13#dockertokyo https://bit.ly/2Nd7hfu
まとめ
目的に応じたロギングソリューションを選択する
ログはモニタリングの中でも特にデータ量が多いテレメトリ
無作為に収集するとログ管理の運用負荷が不必要に増える
ソリューションに応じて Docker のロギングドライバを使い分ける
デフォルト設定は /etc/docker/daemon.json で指定
コンテナ起動時に明示すればオーバーライドも可能
Loki スタックによる Docker ロギングソリューション
ラベルベースでコンテナやノードを横断的に検索でき、軽量かつ直感的
Docker Compose や Swarm など複数のコンテナを実行する環境で特に有効
Thank you for your attention!

More Related Content

PDF
わかる!metadata.managedFields / Kubernetes Meetup Tokyo 48
PPTX
Dockerからcontainerdへの移行
PPTX
初心者向けMongoDBのキホン!
PPTX
その Pod 突然落ちても大丈夫ですか!?(OCHaCafe5 #5 実験!カオスエンジニアリング 発表資料)
PDF
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
PDF
Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)
PPTX
大規模データ処理の定番OSS Hadoop / Spark 最新動向 - 2021秋 -(db tech showcase 2021 / ONLINE 発...
PDF
Dockerfileを改善するためのBest Practice 2019年版
わかる!metadata.managedFields / Kubernetes Meetup Tokyo 48
Dockerからcontainerdへの移行
初心者向けMongoDBのキホン!
その Pod 突然落ちても大丈夫ですか!?(OCHaCafe5 #5 実験!カオスエンジニアリング 発表資料)
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)
大規模データ処理の定番OSS Hadoop / Spark 最新動向 - 2021秋 -(db tech showcase 2021 / ONLINE 発...
Dockerfileを改善するためのBest Practice 2019年版

What's hot (20)

PDF
Docker Compose入門~今日から始めるComposeの初歩からswarm mode対応まで
PDF
BuildKitの概要と最近の機能
PDF
マイクロサービス 4つの分割アプローチ
PDF
webエンジニアのためのはじめてのredis
PPTX
Prometheus入門から運用まで徹底解説
PPTX
kubernetes初心者がKnative Lambda Runtime触ってみた(Kubernetes Novice Tokyo #13 発表資料)
PPTX
DockerコンテナでGitを使う
PPTX
BuildKitによる高速でセキュアなイメージビルド
PDF
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
PPTX
分散システムについて語らせてくれ
PDF
コンテナ未経験新人が学ぶコンテナ技術入門
PDF
AWSのログ管理ベストプラクティス
PPTX
Docker Tokyo
PDF
Kubernete Meetup Tokyo #18 - Kubebuilder/controller-runtime 入門
PDF
ストリーム処理を支えるキューイングシステムの選び方
PDF
インフラエンジニアの綺麗で優しい手順書の書き方
PPTX
地理分散DBについて
PDF
詳説データベース輪読会: 分散合意その2
PDF
ドメイン駆動設計のための Spring の上手な使い方
PDF
超実践 Cloud Spanner 設計講座
Docker Compose入門~今日から始めるComposeの初歩からswarm mode対応まで
BuildKitの概要と最近の機能
マイクロサービス 4つの分割アプローチ
webエンジニアのためのはじめてのredis
Prometheus入門から運用まで徹底解説
kubernetes初心者がKnative Lambda Runtime触ってみた(Kubernetes Novice Tokyo #13 発表資料)
DockerコンテナでGitを使う
BuildKitによる高速でセキュアなイメージビルド
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
分散システムについて語らせてくれ
コンテナ未経験新人が学ぶコンテナ技術入門
AWSのログ管理ベストプラクティス
Docker Tokyo
Kubernete Meetup Tokyo #18 - Kubebuilder/controller-runtime 入門
ストリーム処理を支えるキューイングシステムの選び方
インフラエンジニアの綺麗で優しい手順書の書き方
地理分散DBについて
詳説データベース輪読会: 分散合意その2
ドメイン駆動設計のための Spring の上手な使い方
超実践 Cloud Spanner 設計講座
Ad

Similar to Grafana Lokiの Docker Logging Driver入門 (Docker Meetup Tokyo #34, 2020/01/16) (20)

PDF
AKS + Azure Event Hubs で試す Dapr の Resorce Binding (Microsoft Open Tech Night ...
PDF
日本と世界のDockerコミュニティ
PDF
[Docker Tokyo #35] Docker 20.10
PPTX
Docker Meetup tpkyo #30 kubecon recap
PDF
Hyperledger Cactus V0.4 リリースの概要と今後の開発方針
PDF
Flutter_Forward_Extended_Kyoto-Keynote_Summary
PPTX
DockerCon '17 Feedback and Introduction of Longhorn at Rancher JP
PDF
Tekton 入門
PDF
Dockerは2016年の秋現在どのような状況なのか~忙しい人の5分で分かるDocker~
PDF
PTLのお仕事とリリースパイプラインの裏側
PPTX
映像解析クラスタの アプリエンジニアから見た Rancher&Kubernetes
PDF
Docker Desktop WSL2 Backendで捗るWindows PCのコンテナ開発環境
PPTX
Tokyo r#93発表資料
PPTX
getUserMedia
PDF
実践!OpenTelemetry と OSS を使った Observability 基盤の構築(CloudNative Days Tokyo 2022 発...
PPTX
XRマルチデバイス開発を可能にするOSSライブラリ「MRTK-vNEXT」について
PDF
清貧Docker ~個人がDockerを使う理由~
PDF
今後のContainerの行く末の感じたこと、思ったこと 〜JKD参加報告〜
PPTX
5分で分るWebRTCコーデックウォーズ
PDF
Kubernetes 初心者の僕からの JKD 参加報告
AKS + Azure Event Hubs で試す Dapr の Resorce Binding (Microsoft Open Tech Night ...
日本と世界のDockerコミュニティ
[Docker Tokyo #35] Docker 20.10
Docker Meetup tpkyo #30 kubecon recap
Hyperledger Cactus V0.4 リリースの概要と今後の開発方針
Flutter_Forward_Extended_Kyoto-Keynote_Summary
DockerCon '17 Feedback and Introduction of Longhorn at Rancher JP
Tekton 入門
Dockerは2016年の秋現在どのような状況なのか~忙しい人の5分で分かるDocker~
PTLのお仕事とリリースパイプラインの裏側
映像解析クラスタの アプリエンジニアから見た Rancher&Kubernetes
Docker Desktop WSL2 Backendで捗るWindows PCのコンテナ開発環境
Tokyo r#93発表資料
getUserMedia
実践!OpenTelemetry と OSS を使った Observability 基盤の構築(CloudNative Days Tokyo 2022 発...
XRマルチデバイス開発を可能にするOSSライブラリ「MRTK-vNEXT」について
清貧Docker ~個人がDockerを使う理由~
今後のContainerの行く末の感じたこと、思ったこと 〜JKD参加報告〜
5分で分るWebRTCコーデックウォーズ
Kubernetes 初心者の僕からの JKD 参加報告
Ad

More from NTT DATA Technology & Innovation (20)

PDF
開発中の新機能 Spark Declarative Pipeline に飛びついてみたが難しかった(JEDAI DAIS Recap#2 講演資料)
PDF
PostgreSQL18新機能紹介(db tech showcase 2025 発表資料)
PDF
PGConf.dev 2025 参加レポート (JPUG総会併設セミナー2025 発表資料)
PDF
Can We Use Rust to Develop Extensions for PostgreSQL? (POSETTE: An Event for ...
PDF
つくって壊して直して学ぶ Database on Kubernetes (CloudNative Days Summer 2025 発表資料)
PDF
2025年現在のNewSQL (最強DB講義 #36 発表資料)
PDF
Java in Japan: A Journey of Community, Culture, and Global Integration (JavaO...
PDF
Unveiling the Hidden Layers of Java Class Files: Beyond Bytecode (Devnexus 2025)
PDF
論理レプリケーションのアーキテクチャ (第52回 PostgreSQLアンカンファレンス@オンライン 発表資料)
PDF
実はアナタの身近にある!? Linux のチェックポイント/レストア機能 (NTT Tech Conference 2025 発表資料)
PDF
Apache Sparkに対するKubernetesのNUMAノードを意識したリソース割り当ての性能効果 (Open Source Conference ...
PDF
PostgreSQL最新動向 ~カラムナストアから生成AI連携まで~ (Open Source Conference 2025 Tokyo/Spring ...
PDF
pgbenchのスレッドとクライアント (第51回 PostgreSQLアンカンファレンス@オンライン 発表資料)
PDF
PostgreSQLのgitレポジトリから見える2024年の開発状況 (第51回 PostgreSQLアンカンファレンス@オンライン 発表資料)
PDF
ストリーム処理はデータを失うから怖い?それ、何とかできますよ! 〜Apahe Kafkaを用いたストリーム処理における送達保証〜 (Open Source...
PDF
生成AI時代のPostgreSQLハイブリッド検索 (第50回PostgreSQLアンカンファレンス@オンライン 発表資料)
PDF
DAIS2024参加報告 ~Spark中心にしらべてみた~ (JEDAI DAIS Recap 講演資料)
PDF
PostgreSQLのHTAP適応について考える (PostgreSQL Conference Japan 2024 講演資料)
PDF
静かに変わってきたクラスファイルを詳細に調べて楽しむ(JJUG CCC 2024 Fall講演資料)
PDF
Gartnerも注目するグリーンソフトウェアの実現に向けて (Green Software Foundation Global Summit 2024 T...
開発中の新機能 Spark Declarative Pipeline に飛びついてみたが難しかった(JEDAI DAIS Recap#2 講演資料)
PostgreSQL18新機能紹介(db tech showcase 2025 発表資料)
PGConf.dev 2025 参加レポート (JPUG総会併設セミナー2025 発表資料)
Can We Use Rust to Develop Extensions for PostgreSQL? (POSETTE: An Event for ...
つくって壊して直して学ぶ Database on Kubernetes (CloudNative Days Summer 2025 発表資料)
2025年現在のNewSQL (最強DB講義 #36 発表資料)
Java in Japan: A Journey of Community, Culture, and Global Integration (JavaO...
Unveiling the Hidden Layers of Java Class Files: Beyond Bytecode (Devnexus 2025)
論理レプリケーションのアーキテクチャ (第52回 PostgreSQLアンカンファレンス@オンライン 発表資料)
実はアナタの身近にある!? Linux のチェックポイント/レストア機能 (NTT Tech Conference 2025 発表資料)
Apache Sparkに対するKubernetesのNUMAノードを意識したリソース割り当ての性能効果 (Open Source Conference ...
PostgreSQL最新動向 ~カラムナストアから生成AI連携まで~ (Open Source Conference 2025 Tokyo/Spring ...
pgbenchのスレッドとクライアント (第51回 PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQLのgitレポジトリから見える2024年の開発状況 (第51回 PostgreSQLアンカンファレンス@オンライン 発表資料)
ストリーム処理はデータを失うから怖い?それ、何とかできますよ! 〜Apahe Kafkaを用いたストリーム処理における送達保証〜 (Open Source...
生成AI時代のPostgreSQLハイブリッド検索 (第50回PostgreSQLアンカンファレンス@オンライン 発表資料)
DAIS2024参加報告 ~Spark中心にしらべてみた~ (JEDAI DAIS Recap 講演資料)
PostgreSQLのHTAP適応について考える (PostgreSQL Conference Japan 2024 講演資料)
静かに変わってきたクラスファイルを詳細に調べて楽しむ(JJUG CCC 2024 Fall講演資料)
Gartnerも注目するグリーンソフトウェアの実現に向けて (Green Software Foundation Global Summit 2024 T...

Grafana Lokiの Docker Logging Driver入門 (Docker Meetup Tokyo #34, 2020/01/16)