More Related Content
PDF
なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル) ODP
Goのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考える PPTX
PDF
PDF
PDF
継承やめろマジやめろ。 なぜイケないのか 解説する PDF
SQLおじさん(自称)がBigQueryのStandard SQLを使ってみた PDF
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版) What's hot
PDF
PPTX
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx PPTX
PDF
PDF
怖くないSpring Bootのオートコンフィグレーション PDF
PDF
PDF
At least onceってぶっちゃけ問題の先送りだったよね #kafkajp PDF
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 - PDF
PDF
PDF
PDF
PDF
PDF
そのRails Engine、 本当に必要ですか? PDF
導入から 10 年、PHP の trait は滅びるべきなのか その適切な使いどころと弱点、将来について PDF
「GraphDB徹底入門」〜構造や仕組み理解から使いどころ・種々のGraphDBの比較まで幅広く〜 PDF
PDF
Node.js Native ESM への道 〜最終章: Babel / TypeScript Modules との闘い〜 PDF
Similar to ログについて改めて考えてみた
PDF
PPTX
PDF
PDF
PDF
PDF
趣味と仕事の違い、現場で求められるアプリケーションの可観測性 PDF
PDF
Logs are better with elastic apm 20210623 PDF
PDF
PDF
PDF
PPTX
PDF
PDF
オラクルの運用管理ソリューションご紹介(2021/02 版) PDF
2019 09 06_import_log_into_elastic_search PDF
[Black Belt Online Seminar] AWS上でのログ管理 PDF
[Sumo Logic x AWS 共催セミナー_20190829] Sumo Logic on AWS -AWS を活用したログ分析とセキュリティモニ... PDF
PDF
More from 株式会社オプト 仙台ラボラトリ
PDF
PPTX
PDF
フレームワークも使っていないWebアプリをLaravel+PWAでモバイルアプリっぽくしてみちゃう PPTX
PPTX
PDF
RPA(ロボティック・プロセ ス・オートメーション) 仮想労働者の雇い方 PDF
PDF
PDF
PDF
PDF
一歩前に進めるWeb開発のスパイス(仙台Geek★Night #1) ログについて改めて考えてみた
- 1.
© Opt, Inc.All Rights Reserved.
ログについて改めて考えてみた話
株式会社オプト 仙台テクノロジー開発部
第11回タガヤス登壇資料
- 2.
© Opt, Inc.All Rights Reserved.
自己紹介
- 佐藤宏
- 株式会社オプト 仙台テクノロジー開発部 所属
- 2011年入社
- シニアエンジニア
- 直近5年くらいはバックエンドしかやってない
- 3.
© Opt, Inc.All Rights Reserved.
目次
1. What is a ログ?
2. ログの蓄積方法
3. ログの使い方
4. まとめ
- 4.
- 5.
© Opt, Inc.All Rights Reserved.
そもそもなんでログの事を考え始めたか?
- 性能改善やチューニングをする機会があった
- 前後での性能比較
- バックエンド側のバッチを主に担当していた
- 日々動いている事の確認
- 実行結果を後から調べる機会が多かった
- 6.
© Opt, Inc.All Rights Reserved.
今日のゴール
以下の事を考えるきっかけになればゴール達成
- ログのことを考え直すきっかけ
- 様々なログの保存方法を知るきっかけ
- ログの使い方について考えるきっかけ
- 7.
- 8.
© Opt, Inc.All Rights Reserved.
1. What is a ログ?
データログ
履歴、情報を記録に残すこと。また、その記録自体を
指す。
元々は航海日誌の意味であり、語源は「丸太」を海
に流して船の速さを測ったことから
(Wikipediaより)
- 9.
© Opt, Inc.All Rights Reserved.
1. What is a ログ?
コンピュータのログファイル。
アプリケーション、OS、サービスが処理内容、警告な
どの履歴を逐一記録し、障害発生時や開発時(デ
バッグ)などに参照できるようにするため作成する
(Wikipediaより)
- 10.
- 11.
© Opt, Inc.All Rights Reserved.
記録したいもの
- アプリケーションの処理履歴(イベントログ)
- 障害(エラー)内容
- 開発時のデバッグ情報
など
目的によって、記録したいログは色々ある
- 12.
© Opt, Inc.All Rights Reserved.
目的=ログレベル
ログレベルを用いたログ管理の仕組みは、
syslog(プロトコル)が由来といわれている。
※syslog は、ログメッセージをIPネットワーク上で転送するための
標準規格である
- 13.
© Opt, Inc.All Rights Reserved.
RFC 5424
Emergency: system is unusable
Alert: action must be taken immediately
Critical: critical conditions
Error: error conditions
Warning: warning conditions
Notice: normal but significant condition
Informational: informational messages
Debug: debug-level messages
- 14.
© Opt, Inc.All Rights Reserved.
ロギングツール
例えば
- Java:Apache log4j
- PHP:Monolog
- Ruby:Logging
などなど色々ある
- 15.
© Opt, Inc.All Rights Reserved.
log4jのログレベル
FATAL 致命的なエラー
ERROR エラー
WARN 警告
INFO 情報
DEBUG デバッグ用の情報
TRACE トレース情報
- 16.
- 17.
© Opt, Inc.All Rights Reserved.
1章まとめ
【再掲】
逐一記録して、
使いたい時に参照するもの
- 18.
© Opt, Inc.All Rights Reserved.
1章まとめ
- ログは明確な目的(エラーレベル)で出力している
か?
- ログに出力する内容は誰が決めている?
- ログの目的は誰が決めている?
- 19.
© Opt, Inc.All Rights Reserved.
1章まとめ
- ログを使うのは誰か?利用用途は明確か?
- 開発者
- 運用保守担当者
- 非エンジニアのモニタリング用途
- 20.
- 21.
© Opt, Inc.All Rights Reserved.
例えば
Webアプリケーションで、ログイン失敗しました。
この時、ログレベルはどうするべきか?
- 22.
© Opt, Inc.All Rights Reserved.
ログイン失敗
- ログイン出来ていないから、Error?
- ログイン処理として異常では状態じゃないけど、
正常とは異なるから、Warning(Notice)?
- サービスに影響はないから、Info?
- 23.
© Opt, Inc.All Rights Reserved.
答え
- 一概には言えない
- 認証サービスが落ちているならError以上
- IDやパスワードの入力ミスならInfo以下
- 24.
- 25.
© Opt, Inc.All Rights Reserved.
2. ログの蓄積方法
- サーバ上のファイル
- テキストフォーマット(text,csv,json)
- 列指向(カラムナ)フォーマット(Parquet)
- データベース
- RDB、NoSQL
- クラウドサービス
- 26.
© Opt, Inc.All Rights Reserved.
何を保存する?
- Webアプリケーション
- Accessログ
- Eventログ
- Errorログ
- Info/Debugログ
- 27.
- 28.
© Opt, Inc.All Rights Reserved.
サーバ上のファイル
- テキストファイル
- 区切り文字(空白、カンマ、タブ)ファイル
- JSONファイル
- XMLファイル
- バイナリファイル(列指向フォーマット)
- Parquet
- 29.
© Opt, Inc.All Rights Reserved.
テキストファイル
メリット:
- ライブラリが対応しているフォーマットであれば用
意に出力可能
- 各Editor/Viewerで閲覧可能
- 30.
© Opt, Inc.All Rights Reserved.
テキストファイル
デメリット:
- ファイルがサイズが大きくなる
- 圧縮
- ローテーション
- 検索しづらい(用途による)
- 集計しづらい(用途による)
- 31.
© Opt, Inc.All Rights Reserved.
サーバ上のファイル
所感:
- 区切り文字のファイルは拡張性に難がある
- jsonが好き(メタデータを含めた形で保存可)
- Parquet形式も便利(テキストファイルと比較すべ
きではないかも?)
- 32.
- 33.
© Opt, Inc.All Rights Reserved.
データベース
メリット
- クエリが使える
- 検索、集計が出来る
- GUIツールや、クエリ等で閲覧可能
- 34.
© Opt, Inc.All Rights Reserved.
データベース
デメリット
- テーブル定義をする必要がある
- ログ蓄積機能の開発
- トランザクション管理(性能劣化の可能性?)
- テーブルサイズが肥大化する
- テーブル定義の変更コスト
- 35.
- 36.
© Opt, Inc.All Rights Reserved.
クラウドサービス
メリット
- ロギングサービスを外に出せる
- サービス本体と切り離して考えられる
- 既存のサービスを利用して、提供されている機能
がすぐ利用できる
- 37.
© Opt, Inc.All Rights Reserved.
クラウドサービス
デメリット
- コスト(使い方によっては有料)
- クラウドサービス側の障害の影響を受ける
- 各サービスのSLA次第
- 用途に合わないケース
- 38.
© Opt, Inc.All Rights Reserved.
クラウドサービス
- Fluentd + α
- Sentry
- Amazon CloudWatch Logs
- 39.
- 40.
© Opt, Inc.All Rights Reserved.
Fluentdとは
- オープンソースのデータログ収集ツール
- ログの取り込み(Input)と出力先(Output)を制
御(エージェントという形で常駐)
- Pluginという形で Input と Output を様々な組み
合わせ
- https://www.fluentd.org/plugins
- 41.
© Opt, Inc.All Rights Reserved.
引用:https://www.fluentd.org/architecture
- 42.
© Opt, Inc.All Rights Reserved.
Fluentd
- ログを保存するシステムではない
- td-agent.confファイルを設定するだけで、 任意
のInputとOutputを繋げられる
- 様々なPluginが用意されている
- Input: ApacheLog/Webアプリのログ(テキストファイル)
- Output: TreasureData
- 43.
- 44.
© Opt, Inc.All Rights Reserved.
Sentry とは
- ログの収集、監視サービス
- 言語ごとに用意されたSDKを使用してログをAPI
で送信
- エラー通知をSlackに連携することも可能
- 45.
© Opt, Inc.All Rights Reserved.
引用:https://github.com/getsentry/sentry
- 46.
© Opt, Inc.All Rights Reserved.
Sentry
- 個人用と開発初期のアプリケーション用途として、
無料版もあり
- プランごとにログイベントを受信できる制限が設け
られている
- 47.
- 48.
© Opt, Inc.All Rights Reserved.
Amazon CloudWatch Logs とは
- AWSのログをためるサービス
- Lambda等、マネージドサービスのログは
CloudWatch Logsへ
- オンプレサーバ等でもCloudWatch Agentを利用
して、ログを流し込める
- Fluentdでも可
- 49.
- 50.
© Opt, Inc.All Rights Reserved.
Amazon CloudWatch Logs
{
“aaa”: “hogehoge”,
“bbb”: 12345,
“ccc”: {
“c1”: 111,
“c2”: “222”
}
}
{$.aaa=hogehoge}
や
{$.ccc.c1 > 100}
など
- 51.
- 52.
- 53.
- 54.
© Opt, Inc.All Rights Reserved.
3. ログの使い方
- イベントの監視/モニタリング
- 障害時のログ
- 開発時のログ
- 55.
© Opt, Inc.All Rights Reserved.
クラウドサービス(モニタリング)
- DataDog
- Amazon CloudWatch Logs Insights
- Kibana
- 56.
© Opt, Inc.All Rights Reserved.
DataDog
- サーバの監視/モニタリングツール
- 似たサービスとしてMackerel(マカレル)
- Freeプラン(サーバ5台、データ保管期間は1日)
- 様々なサービスと連携するための設定が用意さ
れている
- 57.
© Opt, Inc.All Rights Reserved.
引用:https://docs.datadoghq.com/ja/guides/overview/
Host Map
- 58.
© Opt, Inc.All Rights Reserved.
引用:https://docs.datadoghq.com/ja/guides/overview/
イベントの時系列表示
- 59.
© Opt, Inc.All Rights Reserved.
Amazon CloudWatch Logs Insights
- 2018年末のre:Inventで発表されたサービス
- CloudWatch Logs のログデータを検索&分析
- クエリ言語を用いる
- 料金:0.0076 USD/GB(スキャンされたデータ)
- 60.
- 61.
© Opt, Inc.All Rights Reserved.
24時間で1分でコールされたAPIの平均応答速度
- 62.
© Opt, Inc.All Rights Reserved.
Amazon CloudWatch Logs Insights(印象)
- 現状では、CloudWatch Logs データをクエリで検
索しビジュアライズできるが、おまけ機能レベル
- 63.
- 64.
- 65.
© Opt, Inc.All Rights Reserved.
ログは、使い方にあった
ため方をすることが大事
- 66.
© Opt, Inc.All Rights Reserved.
定量的に計りたいイベントログは
常にモニタリング
- 67.
- 68.