Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Instana&Bob トラブルシュートハンズオン
Search
山崎政憲
August 28, 2026
Technology
150
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Instana&Bob トラブルシュートハンズオン
山崎政憲
August 28, 2026
Other Decks in Technology
See All in Technology
負債のメタファと2026年 / Debt Metaphor in Agentic Engineering Age 202609 Edition
twada
PRO
12
6.7k
Goodbye ShellScript, Hello File-based App
shunsock
0
960
手を動かして実感する、Kiro が変える開発体験
inariku
0
280
AIに任せた品質は、誰が見立てるのか - AI時代のテストマネジメント
nakanao
3
3k
C#コードの結合を可視化する Roslyn解析による設計改善と リファクタリング判断
dora56
0
610
データ_AIの事業の勝敗をわけるもの
nek0128
1
480
「どのログを見ればいい?」 から始めた サーバーレス障害解析
y_waka1
1
150
Vibe Coding で作ったプロダクトをどう安全に動かすか / How to Safely Run Products Built with Vibe Coding
glidenote
0
570
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
16
120k
バイブコーディング時代のWebアプリ開発入門~Cloud Runで学ぶセキュアなビルドとデプロイ
waiwai2111
1
150
[Kiro Meetup #7] Kiro Crew Dive Deep
konippi
0
320
AI 時代のスタートアップエコシステ厶から考究する技術的負債との向き合い方
m3m0r7
PRO
3
2.7k
Featured
See All Featured
BBQ
matthewcrist
89
10k
Bash Introduction
62gerente
615
220k
Navigating Weather and Climate Data
rabernat
0
530
Building the Perfect Custom Keyboard
takai
2
880
Into the Great Unknown - MozCon
thekraken
41
2.7k
Side Projects
sachag
456
43k
Facilitating Awesome Meetings
lara
57
7.1k
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.6k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
3k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
232
55k
How to Think Like a Performance Engineer
csswizardry
28
2.8k
Building Applications with DynamoDB
mza
96
7.2k
Transcript
AIを使ってシステム障害の原因特定しよう! Instana × Bob トラブルシュートハンズオン 2026年8月28日
イントロダクション:Bobにトラブルシュートさせてみよう この中でシステムのトラブルシュートを行った方はどれくらいいるでしょうか? また、トラブルシュートに生成AIを使った方、生成AIにトラブルシュートをさせ た方はいるでしょうか? 私は既にトラブルシュート業務に生成AIを活用する事が、生産性を大幅に向上さ せること、トラブルシュート初級者でも、短期間で高度なトラブルシュートが可 能になることを実感してきました。 生成AIにトラブルシュートをさせるには、ターゲットシステムの高精度の情報を 生成AIにインプットする必要があります。 それにはObservabilityツールが最も適しています。
今日はInstanaとBobを使って、その効果を皆様に体験いただきます。 Instana × Bob ハンズオン
イントロダクション:ハンズオン概要紹介 一たび発生すれば、多大な時間と工数を要してしまうシステム障害。 Observabilityツール(Instana)とAI(Bob)とを組み合わせることで、この障害の解析、解決が超効率化で きることを体験いただきます。 環境構築 1 InstanaとBobを連携させた障害解析環境を 構築できるようになる。 障害の可視化・確認 2
AI駆動の原因究明 3 AI(IBM Bob)による障害の原因究明を体 験する。 Instana × Bob ハンズオン リクエストの遅延やエラーの発生箇所を Instana UIから確認できるようになる。 AI駆動の修正 4 Bob(IBM Bob)で原因究明~コード修正ま でを体験する。
アジェンダ 全体で約90分。Bobによる原因究明・修正まで行う 00:00 – 00:10(10) イントロダクション 00:10 – 00:40(30) 環境構築&確認:IBM-Bob、Instana-UI、Instana
MCP-Bob連携、GitHubクローン 00:40 – 00:50(10) (休憩) 00:50 – 01:00(10) シナリオ1:プログラムで遅延発生 01:00 – 01:10(10) シナリオ2:Javaスレッドデッドロック検出 01:10 – 01:20(10) シナリオ3:DBデッドロック検出 01:10 – 01:30(20) まとめ・質疑応答 Instana × Bob ハンズオン 環境構築に時間がかか る可能性がありますの で、その場合は、出来 るところまで進めま しょう。
環境構築 & 確認:全体構成 今回のハンズオンで使用する環境の全体構成は以下となります。 参加者 ハンズオン用サーバ → EasyBuggy (Java /
Tomcat) Instana MCP Server → Instanaバックエンド → GitHubリポジトリ → ブラウザ IBM Bob → ソースコード Instana × Bob ハンズオン → Instanaエージェント (ホスト常駐)
環境構築 & 確認:セットアップ済環境について 今回のハンズオンでは以下のセットアップ済み環境を使用します。 各自でアクセスできる事を確認してください。 (アクセス方法はハンズオン当日にTeamsで案内します。) EasyBuggy Instana バグ山盛りのトラブルシュート対象のWebアプリケー ション。
EasyBuggyの稼働状況を監視するObservabilityツール。 今回は以下のバグを使ってハンズオンを行います。 1. 正規表現解析による遅延 2. デッドロック(Java) 3. デッドロック(SQL) Instana × Bob ハンズオン ✓ エージェントが対象ホスト / コンテナにインストー ル済み ✓ UIにログインでき、Applications一覧にEasyBuggy が表示されている
環境構築 & 確認:要セットアップ環境について 今回のハンズオンでは以下のセットアップを必要とします。 各自でご用意ください。 1 IBM-Bobのアクティベーション & インストール 2
GitHubアカウントおよびリポジトリクローン 3 Python & Instana MCPサーバインストール 4 Bob & Instana連携設定 5 動作確認 Instana × Bob ハンズオン
環境構築 & 確認:IBM Bobのアクティベーション & インストール 個人利用(無料トライアル)とEnterpriseのいずれかで実施します。 個人 / 無料トライアル
Enterprise → IBMidを作成する(既存のIBMidも利用可) → 契約後に届くアクティベーションメールのリンクか らIBM SaaSコンソールを開く → bob.ibm.com/download からOS別インストーラー( .pkg / .exe / Linux)を取得する → インストーラーを実行し、ウィザードに従ってイン ストールする(所要約5分) → 初回起動時にブラウザでIBMidによるサインインを行 い、認証完了後にBobへ戻る → Bobサブスクリプションのタイルで「Assign」をクリ ックする → 新規または既存のSaaSアカウントを選択する → リージョンとインスタンス名を入力し「Submit and provision」をクリックする → Bob管理ページ(bob.ibm.com/admin)からユーザー を追加し、ロールを割り当てる システム要件:macOS / Linux / Windows、メモリ4GB以上(8GB推奨)、空き容量500MB以上、インターネット接続が必要。 個人利用(無料トライアル)については、以下も参照ください。 「IBM Bobはじめました (無料トライアル登録とインストールの流れ)」 https://qiita.com/ayatokura/items/26a7dc7ecfa10d489902 Instana × Bob ハンズオン
環境構築 & 確認:GitHubアカウントの用意とリポジトリクローン 本ハンズオンでは、Bobを用いたリポジトリへのプルリクエストへの送信を行います。 以下の手順に沿って、EasyBuggyのリポジトリをクローンしてください。 1 (存在しなければ)GitHubでアカウントを作成する。 2 ①で作成したアカウントでhttps://github.com/masanori-yamasaki/easybuggy4sbをcloneする。 (Bobにプルリクエストを送信させるため、自分が権限を持っているリポジトリを作成する。)
3 Cloneしたリポジトリからローカルリポジトリを作成する。 4 Bobからソースコードを参照できるようにする。 リポジトリのトップフォルダをBobで開く。 Instana × Bob ハンズオン
環境構築 & 確認:Python および Instana MCPサーバインストール Instana MCP Serverが動作するようにセットアップします。 1
Pythonをインストールする (3.14.7で検証済) 2 Instana MCP サーバをインストールする > pip install mcp-instana 3 Instana MCP サーバを起動する > mcp-instana --transport streamable-http 5 Instana × Bob ハンズオン このような画面がでれば、Instana MCPサーバの構築完了です
環境構築 & 確認:Instana MCPサーバーの設定手順 BobにInstana MCPサーバーを追加し、接続を確認するまでの手順を以下に示します。 1 Instanaで Settings →
API Tokens(個人用は User Settings → Personal API Tokens)からAPIトークンを発行する (本ハンズオンではTeamsでご案内します) 2 Bobパネル右上のMCPアイコンから設定画面を開き、Project (.bob/mcp.json)またはGlobal(~/.bob/mcp.json)を選ぶ 3 右のサンプルのようにInstana MCPサーバーを追記し、 INSTANA_BASE_URLとINSTANA_API_TOKENを設定する (本ハンズオンではTeamsでご案内します) 4 保存後、サーバー名の横に緑のドットが表示されれば接続成功。 チャットで動作確認する(次頁参照) 設定例:.bob/mcp.json { "mcpServers": { "Instana MCP Server": { "command": "mcp-instana", "args": ["--transport", "stdio"], "env": { "INSTANA_BASE_URL": "https://<instance>.instana.io", "INSTANA_API_TOKEN": "<token>" } } } } Instana × Bob ハンズオン
環境構築 & 確認:MCPサーバへの接続確認 Instana MCPサーバーへの接続に成功すれば、以下のように、•Connectedと表示されます。 Instana × Bob ハンズオン
環境構築 & 確認:GitHubアカウントの用意とリポジトリクローン 1 GitHubアカウントを作成し、以下のリポジトリをcloneしてください。 https://github.com/mayamasaki68/easybuggy4sb 2 ローカルに作業ディレクトリを用意し、cloneしたリポジトリのローカルクローンを作ります。 git clone
https://github.com/******/easybuggy4sb 3 Bobから2のフォルダを開きます。 4 Restricted ModeではBobが使えないため、Trusted Modeに変更します。 Trustボタンをクリック 画面左下のRestricted Modeをクリック Instana × Bob ハンズオン
環境構築 & 確認:動作確認 BobがソースコードおよびInstanaにアクセス可能となったか確認します。 Bobに以下の質問をして、結果を確認してください。 1 「このプロジェクトの構成を説明して。どんなパッケージ・クラス構成になっている?」と聞いてみる。 プロジェクト概要やディレクトリ、パッケージ構成、リソース構成、主要なライブラリ情報に 加えて、以下のような全体アーキテクチャ図が出力されます。 Instana
× Bob ハンズオン
環境構築 & 確認:動作確認 2 「Instanaが監視しているアプリケーションの一覧を出力して」「EasyBuggyの概要を説明して」と聞いてみる。 Bobが許可を求めてくることがあります。 都度、確認して許可を出しましょう。 Bobが素早く分かりやすく解説してくれます。 以上で構築は完了です。 Bobを使ったトラブルシュートを体験下さい。
Instana × Bob ハンズオン
ハンズオン実施にあたっての注意事項 ハンズオン実施中の注意事項を以下に示します。 他の参加者の邪魔にならないように、ご注意ください。 ! • EasyBuggyのJVM Crash・OutOfMemoryErrorは、実際にプロセスを停止・クラッ シュさせます。本ハンズオンではEasyBuggyは共用であるため使用しないで下さい。 • ターゲットとなるEasyBuggyはハンズオン参加者で共用することとなります。
他の方が発生させたリクエストやエラーがInstanaで可視化されたり、Bobが検出・ 解析したりという動作が予想されますので、ご認識ください。 • 本ハンズオンの難所は「環境構築」となります。 躓いたらすぐにお知らせください。 動作する環境が構築できた他の方と進めて頂いても構いません。 • 同じ質問、依頼をしても同じ回答をBobが返すとは限りません。 内容は必ず確認をお願いします。 Instana × Bob ハンズオン
SCENARIO 1 プログラムで遅延発生 → Bobで原因究明・修正 不適切な正規表現による長時間処理の発生をBobで解決 所要時間目安:10分
プログラムで遅延発生:①現象を発生させ、Instanaで確認する EasyBuggyで応答遅延系のバグを実行し、Instanaで観測する 1 EasyBuggyで「正規表現解析による遅延」を選択する 2 画面の指示に従い、テキストボックスに「aaaaaaaaaaaaaaaaaaaaaaaaaaaaaあ」と入力する 3 ②を何度も実行してみる 4 4
Instanaの画面を開き、アプリケーションパースペクティブを開く。 5 Instanaの分析画面を開き、時間がかかっているトレースを確認する。 Instana × Bob ハンズオン
プログラムで遅延発生:①現象を発生させ、Instanaで確認する EasyBuggyで応答遅延系のバグを実行し、Instanaで観測する Instana × Bob ハンズオン
プログラムで遅延発生 → ②Bobで原因究明・修正 検出した問題をBobに伝え、原因究明から修正・再検証までを行う 1 Bobに「過去1時間で⾧時間(10秒以上)を要したリクエストを調べて下さい」と依頼する 2 Bobがチャット上でInstana MCPツールを自律的に呼び出し、メトリクス/イベントを収集する 3
Bobが遅い処理(POST /slowre)を検出する 4 Bobに「遅い原因を分析し、対策を検討してください」と依頼する (自動的に実行する可能性もあり) 5 Bobに「修正コードのプルリクエストを作成してください」と依頼する Instana × Bob ハンズオン
プログラムで遅延発生 → ②Bobで原因究明・修正 検出した問題をBobに伝え、原因究明から修正・再検証までを行います。 遅延原因 Instana × Bob ハンズオン 対策
プログラムで遅延発生 → ③プルリクエストを行う S2+BOB 修正結果をプルリクエストとして提出します。 Bobによるプルリクエストの送信 Bobに指示をすることで、コードの修正か らプルリクエストの送信まで一気に実施 可能です。 プルリクエスト時のコメントもBobが作成
します。 ここではBobが作成したコメントをそのま ま使っていますが、人間側でレビューや 添削する事も可能です。 Instana × Bob ハンズオン
SCENARIO 2 Javaスレッドデッドロック検出 → Bobで原因究明・修正 JavaVMの異常をBobで検出し、解決する 所要時間目安:10分
Javaスレッドデッドロック検出:①現象を発生させ、Instanaで確認する EasyBuggyでJavaVMでのデッドロックを発生させる。 1 EasyBuggyで「デッドロック(Java)」を実行する 2 F5キーを押して、何度もリロードする (デッドロックが発生したと出ない可能性もあり) Instana × Bob
ハンズオン
Javaスレッドデッドロック検出 → ②Bobで原因究明・修正 検出した問題をBobに伝え、原因究明から修正までを行う 1 Bobに「デッドロックが発生しているJavaVMはありますか?」と質問する 2 Bobがチャット上でInstana MCPツールを自律的に呼び出し、JavaVMの状態を収集する 3
Bobが3つのJavaVMから、デッドロックが発生しているJavaVM(EasyBuggy)を検出する 4 Bobに「デッドロックの原因を究明し、対策を立案してください」と依頼する (自動的に実行する可能性もあり) 5 Bobがロック順序を一致させる修正と、Sleep時間を短縮させる修正を提案するため、「ロックの 順序を同一にする修正のみ実施して、プルリクエストを作成してください」と依頼する Instana × Bob ハンズオン
Javaスレッドデッドロック検出 → ②Bobで原因究明・修正 検出した問題をBobに伝え、原因究明から修正までを行う Instanaの監視対象にあるJavaVMの中で、デッドロックが発生 しているJavaVMをBobが見つけてくれます。 ソースコードの原因箇所も説明してくれます。 Instana × Bob
ハンズオン
Javaスレッドデッドロック検出 → ③プルリクエストを行う 検出した問題をBobに伝え、原因究明から修正・再検証までを行う Bobによるプルリクエストの送信 1.原因 ロックを行う2つの処理において、ロック の順序が異なるため、デッドロックが発 生する。 2.対策
ロックの順序を一致させれば、デッド ロックは発生しない。 Instana × Bob ハンズオン
SCENARIO 3 DBデッドロック検出 → Bobで原因究明・修正 DBエラーをBobで検出し、解決する 所要時間目安:10分
DBデッドロック検出: ①現象を発生させ、Instanaで確認する 遅いレスポンスと例外系バグを実行し、トレースで原因を追跡する 1 EasyBuggyで「デッドロック(SQL)」を選択する。 2 画面に表示された指示に従って、デッドロックを発生させる。 画面には「デッドロックによりロックを取得できませんでした」と表示される。 3 Instana
Applications → 対象アプリ → Analyze Callsでエラーを確認する。 Instana × Bob ハンズオン
DBデッドロック検出: ①現象を発生させ、Instanaで確認する 遅いレスポンスと例外系バグを実行し、トレースで原因を追跡する デッドロック例外が 発生していることを Instanaの画面から確 認可能。 Instana × Bob
ハンズオン
DBデッドロック検出 → ②Bobで原因究明・修正 検出した問題をBobに伝え、原因究明から修正・再検証までを行う 1 Bobに「直近10分間でエラーが発生したスパンを調べて下さい」と依頼する 2 Bobがチャット上でInstana MCPツールを自律的に呼び出し、メトリクス/イベントを 収集する
3 Bobがエラーが発生したリクエスト(POST /deadlock2)を検出する 4 Bobに「エラーの原因を分析し、対策を検討してください」と依頼する (自動的に実行する可能性もあり) 5 Bobに「修正コードのプルリクエストを作成してください」と依頼する ④にて複数の修正案を提示された場合は、全ての修正案を採用するか、特定の修正案のみ採用するかを指示 する事も可能 Instana × Bob ハンズオン
DBデッドロック検出 → ②Bobで原因究明・修正 検出した問題をBobに伝え、原因究明から修正までを行う 処理のどこの個所でエラーが発生しているかまで説明 してくれます。 人がInstanaの画面でトレースを確認する必要も無くな るのでは? Instana ×
Bob ハンズオン
DBデッドロック検出 → ③プルリクエストを行う 検出した問題をBobに伝え、原因究明から修正までを行う Bobによるプルリクエストの送信 1.原因 /deadlock2を多重に並行して呼び出すこと で、MySQLのusersテーブルにおいてデッ ドロックが発生する。 2.対応
ユーザリストをidでソートすることでデッ ドロック発生を防止する。 Instana × Bob ハンズオン
まとめ ハンズオンの振り返り 所要時間目安:10分
まとめ:本日の振り返り 本日体験した内容の振り返り 1 2 3 4 InstanaとBobを連携させるための設定内容 MCPサーバによって、InstanaとBobを連携させる事ができました Instanaによる障害の可視化 分散トレースにより、遅延やエラーが発生したリクエストを確認できました
Instanaの監視結果を利用した、Bobによる障害の検出 Bobとのチャットにより、エラーや遅延リクエストを検出できました Bobによる原因究明・コード修正の自動化 BobとInstanaのMCP連携により、原因究明・コード修正・リポジトリへの登録までの一連の流れを効率化できました Instana × Bob ハンズオン
まとめ:Bob × Instanaトラブルシュートの振り返り AI駆動の効率化を実際に活用するための意見交流 ディスカッション 1. 障害対応時間(分析、修正)をどの程度短縮できそうか? 2. Instanaに加えてBobに渡すと良い情報があるか? 3.
どこまでの作業をBobに任せ、どこから人がすべきか? 4. ループエンジニアリングへの発展ができないか? Instana × Bob ハンズオン
まとめ:Bob × Instanaトラブルシュートの振り返り 最後に注意! ! • 今回はEasyBuggyというあからさまに不具合が存在するアプリケーションが対象で した。実際のシステムではここまでBobが即座に問題を検出し、解決出来るとは限 りません。 •
Bobの修正内容が必ずしも正しく、適切かどうかも保障はありません。 必ずご自身で内容を確認して、適用するようにしてください。 ※注意点を守って活用すれば、 Bobはあなたに多大な貢献をしてくれます。 Instana × Bob ハンズオン