Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
© 2017 IBM Corporation
IBM API Connect 分析データ外部出⼒構成ガイド
Nov, 2017IBM Hybrid Cloud,IBM Japan
© 2017 IBM Corporation2
Disclaimer§ 当資料の位置づけ
– 当資料は、IBM API Connect v5.0.7でリリースされた新機能である分析データの外部出⼒機能について、構成⽅法および考慮点をまとめたものです。
– API Connect V5.0.8.0を前提としています。
§ 注意事項– 当資料に含まれる情報は可能な限り正確を期しておりますが、当資料に記載された内容に関して何ら保証するものでは
ありません。ここでの記載内容はあくまでも⽀援情報であり、使⽤者の責任において取扱われるものとし、資料の内容によって受けたいかなる損害に関して⼀切の保証をいたしません。
– 製品の新しいリリース、修正などによって動作/仕様が変わる可能性がありますので、必ずマニュアル等で最新の情報をご確認ください。
© 2017 IBM Corporation3
内容• 分析データ概要• API Connect コンポーネントと分析データ• V5.0.6 以前の分析データ概要• 分析データの外部出⼒ 機能概要• 分析データの外部出⼒ 構成ガイド
u Syslog編
u HTTP編
• 分析データ各Event 出⼒結果• 分析データ外部出⼒における考慮点• 分析データ各Event フィールド⼀覧• 参照
© 2017 IBM Corporation
分析データ概要
© 2017 IBM Corporation5
分析データ概要分析データについて• IBM API Connect V5.0.7 以降では、分析データとして以下の4 つのイベント・タイプをAPI Connect 内部もしくは外部システムへ出⼒す
る機能が追加されました。[1]
イベント・タイプ 概要
API events API オペレーションが呼び出される度に、ゲートウェイ・サーバーで⽣成されるAPI イベント・ログ。イベント・レコードには、API 呼び出しに関する情報のほか、ロギング・ポリシーに応じた情報が記録される。
Monitoring events 管理サーバーとゲートウェイ・サーバーの性能に関する情報が提供される。Monitoring events はまた、クラウド管理コンソールから状態をモニターすることができる。
Log events [注 1] ゲートウェイ・サーバーに問題が発⽣する度に記録される。
Audit events Audit Events は、管理サーバーに変更があった場合、例えば製品の公開や組織の作成などが発⽣するとロギングされる。
[注 1] 「Log Events」の有効化は、デフォルト値では無効化されているゲートウェイ・サーバーの設定も別途必要となります。本ガイドでは、以降は「Log Events」については扱わないものとします。
© 2017 IBM Corporation
API Connect コンポーネントと分析データ
© 2017 IBM Corporation7
API Connect コンポーネントと分析データ各コンポーネントと分析データの関係• IBM API Connect を構成する各コンポーネントと記録される分析データとの関係は、下図のような概念になります。
ゲートウェイ・クラスター
ゲートウェイ・サーバー
サードパーティ・システム
Elasticsearch
Apache Kafka
MonitoringEvents
HTTP
Syslog
管理クラスター
管理サーバー
開発者ポータルクラスター
開発者ポータル
管理サーバー ユーザー・インターフェース
CMC
API Manager
クラウドの管理/ 分析データ外部出⼒構成
API の管理
AuditEvents
APIEvents
分析データ出⼒ API Connect コンポーネント コンポーネント間 通信
© 2017 IBM Corporation8
API Connect コンポーネントと分析データIBM API Connect インストール・イメージ§ 本ガイドでは、IBM API Connect の各コンポーネントはそれぞれ下表の製品バージョンを前提としています。
コンポーネント ソフトウェア フィックス管理サーバー IBM API Connect Professional/Enterprise
V5.0 for VMWare, Xen and IPAS2 English (CN9TFEN )
APIConnect_Management_5.0.8.0_20170905-1133_a7fe4cd1d442_c04798a.ova
ゲートウェイ・サーバー IBM DataPower Gateway Virtual Edition for Developers V7.6.0 Open Virtualization Format OVA package for VMware, English (CNJW9EN )
IDG-virtual-7.6.0.2-Firmware
開発者ポータル IBM API Connect Developer Portal V5.0 for VMWare and Xen English(CN9TGEN )
5.0.8.0-APIConnect-Portal-Ubuntu16-20170908-0855
© 2017 IBM Corporation
V5.0.6 以前の分析データ概要
© 2017 IBM Corporation10
V5.0.6 以前の分析データ概要API Events (1/3)• IBM API Connect V5.0.6 以前では、分析データは「API 分析」といって「API Events」に該当するログが以下の⽅法で取得することがで
きました。
• ダッシュボードからのAPI イベント・データのエクスポート (CSV ファイル形式)• REST API 呼び出しによる分析データの取得 (JSON 形式)
• これらの機能は、V5.0.7 以降であっても従来通り使⽤可能です。詳細な情報はIBM Knowledge Center ガイド[2] をご参照ください。
<ダッシュボードからのエクスポート例>
対象のダッシュボードの分析を開く
Export してダウンロード
「エクスポート」アイコンをクリックする
© 2017 IBM Corporation11
V5.0.6 以前の分析データ概要API Events (2/3)<ダッシュボードからのエクスポート例> (続き)
CSV 形式で取得
© 2017 IBM Corporation12
V5.0.6 以前の分析データ概要API Events (3/3)<REST API 呼び出しによる取得例>
cURL を使⽤したREST API 呼び出しAPI Manager のユーザー・クレデンシャルが必要
JSON 形式で応答
© 2017 IBM Corporation13
V5.0.6 以前の分析データ概要Monitoring Events (1/2)• IBM API Connect V5.0.6 以前では、「Monitoring Events」に相当するログは、「クラウドのモニター」といってCMC 上でグラフィカル
に参照することができました。これは従来通りV5.0.7 以降で使⽤可能ですが、V5.0.6 以前では参照のみでありログ出⼒機能がありませんでした。
• モニター情報は、いずれのバージョンも同様で以下の種類があります。
• クラスターの全体的な正常性のモニター (管理サーバー/ ゲートウェイ・サーバー)• クラスター内の個別サーバーの正常性のモニター (管理サーバー/ ゲートウェイ・サーバー)
• 「クラウドのモニター」についての詳細は、IBM Knowledge Center のガイド[3] をご参照ください。
© 2017 IBM Corporation14
V5.0.6 以前の分析データ概要Monitoring Events (2/2)<クラウドのモニター画⾯例>※画⾯イメージはV5.0.7 以降のものです。
管理サーバーのモニター
ゲートウェイ・サーバーのモニター
© 2017 IBM Corporation15
V5.0.6 以前の分析データ概要Audit Events• IBM API Connect V5.0.6 以前では、「Audit Events」に相当するログは、「監査ログ」とよばれ管理サーバーのCMC上からSyslog への出
⼒構成をすることができました。[4] これは従来通りV5.0.7 以降でも使⽤可能です。
<監査ログ出⼒例>※画⾯イメージはV5.0.7 以降のものです。
CMC の「拡張」からSyslog の接続情報を定義
API Manager、CMC Web UIの操作ログおよびログイン・ログアウトが記録
© 2017 IBM Corporation
分析データの外部出⼒ 機能概要
© 2017 IBM Corporation17
分析データの外部出⼒ 機能概要機能概要• IBM API Connect V5.0.7 以降では、1種類以上の分析データの各Events をAPI Connect 内部もしくは外部システムへ、リアルタイムのデ
ータ・ストリームとして出⼒する機能が追加されました。
• 分析データを外部出⼒することで、複数ソースのデータ統合や、ログのモニタリング要件、分析性に富んだログが要求される場⾯に活⽤することができます。
• 出⼒先の外部システムは、以下の4種類から選択することができます。[5]
• HTTP• Elasticsearch (Version 5)• Apache Kafka (Versions 0.9 and 1.0)• Syslog
• 当ガイドでは外部システム出⼒先として、Syslog とHTTP (Splunk) で出⼒するための構成を例として作成します。
© 2017 IBM Corporation18
分析データの外部出⼒ 機能概要構成の前提 (1/2)• 外部システムへの出⼒構成において、それぞれの接続情報の準備が必要です。
• 以下では、Syslog への出⼒、HTTP への出⼒の例で必要な構成情報を記載します。Elasticsearch、Apache Kafka へ出⼒するために必要な情報は、IBM Knowledge Center のガイド[6] をご参照ください。
Syslog への出⼒
• Syslog を使⽤した出⼒では、通信プロトコルとして以下を選択することができます。
• UDP (デフォルト・ポート 514)• TCP (デフォルト・ポート 601)
• また、TCP において通信暗号化要件がある場合はTLS/SSL を選択することも可能です。
• Syslog への出⼒で必要な接続情報には以下があります。
• Syslog サーバーのホスト名またはIP アドレス• Syslog サーバーのリッスンポート• TLS/ SSL の場合、あらかじめAPI Connect 上でのTLS プロファイルの定義
© 2017 IBM Corporation19
分析データの外部出⼒ 機能概要構成の前提 (2/2)
HTTP への出⼒
• HTTP を使⽤した出⼒で必要な接続情報は以下です。
• HTTP サーバーのURL• HTTPS の場合、あらかじめAPI Connect 上でのTLS プロファイルの定義• システムによってHTTP ヘッダーが必要な場合のヘッダー定義
© 2017 IBM Corporation
分析データの外部出⼒ 構成ガイド
© 2017 IBM Corporation21
分析データの外部出⼒ 構成ガイド - Syslog編Syslog 構成⼿順 (1/10)• Syslog の構成ガイドでは、UDP プロトコルを使⽤して構成する例を記載します。
1. 「Cloud Manager」で、「設定」をクリックします。
© 2017 IBM Corporation22
分析データの外部出⼒ 構成ガイド - Syslog編Syslog 構成⼿順 (2/10)2. 「ナビゲーション」ペインで、 「分析」をクリックして分析の設定ページを開きます。
© 2017 IBM Corporation23
分析データの外部出⼒ 構成ガイド - Syslog編Syslog 構成⼿順 (3/10)3. 出⼒したいイベント・タイプの分析ログをSyslog サーバーへ出⼒するには、「API イベント」、「モニター・イベント」、
「監査イベント」各イベント・タイプのセクションの下にあるフィールドへの設定をそれぞれ⾏います。
© 2017 IBM Corporation24
分析データの外部出⼒ 構成ガイド - Syslog編Syslog 構成⼿順 (4/10)
a. 「サード・パーティー・システムへのイベントのエクスポート」にチェックを⼊れます。
© 2017 IBM Corporation25
分析データの外部出⼒ 構成ガイド - Syslog編Syslog 構成⼿順 (5/10)
b. 「分析プラットフォームの選択」ドロップダウン・リストから、「Syslog」を選択します。
c. 「構成」をクリックしSyslog サーバーの接続情報を詳細化します。
© 2017 IBM Corporation26
分析データの外部出⼒ 構成ガイド - Syslog編Syslog 構成⼿順 (6/10)
d. 以下のように「Syslog 出⼒」画⾯の各フィールドに情報を⼊⼒します。
ⅰ. 「ホスト」フィールドに、Syslog サーバーのFQDN のホスト名もしくはIP アドレスを⼊⼒します。ⅱ. 「ポート」フィールドに、Syslog のリッスンポートを⼊⼒します。
デフォルト値は、UDP プロトコルは514, TCP プロトコルは 601 です。
© 2017 IBM Corporation27
分析データの外部出⼒ 構成ガイド - Syslog編Syslog 構成⼿順 (7/10)
ⅲ. 「プロトコル」ドロップダウン・リストから、使⽤するプロトコルを選択します。
© 2017 IBM Corporation28
分析データの外部出⼒ 構成ガイド - Syslog編Syslog 構成⼿順 (8/10)
ⅳ. 設定した接続構成が有効であることを確認するためには、「テスト・イベントの送信」をクリックしてSyslog サーバーにテストイベントを⽣成・転送することができます。
転送が成功すると、「Cloud Manager」UI の最上段バナーの下に転送が成功したことを知らせるメッセージが表⽰されます。
© 2017 IBM Corporation29
分析データの外部出⼒ 構成ガイド - Syslog編Syslog 構成⼿順 (9/10)
もし転送が失敗すると、現在開いているウィンドウのトップにエラーメッセージが表⽰されます。
※転送が成功しても、下図のように「テスト・イベントがターゲット・システムに到達したかどうか判別できない」エラーが表⽰されることがあります。その場合は、ターゲット・システムがテスト・イベントを受信しているか確認をします。
© 2017 IBM Corporation30
分析データの外部出⼒ 構成ガイド - Syslog編Syslog 構成⼿順 (10/10)
ⅴ. 「更新」をクリックして設定をストアします。
e. 「保存」 アイコンをクリックして、構成を保存します。
正式にアナウンスされているSyslog の構成ガイドについては、IBM Knowledge Center のガイド[7] をご参照ください。
© 2017 IBM Corporation31
分析データの外部出⼒ 構成ガイド - HTTP編HTTP 構成⼿順 (1/11)• 当ガイドでは、HTTP サーバーにSplunk を利⽤して構成する例を記載します。
1. 「Cloud Manager」で、「設定」をクリックします。
© 2017 IBM Corporation32
分析データの外部出⼒ 構成ガイド - HTTP編HTTP 構成⼿順 (2/11)2. 「ナビゲーション」ペインで、 「分析」をクリックして分析の設定ページを開きます。
© 2017 IBM Corporation33
分析データの外部出⼒ 構成ガイド - HTTP編HTTP 構成⼿順 (3/11)3. 出⼒したいイベント・タイプの分析データをHTTP サーバーへ出⼒するには、「API イベント」、「モニター・イベント」、
「監査イベント」各イベント・タイプのセクションの下にあるフィールドへの設定をそれぞれ⾏います。
© 2017 IBM Corporation34
分析データの外部出⼒ 構成ガイド - HTTP編HTTP 構成⼿順 (4/11)
a. 「サード・パーティー・システムへのイベントのエクスポート」にチェックを⼊れます。
© 2017 IBM Corporation35
分析データの外部出⼒ 構成ガイド - HTTP編HTTP 構成⼿順 (5/11)
b. 「分析プラットフォームの選択」ドロップダウン・リストから、「HTTP」を選択します。
c. 「構成」をクリックしHTTP サーバーの接続情報を詳細化します。
© 2017 IBM Corporation36
分析データの外部出⼒ 構成ガイド - HTTP編HTTP 構成⼿順 (6/11)
d. 以下のように「HTTP 出⼒」画⾯の各フィールドに情報を⼊⼒します。
ⅰ. 「URL」フィールドに、HTTP サーバーのURL を⼊⼒します。ⅱ. TLS を使⽤してHTTP サーバーとの接続を⾏うためには、「TLS の使⽤」にチェックを⼊れ必要な構成を⾏います。
© 2017 IBM Corporation37
分析データの外部出⼒ 構成ガイド - HTTP編HTTP 構成⼿順 (7/11)
d. 以下のように「HTTP 出⼒」画⾯の各フィールドに情報を⼊⼒します。
ⅲ. Splunk では、API Connect からHTTP Event Collector に接続するために以下のカスタムHTTP ヘッダーが必要です。
ヘッダー名 ヘッダー値 説明
Authorization Splunk event_collector_token
例:Splunk 4DC8896A-6F9E-47A4-9DA6-A3FEF9F2A1A3
Splunk のHTTP Event Collector で定義した有効なトークンをヘッダー付与します。
x-splunk-request-channel GUID
例:19674C68-B28B-4550-9CF0-6E7345CA60CA
Splunk のHTTP Event Collector に分析データ出⼒する際、API Connect のデータを同じインスタンスを使⽤した他のイベント・ソースからの出⼒と分けるために、⼀意のチャネルID を⽣成しヘッダー付与します。
チャネルID は⼀意のGUID を定義します。
© 2017 IBM Corporation38
分析データの外部出⼒ 構成ガイド - HTTP編HTTP 構成⼿順 (8/11)
d. 以下のように「HTTP 出⼒」画⾯の各フィールドに情報を⼊⼒します。
ⅳ. カスタムHTTP ヘッダーを⼊⼒します。
© 2017 IBM Corporation39
分析データの外部出⼒ 構成ガイド - HTTP編HTTP 構成⼿順 (9/11)
ⅴ. 設定した接続構成が有効であることを確認するためには、「テスト・イベントの送信」をクリックしてHTTP サーバーにテストイベントを⽣成・転送することができます。転送が成功すると、「Cloud Manager」UI の最上段バナーの下に転送が成功したことを知らせるメッセージが表⽰されます。もし転送が失敗すると、現在開いているウィンドウのトップにエラーメッセージが表⽰されます。
※転送が成功しても、下図のように「テスト・イベントがターゲット・システムに到達したかどうか判別できない」エラーが表⽰されることがあります。その場合は、ターゲット・システムがテスト・イベントを受信しているか確認をします。
© 2017 IBM Corporation40
分析データの外部出⼒ 構成ガイド - HTTP編HTTP 構成⼿順 (10/11)
Splunk を参照すると、テスト・イベントを受信したことが確認できました。
© 2017 IBM Corporation41
分析データの外部出⼒ 構成ガイド - HTTP編HTTP 構成⼿順 (11/11)
ⅵ.「更新」をクリックして設定をストアします。
e.「保存」 アイコンをクリックして、構成を保存します。
正式にアナウンスされているHTTP の構成ガイドについては、IBM Knowledge Center のガイド[8] をご参照ください。
© 2017 IBM Corporation
分析データ各Event 出⼒結果
© 2017 IBM Corporation43
分析データ各Event 出⼒結果API Events の出⼒結果 (1/6)• ここでは、既存の機能による「API 分析」ログの出⼒と、新機能による「API Events」ログの出⼒結果について⽐較します。
API 分析ログ (CSV)ダッシュボードからAPI イベント・データをエクスポートします。以下のようにCSV で結果が得られます。
© 2017 IBM Corporation44
分析データ各Event 出⼒結果API Events の出⼒結果 (2/6)• ここでは、既存の機能による「API 分析」ログの出⼒と、新機能による「API Events」ログの出⼒結果について⽐較します。
API 分析ログ (JSON)REST API 呼び出しでJSON データとして「API 分析」ログを取得します。
以下のようにJSON で結果が得られます。
© 2017 IBM Corporation45
分析データ各Event 出⼒結果API Events の出⼒結果 (3/6)
API Events ログ (Syslog)新機能を使ってSyslog に転送したログを取得します。以下のようにJSON 形式で結果が得られます。
© 2017 IBM Corporation46
分析データ各Event 出⼒結果API Events の出⼒結果 (4/6)
API Events ログ (HTTP)新機能を使ってHTTP(Splunk) に転送したログを取得します。以下のようにJSON 形式で結果が得られます。
© 2017 IBM Corporation47
分析データ各Event 出⼒結果API Events の出⼒結果 (5/6)
⽐較結果 (1/2)各ログの項⽬を⽐較します。下表では各ログで出⼒に差異があるものだけを掲載します。
• 「API 分析」ログ (JSON) ではフィールド名が主に「キャメル・ケース」で記述されていましたが、これらが「API 分析」ログ (CSV) および「API Events」ログではアンダースコア「 _ 」表記になっています。
フィールド名
API 分析 API Events
コメントCSV JSON JSON
bytes_received ○ × ○ REST API によるログ取得では含まれない。
latency_info
○ × ○
REST API によるログ取得ではフィールド名や値の項⽬が異なる。
例:"latency": "Initialization=0ms : Start=1107ms : security-
appID=400ms : OperationRateLimits=423ms : Branches Invoke=1671ms"
© 2017 IBM Corporation48
分析データ各Event 出⼒結果API Events の出⼒結果 (6/6)
⽐較結果 (2/2)
フィールド名
API 分析 API Events
コメントCSV JSON JSON
latency_info2 ○ × × ダッシュボードからのエクスポート時 (CSV) のみに存在する。
product_id ○ × ○ REST API によるログ取得では含まれない。
resource ○ × × ダッシュボードからのエクスポート時 (CSV) のみに存在する。
space_id ○ ○ △(*) (*) スペース設定がないと、フィールド⾃体が存在しない。
space_name ○ ○ △(*) (*) スペース設定がないと、フィールド⾃体が存在しない。
tags × ○ ○ ダッシュボードからのエクスポート時 (CSV) は含まれない。
© 2017 IBM Corporation49
分析データ各Event 出⼒結果Monitoring Events の出⼒結果 (1/2)
• Monitoring Events は、管理サーバーとゲートウェイ・サーバーの性能情報を提供します。各クラスターの、平均プロセッサー使⽤量、平均メモリー使⽤量、および平均ディスク使⽤量が取得できます。
• 管理サーバーの性能情報は、約10 秒毎に出⼒されます。• ゲートウェイ・サーバーの性能情報は、約5 分毎に出⼒されます。
• 次ページに管理サーバー、ゲートウェイ・サーバーそれぞれの性能情報取得結果を掲載します。主なフィールドの説明については、「7. 分析データ各Event フィールド⼀覧」の「Monitoring Events」をご参照ください。
© 2017 IBM Corporation50
分析データ各Event 出⼒結果Monitoring Events の出⼒結果 (2/2)
管理サーバーの性能情報
{ "@timestamp": "2017-10-18T06:48:23.901Z", "@version": "1", "client_geoip": {}, "cpu": 0.0, "datetime": "2017-10-18T06:48:23.850Z", "gateway_geoip": {}, "gwMeanTranTime": 0.0, "gwMem": 0.0, "gwTranRate": 0.0, "headers": { "content_length": "412", "content_type": "application/json", "http__ws_haprt_wlmversion": "-1", "http_connection": "Keep-Alive", "http_host": "localhost:9700", "http_organization": "apimgmt_819d3bc57e", "http_version": "HTTP/1.1", "http_x_forwarded_for": "192.168.225.52", "http_x_forwarded_host": "192.168.225.100:9443", "http_x_forwarded_server": "management.qit.ibm", "request_method": "POST", "request_path": "/apimgmt_819d3bc57e/monitoringevent", "request_uri": "/apimgmt_819d3bc57e/monitoringevent" }, "host": "127.0.0.1", "memory": 20.0, "nodeId": "59cb69e7e4b0a2a27eab79d7", "nodeType": "gw", "plGwRxTp": 0.14, "plGwTxTp": 0.22, "plLoad": 2.0, "tags": [ "_geoip_lookup_failure" ], "used_disk": 26.0}
ゲートウェイ・サーバーの性能情報
{ "@timestamp": "2017-10-18T06:48:33.258Z", "@version": "1", "anHealth": null, "anUsedDisk": null, "asDbGcActivity": null, "asDbMem": null, "asRtGcActivity": null, "asRtMem": null, "asRunningJobs": null, "asWaitingJobs": null, "asWipUsedDisk": null, "asWmcGcActivity": null, "asWmcMem": null, "client_geoip": {}, "cpu": 35.849768865785194, "datetime": "2017-10-18T06:48:33.252Z", "gateway_geoip": {}, "gwMeanTranTime": null, "gwMem": null, "gwTranRate": null, "headers": { "content_length": "475", "content_type": "application/json", "http_accept": "application/json", "http_connection": "keep-alive", "http_host": "localhost:9700", "http_user_agent": "Wink Client v1.1.1", "http_version": "HTTP/1.1", "request_method": "POST", "request_path": "/cmc-2017.10/monitoringevent", "request_uri": "/cmc-2017.10/monitoringevent" }, "host": "127.0.0.1", "memory": 59.0, "nodeId": "59cb63b0e4b0a2a27eab7653", "nodeType": "ma", "plGwRxTp": null, "plGwTxTp": null, "plLoad": null, "tags": [ "_geoip_lookup_failure" ], "used_disk": 52.98123355336506}
© 2017 IBM Corporation51
分析データ各Event 出⼒結果Audit Events の出⼒結果 (1/2)
• 既存機能である「監査ログ」がテキスト形式であったのに対し、 Audit Events はJSON 形式となっています。• メッセージ本⽂は、両者による出⼒内容の違いはありません。以下に例を⽰します。
既存の監査ログ
Oct 18 07:40:42 management.qit.ibm ibmapimanagement API hogehoge バージョン 1.0.0 が [email protected] によって Swagger ⽂書から作成されました。
Audit Events
Oct 18 07:40:42 management.qit.ibm apimanagement[-]: {"consumerOrgId":null,"headers":{"http_accept":"application/json","content_type":"application/json","request_path":"/apim-59cb6ad0e4b0a2a27eab79e3-2017.10/auditevent","http_version":"HTTP/1.1","http_connection":"keep-alive","request_method":"POST","http_host":"localhost:9700","request_uri":"/apim-59cb6ad0e4b0a2a27eab79e3-2017.10/auditevent","content_length":"523","http_user_agent":"Wink Client v1.1.1"},"nlsMessage":{"resource":"messages","replacements":["hogehoge","1.0.0","[email protected]"],"key":"swagger.import.notification"},"notificationType":"EVENT","eventType":"AUDIT","source":null,"envId":null,"message":"API hogehoge バージョン 1.0.0 が [email protected] によって Swagger ⽂書から作成されました。","userId":"[email protected]","orgId":"59cb6ad0e4b0a2a27eab79e3","assetType":"api","tags":["_geoip_lookup_failure"],"gateway_geoip":{},"datetime":"2017-10-18T07:40:42.484Z","@timestamp":"2017-10-18T07:40:42.573Z","assetId":"59e7057ae4b03f9765281a76","@version":"1","host":"127.0.0.1","id":"59e7057ae4b03f9765281a78","client_geoip":{}}
• Audit Events の主なフィールドの説明については、「7. 分析データ各Event フィールド⼀覧」の「Audit Events」をご参照ください。
© 2017 IBM Corporation52
分析データ各Event 出⼒結果Audit Events の出⼒結果 (2/2)
• 下表は、該当する操作について各サーバーで取得可能なAudit Events の検証結果です。
ログ取得対象
操作
ログオン/ ログオフ 操作ログ ID 登録/ 変更/ 削除 パスワードリセット パスワード変更API Manager (CLI) × × ×
admin 固定×
該当機能なし×
API Manager(GUI) ○ ○ ○ ×該当機能なし
○
クラウド管理コンソール (GUI) ○ ○組織の追加/ 削除
○ ×該当機能なし
○
開発者ポータル (CLI) × × × × ×
開発者ポータル (GUI) × × ○ × ×
ゲートウェイ・サーバー (CLI) × × × × ×
ゲートウェイ・サーバー (GUI) × × × × ×
© 2017 IBM Corporation
分析データ外部出⼒における考慮点
© 2017 IBM Corporation54
分析データ外部出⼒における考慮点分析データ外部出⼒における考慮点まとめ (1/2)
• ここまで分析データの外部出⼒の結果まで⾒ていきましたが、今回の検証においての考慮点をまとめとして記載します。
外部システム出⼒時の考慮点
• Syslog への出⼒構成においては、構成ガイドのとおり通信情報の設定のみ可能となっています。Syslog ファシリティやプライオリティはAPI Connect では設定できませんので、ログ運⽤を検討する際はSyslog サーバー側で考慮する必要があります。
• API Event やMonitoring Eventなどのログサイズが短時間で拡⼤するイベント・データを出⼒する際は、出⼒先システムでログのローテーションやサイジングなどを考慮する必要があります。「IBM API Connect Analytics の使⽤」を選択してAPI Connect 内部ストレージに出⼒する場合は、デフォルト値では90⽇保管(ローテーション) することができます。
• API Event とMonitoring Event はまた、管理サーバー上でグラフィカルに統計情報が参照できるようになっています。これらのイベント・データは「サード・パーティ・システムへのイベントのエクスポート」を選択して外部出⼒のみにすると、グラフィカル表⽰は構成されなくなります。
• 外部出⼒の構成は、「IBM API Connect Analytics の使⽤」と「サード・パーティ・システムへのイベントのエクスポート」双⽅にチェックを⼊れることで、内部/ 外部双⽅にログを出⼒することが可能です。
© 2017 IBM Corporation55
分析データ外部出⼒における考慮点分析データ外部出⼒における考慮点まとめ (2/2)
管理サーバー停⽌時のログ出⼒の挙動
• ゲートウェイ・サーバーが起動している状態であれば、管理サーバーが停⽌時であっても⼀定の期間およびメッセージサイズが、ゲートウェイ・サーバー上に保管されます。これらは、管理サーバーが再び起動したのちに、管理サーバーおよび外部システムに出⼒されます。
• これは、ゲートウェイ・サーバーである、IBM DataPower Gateway の機能「WSM Agent」により実現しています。管理サーバーが停⽌中にバッファーすることができるイベント・データ量は以下の通りです。
• データ・レコードが 6,000 レコード• データ・サイズが 64,000 KB
• なお、この機能はAPI Connect V5.0.6.3 および V5.0.8.0 で使⽤することができます。V5.0.7 にはありませんのでご注意ください。
© 2017 IBM Corporation
分析データ各Event フィールド⼀覧
© 2017 IBM Corporation57
分析データ各Event フィールド⼀覧API Events (1/8)
• 「API Events」のフィールド⼀覧は、ダッシュボードからのエクスポート (CSV) および外部システムへの転送データ (JSON) をもとに作成しています。アンダースコアが含まれるフィールド名については、 REST API 取得による「API 分析」ログ (JSON) の場合はキャメル・ケースでお読みかえください。
• 「API 分析」ログ (CSV)、「API 分析」ログ (JSON) および「API Events」(JSON) それぞれの項⽬の差異については、p.43 「API Events の出⼒結果」に記載の「⽐較結果」をご参照ください。
• 「API Events」のフィールド⼀覧は、IBM Knowledge Center ガイド記載の「API event record fields」[9] を参考にしています。
フィールド名 タイプ 説明@timestamp ⽇付 Elasticsearch にデータを供給する Logstash データ収集エンジンによってレコードが書き込まれたタイミ
ングを記録するタイム・スタンプ。@version ストリング Logstash バージョンのフィールド。api_id ストリング API ID。api_name ストリング API の名前。api_version 数値 API のバージョン番号。app_id ストリング 登録されているアプリケーションの ID。app_name ストリング 登録されているアプリケーションの名前。app_type ストリング アプリケーションのタイプ。値は「Production」または「Development」。
© 2017 IBM Corporation58
分析データ各Event フィールド⼀覧API Events (2/8)
• 「API Events」のフィールド⼀覧は、IBM Knowledge Center ガイド記載の「API event record fields」[9] を参考にしています。
フィールド名 タイプ 説明app_type ストリング アプリケーションのタイプ。値は「Production」または「Development」。billing.amount ストリング 製品の配信登録に関するお客様への課⾦額。billing.currency ストリング 請求に使⽤する通貨単位。billing.model ストリング 製品の配信登録に関するお客様への請求プランのタイプ。billing.provider ストリング 製品の配信登録に関するお客様への請求をおこなうクレジットカード会社。billing.trial_period_days 整数 請求プランをお客様が課⾦なしで利⽤できる⽇数。bytes_received 数値 インバウンド要求で受信したバイト数。bytes_sent 数値 アウトバウンド要求で送信したバイト数。catalog_id (*) ストリング カタログ ID。catalog_name (*) ストリング カタログの名前。
(*) IBM Knowledge Center ガイドでは、「catalog_id」、「catalog_name」はそれぞれ「env_id」、「env_name」というフィールド名で記載されている。
© 2017 IBM Corporation59
分析データ各Event フィールド⼀覧API Events (3/8)
フィールド名 タイプ 説明client_geoip.area_code 数値 IP アドレスによって識別される、クライアントの公衆交換電話網 (PSTN) の市外局番。client_geoip.city_name ストリング IP アドレスによって識別される、クライアントの市区町村の名前。client_geoip.continent_code ストリング IP アドレスによって識別される、クライアントの 2 ⽂字の⼤陸コード。client_geoip.country_code2 ストリング IP アドレスによって識別される、クライアントの 2 ⽂字の国別コード。client_geoip.country_code3 ストリング IP アドレスによって識別される、クライアントの 3 ⽂字の国別コード。client_geoip.country_name ストリング IP アドレスによって識別される、クライアントの国名。client_geoip.dma_code 数値 IP アドレスによって識別される、クライアントの Designated Market Area (DMA) コード。client_geoip.ip ストリング クライアントの IP アドレス。client_geoip.latitude 数値 IP アドレスによって識別される、クライアントの所在地の緯度。client_geoip.location ストリング IP アドレスによって識別される、クライアントの所在地の経度と緯度 (コンマ区切り)。client_geoip.longitude 数値 IP アドレスによって識別される、クライアントの所在地の経度。client_geoip.postal_code ストリング IP アドレスによって識別される、クライアントの郵便番号。client_geoip.real_region_name ストリング クライアントの IP アドレスに対応する地域のフルネーム。client_geoip.region_name ストリング クライアントの IP アドレスに対応する地域の省略名。client_geoip.timezone ストリング IP アドレスによって識別される、クライアントのタイム・ゾーン。
© 2017 IBM Corporation60
分析データ各Event フィールド⼀覧API Events (4/8)
フィールド名 タイプ 説明client_id ストリング API 要求にもとづくクライアントの⼀意のID。client_ip ストリング クライアントの IP アドレス。datetime ⽇付 API が実⾏されたタイミングを記録するタイム・スタンプ。このタイム・スタンプは、常に協定世界時
(UTC) で表⽰されます。debugdeveloper_org_id ストリング アプリケーションを所有する開発者組織の ID。developer_org_name ストリング アプリケーションを所有する開発者組織の名前。gateway_geoip.area_code 数値 IP アドレスによって識別される、ゲートウェイの公衆交換電話網 (PSTN) の市外局番。gateway_geoip.city_name ストリング IP アドレスによって識別される、ゲートウェイの市区町村の名前。gateway_geoip.continent_code ストリング IP アドレスによって識別される、ゲートウェイの 2 ⽂字の⼤陸コード。gateway_geoip.country_code2 ストリング IP アドレスによって識別される、ゲートウェイの 2 ⽂字の国別コード。gateway_geoip.country_code3 ストリング IP アドレスによって識別される、ゲートウェイの 3 ⽂字の国別コード。gateway_geoip.country_name ストリング IP アドレスによって識別される、ゲートウェイの国名。gateway_geoip.dma_code 数値 IP アドレスによって識別される、ゲートウェイの Designated Market Area (DMA) コード。gateway_geoip.ip ストリング ゲートウェイの IP アドレス。gateway_geoip.latitude 数値 IP アドレスによって識別される、ゲートウェイの所在地の緯度。
© 2017 IBM Corporation61
分析データ各Event フィールド⼀覧API Events (5/8)
フィールド名 タイプ 説明gateway_geoip.location ストリング IP アドレスによって識別される、ゲートウェイの所在地の経度と緯度 (コンマ区切り)。gateway_geoip.longitude 数値 IP アドレスによって識別される、ゲートウェイの所在地の経度。gateway_geoip.postal_code ストリング IP アドレスによって識別される、ゲートウェイの郵便番号。gateway_geoip.real_region_name
ストリング ゲートウェイの IP アドレスに対応する地域のフルネーム。
gateway_geoip.region_name ストリング ゲートウェイの IP アドレスに対応する地域の省略名。gateway_geoip.timezone ストリング IP アドレスによって識別される、ゲートウェイのタイム・ゾーン。gateway_ip ストリング ゲートウェイの IP アドレス。headers.field_name ストリング メッセージのヘッダー・セクションのコンポーネント。host ストリング ホスト名または IP アドレス。http_user_agent ストリング インバウンド要求のユーザー・エージェント・ヘッダーの値。immediate_client_ip ストリング ゲートウェイ・フロントに直接渡る、クライアントのIP アドレス。多くの場合はロード・バランサー。
© 2017 IBM Corporation62
分析データ各Event フィールド⼀覧API Events (6/8)
フィールド名 タイプ 説明latency_info.started 数値 ゲートウェイによる要求の受信時間と要求の開始時間の時間遅延 (ミリ秒単位)。latency_info2.ended 数値 ダッシュボードからのエクスポートにのみ含まれまる。
ゲートウェイによる要求の受信時間と要求の終了時間の時間遅延 (ミリ秒単位)。latency_info.task ストリング 実⾏する API トランザクションのタイプ。latency_info2.task ストリング ダッシュボードからのエクスポートにのみ含まれまる。
実⾏する API トランザクションのタイプ。log_policy ストリング 定義されているロギング・ポリシー。値には、「なし」、「イベント」、「ヘッダー」、および「ペイ
ロード」があります。org_id ストリング API および関連付けられている製品を所有するプロバイダー組織の ID。org_name ストリング API および関連付けられている製品を所有するプロバイダー組織の名前。plan_id ストリング プラン ID。plan_name ストリング プランの名前。plan_version 数値 プランのバージョン番号。product_id ストリング 製品ID。product_name ストリング 製品名。product_title ストリング 製品のタイトル。product_version ストリング 製品のバージョン番号。
© 2017 IBM Corporation63
分析データ各Event フィールド⼀覧API Events (7/8)
フィールド名 タイプ 説明query_string ストリング インバウンド要求の URL 照会ストリング値。rateLimit.count 数値 定義したレート制限時間枠内に⾏われた API 呼び出しの数。rateLimit.limit 数値 指定した時間枠中に API に対してアプリケーションが発⾏することを許可されている要求の最⼤数。rateLimit.period 数値 API 呼び出しのレート制限を設定するために使⽤される時間枠。rateLimit.reject ストリング 指定したレート制限を超える呼び出しが拒否されるかどうかを⽰します。true の場合、その API 呼び出し
は、状況コード 429 で拒否されます。false の場合、アクティビティー・ログにレコードが作成されます。rateLimit.shared ストリング すべての操作によってプラン・レベルでレート制限が共有されているか、個々の操作についてレート制限
が指定されているかを⽰します。request_body ストリング インバウンド要求の本⽂。request_http_headers.field_name
ストリング インバウンド要求の HTTP ヘッダー・セクションのコンポーネント (例: 受け⼊れ可能なエンコード、ユーザー・エージェントの識別ストリング、要求を送信するときに通過したプロキシーなど)。
request_method ストリング インバウンド要求のメソッド。request_protocol ストリング インバウンド要求のプロトコル。resource ストリング 操作の名前。resource_id ストリング 操作 ID。resource_path ストリング 操作パス。
© 2017 IBM Corporation64
分析データ各Event フィールド⼀覧API Events (8/8)
フィールド名 タイプ 説明response_body ストリング アウトバウンド応答の本⽂。response_http_headers.field_name
ストリング アウトバウンド応答の HTTP ヘッダー・セクションのコンポーネント (例: コンテンツの MIME タイプ、メッセージの送信⽇時など)。
space_id ストリング スペースID。space_name ストリング スペース名。status_code ストリング アウトバウンド応答に設定された状況コード。tagstime_to_serve_request 数値 API 要求の処理時間 (ミリ秒単位)。transaction_id ストリング API トランザクションの ID。uri_path ストリング インバウンド要求の URI パス。
© 2017 IBM Corporation65
分析データ各Event フィールド⼀覧Monitoring Events
• 「Monitoring Events」のフィールド⼀覧は、IBM Knowledge Center ガイド記載の「Monitoring event fields」[10] を参考にしています。
フィールド名 タイプ 説明cpu 数値 使⽤しているプロセッサー・リソースのパーセント値。datetime ⽇付 管理ノードまたはゲートウェイでmonitoring event が⽣成されたタイミングを記録するタイム・スタンプ。
このタイム・スタンプは、常に協定世界時 (UTC) で表⽰されます。gwMeanTranTime 数値 ゲートウェイのトランザクション時間。gwMem 数値 ゲートウェイ・サーバーで使⽤可能なメモリー。gwTranRate 数値 ゲートウェイのトランザクションレート。headers.field_name ストリング ログに記載されたメッセージ本⽂。host ストリング ホスト名またはIP アドレス。memory 数値 使⽤可能なメモリー容量。nodeId ストリング イベントが⽣成されたノードのID。nodeType ストリング イベントが発⽣したノードのタイプ。有効な選択肢はgw (gateway) とma (management) 。used_disk 数値 使⽤したディスク容量。
© 2017 IBM Corporation66
分析データ各Event フィールド⼀覧Audit Events
• 「Audit Events」のフィールド⼀覧は、IBM Knowledge Center ガイド記載の「Audit event fields」[11] を参考にしています。
フィールド名 タイプ 説明datetime ⽇付 audit event のタイム・スタンプ。eventType ストリング イベントのタイプ。headers.field_name ストリング メッセージ・ヘッダー内容。host ストリング ホスト名またはIP アドレス。id ストリング イベントID。message ストリング audit ログに記載されたメッセージ本⽂。nlsMessage オブジェクト audit ログ通知に関するメタ・データ。notificationType ストリング 通知タイプ。source ストリング イベントが要求されたノード。tags タイプ audit イベント⽣成に関するタグ。
© 2017 IBM Corporation
参照
© 2017 IBM Corporation68
参照[1] IBM Knowledge Center. 2017. Supported event types for analytics offload. [ONLINE] Available at: https://www.ibm.com/support/knowledgecenter/SSMNED_5.0.0/com.ibm.apic.cmc.doc/capim_analytics_eventtypesexport.html. [Accessed 1 August 2017].[2] IBM Knowledge Center. 2017. 分析データおよび API イベント・データの表⽰およびエクスポート. [ONLINE] Available at: https://www.ibm.com/support/knowledgecenter/ja/SSMNED_5.0.0/com.ibm.apic.apionprem.doc/tapim_analytics_viewexportanalyticsdata.html. [Accessed 17 October 2017].[3] IBM Knowledge Center. 2017. クラウドの正常性のモニター. [ONLINE] Available at: https://www.ibm.com/support/knowledgecenter/ja/SSMNED_5.0.0/com.ibm.apic.cmc.doc/monitor_health.html. [Accessed 17 October 2017].[4] IBM Knowledge Center. 2017. syslog 監査とクラウド. [ONLINE] Available at: https://www.ibm.com/support/knowledgecenter/ja/SSMNED_5.0.0/com.ibm.apic.cmc.doc/audit_logging.html. [Accessed 17 October 2017].[5] IBM Knowledge Center. 2017. Supported third-party systems for analytics offload. [ONLINE] Available at: https://www.ibm.com/support/knowledgecenter/SSMNED_5.0.0/com.ibm.apic.cmc.doc/capim_analytics_thirdpartysystemsexport.html. [Accessed 1 August 2017].[6] IBM Knowledge Center. 2017. Configuring the offload of analytics event data to third-party systems. [ONLINE] Available at: https://www.ibm.com/support/knowledgecenter/SSMNED_5.0.0/com.ibm.apic.cmc.doc/tapim_analytics_configuringoffloadapievents.html. [Accessed 1 August 2017].[7] IBM Knowledge Center. 2017. Configuring the offload of analytics event data to third-party systems. [ONLINE] Available at: https://www.ibm.com/support/knowledgecenter/ja/SSMNED_5.0.0/com.ibm.apic.cmc.doc/tapim_analytics_configuringoffloadapievents.html#tapim_analytics_configuringoffloadapievents__step_syslogconfig. [Accessed 17 October 2017].[8] IBM Knowledge Center. 2017. Configuring the offload of analytics event data to third-party systems. [ONLINE] Available at: https://www.ibm.com/support/knowledgecenter/ja/SSMNED_5.0.0/com.ibm.apic.cmc.doc/tapim_analytics_configuringoffloadapievents.html#tapim_analytics_configuringoffloadapievents__step_httpconfig. [Accessed 17 October 2017].
© 2017 IBM Corporation69
参照[9] IBM Knowledge Center. 2017. API event record fields. [ONLINE] Available at: https://www.ibm.com/support/knowledgecenter/en/SSMNED_5.0.0/com.ibm.apic.apionprem.doc/rapim_analytics_apieventrecordfields.html. [Accessed 19 October 2017].[10] IBM Knowledge Center. 2017. Monitoring event fields. [ONLINE] Available at: https://www.ibm.com/support/knowledgecenter/en/SSMNED_5.0.0/com.ibm.apic.apionprem.doc/rapim_analytics_apimonitrecordfields.html. [Accessed 19 October 2017].[11] IBM Knowledge Center. 2017. Audit event fields. [ONLINE] Available at: https://www.ibm.com/support/knowledgecenter/en/SSMNED_5.0.0/com.ibm.apic.apionprem.doc/rapim_analytics_apiauditrecordfields.html. [Accessed 19 October 2017].
© 2017 IBM Corporation70
EOF