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
一日の終わりに、晩酌しながら眺めたいシステムログの世界
Search
Shuma
May 18, 2025
Programming
0
66
一日の終わりに、晩酌しながら眺めたいシステムログの世界
5月18日 Hackers' Meetup #11 LTスライド
Shuma
May 18, 2025
Tweet
Share
More Decks by Shuma
See All by Shuma
阿部寛のホームページをSRE観点で改善出来るか考えてみた。
shubox
0
57
プロダクトがクローズした話
shubox
0
24
今も熱いもの!魂を揺さぶる戦士の儀式:マオリ族のハカ
shubox
0
220
信頼性工学とは? ~カツオを題材に~
shubox
0
86
バージョン管理と人生設計の類似点ver2 -リポジトリから学ぶ生きるヒント-
shubox
0
270
バージョン管理と人生設計の類似点
shubox
0
110
今年を振り返り、来年の抱負
shubox
0
250
インフラエンジニアが活きる組織、活きない組織って?
shubox
0
160
少し早いけど、今年を振り返ります。。
shubox
0
100
Other Decks in Programming
See All in Programming
CSC305 Summer Lecture 04
javiergs
PRO
1
110
Claude Codeで実装以外の開発フロー、どこまで自動化できるか?失敗と成功
ndadayo
2
1.3k
書き捨てではなく継続開発可能なコードをAIコーディングエージェントで書くために意識していること
shuyakinjo
1
310
Constant integer division faster than compiler-generated code
herumi
2
690
TanStack DB ~状態管理の新しい考え方~
bmthd
2
330
Claude Codeで挑むOSSコントリビュート
eycjur
0
180
サイトを作ったらNFCタグキーホルダーを爆速で作れ!
yuukis
0
490
Infer入門
riru
4
1.6k
Langfuseと歩む生成AI活用推進
licux
3
300
コンテキストエンジニアリング Cursor編
kinopeee
1
700
あのころの iPod を どうにか再生させたい
orumin
2
2.5k
AIコーディングAgentとの向き合い方
eycjur
0
220
Featured
See All Featured
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
31
2.2k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.6k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
Build The Right Thing And Hit Your Dates
maggiecrowley
37
2.8k
It's Worth the Effort
3n
187
28k
The Art of Programming - Codeland 2020
erikaheidi
55
13k
Visualization
eitanlees
147
16k
Building Applications with DynamoDB
mza
96
6.6k
Music & Morning Musume
bryan
46
6.7k
Thoughts on Productivity
jonyablonski
69
4.8k
Git: the NoSQL Database
bkeepers
PRO
431
65k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Transcript
一日の終わりに、晩酌しながら眺めたいシステムログの世界 @ShuShuShuBOOOx
自己紹介 $ whoami:Shuma $ id: uid=1337(shuma) gid=42(engineers) groups=42(engineers),1001(sysadmins),1002(devs) $ history
| grep "career":# 飲食店店長 → スポーツバー → インフラエンジニア (IT二社目) $ cat ~/.bash_aliases | grep "favorite" alias favorite_tasks="echo '障害対応、監視周り、原因調査 '" $ cat ~/.tech_stack.json | jq . { "cloud": ["AWS", "Google Cloud"], "languages": ["PHP (Laravel)", "Python"], "current_study": "IaC (Terraform)" }
今宵のお品書き 🍢 お通し: ログを「つまみ」として見る新しい視点 🍶 本日のおすすめ三種 : • ① 🥟
カーネルログの刺身盛り合わせ • ② 🍲 アプリケーションログの煮込み • ③ 🌶 セキュリティログの辛味和え 🥢 お好みの食べ方 : ログ分析のちょっとした技 🎵 宴もたけなわに : 明日から使えるログの楽しみ方 🏮 締めの一杯 : エンジニアの晩酌タイム
お通し:ログを「つまみ」として見る新しい視点 普段のログとの付き合い方 • ❌ エラーが出たときだけ見る • ❌ アラートが鳴ったら確認する • ❌
「早く解決して帰りたい」と思いながら見る 今日ご紹介する付き合い方 • ✅ システムの「声」として耳を傾ける • ✅ パターンの中に「美味しい発見」を探す • ✅ リラックスして「味わう」気持ちで眺める
① カーネルログの刺身盛り合わせ お品書き • 鮮度が命 : システム起動直後の新鮮なメッセージ • 繊細な味わい :
ハードウェアとOSの対話の痕跡 • 職人の技 : カーネル開発者の設計思想が垣間見える おすすめの飲み方 🍶 純米大吟醸 : 繊細な香りと軽やかな味わいで、カーネルの微妙な動きを感じ取る
カーネルログの楽しみ方(こんな楽しみ方はいかが?) # 起動時の「デバイス発見物語」を追う $ dmesg | grep -i "detected\|found" |
ccze -A # カーネルの小言(警告メッセージ)を集める $ dmesg | grep -i "warning" | ccze -A # USBの抜き差しドラマを観察 $ dmesg | grep -i "usb" | tail -30 | ccze -A 「へぇ、こんなデバイスが繋がってたんだ ...」
② アプリケーションログの煮込み 〜じっくりと時間をかけて、旨みを引き出す〜 お品書き • 具だくさん : ユーザーアクション、システム応答、エラーが混在 • 煮込むほどに深まる味
: 時間をかけて見ると見えてくるパターン • 隠し味: エラースタックの奥に隠れた真因 おすすめの飲み方 🍺 クラフトIPA: ほろ苦さと複雑さを持ち、長いエラースタックトレースの解読に最適
アプリケーションログの楽しみ方 # HTTPステータスコードの「今日の気分」 $ cat /var/log/nginx/access.log | cut -d '"'
-f3 | cut -d ' ' -f2 | sort | uniq -c | sort -rn # 「迷子になったユーザー」を探す( 404エラーの宝探し) $ grep " 404 " /var/log/nginx/access.log | cut -d '"' -f2 | sort | uniq -c | sort -rn | head -10 # スローページの「おしゃべり大会」 $ grep -v "200" /var/log/app/production.log | grep "Completed" | sort -k1,8
③ セキュリティログの辛味和え 〜ピリッとした刺激が病みつきに〜 お品書き • 辛さの中毒性 : 攻撃パターンの観察が癖になる • 複雑な香辛料
: 多様な侵入試行とテクニック • 後から効いてくる : 一見無害に見えて実は重大な前兆 おすすめの飲み方 🥃 黒糖焼酎 : 力強い味わいで、セキュリティの脅威と向き合う勇気が湧いてくる
セキュリティログの楽しみ方 # 「しつこい訪問者」ランキング $ grep "Failed password" /var/log/auth.log | awk
'{print $11}' | sort | uniq -c | sort -nr | head -5 # 「世界の国からこんにちは」攻撃元マップ $ grep "Failed password" /var/log/auth.log | awk '{print $11}' | sort | uniq | xargs -I{} geoiplookup {} | sort | uniq -c | sort -nr # 「怪しい時間」の訪問者を探す(深夜の侵入者) $ grep "Failed password" /var/log/auth.log | grep "03:" | ccze -A
お好みの食べ方:ログ分析のちょっとした技 味の調整テクニック • 彩り豊かに : ccze -A や lnav でカラー表示
• 薄味で: | head -20 で少量ずつ味わう • 香り付け : | grep -v "DEBUG" で邪魔な香りを除去 • 盛り付け : パイプラインで必要な情報だけ取り出す
宴もたけなわに:明日から使えるログの楽しみ方 「ログ観察」を日常に取り入れる • 朝の儀式: コーヒーを飲みながら昨日のエラーログをチェック • 昼休みの楽しみ : アクセスログでユーザー行動の「小説」を読む •
夕方の習慣 : セキュリティログで今日の攻撃パターンをチェック
締めの一杯:エンジニアの晩酌タイム モニターの明かりだけが照らす部屋で、キーボードをそっと置いて、グラスを手に取る 今日も無事に動いているシステムに乾杯 そして端末を開き、静かにコマンドを打つ “tail -f /var/log/app.log | grep -v
"DEBUG" | ccze -A “ 流れるログの色彩に目を細め、一日の物語を追う これはエンジニアだけの、特別な晩酌の時間
乾杯の言葉 システムの健康と、発見の喜びに ──
ご清聴ありがとうございました。