データがSimple Log ServiceのログストアおよびApsaraDB RDS for MySQLインスタンスで作成されたデータベースに保存されている場合、Simple Log Serviceのデータ変換機能を使用して、インスタンスの内部エンドポイントを使用してデータベースにアクセスし、データを取得してデータを強化できます。
仕組み
次の図は、Simple Log Serviceのデータ変換機能を使用して、データベースが作成されているApsaraDB RDS for MySQLインスタンスの内部エンドポイントを使用してApsaraDB RDS for MySQLデータベースにアクセスする方法と、データエンリッチメント用のデータを取得する方法を示しています。
ソリューションの概要
Simple Log Serviceのデータ変換機能を使用して、データベースが作成されているApsaraDB RDS for MySQLインスタンスの内部エンドポイントを使用してApsaraDB RDS for MySQLデータベースにアクセスし、データエンリッチメント用のデータを取得できます。 手順:
データ変換ジョブに必要な高度なパラメーターの照会: ApsaraDB RDSコンソールにログインして、ApsaraDB RDS for MySQLインスタンスに関する情報を照会します。 次に、OpenAPI ExplorerでAPI操作を呼び出して、データ変換ジョブに必要な高度なパラメーターを照会します。
ジョブのソースLogstoreでデータ変換ジョブを有効にする: データ変換ルールを設定して、データをエンリッチします。
変換結果をジョブの宛先Logstoreに保存: 変換結果を宛先Logstoreに保存します。
前提条件
生のログデータが取得されます。
ApsaraDB RDS for MySQLインスタンスは、Simple Log Serviceプロジェクトと同じリージョンにあります。
ステップ1: データ変換ジョブに必要な高度なパラメーターを照会する
ApsaraDB for RDS コンソールにログインします。
左側のナビゲーションウィンドウで [インスタンス] をクリックします。 [インスタンス] ページで、管理するインスタンスを見つけてクリックします。
IP アドレスのホワイトリストを構成します。 詳細は、ホワイトリストの構成をご参照ください。
インスタンスページの左側のナビゲーションウィンドウで、
をクリックします。 表示されるページの [ホワイトリストの設定] タブで、[ホワイトリストの作成] をクリックします。 [ホワイトリストの作成] ダイアログボックスで、ホワイトリスト名とIPアドレスのパラメーターを設定します。 IP Addressesパラメーターを100.104.0.0/16
に設定します。
インスタンスのIDと内部ポートを照会します。
インスタンスページの左側のナビゲーションウィンドウで、[基本情報] をクリックします。 [基本情報] ページで、インスタンスIDを見つけてコピーします。
インスタンスページの左側のナビゲーションウィンドウで、[データベース接続] をクリックします。 [データベース接続] ページで、内部ポートを表示およびコピーします。
インスタンスの
VpcId
およびVpcCloudInstanceId
パラメーターの値を照会します。OpenAPI Explorerにアクセスします。 セクションで、[DBInstanceId] パラメーターを見つけ、コピーしたインスタンスIDを貼り付けます。 API操作の詳細については、「DescribeDBInstanceAttribute」をご参照ください。
[呼び出しの開始] をクリックします。 [応答] タブで、
VpcId
およびVpcCloudInstanceId
パラメーターの値をコピーします。
ステップ2: ジョブのソースLogstoreでデータ変換ジョブを有効にする
Simple Log Service コンソールにログインします。
データ変換ページに移動します。
[プロジェクト] セクションで、管理するプロジェクトをクリックします。
タブで、管理するログストアをクリックします。
Logstoreのクエリと分析ページで、[データ変換] をクリックします。
データ変換ページで、[データ変換への切り替え (旧バージョン)] をクリックします。
取得した高度なパラメーターを設定します。
ページの右上隅で、[詳細設定] を選択します。 次に、[データのプレビュー] をクリックします。
[プレビュー設定の追加] パネルで、[詳細オプション] をクリックし、詳細パラメーターを設定します。 下表に、各パラメーターを説明します。
重要次のパラメーターの
_name
をカスタム値に置き換えることができます。 パラメーターに同じ値が使用されていることを確認してください。 また、値を使用して、設定するデータ変換ルールのコードで_name
を置き換える必要があります。 詳細については、「変換ルール」をご参照ください。パラメーター
値
説明
config.vpc.vpc_id.your_name
vpc-uf6mskb0b **** n9yj
インスタンスの仮想プライベートクラウド (VPC) ID。
詳細については、「インスタンスのVPC IDの照会」をご参照ください。
config.vpc.instance_id.your_name
rm-uf6e61k **** ahd7-2024091513
インスタンスの ID です。
詳細については、「インスタンスIDの照会」をご参照ください。
config.vpc.instance_port.your_name
3306
インスタンスの内部ポート。
詳細については、「内部ポートの取得」をご参照ください。
次の図は、サンプル設定を示しています。
設定を確認し、[OK] をクリックします。
データ変換ルールを設定します。
次の構文に基づいて、コードエディターで変換ステートメントを指定します。
データエンリッチメント機能とリソース機能の詳細については、「ApsaraDB RDS For MySQLデータベースからデータをプルする」と「リソース機能」をご参照ください。
/* e_table_map() The data enrichment function. res_rds_mysql() The function that is used to pull table data or SQL execution results from an ApsaraDB RDS for MySQL database. str_format() The function that is used to format strings. The value of your_name in the res_local() function must be the same as the value of your_name in the advanced parameters. field The field that is used to match the log data in the source Logstore against the table data in the ApsaraDB RDS for MySQL database. If the field value in the log data is the same as the field value in the table data, the match is considered successful. output_fields The output fields. If the match is successful, the values of the output fields are returned and a new log is generated. */ e_table_map( res_rds_mysql( str_format("{}:{}", res_local("config.vpc.instance_id.your_name"), res_local("config.vpc.instance_port.your_name")), "Database account", "Database password", "Database name", table="Name of the required table in the database" ), "field", "output_fields" )
次の図は、変換ステートメントを示しています。
データ変換ルールが作成された後、システムは、ソースLogstoreのログデータの
process_time_in_ms
フィールドの値を、ApsaraDB RDS for MySQLデータベースのテーブルデータのprocess_time_in_ms
フィールドの値と照合しようとします。 値が同じであれば、一致は成功とみなされる。 一致が成功すると、テーブルデータのmodel
フィールドとpurchase_price
フィールドの値が返されます。 ソースLogstoreの生ログデータと出力フィールドの値に基づいて、新しいログが生成されます。
データ変換ページの右上隅にある [データのプレビュー] をクリックしてデータを変換します。
変換結果を表示します。
次の図は、一致が失敗した後に返される変換結果の例を示しています。
次の図は、一致が成功した後に返される変換結果の例を示しています。
ステップ3: 変換結果をジョブの宛先Logstoreに保存する
[変換ジョブとして保存 (旧バージョン)] をクリックします。 表示されるパネルで、パラメータを設定して [OK] をクリックします。
[Logstores] タブで、目的のLogstoreをクリックします。 表示されるページの右上隅で、クエリの時間範囲を指定します。
クエリ時間範囲を指定した後、変換結果が [生ログ] タブに保存されているかどうかを確認できます。 次の図は、変換結果が保存されていることを示しています。
付録: 内部エンドポイントを介してAnalyticDB for MySQLデータベースまたはPolarDB for MySQLデータベースにアクセスする
Simple Log Serviceを使用すると、内部エンドポイントを介してApsaraDB RDS for MySQLデータベースにアクセスできます。 Simple Log Serviceでは、内部エンドポイントを介してAnalyticDB for MySQLデータベースおよびPolarDB for MySQLデータベースにアクセスすることもできます。 次のリストは、関連する設定について説明します。
AnalyticDB for MySQLデータベース
[詳細パラメーター設定] フィールドでパラメーターを設定する場合、config.vpc.instance_id.your_nameパラメーターをAnalyticDB for MySQLインスタンスID -controller形式の値に設定し、このトピックの手順に基づいて他のパラメーターを設定します。
PolarDB for MySQLデータベース: このトピックの手順に基づいてパラメーターを設定します。