原文では、DTraceをdtrace/Dtraceと記載していますが、後日エントリの筆者が訂正していますので、ここではDTraceとして表記します。
Oracle OpenWorldで発表したDTrace for Linuxについてもうちょっと情報をお伝えしたいと思います。
今回DTraceのプレビュー版をリリースしましたが、まだ全ての機能が出揃っていませんので、新しい機能を追加するごとにアップデートを提供する予定です。
DTraceは、Oracle Linuxのサポート加入者であればご利用頂けますが、以下の作業が必要です。
- 貴社のシステムをUnbreakable Linux Network (ULN) に登録
- Oracle Linux 6 + Unbreakable Enterprise Kernelを実行
- DTraceチャンネル(ol6_x86_64_Dtrace_BETA)を使用してサーバーを登録
- UEK 2.6.32のアップデートバージョンとDTraceカーネルモジュール、ユーザースペースのプログラムのインストール
- 実行
- サーバー上でuln_registerをrootユーザーとして実行し、ULNにサーバーを登録する。その際、シングルサインオンID、パスワードおよびOracleのLinuxサポートID(CSI)の入力が必要。
- システム登録後、ULNのWebサイトにログインし、Systemsをクリック、登録したばかりのサーバ(複数可)を確認
- サーバをクリックし、Manage Subscriptionsを参照
- 利用中のサーバにDTrace for Oracle Linux 6チャンネルを追加し、[Save]をクリック
- サーバのバックエンドで、yum repolistを入力して全て正常に動作していれば、ol6_x86_64_Dtrace_BETA が表示されるはずなので、確認しておく
- 必要なパッケージをインストール
- yum install dtrace-modules
- yum install dtrace-utils
- yum install kernel-uek-2.6.32-201.0.4.el6uek
- DTrace ULNチャネルから指定のカーネルをインストール
- 再起動して新しいカーネルに移行
- カーネルモジュールをロードする。
modprobe dtrace
modprobe systrace
dtrace -n 'syscall::open*:entry/execname == "oracle"/{ printf("%s %s", execname, copyinstr(arg0)); }'この例は、どんなファイルをoracleが開いているかを表示します。
もっと多くの機能がでてきますが、とりあえずみたいという既存のお客様のために、チェックしてみましょう。 カーネル 2.6.32-201.0.4 のソースはULNで利用可能で、DTraceカーネルモジュールのソースは、CDDLライセンスに基づいており、これもULNで利用可能です。userspaceツールはもあります。UEK2ベータ版のカーネル用DTraceはまだありませんが、UEK2ベータカーネルのアップデートで出てくる予定です。現在、実行時にプローブ/プロバイダを「切り張り」する、Kspliceテクノロジーが利用できるか検証中です。うまく行けば、余分なコードなしでカーネルを実行できるようになるでしょう。DTraceを有効にしたければ、まずはKSplice DTraceのアップデートをして、DTraceを実行し、事後にアンロードしましょう。しかし、ここで鍵になるのは、単語のEVALUATEです:)。
[簡単な例]
# dtrace -n 'syscall::open*:entry/execname == "oracle"/{ printf("%s %s", execname, copyinstr(arg0)); }'
dtrace: description 'syscall::open*:entry' matched 2 probes CPU ID FUNCTION:NAME 2 8 open:entry oracle /proc/2672/stat 2 8 open:entry oracle /proc/2674/stat 2 8 open:entry oracle /proc/2678/stat 2 8 open:entry oracle /proc/2682/stat 2 8 open:entry oracle /proc/2686/stat 2 8 open:entry oracle /proc/2688/stat 2 8 open:entry oracle /proc/2690/stat 2 8 open:entry oracle /proc/2692/stat 2 8 open:entry oracle /proc/2694/stat 3 8 open:entry oracle /proc/loadavg 1 8 open:entry oracle /u01/app/oracle/oradata/XE/system.dbf
原文はこちら。
http://blogs.oracle.com/wim/entry/trying_out_dtrace
0 件のコメント:
コメントを投稿