この章では、Oracle Traffic Directorの監視機能について説明します。内容は次のとおりです。
表14-1は、構成のインスタンス、およびインスタンス内の個々の仮想サーバーについての統計データの表示に使用できる方法を示しています。
表14-1 Oracle Traffic Directorインスタンスの監視方法
監視方法 | 要件 | 利点 |
---|---|---|
WLST
「WLSTを使用した統計の表示」および「DMSを使用した監視」を参照してください。 |
管理サーバーが実行されている必要があります。 |
デフォルトで有効になっています。 リクエスト処理スレッドがハング中でもアクセス可能です。 |
ブラウザ
「ブラウザを使用したstats-xmlおよびperfdumpレポートの表示」を参照してください。 |
明示的に有効化し構成する必要があります。 「統計レポートへのURIアクセスの構成」を参照してください。 |
管理サーバーが稼働している必要はありません。インスタンスが実行中であれば十分です。 |
SNMP |
明示的に構成する必要があります。 「SNMPを使用した監視」を参照してください。 |
ネットワーク管理システムを介して統計を使用できます。 |
Oracle Traffic Director構成の作成時、統計収集はデフォルで有効化され、更新の間隔は5秒に設定されます。Fusion Middleware ControlまたはWLSTのいずれかを使用して、統計収集を無効化、有効化および構成できます。
注意:
WLSTの起動の詳細は、「WebLogic Scripting Toolへのアクセス」を参照してください。
Fusion Middleware Controlを使用した統計収集設定の構成
Fusion Middleware Controlを使用して統計収集設定を構成するには、次を実行します。
WLSTを使用した統計収集設定の構成
現在の統計収集プロパティを表示するには、次の例に示すように、otd_getStatsProperties
コマンドを実行します。
props = {} props['configuration'] = 'foo' otd_getStatsProperties(props)
統計収集プロパティを構成するには、otd_setStatsProperties
コマンドを実行します。
たとえば、次のコマンドでは、構成で統計が更新される間隔が10秒に変更されます。
props = {} props['configuration'] = 'foo' props['interval'] = '10' otd_setStatsProperties(props)
詳細は、Oracle Traffic Director WebLogic Scripting Toolコマンド・リファレンスのotd_getStatsProperties
およびotd_setStatsProperties
コマンドを参照してください。
「Oracle Traffic Directorインスタンスの監視方法」の説明に従い、WLSTを使用したアクティビティ統計の表示に加えて、URIを介して次のレポートを表示できます。
stats-xml
: XML形式での詳細統計。サンプルは、「XML (stats-xml)レポートのサンプル」を参照してください。
perfdump
: stats-xml
レポートのデータのサブセットを含むプレーンテキスト形式のサマリー・レポート。サンプルは、「プレーンテキスト(perfdump)レポートのサンプル」を参照してください。仮想サーバー・レベルでperf-dump
レポートを有効化することで、このレポートのデータがインスタンス・レベルで集計されます。
統計レポートへのURIベースのアクセスとWLSTによるアクセスのそれぞれの利点
URIを介してstats-xml
およびperfdump
レポートにユーザーがアクセスする場合、管理サーバーが実行中である必要がありません。WLSTを使用して統計にアクセスする場合と比較して、URIベースのレポートへのアクセスは、処理のオーバーヘッドを低く抑えられます。
WLSTを使用した統計へのアクセスはデフォルトで有効化されていますが、ブラウザを介して統計を表示するには、URIベースのレポートを明示的に有効にし、ユーザーがそのレポートにアクセスできるURIを指定します。
Fusion Middleware ControlまたはWLSTのいずれかを使用して、統計のURIベースのレポートを構成できます。
Fusion Middleware Controlを使用した統計へのURIアクセスの構成
Fusion Middleware Controlを使用してURIベースのレポートを構成するには、次を実行します。
WLSTを使用したXML形式の統計へのURIアクセスの構成
現在のXMLレポート設定を表示するには、次の例に示すように、otd_getStatsXmlProperties
コマンドを実行します。
props = {} props['configuration'] = 'foo' props['virtual-server'] = 'bar' otd_getStatsXmlProperties(props) enabled=false uri=/stats-xml
URIベースのXMLレポートを有効にして構成するには、otd_enableStatsXml
コマンドを実行します。
たとえば、次のコマンドでは、構成foo
の仮想サーバーbar
に対して、XML形式でのURIベースの統計レポートが有効化され、レポートがURI/stats
で使用可能になります。
props = {} props['configuration'] = 'foo' props['virtual-server'] = 'bar' props['uri'] = '/stats' otd_enableStatsXml(props)
URIベースのXMLレポートを無効にするには、次の例に示すように、otd_disableStatsXml
コマンドを実行します。
props = {} props['configuration'] = 'foo' props['virtual-server'] = 'bar' otd_disableStatsXml(props)
WLSTを使用したプレーン・テキスト形式の統計へのURIアクセスの構成
プレーンテキスト・レポート設定を表示するには、次の例に示すように、otd_getPerfDumpProperties
コマンドを実行します。
props = {} props['configuration'] = 'foo' props['virtual-server'] = 'bar' otd_getPerfDumpProperties(props)
プレーンテキスト・レポートを有効にして構成するには、otd_enablePerfDump
コマンドを実行します。
たとえば、次のコマンドでは、構成foo
の仮想サーバーbar
に対して、プレーン・テキスト形式でのURIベースの統計レポートが有効化され、レポートがURI/perf
で使用可能になります。
props = {} props['configuration'] = 'foo' props['virtual-server'] = 'bar' props['uri'] = '/perf' otd_enablePerfDump(props)
URIベースのプレーンテキスト・レポートを無効にするには、次の例に示すように、otd_disablePerfDump
コマンドを実行します。
props = {} props['configuration'] = 'foo' props['virtual-server'] = 'bar' otd_disablePerfDump(props)
この項で説明したWLSTコマンドの詳細は、『Oracle Traffic Director WebLogic Scripting Toolコマンドライン・リファレンス』を参照してください。
WLSTを使用して、構成の1つまたはすべてのインスタンスの統計を表示できます。
インスタンスの詳細統計をXML形式で表示するには、次の例に示すように、otd_getStatsXml
コマンドを実行します。
props = {} props['instance'] = 'otd_foo_machine1' otd_getStatsXml(props)
レポートのサンプルは、「XML (stats-xml)レポートのサンプル」を参照してください。
インスタンスの統計サマリーをプレーンテキスト形式で表示するには、次の例に示すように、otd_getPerfDump
コマンドを実行します。
props = {} props['instance'] = 'otd_foo_machine1' otd_getPerfDump(props)
レポートのサンプルは、「プレーンテキスト(perfdump)レポートのサンプル」を参照してください。
Oracle Dynamic Monitoring Service (DMS)によって収集されたメトリック表を使用して、構成の1つまたはすべてのインスタンスの統計を表示するには、次の例に示すように、displayMetricTables
コマンドを実行します。Oracle Dynamic Monitoring Service (DMS)の詳細は、「DMSを使用した監視」を参照してください
すべてのOracle Traffic Directorインスタンスのメトリックを表示するには:
displayMetricTables('OTD_*')
すべてのインスタンスのオリジン・サーバー・メトリックを表示するには:
displayMetricTables('OTD_OriginServer')
特定のインスタンスのメトリック表のリストを取得するには:
displayMetricTableNames(servers='/OTD/otd_test_myserver.example.com')
特定のインスタンスのすべてのメトリックを表示するには:
displayMetricTables(servers='/OTD/otd_test_myserver.example.com')
特定のインスタンスのインスタンス・メトリックを表示するには:
displayMetricTables('OTD_Instance', servers='/OTD/otd_test_myserver.example.com')
この項で説明したWLSTコマンドの詳細は、『Oracle Traffic Director WebLogic Scripting Toolコマンドライン・リファレンス』を参照してください。
「統計レポートへのURIアクセスの構成」の説明に従ってURIアクセスを有効にすると、次のURLを使用し、ブラウザを介してstats-xml
およびperfdump
レポートにアクセスできます。
http://host:port/uri
host
およびport
は、統計へのURIアクセスを有効化した仮想サーバーのIPアドレス(またはホスト名)およびポート番号です。uri
は、URIアクセスを有効化するときに指定した場所です。仮想サーバーが複数のリスナーに関連付けられている場合、任意のリスナーのアドレスhost:port
を使用してURIベースのレポートにアクセスできます。
たとえば、/perfdump
が、仮想サーバーsoa.example.com:1904
のプレーンテキスト・レポート用に構成されたURIである場合、レポートのアクセスに使用する必要があるURLは次のようになります。
http://soa.example.com:1904/perfdump
次の例に示すように、ブラウザでperfdump
レポートを自動的にリフレッシュする間隔(秒数)をURL内に指定することもできます。
http://soa.example.com:1904/perfdump?refresh=5
同様に、/stats-xml
が、仮想サーバーsoa.example.com:1904
のXMLレポート用に構成されたURIである場合、XMLレポートのアクセスに使用する必要があるURLは次のようになります。
http://soa.example.com:1904/stats-xml
表示させない要素を指定するURL問合せ文字列を指定することで、XMLレポートに表示されるデータを制限できます。問合せ文字列を含めない場合、XMLレポート内のすべての要素が表示されます。
たとえば、次のURLに指定された問合せ文字列では、XMLレポートでvirtual-server
およびserver-pool
要素が表示されなくなります。
http://soa.example.com:1904/stats-xml?virtual-server=0&server-pool=0
次のリストは、統計XMLレポート内の要素の階層を示しています。レポート内で要素を表示しないように選択した場合、その要素の子要素も表示されなくなることに注意してください。
stats server process connection-queue thread-pool dns keepalive thread request-bucket profile-bucket compression decompression origin-server-pool origin-server websocket service-queue virtual-server request-bucket websocket webapp-firewall profile-bucket route request-bucket cpu-info tcp-proxy cache failover partition request-bucket ssl-session-cache
Simple Network Management Protocol (SNMP)は、ネットワーク内のデバイスの管理を、リモート・システムで実行されているネットワーク管理アプリケーションから行えるようにするための標準プロトコルです。たとえば、ネットワーク管理アプリケーションには、任意の時点でネットワーク内のどのサーバーが稼働中または停止中であるか、また受信したエラー・メッセージの数およびタイプなどが示されます。
Oracle Traffic Directorインスタンスは、デフォルトではSNMPを使用して監視されます。これを可能にするには、次の操作を行う必要があります。
SNMPを介した監視をサポートするようにインスタンスを構成します。
ノードでSNMPサブエージェントを構成します。
ノードでSNMPサブエージェントを起動します。
この項では、次の項目について説明します。
構成の作成時、SNMPを介したインスタンスの監視サポートはデフォルトで有効化されます。Fusion Middleware ControlまたはWLSTのいずれかを使用して、SNMPによる監視のサポートを無効化、有効化および構成できます。
Fusion Middleware Controlを使用したSNMPサポートの構成
Fusion Middleware Controlを使用してSNMPサポートを有効にするには、次を実行します。
WLSTを使用したSNMPサポートの構成
構成の現在のSNMP設定を表示するには、次の例に示すように、otd_getSnmpProperties
コマンドを実行します。
props = {} props['configuration'] = 'foo' otd_getSnmpProperties(props)
SNMPはデフォルトで有効になっています。SNMPサポートを有効または無効にするには、次の例に示すように、otd_setSnmpProperties
コマンドを実行します。
props = {} props['enabled'] = 'true' props['organization'] = 'bar' otd_setSnmpProperties(props)
詳細は、otd_getSnmpPropertiesおよびotd_setSnmpPropertiesコマンド、Oracle Traffic Director WebLogic Scripting Toolコマンド・リファレンスを参照してください。
Oracle Traffic Directorノードを作成するときに、SNMPサブエージェントは自動的に作成されます。SNMPサブエージェントにより、ノードで実行中のインスタンスについての情報が収集されます。
SNMPサブエージェントの構成設定(サブエージェントにより統計が更新される頻度、キャッシュされた統計がタイムアウトになるまでの時間、サブエージェント・プロセスの通信ポートなど)は、次のファイルに格納されます。
SNMP構成ファイルは、<domain-home>/config/fmwconfig/components/OTD/snmp/config/snmpagt.conf
にあります
SNMP永続ファイルは、<domain-home>/config/fmwconfig/components/OTD/snmp/store/snmpagt.conf
にあります
snmpagt.conf
ファイルを編集して、SNMPサブエージェントの設定を構成できます。「SNMPサブエージェント構成パラメータ」では、重要なSNMPサブエージェントのパラメータを示します。
表14-2 SNMPサブエージェント構成パラメータ
smnpagt.conf内のパラメータ | 説明 | デフォルト値 |
---|---|---|
|
SNMPサブエージェントがリクエストを受信するポート |
11161 |
|
統計の更新頻度(秒) |
5 |
|
キャッシュ・タイムアウト時間(秒) |
5 |
snmpagt.conf
内のエントリの構文は、http://www.net-snmp.org/docs/man/snmpd.conf.html
にあるsnmpd.conf
のドキュメントにある説明に従う必要があります。
ノードでSNMPサブエージェントを構成した後、これを起動する必要があります。その後、サブエージェントにより、ノード上のOracle Traffic Directorインスタンスについての統計の収集が開始されます。
Oracle Traffic Directorをフレッシュ・インストールしたシステムでは、SNMP v3ユーザーおよびアクセス制御は、デフォルトでは構成されません。SNMPを介してサーバー・ステータスを問い合せる前に、ユーザーを追加し、アクセス制御を構成する必要があります。
SNMP v3ユーザーの追加
SNMPエージェントを停止し、SNMP構成ファイルを手動で変更してSNMP v3ユーザーを追加します。オプションで、すべてのリクエストおよびレスポンスの暗号化を有効にします。
永続ファイル: <domain-home>/config/fmwconfig/components/OTD/snmp/store/ snmpagt.conf |
---|
エントリを次の形式で追加することにより、ユーザーを追加できます。
|
SHAは認証パスワードの暗号化です
DESおよびAESは暗号化プロトコルです
privpassphraseは、SNMPのリクエストおよびレスポンスを暗号化するパスワードです
例:
ユーザー'user1'を作成し、認証に使用するパスワードを指定します
createUser user1 SHA user1pwd
ユーザー'user2'を作成し、すべてのリクエストおよびレスポンスを暗号化します。
createUser user2 SHA user2pwd AES
ユーザー'user3'を作成し、別々の暗号化パスワードですべてのリクエストおよびレスポンスを暗号化します
createUser user3 SHA user3pwd AES cryptpwd
構成ファイル: <domain-home>/config/fmwconfig/components/OTD/snmp/config /snmpagt.conf |
---|
SNMPユーザーのアクセス権を指定するには、次の形式でエントリを追加します。
|
rouserは読取り専用アクセス権です。認証と暗号化を次のように指定できます。
noauth: 認証されていないリクエストを許可します
auth: authpassphraseとユーザー名の認証を強制します
priv: 暗号化の使用を強制します
SNMP v3ユーザーを追加したら、SNMPエージェントを1回、起動および停止する必要があります。SNMPエージェントを停止すると、「createUser」行に指定したユーザー認証パラメータが暗号化され、永続ファイルに保存されます。
SNMPエージェントおよび1つ以上のOTDインスタンスが実行されていることを確認します。<user-name>および<auth-password>を使用すると、SNMP v3を介してSNMPエージェントに問い合せることができます。
snmpwalkコマンドを実行します。ユーザーは、リモート・ホストからsnmpcmdを実行できます。
snmpcmd(snmpwalk/snmpget) |
---|
snmpwalkの例
|
SNMP v3ユーザーの削除
ユーザーを削除するには、構成ファイルと永続ファイルの両方から関連ユーザーのエントリを削除し、SNMPエージェントを再起動します。
SNMPとマスター・エージェントの統合
Oracle Traffic DirectorのSNMPは、agentx
プロトコルを使用して、LinuxおよびSolarisシステムで実行されているSNMPマスター・エージェントと統合できます。これには、agentx
モードでSNMPを起動する必要があります。このモードで実行する場合、Oracle Traffic DirectorのSNMPエージェントはSNMPプロトコルを介して通信することはできません。すべてのリクエストはSNMPマスター・エージェントに対して行う必要があり、agentx
プロトコルを介してSNMPエージェントからリクエストした情報を取得します。Oracle Traffic DirectorのSNMPに対するデフォルトのagentx
トランスポート指定子は、次のように指定します。トランスポート指定子は、snmpd.confのmanページの説明に従って変更できます。
agentxトランスポート指定子 |
---|
|
agentx
プロトコルを介してサブエージェントと通信するように、オペレーティング・システムのマスター・エージェントを構成します。これには、マスター・エージェントの構成に対して次の変更を加える必要があります(Linux上の/etc/snmp/snmpd.confおよびSolaris上の/etc/net-snmp/snmp/snmpd.conf)。この変更を行った後に、マスター・エージェントを再起動する必要があります。
マスター・エージェントの構成(snmpd.conf)に追加する必要のあるディレクティブ |
---|
|
マスター・エージェントの構成を変更するには、スーパーユーザー権限が必要です。
agentxsocketディレクティブは、OTD SNMPエージェントとOSマスター・エージェントの両方で同じである必要があります。
SNMPエージェントをagentxモードで起動します。
OTD SNMPエージェントを起動するWLSTコマンド |
---|
オンライン
オフライン
|
SNMPリクエストをオペレーティング・システムのマスター・エージェントに直接送信します。
トラップ通知の構成
Oracle Traffic DirectorのSNMPエージェントは、インスタンスが起動または停止したときに常にSNMPトラップ通知を生成することもできます。この通知は、<domain-home>/config/fmwconfig/components/OTD/snmp/config/snmpagt.conf
にある構成ファイルで指定された1つ以上の宛先に送信できます。 snmpagt.confでトラップ宛先を指定する例 |
---|
SNMPv1トラップの送信
|
SNMPv2トラップの送信
|
リモート側が確認する必要があるSNMPv2通知の送信
|
認証のないSNMPv3トラップの送信
|
完全なSNMPv3セキュリティを備えたSNMPv3通知の送信
|
これらのディレクティブの詳細は、manページを参照してください。
WLSTコマンドを使用して、ノード上のSNMPサブエージェントを起動および停止できます。
WLSTを使用したSNMPサブエージェントの起動および停止
SNMPサブエージェントを1つまたは複数のノードで起動するには、次の例に示すように、otd_startSnmpSubAgent
コマンドを実行します。
# Online props = {} props['machine-name'] = 'abc123.example.com' otd_startSnmpSubAgent(props) # Offline props = {} props['domain-home'] = '/export/domains/otd_domain' otd_startSnmpSubAgent(props)
SNMPサブエージェントを1つまたは複数のノードで停止するには、次の例に示すように、sotd_stopSnmpSubAgent
コマンドを実行します。
# Online props = {} props['machine-name'] = 'host.example.com' otd_stopSnmpSubAgent(props) # Offline props = {} props['domain-home'] = '/export/domains/otd_domain' otd_stopSnmpSubAgent(props)
この項で説明したカスタムWLSTコマンドの詳細は、『Oracle Traffic Director WebLogic Scripting Toolコマンドライン・リファレンス』を参照してください。
Net-SNMPアプリケーション・スイート(http://www.net-snmp.org
)で使用可能なsnmpwalk
コマンドライン・ユーティリティを使用して、SNMPサブエージェントが収集した統計を表示できます。
注意:
snmpwalk
を使用するための前提条件は、次のとおりです。
Linuxの場合: コンテンツsnmpwalkパッケージnet-snmp-utils-5.3.2.2-9.0.1.el5_5.1
RPM以上および標準のMIBパッケージnet-snmp-5.3.2.2-9.0.1.el5_5.1
RPM以上がインストールされていることを確認してください。
Solarisの場合: system/management/snmp/net-snmp
にあるパッケージがインストールされていることを確認してください。このパッケージにはコンテンツsnmpwalkと標準MIBが含まれています。
デフォルト値の設定によるコマンドの簡素化
snmpwalk
のほとんどのオプションは、snmpwalk
の使用前に~/.snmp/snmp.conf
にあるsnmp.conf
ファイルで設定できます。
snmp.conf
でオプションを設定しておくと、snmpwalk
コマンドを実行するときにsnmp.conf
で設定済のオプションを指定する必要がないため便利です。snmp.conf
では次のオプションを設定できます。
デフォルト・オプション | |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
デフォルト値を設定したsnmpwalk |
---|
|
snmpwalkの出力
snmpwalk
コマンドを実行すると、次のように出力されます。
ORACLE-TRAFFICDIRECTOR-MIB::originServerName.1.1.0 = STRING:
http://example.us.oracle.com:4000
ORACLE-TRAFFICDIRECTOR-MIB::originServerType.1.1.0 = STRING: generic
(Oracle-iPlanet-Web-Server/7.0)
ORACLE-TRAFFICDIRECTOR-MIB::originServerStatus.1.1.0 = INTEGER: online(1)
ORACLE-TRAFFICDIRECTOR-MIB::originServerDiscoveredStatus.1.1.0 =
INTEGER: false(2)
ORACLE-TRAFFICDIRECTOR-MIB::originServerRampedupStatus.1.1.0 = INTEGER:
true(1)
ORACLE-TRAFFICDIRECTOR-MIB::originServerBackupStatus.1.1.0 = INTEGER:
active(1)
ORACLE-TRAFFICDIRECTOR-MIB::originServerTimeOnline.1.1.0 = Counter64:
1566 seconds
ORACLE-TRAFFICDIRECTOR-MIB::originServerCountDetectedOffline.1.1.0 =
Counter32: 0
ORACLE-TRAFFICDIRECTOR-MIB::originServerCountBytesTransmitted.1.1.0 =
Counter64: 0
ORACLE-TRAFFICDIRECTOR-MIB::originServerCountBytesReceived.1.1.0 =
Counter64: 0
ORACLE-TRAFFICDIRECTOR-MIB::originServerCountActiveConnections.1.1.0 =
Gauge32: 0
ORACLE-TRAFFICDIRECTOR-MIB::originServerCountIdleConnections.1.1.0 =
Gauge32: 2
ORACLE-TRAFFICDIRECTOR-MIB::originServerCountActiveStickyConnections.1.1.0
= Gauge32: 0
ORACLE-TRAFFICDIRECTOR-MIB::originServerCountClosedConnections.1.1.0 =
Counter64: 100
ORACLE-TRAFFICDIRECTOR-MIB::originServerCountClosedConnectionsByOriginServer.1.1.0
= Counter64: 0
ORACLE-TRAFFICDIRECTOR-MIB::originServerCountConnectAttempts.1.1.0 =
Counter64: 102
ORACLE-TRAFFICDIRECTOR-MIB::originServerCountConnectFailures.1.1.0 =
Counter64: 0
ORACLE-TRAFFICDIRECTOR-MIB::originServerCountRequestsAborted.1.1.0 =
Counter64: 0
ORACLE-TRAFFICDIRECTOR-MIB::originServerCountRequestsTimedout.1.1.0 =
Counter64: 0
ORACLE-TRAFFICDIRECTOR-MIB::originServerCountRequests.1.1.0 = Counter64: 0
ORACLE-TRAFFICDIRECTOR-MIB::originServerCountHealthCheckRequests.1.1.0 =
Counter64: 102
ORACLE-TRAFFICDIRECTOR-MIB::originServerCountStickyRequests.1.1.0 =
Counter64: 0
ORACLE-TRAFFICDIRECTOR-MIB::originServerDynamicWeight.1.1.0 = STRING: 1.00
ORACLE-TRAFFICDIRECTOR-MIB::originServerSecondsKeepAliveTimeout.1.1.0 =
Counter64: 0 seconds
ORACLE-TRAFFICDIRECTOR-MIB::originServerMillisecondsConnectionActiveAverage.1.1.0
= STRING: milliseconds
ORACLE-TRAFFICDIRECTOR-MIB::originServerServerPoolName.1.1.0 = STRING:
origin-server-pool-1
ORACLE-TRAFFICDIRECTOR-MIB::originServerInstanceName.1.1.0 = STRING:
otd_test_partha-Latitude-E7440
ORACLE-TRAFFICDIRECTOR-MIB::originServerRequests1MinuteAverage.1.1.0 =
STRING: 0
ORACLE-TRAFFICDIRECTOR-MIB::originServerRequests5MinuteAverage.1.1.0 =
STRING: 0
ORACLE-TRAFFICDIRECTOR-MIB::originServerRequests15MinuteAverage.1.1.0 =
STRING: 0
出力内の各行はメトリックの値を示しますが、OIDは数値形式で表示されるため、特定のメトリックの名前を識別するのは困難です。snmpwalk
ユーティリティを使用すると、管理情報ベース(MIB)定義を使用して、数値のOIDをテキスト名に解決できます。Oracle Traffic Directorでは、MIB定義ファイルは、次のディレクトリにあります。
ORACLE_HOME/lib/snmp/ORACLE-TRAFFICDIRECTOR-MIB.txt
特定の統計の問合せに使用できるSNMP MIBオブジェクト名のリストは、「Oracle Traffic Directorで追跡されるメトリック」を参照してください。
snmpwalk
の詳細は、http://www.net-snmp.org/docs/man/snmpwalk.html
にあるドキュメントを参照してください。
Oracle Dynamic Monitoring Service (DMS)では、パフォーマンス・メトリックを測定およびレポートし、パフォーマンスをトレースするJavaおよびCのAPIセットが提供され、Fusion Middlewareおよびその他のOracle製品用のコンテキスト相関サービスが提供されます。このAPIとは別に、DMSでは、アプリケーション開発者、サポート・アナリスト、システム管理者、その他のユーザーが、アプリケーション固有のパフォーマンス情報を測定できるインタフェースが提供されます。
OTD用のDMSメトリックは、メトリック表のセットとして使用できます(「DMSメトリック表」を参照)。監視データは、単一のコンポーネント・メトリックMBeanを介してDMSに公開されます。DMSがOTDインスタンスのデータの監視をリクエストすると、指定されたOTDインスタンスから統計情報を取得するため、対応するノード・マネージャでプラグイン(MetricsPlugin
)が起動されます。このプラグインは、監視データを取得するために、ネイティブのOTDインタフェースを介してOTDインスタンスと通信します。ノード・マネージャから返された監視データは5秒間管理サーバーにキャッシュされ、その間、DMSからのすべての監視データのリクエストはキャッシュのデータを利用して処理されます。
DMSのメトリックは、DMSスパイ・サーブレットやOracle Fusion Middleware Controlなど、様々なインタフェースを使用して表示できます。また、DMSのカスタムWLSTコマンドを使用してメトリックを表示することもできます。詳細は、『インフラストラクチャ・コンポーネントのためのWLSTコマンド・リファレンス』のDMSのカスタムWLSTコマンドに関する項を参照してください。
例14-1 DMSのカスタムWLSTコマンドを使用したDMSメトリックの表示
# View metrics for all OTD instances displayMetricTables('OTD_*') # View origin server metrics for all instances displayMetricTables('OTD_OriginServer') # Get list of metric tables for a specific instance displayMetricTableNames(servers='/OTD/otd_test_myserver.example.com') # View all metrics for a specific instance displayMetricTables(servers='/OTD/otd_test_myserver.example.com') # View instance metrics for a specific instance displayMetricTables('OTD_Instance', servers='/OTD/otd_test_myserver.example.com') # Dump all metrics for a specific instance dumpMetrics(servers='/OTD/otd_test_myserver.example.com')
この項では、otd_getStatsXml
コマンドを使用して、またはURIを介して表示できる、XML形式での統計レポートのサンプルを示します。詳細は、「WLSTを使用した統計の表示」および「ブラウザを使用したstats-xmlおよびperfdumpレポートの表示」を参照してください。
このサンプル・レポートに示されている値は、意味のないものである場合があることに注意してください。このサンプル・レポートは、単にレポートに含まれるメトリック、およびレポートの形式や構造の概要を示すことを目的にしています。
<?xml version="1.0" encoding="utf-8"?> <stats versionMajor="1" versionMinor="3" flagEnabled="1"> <server id="otd_test_otd_Machine_1" versionServer="Oracle Traffic Director 12.2.1.2.0 B160911.182037 (Linux)" timeStarted="1475563593" secondsRunning="8209" ticksPerSecond="1000" maxProcs="1" maxThreads="256" flagProfilingEnabled="1" load1MinuteAverage="0.030000" load5MinuteAverage="0.020000" load15MinuteAverage="0.050000" rateBytesTransmitted="7225" rateBytesReceived="1596" requests1MinuteAverage="0.016667" requests5MinuteAverage="0.003333" requests15MinuteAverage="0.000000" errors1MinuteAverage="0.000000" errors5MinuteAverage="0.000000" errors15MinuteAverage="0.000000" responseTime1MinuteAverage="1.000000" responseTime5MinuteAverage="1.000000" responseTime15MinuteAverage="0.000000"> <connection-queue id="cq1"/> <thread-pool id="thread-pool-0" name="NativePool"/> <profile id="profile-0" name="all-requests" description="All requests"/> <profile id="profile-1" name="default-bucket" description="Default bucket"/> <profile id="profile-2" name="cache-bucket" description="Cached responses"/> <process pid="19949" mode="active" timeStarted="1475563593" countConfigurations="3" sizeVirtual="1191404" sizeResident="15788" fractionSystemMemoryUsage="0.0022"> <connection-queue connectionQueueId="cq1" countTotalConnections="9" countQueued="0" peakQueued="1" maxQueued="1536" countOverflows="0" countTotalQueued="9" ticksTotalQueued="1" count Queued1MinuteAverage="0.000000" co untQueued5MinuteAverage="0.000000" countQueued15MinuteAverage="0.000000"/> <thread-pool threadPoolId="thread-pool-0" countIdleThreads="1" countThreads="1" maxThreads="128" countQueued="0" peakQueued="0" maxQueued="0"/> <dns flagCacheEnabled="1" countCacheEntries="0" maxCacheEntries="1024" countCacheHits="0" countCacheMisses="0" flagAsyncEnabled="0" countAsyncNameLookups="0" countAsyncAddrLookups="0" countAsyncLookupsInProgress="0"/> <keepalive countConnections="1" maxConnections="3072" countHits="0" countFlushes="0" countRefusals="0" countTimeouts="0" secondsTimeout="30"/> <compression countRequests="0" bytesInput="0" bytesOutput="0" compressionRatio="0.000000" pageCompressionAverage="0.000000"/> <decompression countRequests="0" bytesInput="0" bytesOutput="0"/> <thread mode="idle" type="sync" asyncState="async-none" timeStarted="1475563593" connectionQueueId="keep-alive"> <request-bucket countRequests="0" countBytesReceived="0" countBytesTransmitted="0" count2xx="0" count3xx="0" count4xx="0" count5xx="0" countOther="0" count200="0" count302="0" count30 4="0" count400="0" count401="0" count403="0" count404="0" count503="0"/> <profile-bucket profile="profile-0" countCalls="0" countRequests="0" ticksDispatch="0" ticksFunction="0"/> <profile-bucket profile="profile-1" countCalls="0" countRequests="0" ticksDispatch="0" ticksFunction="0"/> <profile-bucket profile="profile-2" countCalls="0" countRequests="0" ticksDispatch="0" ticksFunction="0"/> </thread><thread mode="idle" type="sync" asyncState="async-none" timeStarted="1475563593" connectionQueueId="keep-alive"> <request-bucket countRequests="0" countBytesReceived="0" countBytesTransmitted="0" count2xx="0" count3xx="0" count4xx="0" count5xx="0" countOther="0" count200="0" count302="0" count304="0" count400="0" count401="0" count403="0" count404="0" count503="0"/> <profile-bucket profile="profile-0" countCalls="0" countRequests="0" ticksDispatch="0" ticksFunction="0"/> <profile-bucket profile="profile-1" countCalls="0" countRequests="0" ticksDispatch="0" ticksFunction="0"/> <profile-bucket profile="profile-2" countCalls="0" countRequests="0" ticksDispatch="0" ticksFunction="0"/> </thread> <thread mode="response" type="sync" asyncState="async-none" timeStarted="1475563593" function="stats-xml" connectionQueueId="cq1" virtualServerId="test" timeRequestStarted="1475572257009438"> <request-bucket method="GET" uri="/stats-xml" countRequests="5" countBytesReceived="1435" countBytesTransmitted="22730" count2xx="4" count3xx="0" count4xx="0" count5xx="1" countOther="0" count200="4" count302="0" count304="0" count400="0" count401="0" count403="0" count404="0" count503="0"/> <profile-bucket profile="profile-0" countCalls="48" countRequests="5" ticksDispatch="1" ticksFunction="7581"/> <profile-bucket profile="profile-1" countCalls="48" countRequests="5" ticksDispatch="1" ticksFunction="7581"/> <profile-bucket profile="profile-2" countCalls="0" countRequests="0" ticksDispatch="0" ticksFunction="0"/> </thread> <thread mode="idle" type="sync" asyncState="async-none" timeStarted="1475563593" connectionQueueId="cq1"> <request-bucket countRequests="4" countBytesReceived="784" countBytesTransmitted="19544" count2xx="4" count3xx="0" count4xx="0" count5xx="0" countOther="0" count200="4" count302="0" count304="0" count400="0" count401="0" count403="0" count404="0" count503="0"/> <profile-bucket profile="profile-0" countCalls="36" countRequests="4" ticksDispatch="1" ticksFunction="1"/> <profile-bucket profile="profile-1" countCalls="36" countRequests="4" ticksDispatch="1" ticksFunction="1"/> <profile-bucket profile="profile-2" countCalls="0" countRequests="0" ticksDispatch="0" ticksFunction="0"/> </thread> </process> <virtual-server id="test" flagEnabled="1"> <request-bucket method="GET" uri="/.perf" countRequests="9" countBytesReceived="2219" countBytesTransmitted="42274" count2xx="8" count3xx="0" count4xx="0" count5xx="1" countOther="0" count200="8" count302="0" count304="0" count400="0" count401="0" count403="0" count404="0" count503="0"/> <profile-bucket profile="profile-0" countCalls="84" countRequests="9" ticksDispatch="2" ticksFunction="7582"/> <profile-bucket profile="profile-1" countCalls="84" countRequests="9" ticksDispatch="2" ticksFunction="7582"/> <profile-bucket profile="profile-2" countCalls="0" countRequests="0" ticksDispatch="0" ticksFunction="0"/> <webapp-firewall countRequestsIntercepted="0" countRequestsAllowed="0" countRequestsDenied="0" countRequestsDropped="0" countRequestsRedirected="0" countRequestsDenyDetected="0" countRequestsDropDetected="0" countRequestsRedirectDetected="0"/> <websocket countUpgradeRequests="0" countUpgradeRequestsFailed="0" countUpgradeRequestsRejected="0" countActiveConnections="0" countRequestsAborted="0" countRequestsTimedout="0" countBytesReceived="0" countBytesTransmitted="0" millisecondsConnectionActiveAverage="0"/> <route id="default-route" condition="default"> <request-bucket countRequests="2" countBytesReceived="390" countBytesTransmitted="715" count2xx="1" count3xx="0" count4xx="0" count5xx="1" countOther="0" count200="1" count302="0" count304="0" count400="0" count401="0" count403="0" count404="0" count503="0"/> </route> </virtual-server> <server-pool name="origin-server-pool-1" type="http" countRetries="9"> <service-queue countQueued="0" countQueuedHighPriority="0" countQueuedNormalPriority="0" countQueuedLowPriority="0" countQueuedTimedout="0" countTotalQueued="0" countTotalQueuedHighPriority="0" countTotalQueuedNormalPriority="0" countTotalQueuedLowPriority="0" countTotalQueuedSticky="0" countTotalStickyToNonSticky="0" millisecondsQueuedHighPriorityAverage="0" millisecondsQueuedNormalPriorityAverage="0" millisecondsQueuedLowPriorityAverage="0"/> <origin-server name="http://example.us.oracle.com:4000" status="online" flagDiscovered="0" flagRampedUp="1" type="generic (Oracle-iPlanet-Web-Server/7.0)" flagBackup="0" secondsOnline="6774" countDetectedOffline="1" countConnectAttempts="339" countConnectFailures="120" countClosedConnections="218" countConnectionsClosedByOriginServer="0" countActiveConnections="0" countIdleConnections="1" countActiveStickyConnections="0" secondsKeepAliveTimeout="0" countRequestsAborted="0" countRequestsTimedout="0" countStickyRequests="0" countRequests="1" countHealthCheckRequests="218" countBytesTransmitted="508" countBytesReceived="484" weightResponseTime="1.00" requests1MinuteAverage="0.000000" requests5MinuteAverage="0.000000" requests15MinuteAverage="0.000000"> <websocket countUpgradeRequests="0" countUpgradeRequestsFailed="0" countUpgradeRequestsRejected="0" countActiveConnections="0" countRequestsAborted="0" countRequestsTimedout="0" countBytesReceived="0" countBytesTransmitted="0" millisecondsConnectionActiveAverage="0"/> </origin-server> </server-pool> <cache flagEnabled="1" countEntries="0" sizeHeapCache="16580" countContentHits="0" countContentMisses="0" countHits="0" countRevalidationRequests="0" countRevalidationFailures="0"/> <cpu-info cpu="1" percentIdle="99.283209" percentUser="0.501040" percentKernel="0.215751"/> <cpu-info cpu="2" percentIdle="99.234605" percentUser="0.540530" percentKernel="0.224865"/> </server> </stats>
この項では、perfump統計レポートのサンプルを示します。このレポートは、otd_getPerfDump
コマンドを使用して、またはURIを介して表示できます。プレーンテキスト・レポートの表示の詳細は、「WLSTを使用した統計の表示」および「ブラウザを使用したstats-xmlおよびperfdumpレポートの表示」を参照してください。
このサンプル・レポートに示されている値は、意味のないものである場合があることに注意してください。このサンプル・レポートは、単にレポートに含まれるメトリック、およびレポートの形式の概要を示すことを目的にしています。
Oracle Traffic Director 12.2.1.2.0 B160911.182037 (Linux) Server started Mon Oct 03 23:46:32 2016 Process 19949 started Mon Oct 03 23:46:32 2016 ConnectionQueue Current/Peak/Limit Queue Length 0/1/1536 Total Connections Queued 8 Average Queue Length (1, 5, 15 minutes) 0.00, 0.00, 0.00 Average Queuing Delay 0.12 milliseconds HTTP Listener http-listener-1 Address 0.0.0.0:8080 Acceptor Threads 1 Default Virtual Server test KeepAliveInfo KeepAliveCount 0/3072 KeepAliveHits 0 KeepAliveFlushes 0 KeepAliveRefusals 0 KeepAliveTimeouts 0 KeepAliveTimeout 30 seconds SessionCreationInfo Active Sessions 1 Keep-Alive Sessions 0 Keep-Alive threads 2 Active Async Sessions 0 HTTP Sessions current/max 4/258 TCP Sessions current/max 2/2 Cache Cache Enabled yes Object Cache Entries 0 Cache lookup (hits/misses) 0/0 Requests served from Cache 0 Revalidation (successful/total) 0/0 ( 0.00%) Heap space used 16580 Thread Pool NativePool Idle/Peak/Limit 1/1/128 Work Queue Length/Peak/Limit 0/0/0 DNSCacheInfo enabled yes CacheEntries 0/1024 HitRatio 0/0 ( 0.00%) Async DNS disabled Performance Counters Total number of requests 8 Average Request processing time 0.9479 Total Request processing time 7.5830 default-bucket (Default bucket) Counter Name Average Total Percent ------------------------------------------------------------- Number of Requests 8 (100.00%) Number of Invocations 75 (100.00%) Latency 0.0003 0.0020 ( 0.03%) Function Processing Time 0.9476 7.5810 ( 99.97%) Total Response Time 0.9479 7.5830 (100.00%) HTTP Origin Servers Pool-name Host:Port Status ActiveConn IdleConn StickyConn Timeouts Aborted Sticky-Reqs Total-Reqs BytesTrans BytesRecvd ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- origin-server-pool-1 http://example.us.oracle.com:4000 online 0 1 0 0 0 0 1 508 484 TCP Origin Servers No TCP origin servers are configured Sessions Process Session Status Async-state Client Age VS Method URI Function Origin-Server -------------------------------------------------------------------------------------------------------------- 19949 sync response - 148.87.19.37 1 test GET /.perf service-dump/ - TCP Proxy Active Connections 0 Avg Duration 0.00 seconds Requests (timeout/aborted/total) 0/0/0 SSL session cache statistics (global) Total SSL sessions stored since starting: 0 Total SSL sessions expired since starting: 0 Total (pre-expiry) SSL sessions scrolled out of the cache: 0 Total SSL session retrieves since starting: 0 hits, 0 misses Total SSL session removes since starting: 0 hits, 0 misses