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
Instana&Bob トラブルシュートハンズオン
Search
山崎政憲
August 28, 2026
Technology
110
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
みてねにおけるAI-DLC導入活動とAIドリブン開発の現在地/JAWS-UG AI-DLC #2
isaoshimizu
2
330
全員がプロダクトへ向き合う組織を持続成長させるために——組織づくりのフライホイールと4象限 / The Flywheel Model and Four Quadrants for Organizational Design
hiro_torii
2
490
DGX Sparkを2台使って いろいろ動かす話
sonoda_mj
1
120
振り返りこそエンジニアの本領
negima
0
160
本番に近いテストをもっと手軽に - Postmanで広がるAPIテストの世界 / Expanding the World of API Testing with Postman
yokawasa
1
230
AI-DLCって実際どう? 〜聞きたいこと全部聞いてみる〜
news_it_enj
0
180
Bet AI Day 2026丨How We Bet AI: AIとともに働く場をつくる
layerx
PRO
1
1.8k
GuardDuty 検知対応を DevOps Agent で効率化しようとしている話 / GuardDuty Investigations with DevOps Agent
masahirokawahara
1
190
Azure App Service / Container Apps の組み込み認証
kuniteru
0
160
Bet AI Day 2026丨AIによって本質に戻るシステムリスク管理
layerx
PRO
0
640
いかに伝えるか 〜新卒エンジニアの教育のための、ライトノベル活用の一例
ikedon
1
170
Claude Codeで開発以外の業務も爆速化しよう!
minorun365
PRO
12
9.5k
Featured
See All Featured
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
201
75k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
440
Building the Perfect Custom Keyboard
takai
2
860
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
1.1k
The World Runs on Bad Software
bkeepers
PRO
72
12k
The Mindset for Success: Future Career Progression
greggifford
PRO
0
490
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
123
22k
The SEO identity crisis: Don't let AI make you average
varn
0
550
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
590
How to Think Like a Performance Engineer
csswizardry
28
2.8k
Building Flexible Design Systems
yeseniaperezcruz
330
41k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
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 ハンズオン