Flex Gateway新着情報
Governance新着情報
Monitoring API ManagerAPI ゲートウェイランタイムで動作している Mule アプリケーションからの HTTP API Analytics データをデータベースに保存するように Runtime Manager を設定できます。
サードパーティソフトウェアへのデータの送信は、ローカルサーバーにデプロイされたアプリケーションのみで行えます。 CloudHub にデプロイされたアプリケーションでは使用できません。
このデータを Splunk、ELK、またはその他のサードパーティソフトウェアに送信する方法については、「外部分析ツールへのデータのエクスポート」を参照してください。
次のソフトウェアがインストールされていることを確認してください。
API ゲートウェイスタンドアロンバージョン 2.1.0 以降
Runtime Manager エージェントバージョン 1.3.0 以降
エージェントの更新については、「Runtime Manager エージェントのインストールまたは更新」を参照してください。
使用している Runtime Manager エージェントのバージョンによっては、API Analytics 追跡データベース内部ハンドラーの ZIP ファイルをインストールする必要があります。
次のエージェントバージョンでは、必要な JAR ファイルがエージェントプラグインに含まれているため、ZIP ファイルのインストールは不要です。
1.14.3 以降
2.4.5 以降
次のエージェントバージョンでは、ZIP ファイルを手動でダウンロードしてインストールする必要があります。
1.14.2 以前
2.4.4 以前
ZIP ファイルをインとする手順は次のとおりです。
API Analytics 追跡データベース内部ハンドラーの ZIP ファイル (mule-agent-internal-handlers-db-1.5.1.zip
) をサポートに要求します。
ZIP ファイルを {MULE_HOME}/plugins/mule-agent-plugin/lib/modules
フォルダーに展開します。
最新の Runtime Manager エージェントと API Analytics 追跡データベース内部ハンドラーを API ゲートウェイスタンドアロンサーバーにインストールしたら、{MULE_HOME}/conf/mule-agent.yml
設定ファイルを変更して内部ハンドラーを有効にします。
次の MySQL Server、Oracle、Microsoft SQL Server の設定例では、必須項目は driver
、jdbcUrl
、user
、pass
です。
分析が保存される場所を指定する apiAnalyticsTable
項目も設定できます。
項目 | データ型 | 説明 | 型 | デフォルト値 |
---|---|---|---|---|
|
String (文字列) |
データベースサーバーとの通信に使用される JDBC ドライバー。 |
必須 |
|
|
String (文字列) |
データベースサーバーの JDBC URL。 |
必須 |
|
|
String (文字列) |
データベースサーバーに接続するために使用するユーザー名。 |
必須 |
|
|
String (文字列) |
データベースサーバーに接続するために使用するパスワード。 |
必須 |
|
|
String (文字列) |
エージェントがイベントを保存するテーブルの名前。 |
省略可能 |
|
次の例は、MySQL データベースと連携させるための Runtime Manager エージェントのセットアップ方法を示しています。
CREATE TABLE MULE_API_ANALYTICS (
id CHAR(36) NOT NULL,
api_id INT NOT NULL,
api_name VARCHAR(64) NULL,
api_version VARCHAR(150) NULL,
api_version_id INT NOT NULL,
application_name VARCHAR(42) NULL,
client_id VARCHAR(255) NULL,
client_ip VARCHAR(45) NOT NULL,
event_id VARCHAR(36) NOT NULL,
host_id VARCHAR(255) NULL,
org_id VARCHAR(36) NULL,
path VARCHAR(500) NOT NULL,
policy_violation_policy_id VARCHAR(50) NULL,
policy_violation_policy_name VARCHAR(150) NULL,
policy_violation_outcome VARCHAR(10) NULL,
received_ts VARCHAR(30) NOT NULL,
replied_ts VARCHAR(30) NOT NULL,
request_bytes INT NOT NULL,
request_disposition VARCHAR(10) NOT NULL,
response_bytes INT NOT NULL,
status_code INT NOT NULL,
transaction_id VARCHAR(36) NULL,
user_agent VARCHAR(500) NULL,
verb VARCHAR(8) NOT NULL,
PRIMARY KEY (id)
);
バージョン 2.3.0 より前の Runtime Manager エージェントから移行する場合、スキーマを更新する必要があります。
次の移行スクリプトを使用して、MySQL で policy_violation_policy_id
データ種別を更新できます。
ALTER TABLE MULE_API_ANALYTICS MODIFY policy_violation_policy_id VARCHAR(50) NULL;
次の場所から MySQL JDBC ドライバーをダウンロードします。
ZIP ファイルを抽出します。
mysql-connector-java-{VERSION}.jar
ファイルを {MULE_HOME}/plugins/mule-agent-plugin/lib/modules
にコピーします。
{MULE_HOME}/conf/mule-agent.yml
ファイルを変更して次を含めます。
mule.agent.gw.http.handler.database:
enabled: true
driver: com.mysql.jdbc.Driver
jdbcUrl: jdbc:mysql://192.168.61.128/mule
user: root
pass: test
次の例は、Oracle データベースと連携させるための Runtime Manager エージェントのセットアップ方法を示しています。
CREATE TABLE MULE_API_ANALYTICS (
id CHAR(36) NOT NULL,
api_id INT NOT NULL,
api_name VARCHAR(64) NULL,
api_version VARCHAR(150) NULL,
api_version_id INT NOT NULL,
application_name VARCHAR(42) NULL,
client_id VARCHAR(255) NULL,
client_ip VARCHAR(45) NOT NULL,
event_id VARCHAR(36) NOT NULL,
host_id VARCHAR(255) NULL,
org_id VARCHAR(36) NULL,
path VARCHAR(500) NOT NULL,
policy_violation_policy_id VARCHAR(50) NULL,
policy_violation_policy_name VARCHAR(150) NULL,
policy_violation_outcome VARCHAR(10) NULL,
received_ts VARCHAR(30) NOT NULL,
replied_ts VARCHAR(30) NOT NULL,
request_bytes INT NOT NULL,
request_disposition VARCHAR(10) NOT NULL,
response_bytes INT NOT NULL,
status_code INT NOT NULL,
transaction_id VARCHAR(36) NULL,
user_agent VARCHAR(500) NULL,
verb VARCHAR(8) NOT NULL,
PRIMARY KEY (id)
);
バージョン 2.3.0 より前の Runtime Manager エージェントから移行する場合、スキーマを更新する必要があります。
たとえば、次の移行スクリプトを使用して、Oracle 11g XE で policy_violation_policy_id
データ種別を更新できます。
ALTER TABLE MULE_API_ANALYTICS ADD temp VARCHAR(50);
update MULE_API_ANALYTICS set temp=cast(policy_violation_policy_id as VARCHAR(50));
ALTER TABLE MULE_API_ANALYTICS DROP COLUMN policy_violation_policy_id;
ALTER TABLE MULE_API_ANALYTICS RENAME COLUMN temp TO policy_violation_policy_id;
次の場所から Oracle JDBC ドライバーをダウンロードします。
GZ ファイルを抽出します。
JAR ファイルを {MULE_HOME}/plugins/mule-agent-plugin/lib/modules
にコピーします。
{MULE_HOME}/conf/mule-agent.yml
ファイルを変更して次を含めます。
mule.agent.gw.http.handler.database:
enabled: true
driver: oracle.jdbc.OracleDriver
jdbcUrl: jdbc:oracle:thin:@192.168.61.128/XE
user: root
pass: test
次の例は、Microsoft SQL Server データベースと連携させるための Runtime Manager エージェントのセットアップ方法を示しています。
CREATE TABLE MULE_API_ANALYTICS (
id CHAR(36) NOT NULL,
api_id INT NOT NULL,
api_name VARCHAR(64) NULL,
api_version VARCHAR(150) NULL,
api_version_id INT NOT NULL,
application_name VARCHAR(42) NULL,
client_id VARCHAR(255) NULL,
client_ip VARCHAR(45) NOT NULL,
event_id VARCHAR(36) NOT NULL,
host_id VARCHAR(255) NULL,
org_id VARCHAR(36) NULL,
path VARCHAR(500) NOT NULL,
policy_violation_policy_id VARCHAR(50) NULL,
policy_violation_policy_name VARCHAR(150) NULL,
policy_violation_outcome VARCHAR(10) NULL,
received_ts VARCHAR(30) NOT NULL,
replied_ts VARCHAR(30) NOT NULL,
request_bytes INT NOT NULL,
request_disposition VARCHAR(10) NOT NULL,
response_bytes INT NOT NULL,
status_code INT NOT NULL,
transaction_id VARCHAR(36) NULL,
user_agent VARCHAR(500) NULL,
verb VARCHAR(8) NOT NULL,
PRIMARY KEY (id)
);
バージョン 2.3.0 より前の Runtime Manager エージェントから移行する場合、スキーマを更新する必要があります。
次の移行スクリプトを使用して、Microsoft SQL Server 2014 で policy_violation_policy_id
データ種別を更新できます。
ALTER TABLE MULE_API_ANALYTICS ALTER COLUMN policy_violation_policy_id VARCHAR(50) NULL;
次の場所から SQL Server 用の Microsoft JDBC ドライバーをダウンロードします。
sqljdbc%version%.tar.gz
ファイルを抽出します。
適切な sqljdbc%version%.jar
ファイルを {MULE_HOME}/plugins/mule-agent-plugin/lib/modules
にコピーします。
{MULE_HOME}/conf/mule-agent.yml
ファイルを変更して次を含めます。
mule.agent.gw.http.handler.database:
enabled: true
driver: com.microsoft.sqlserver.jdbc.SQLServerDriver
jdbcUrl: jdbc:sqlserver://192.168.61.128:1433;databaseName=Mule;
user: root
pass: test