Log Service の照会/分析エンジンは、LogStore および外部ストレージを照会/分析します。また、SQL の join 構文でログにユーザーの属性情報を紐付けます。エンジンを使用することにより、ユーザー属性に関するメトリックを分析できます。
外部ストレージをクエリするだけでなく、そのクエリ結果を外部ストレージ (MySQL など) に直接書き込むこともできます。
外部 MySQL ストレージを作成するためのベストプラクティス: 「データベースとログを紐づけて分析」
構成方法
- 外部ストレージ API
作成、更新、削除、リストといった API インターフェイスがあります。各 API の詳細は、該当する API ドキュメントをご参照ください。
- 外部ストレージ管理ツール
外部ストレージの操作は、python SDK または CLI (コマンドラインインターフェイス) より実行します。 CLI の詳細については、「CLI」をご参照ください。
手順
- Log Service にログを収集します。
Log Service にログを収集する方法を選択します。詳細については、「収集方法」をご参照ください。
- SQL データベースに接続して MySQL テーブルを作成します。
- ホワイトリストを追加します。
ホワイトリストに
100.104.0.0/16
を追加します。詳細については、「ホワイトリストの設定」をご参照ください。通常の MySQL データベースに接続する場合は、セキュリティグループにアドレスを追加します。
- 外部ストレージを作成します。外部ストレージを作成する方法は複数あります。例では、Python CLI を使用します。
- 次のコマンドを実行して CLI をインストールします。
pip install -U aliyun-log-cli
- 外部ストレージを作成します。プロジェクトおよび外部ストレージの構成ファイル /user/config.json を指定します。
aliyunlog log create_external_store --project_name="log-rds-demo" --config="file:///user/config.json"
構成ファイル /user/config.json に、外部ストレージの名前、パラメータといった情報を指定します。構成ファイルパラメータ説明- RDS VPC 環境の場合は、vpc-id と instance-id の指定は必須です。
- 一般的な MySQL またはクラシックネットワーク RDS の場合は、vpc-id と instance-id には空の文字列を指定します。
- 現在、一部のリージョンでは RDS VPC にのみ対応しています。利用可能なリージョンの詳細は、「概要」をご参照ください。その他のリージョンをご希望の場合は、チケットを起票して、サポートセンターにお問い合わせください。
パラメータ 説明 region サービスが存在するリージョン vpc-id VPC の ID instance-id RDS インスタンスの ID host ECS インスタンスの ID port ECS インスタンスのポート username ユーザー名 password パスワード db データベース table データテーブル 構成ファイルの例{ "externalStoreName": "chiji_user", "storeType": "rds-vpc", "parameter": { "vpc-id": "vpc-*********************", "instance-id": "rm-**"**************, "host": "rm-*****************.mysql.rds.aliyuncs.com", "port": "3306", "username": "test****", "password": "1234****", "db": "chiji", "table": "chiji_user", "region": "cn-qingdao" } }
- 次のコマンドを実行して CLI をインストールします。
- その他操作
CLI より外部ストレージを更新または削除することもできます。
- MySQL 外部ストレージの更新
aliyunlog log update_external_store --project_name="log-rds-demo" --config="file:///user/config.json"
- MySQL 外部ストレージの削除
aliyunlog log delete_external_store --project_name="log-rds-demo" --store_name=abc
- MySQL 外部ストレージの更新