Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Grafana Loki の Docker Logging Driver 入門 / Intro...
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
polar3130
January 16, 2020
Technology
3
2.7k
Grafana Loki の Docker Logging Driver 入門 / Introduction of Docker Logging Driver for Grafana Loki
Docker Meetup Tokyo #34
「Grafana Loki の Docker Logging Driver 入門」のスライド資料です
polar3130
January 16, 2020
Tweet
Share
More Decks by polar3130
See All by polar3130
Anthos を使ったエンタープライズ向けクラスタの設計とアップグレード戦略のススメ / Design and operations of GKE and Anthos Service Mesh for enterprises
polar3130
0
2.8k
Dapr × Kubernetes ではじめるポータブルなマイクロサービス / portable microservices with Dapr and Kubernetes
polar3130
5
3.3k
Grafana Loki ではじめる Kubernetes ロギング ハンズオン / Grafana Loki getting started
polar3130
8
5.5k
AKS + Azure Event Hubs で試す Dapr の Resource Bindings / dapr resource bindings with AKS and Event Hubs
polar3130
2
760
Monolith によるモダンアーキテクチャの再考 / Rethink modern architectures with Monolith
polar3130
6
5k
Grafana Loki で CloudNative なロギングをはじめよう! / Let's begin cloud native logging with Grafana Loki!
polar3130
7
4.5k
Other Decks in Technology
See All in Technology
メルカリのAI活用を支えるAIセキュリティ
s3h
6
3.2k
【Oracle Cloud ウェビナー】ランサムウェアが突く「侵入の隙」とバックアップの「死角」 ~ 過去の教訓に学ぶ — 侵入前提の防御とデータ保護 ~
oracle4engineer
PRO
2
220
AI時代にあわせたQA組織戦略
masamiyajiri
5
2.5k
ドメイン駆動セキュリティへの道しるべ
pandayumi
0
180
Behind the Stream - How AbemaTV Engineers Build Video Apps at Scale
ygoto3
0
130
【Oracle Cloud ウェビナー】[Oracle AI Database + Azure] AI-Ready データ戦略の最短ルート:Azure AIでビジネス データの価値を最大化
oracle4engineer
PRO
2
110
Amazon Bedrock AgentCore EvaluationsでAIエージェントを評価してみよう!
yuu551
0
170
Riverpod3.xで実現する実践的UI実装
fumiyasac0921
2
340
Hardware/Software Co-design: Motivations and reflections with respect to security
bcantrill
1
260
3リポジトリーを2ヶ月でモノレポ化した話 / How I turned 3 repositories into a monorepo in 2 months
kubode
0
110
The Engineer with a Three-Year Cycle - 2
e99h2121
0
190
[Iceberg Meetup #4] ゼロからはじめる: Apache Icebergとはなにか? / Apache Iceberg for Beginners
databricksjapan
0
440
Featured
See All Featured
Large-scale JavaScript Application Architecture
addyosmani
515
110k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Done Done
chrislema
186
16k
How to make the Groovebox
asonas
2
1.9k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
3.6k
Become a Pro
speakerdeck
PRO
31
5.8k
The #1 spot is gone: here's how to win anyway
tamaranovitovic
2
910
Technical Leadership for Architectural Decision Making
baasie
1
220
Amusing Abliteration
ianozsvald
0
87
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
50
The Pragmatic Product Professional
lauravandoore
37
7.1k
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
900
Transcript
Grafana Loki の Docker Logging Driver 入門 Masahiko Utsunomiya 2020/1/16
Docker Meetup Tokyo #34
1 #dockertokyo 掲載内容は個人の見解であり、 所属する企業や組織の立場、戦略、意見を 代表するものではありません
2 #dockertokyo Whois ✓ 金融分野のお客様のクラウド導入支援 ✓ 興味:Observability(Prometheus, Fluentd, Loki, Jaeger,
etc.) ✓ Grafana Loki コントリビュータ Helm Chart のメンテナンスなどしています polar3130 Masahiko Utsunomiya Infrastructure Engineer / Relationship Builder
3 #dockertokyo 制作に参加した書籍がでました “Kubernetes ポケットリファレンス” ISBN : 978-4-297-10957-8 2019/11/16発売 技術評論社より
主にレビュアとして参加、 本編・コラムの一部執筆も担当させて頂きました
4 #dockertokyo Docker のログ、どうしてますか 例えば、次のような環境で動いているシステムのログ収集を... ホストのログは Cloudwatch Logs へ Docker
エンジンのログは rsyslog でファイルサーバへ application アプリケーションのログは Fluentd で Elasticsearch へ
5 #dockertokyo Docker のログ、どうしてますか バラバラに収集すると後から特定のログを探すのは大変 ホストのログは Cloudwatch Logs へ Docker
エンジンのログは rsyslog でファイルサーバへ application アプリケーションのログは Fluentd で Elasticsearch へ アプリの利用傾向から 将来のリソースを予測したい、 ログから相関とかわからない? 監査に必要だから この期間の関連するログを 全部もってきて! デバッグしたいけど、 関連するログは どこに置いてあったっけ?
6 #dockertokyo 目的と手段のミスマッチ 改変できない、されていないと 証明できることが必要 プロセスの透明性が重視される 軽量性、高可用性が必要 できるだけ多くの生ログと、 簡便なgrepツールが求められる Logging
短期的目線 長期的目線 監査・実績管理 傾向分析・予測 複雑な二次加工が必要(傾向) 多角的な集計・フィルタリング ができるツールが求められる デバッグ 傾向分析・予測 目的に合わない手段では、ログの運用負荷が不必要に高まる場合がある
7 #dockertokyo 手段に応じたロギングドライバの選択 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 ロギングドライバの設定 デフォルトのロギングドライバは 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 ロギングドライバの設定 デフォルトのロギングドライバは 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 • 圧縮された非構造化ログとメタデータのインデックスのみを扱うことで軽量に動作 • Prometheusにインスパイアされた設計: 時系列データベース、サービスディスカバリ、ラベルによる多次元データモデル • 水平スケーラビリティ、高可用性、マルチテナンシーをデフォルトで組み込み Grafana
Labs が開発中のOSSロギングツール (以降、Lokiと記載) - latest: v1.2.0 (KubeCon + CloudNativeCon NA 2019 にて GA) - Github Star 8,416(1/11時点) - Go 言語で開発 - https://grafana.com/loki like Prometheus, but for logs. Grafana Loki とは
11 #dockertokyo 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 Grafana Loki によるログ検索 Grafana Loki Logging Driver for
Loki コンテキストに応じた ラベルを選択し、 grep感覚でフィルタリング ログの量や頻度に応じた メトリクスも生成できる ラベルベースで コンテナを横断した 検索が可能
13 #dockertokyo ご案内:Grafana Loki のハンズオンやります 1/31(金) の NTT Tech Conference
#4 にて開催 GCP + Kubernetes の環境でクラスタレベルロギングについて学べるワークショップです https://ntt-techconf.connpass.com/event/161866/
14 #dockertokyo まとめ 目的に応じたロギングソリューションを選択する ログはモニタリングの中でも特にデータ量が多いテレメトリ 無作為に収集するとログ管理の運用負荷が不必要に増える ソリューションに応じて Docker のロギングドライバを使い分ける デフォルト設定は
/etc/docker/daemon.json で指定 コンテナ起動時に明示すればオーバーライドも可能 Loki スタックによる Docker ロギングソリューション ラベルベースでコンテナやノードを横断的に検索でき、軽量かつ直感的 Docker Compose や Swarm など複数のコンテナを実行する環境で特に有効
Thank you for your attention!