検索
連載

DTraceでトラブルシューティングOpenSolarisで始めるブログサーバ構築(最終回)(4/4 ページ)

この連載では、サーバOSとして十数年発展してきた「Solaris」をオープンソース化した「OpenSolaris」を紹介し、ブログサーバ「Roller」と組み合わせて運用していくうえで有用なさまざまな知識を紹介していきます。(編集部)

PC用表示 関連情報
Share
Tweet
LINE
Hatena
前のページへ |       

拡張可能な「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を始める方やサーバ構築のために少しでも手助けになれば幸いです。

Copyright © ITmedia, Inc. All Rights Reserved.

前のページへ |       
ページトップに戻る