SlideShare a Scribd company logo
Webシステム障害時の
ログ解析手法
システムインテグレーション事業部
草場 友光
自己紹介
• 普段はASP.NET(C#)の保守プロジェクト
• 以前はサーバ構築・ネットワーク保守とか
• さらに以前はJava
• 情報処理安全確保支援士(登録番号001462)
tomo_kusaba
本日の目的
• システム障害時に絞ったログ解析の仕方を身につける
• 障害発生時なのでとにかく短時間に原因を見つけ障害復旧に結
びつけることが重要
とにかく準備!
• 想定する障害はいずれおきるもの
• 手がかりとなるログは一体何だろう??
• Webシステムによってシステム構成が異なり当然出力されてい
るログも異なる
どこで障害が起きる?
ハードウェア
OS
ミドルウェア
Webアプリケーション
外部との通信
DB
どんなログを読む必要がある??
• アプリケーションログ
• Webサーバ
• データベース
• ミドルウェア
• イベントログ
• パフォーマンスログ
それぞれがそれぞれの形式で出力されている難しさ
事例
• とある社内向けWebシステムが予期せぬOS再起動が発生
• 運用チームがWindowsUpdateを適用してから正規のOS再起動実施ま
での間に発生
• 当初、運用チームとしてはOS再起動直前に異常なCPU負荷を検出して
いたのでこの結果だとして保守チームに調査依頼
• WindowsUpdate.logを調査したところ、WindowsUpdateによってOS
再起動が発生していることを確認。運用チームで数ヶ月前に手順を変
更していることから見直しを求める。
時刻同期はできてる?
• 特に、オンプレミスシステムにおいて
• データベース
• バッチサーバ
• アプリケーションサーバ
• etcの時刻がバラバラでは取得されるログの時刻情報が役に立たない
• 1日1回以上の時刻同期は必要
事例
• ファイル送受信ミドルウェアでファイル受信後、ジョブ管理ミ
ドルウェアでバッチ起動しデータベース登録する機能がある
• ほぼ同時に複数ファイル受信したときに、データベースの登録
が漏れることがあった。
• 登録漏れしているのは最初に送信されたファイルのデータ分
事例
• 調査したログ
• ファイル送受信ミドルウェアの各種ログ→バッチサーバの時刻
• ジョブ管理ミドルウェアの各種ログ→バッチサーバの時刻とジョブ管
理ミドルウェアの管理サーバの時刻
• アプリケーション出力ログ→バッチサーバの時刻
すべてはms単位で見ていく必要があった
事例
• 調査結果
• ファイル送受信ミドルウェアからジョブ管理ミドルウェアのバッチ起
動はキュー投入が完了した時点で処理が戻っている。
• バッチは動作中だが、ファイル送受信ミドルウェアは次のファイルを
受信開始してしまった。
• バッチのなかで受信ファイルを読む処理は後半であるため1ファイル目
の登録がされなかった。
ログの意味わかりますか?
• 障害時にいきなりログを読めといっても無理!
• 普段から普段出ているログを読む
• 普段のログがわからなければ異常データもわからないよね??
• ログの意味をマニュアルなどで調べておく
• 特にステータスコード、エラーコードはすぐに調べられるよう
にしておく。
そもそもどうやってログを読んでる?
1. テキストエディタ
2. Excel
3. ログリーダーを自作しよう!!
ログリーダーを自作しよう
• C#erなのでWebもデスクトップアプリもC#で作ります!
• Webサーバのアクセスログリーダーを作ってみます。
• (とても高機能なフリーソフトが多数存在しているということはおい
ておきます)
• この世のテキストのログの多くはタブ区切り、カンマ区切り、
スペース区切り、固定長のどれか。
ログの仕様について
列数 出力項目 出力例
1 アクセス元 8.8.8.8
2 Cユーザ名 -
3 認証ユーザ名 -
4 時刻 [27/Apr/2020:12:24:31 +0900]
5 リソース "GET /MuseWiki/index.php?FrontPage HTTP/2.0"
6 ステータス 200
7 転送量 13268
半角スペース区切りとする
作ってみた
https://github.com/tomokusaba/IISLogViewer
さらに発展させると
• Webサーバのアクセスログとアプリケション出力ログを読む
• 時系列でソート
• etc
• 複数のログを組み合わせて読めるようにしておくと便利ですよ
ね
まとめ
そなえよ つねに
おしまい

More Related Content

ODP
ライブコーディングとデモで理解するWebセキュリティの基礎
PPTX
温故知新ローカルに検証環境を作ろう
PDF
Cent7@zabbix2.4を試す
PDF
NVMFS 使ってみたとか 言っちゃって マジカジュアルな奴
PDF
OSS監視ツールSensuの紹介
PDF
130821 owasp zed attack proxyをぶん回せ
PDF
sensuのちょっと進んだ使い方
PDF
第2回インフラエンジニアのためのプレゼン技術研究会(オススメの技術書)
ライブコーディングとデモで理解するWebセキュリティの基礎
温故知新ローカルに検証環境を作ろう
Cent7@zabbix2.4を試す
NVMFS 使ってみたとか 言っちゃって マジカジュアルな奴
OSS監視ツールSensuの紹介
130821 owasp zed attack proxyをぶん回せ
sensuのちょっと進んだ使い方
第2回インフラエンジニアのためのプレゼン技術研究会(オススメの技術書)

What's hot (8)

PDF
OWASP_Kyushu_Local_Chapter_Meeting_7th
PDF
情報セキュリティCAS 第三十六回放送用スライド
PPTX
Javaの速度比較
PDF
情報セキュリティCAS 第六十回放送用スライド
PDF
Sensuでネットワーク監視やってみた
PDF
防御から謝罪まで・・・WordPressにヤマを張るっ!
PDF
Proxy War
PDF
Sensu Introduction
OWASP_Kyushu_Local_Chapter_Meeting_7th
情報セキュリティCAS 第三十六回放送用スライド
Javaの速度比較
情報セキュリティCAS 第六十回放送用スライド
Sensuでネットワーク監視やってみた
防御から謝罪まで・・・WordPressにヤマを張るっ!
Proxy War
Sensu Introduction
Ad

Similar to 202005 log analyse (20)

PDF
30分で分かる!OSの作り方 ver.2
PDF
hbstudy#06
PDF
Azure アプリケーション アーキテクチャ ガイド 紹介
PDF
PostgreSQLのトラブルシューティング@第5回中国地方DB勉強会
PDF
Javaアプリケーションサーバ 構築・運用の勘所
PPTX
.NET vNext
PDF
ソースコード検査に耐えるコードとは?
PDF
わんくま東京勉強会#46 Azureセッション資料
PDF
わんくま東京勉強会#46 Azureセッション資料
PDF
地方企業がソーシャルゲーム開発を成功させるための10のポイント
PPTX
MySQLの運用でありがちなこと
PDF
とあるメーカーのRedmine活用事例
PDF
Example of exiting legacy system
PPTX
20171014 Joetsu Tech Meetup #1
PPTX
EmbulkとDigdagとデータ分析基盤と
PPTX
EmbulkとDigdagとデータ分析基盤と
PDF
【15-B-L】Spinnakerで実現するデプロイの自動化
PDF
20190413 Joetsu TechMeetup 03
PDF
大規模ソフトウェア開発とテストの経験について
PPTX
The seminar of asp.net at 201908 sakurug
30分で分かる!OSの作り方 ver.2
hbstudy#06
Azure アプリケーション アーキテクチャ ガイド 紹介
PostgreSQLのトラブルシューティング@第5回中国地方DB勉強会
Javaアプリケーションサーバ 構築・運用の勘所
.NET vNext
ソースコード検査に耐えるコードとは?
わんくま東京勉強会#46 Azureセッション資料
わんくま東京勉強会#46 Azureセッション資料
地方企業がソーシャルゲーム開発を成功させるための10のポイント
MySQLの運用でありがちなこと
とあるメーカーのRedmine活用事例
Example of exiting legacy system
20171014 Joetsu Tech Meetup #1
EmbulkとDigdagとデータ分析基盤と
EmbulkとDigdagとデータ分析基盤と
【15-B-L】Spinnakerで実現するデプロイの自動化
20190413 Joetsu TechMeetup 03
大規模ソフトウェア開発とテストの経験について
The seminar of asp.net at 201908 sakurug
Ad

More from SAKURUG co. (9)

PDF
20200515 web analyse_tool
PPTX
The introduction to_sns_marketing_20200515
PPTX
20200214 the seminar of information security with sample answer
PPTX
20200214 the seminar of information security
PPTX
【資料】【Web開発者向け】クラウドセミナー@渋谷 #2【Azure入門】
PPTX
【ハンズオン手順書】【Web開発者向け】クラウドセミナー@渋谷 #2【Azure入門】
PPTX
201910 azure seminar
PPTX
The procedure of asp.net at 201908 sakurug seminar
PPTX
Db seminar 20190619
20200515 web analyse_tool
The introduction to_sns_marketing_20200515
20200214 the seminar of information security with sample answer
20200214 the seminar of information security
【資料】【Web開発者向け】クラウドセミナー@渋谷 #2【Azure入門】
【ハンズオン手順書】【Web開発者向け】クラウドセミナー@渋谷 #2【Azure入門】
201910 azure seminar
The procedure of asp.net at 201908 sakurug seminar
Db seminar 20190619

202005 log analyse