最終回 DTraceでトラブルシューティング


サン・マイクロシステムズ株式会社
OpenSolarisエバンジェリスト
原口 章司
2008/8/6


拡張可能な「DTraceツールキット」

 DTraceには汎用的に使えるDスクリプト言語が含まれており、OpenSolarisでは、DTrace学習や利用の参考としてツールキット(Dスクリプト・サンプル)も提供されています。これらのツールキットは、管理ツールとしてそのまま実行可能で、システム管理者やプログラム開発者にとって重宝するものです。

 最新のツールキットはhttp://opensolaris.org/os/community/dtrace/dtracetoolkit/からダウンロード可能です。解凍してインストールすると、すべてのサンプルスクリプトとツールが/opt/DTT/の下に置かれます。/opt/DTT/以下の各ディレクトリとその概要を以下に示します。

ディレクトリ名 概要
Bin/ すべてのスクリプトへのシンボリックリンク
Apps/ アプリケーション固有のスクリプトサンプル
Cpu/ CPU解析用のスクリプト
Code/ 練習用サンプルコード
Disk/ ディスクI/O解析用スクリプト
Docs このツールキットのドキュメント
Examples/ 各スクリプトの使用例集
Include/ Dスクリプト用includeファイル
Java/ Javaトレース用スクリプトサンプル
JavaScript/ JavaScriptトレース用スクリプトサンプル
Kernel/ カーネル解析用スクリプトサンプル
Locks/ ロック解析用スクリプトサンプル
Man/ DTraceツールキットのmanページ
Mem/ メモリ解析用スクリプトサンプル
Misc/ そのほかのスクリプト
Net/ ネットワーク解析用スクリプトサンプル
Notes/ DTraceツールキットのノート
Perl/ Perlトレース用スクリプトサンプル
Php/ PHPトレース用スクリプトサンプル
Proc/ プロセス解析用スクリプトサンプル
Python/ Pythonトレース用スクリプトサンプル
Ruby/ Rubyトレース用スクリプトサンプル
Shell/ シェル言語トレース用スクリプトサンプル
Snippits/ D言語用材料集
System/ システム解析用スクリプトサンプル
Tcl/ Tclトレース用スクリプトサンプル
User/ ユーザーベースの活動分析用スクリプトサンプル
Zones/ Zone解析用スクリプトサンプル
表1 DTraceツールキット

 中でも、特に便利でよく使われるDTraceツールは、/opt/DTT/ディレクトリ下に直接置かれています。概要は以下のとおりです。

ツール名 概要
dexplorer system explorerのDTrace版。system情報のコレクションを取って、指定したディレクトリにgzipアーカイブファイルとして記録します。アーカイブファイルはシステム診断の情報として利用されます
dtruss DTrace版のtruss(1)。内容はtruss(1)簡易版ですが、Dスクリプトの参考として有効です
dvmstat DTrace版のvmstat(1M)。-p PID指定でPIDごとのVM情報が取れます
errinfo sytemのerror messageを表示します
execsnoop このコマンド起動以降にシステム上で起動された実行プログラムを表示します
hotkernel カーネルレベルのfunctionあるいはmoduleの使用頻度を表示します
hotuser 特定PIDにおけるユーザーレベルのfunctionまたはlibraryの使用頻度を表示します
iopattern DiskのI/Oアクセスのパターンを出力します
iosnoop Disk I/Oアクセスのすべてのイベントを出力します
iotop プロセスごとのDisk I/Oイベントを表示します
opensnoop このコマンド起動以降にopenされたファイルをすべて表示します。特定ファイルの監視も可能です
procsystime あるプロセスのシステムコール時間をすべて表示します
rwsnoop すべてのread/writeイベントを表示します
rwtop プロセスごとのread/writeイベントを表示します
statsnoop file statのsnoopを行います
表2 /opt/DTT/ディレクトリ下の主要なツール

DTraceの可能性

 今回はDTraceによるトラブルシューティングの例を紹介しました。「かゆいところに手が届く」DTraceの可能性をご理解いただけましたでしょうか。

 DTraceはまだまだ発展途上にあります。ユーザーがより簡単に、また、作成したDスクリプトで安定してトレースが行えるように、より安定したDTraceプロバイダの提供が待たれています。

 OpenSolarisでは、Solaris 10以降の拡張として、XOrg、PostgreSQL、Java、JavaScript、Mozilla、PHP、Ruby、NFS、iSCSIなどにプロバイダの対応が広がりました。さらに、Network(tcp/ip)やxpv(xVM)プロバイダ対応も予定されており、今後の拡張が期待されています。

連載の最後に

 7回にわたって「OpenSolarisでサーバ構築」を連載してきました。この連載は、ブログサーバの導入と運用というテーマで、具体的な設定手順や運用方法を解説しながらOpenSolarisプロジェクトやOpenSolaris上の特徴的な機能を紹介しています。

 今回連載したブログサーバ構築は、サーバ構築の一例にしかすぎませんが、OpenSolarisの特徴的な機能が、サーバ構築に有効に働くことを説明しました。

 オープンソースのOpenSolarisプロジェクトが発足して、約3年がたちました。ソースコードや仕様、バグなどの情報のオープン化は進み、誰もが自由に参加できるセミナーやメーリングリストによるディスカッションなど、OpenSolarisのコミュニティは、ますます盛んになっています。

 また、本稿連載中に重要な進展もありました。連載第1回で「Project Indiana」として紹介されたOpenSolarisの新しいバイナリ・ディストリビューションも、「OpenSolaris 2008.05」という正式名称で、ユーザー用の新しいポータルサイト「opensolaris.com」から配布が開始されました。

 本連載が、OpenSolarisを始める方やサーバ構築のために少しでも手助けになれば幸いです。

前のページ
4/4

Index
OpenSolarisでサーバ構築
第7回 DTraceでトラブルシューティング
  Page 1
DTraceの概要
DTraceによるブログサーバのモニタリング
  Page 2
Javaアプリケーションを詳細にトレース
統計情報でシステム全体の状態を把握
  Page 3
MySQLサーバのトレース
Page 4
拡張可能な「DTraceツールキット」
DTraceの可能性
連載の最後に

Linux Square全記事インデックス


 Linux Squareフォーラム サーバ構築・運用関連記事
連載:Heartbeatでかんたんクラスタリング(連載中)
オープンソースソフトウェアの「Heartbeat」を使ってHAクラスタを実現し、サービスを「落とさない」仕組みを実現します
特集:Apache 2.2でWebサイトをパフォーマンスアップ!
最新安定版Apache 2.2は、何が変わったのか? 最新のApacheを新機能の使い方とともに解説する
連載:実用 Apache 2.0運用・管理術(全8回)
本連載では、Apache 2.0の運用や管理方法を解説する。まず必須設定と基本的なセキュリティ対策を行い今後の運用に備える
連載:実用 BIND 9で作るDNSサーバ(全15回)
本連載では、BIND 9の構築/運用方法を解説していく。実際に役立つことを目的に、セキュリティや大規模運用などのテーマを取り上げていく
連載:実用qmailサーバ運用・管理術(全14回)
本連載を通して、qmailによるメールサーバの高度な構築・運用・管理術を紹介。SPAM対策やML管理からサーバでのウイルスチェックなどまで
特集:Samba 3.0の全貌 改訂版
Samba 3.0リリースから8カ月。ここであらためて、Samba 3.0系列の新機能、インストール方法、国際化の現状を解説する

MONOist組み込み開発フォーラムの中から、Linux関連記事を紹介します

TechTargetジャパン

Linux Square フォーラム 新着記事

@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

RSSフィード

キャリアアップ



- PR -
@IT Sepcial

イベントカレンダー

PickUpイベント

- PR -
もっと見る
- PR -

お勧め求人情報

ホワイトペーパーTechTargetジャパン

@IT Sepcial
ソリューションFLASH