tencent cloud

Cloud Log Service

外部データの関連付け

ダウンロード
フォーカスモード
フォントサイズ
最終更新日: 2026-10-12 14:32:17
AI翻訳

操作シナリオ

ログを統計分析する際、完全な業務統計を行うために、ログと外部データを関連付ける必要がある場合があります。例えば以下の利用シーンです:
ログにはユーザーIDのみが保存されています。統計分析時には、ユーザーIDに基づいてユーザー情報データベースからユーザーの等級、地域、タイプなどの情報を照会する必要があります。例えば、ユーザーの性別ごとにユーザーアクセス回数をそれぞれ統計します。
ログにはビジネスシステムIDのみが保存されています。IDから具体的なビジネス名を迅速に特定することは難しく、IDと名前のマッピング関係に基づいてビジネスシステムIDをビジネス名に変換する必要があります。
ダッシュボードでは、ログデータの表示に加えて、データベースに保存されているその他のデータも表示する必要があります。
CLSは、MySQLおよびCOS内のCSVファイルをデータベーステーブルとしてログトピックに関連付け、その後SQLステートメントを使用して2つのデータを関連付けて分析することをサポートします。

前提条件

CLSを有効化し、ログトピックを作成します。ログトピックは標準ストレージである必要があります。低頻度ストレージではSQLを使用した統計分析はサポートされていません。

注意事項

MySQLを関連付ける際は、ネットワーク/データセキュリティおよびMySQLデータベースのパフォーマンスに注意してください:
ネットワークセキュリティ:MySQLへのアクセスには内部ネットワークアドレスの使用を推奨します。データソースタイプがTencentDB for MySQLおよびTencentDB for TDSQL-C MySQLの場合、CLSは自動的に内部ネットワーク方式でアクセスします。
データセキュリティ:CLSがMySQLにアクセスするための専用データベースアカウントを作成することを推奨します。アカウントに対応するリソースおよび操作権限を可能な限り縮小してください。CLSに必要なのはクエリ権限のみであり、編集および削除権限は不要です。設定方法についてはTencentDB for MySQLのアカウント権限変更をご参照ください。アカウント情報を適切に保管し、漏洩しないようにしてください。
性能:MySQL内のデータ量が多い場合、本番環境のプライマリデータベースを直接CLSに関連付けないことを推奨します。CLSを介してデータベースに対して過度に複雑なSQLクエリを実行し、本番環境の安定性に影響を与えることを避けてください。読み取り専用インスタンスの使用を推奨します。
COS CSVファイルを関連付ける際は、ログトピックと同じリージョンのバケットを使用することを推奨します。リージョンをまたいでバケット内のファイルにアクセスすると、COS側で外部ネットワークのダウンリンクトラフィックおよび対応する料金が発生します。COSのアクセス権限には「プライベート読み書き」の使用を推奨し、データが第三者にアクセスされることを防ぎます。

操作手順

1. CLSコンソールにログインします。
2. 左側のナビゲーションバーでログトピックをクリックし、ログトピックリストページに移動します。
3. 外部データを関連付ける必要があるログトピックのID/名前をクリックし、ログトピック管理ページに移動します。
4. 外部データの関連付けタブを選択し、外部データの追加をクリックし、ポップアップダイアログで関連パラメータを設定します。
TencentDB for MySQL / TDSQL-C MySQL
COS(CSV形式ファイル)
自前構築MySQL
TencentDB for MySQL / TDSQL-C MySQLを使用する場合は、この設定方式を採用します:
パラメータ名
説明
名前
CLS SQL のテーブル名として、小文字、数字、_を使用できます。_で始めたり終わったりすることはできません。長さは3~60文字で、所属リージョン内で名前が重複することはできません。
備考
任意です。255文字を超えないでください。
データソースタイプ
TencentDB for MySQL または 云数据库 TDSQL-C MySQL
リージョン
クラウドデータベースが所在するリージョンを選択します。
MySQL インスタンス
クラウドデータベースインスタンスを選択します。
アカウント名
MySQL へのアクセスに使用するアカウント名
パスワード
MySQL へのアクセスに使用するパスワード
データベース名
関連付ける MySQL データベース名
テーブル名
関連付ける MySQL データベース内のテーブル名
使用範囲
現在のログトピックのみアクセス可能:現在のログトピックのみがSQLを通じてこのMySQLのデータにアクセスできます。
現在のログセット内のログトピックはアクセス可能:現在のログトピックが属するログセット内のログトピックはすべてSQLを通じてこのMySQLのデータにアクセスできます。
設定が完了したら、アクセス設定の検証をクリックし、上記の設定が正しいかどうかを検証します。検証に合格した後、確定をクリックして追加を完了します。
COS(CSV形式ファイル)を追加する際は、以下のパラメータを設定します:
パラメータ名
説明
名前
CLS SQL のテーブル名として、小文字、数字、_を使用できます。_で始めたり終わったりすることはできません。長さは3~60文字で、所属リージョン内で名前が重複することはできません。
備考
任意です。255文字を超えないでください。
データソースタイプ
COS(CSV形式ファイル)
バケットリージョン
COSファイルが属するリージョンを選択します。
COSバケット
COSファイルが属するストレージバケットを選択します。
ファイル名
COSファイル名を入力します。
圧縮モード
現在は非圧縮のみをサポートしています。
データのプレビューをクリックして、上記の設定が正しいかどうかを検証できます。同時に、CSVファイルから最初の5行のデータ(ヘッダーを含む)をサンプルとして取得し、以下のパラメータをさらに設定します:
パラメータ名
説明
フィールドタイプ
text、long、doubleをサポートしています。実際のデータ型に応じて選択してください。
アクセス範囲
現在のログトピックのみアクセス可能:現在のログトピックのみがSQLを通じてこのMySQLのデータにアクセスできます。
現在のログセット内のログトピックはアクセス可能:現在のログトピックが属するログセット内のログトピックはすべてSQLを通じてこのMySQLのデータにアクセスできます。
確定をクリックして追加を完了します。
MySQLがCVMまたはその他のプラットフォームに直接デプロイされている場合は、この設定方式を採用します:
パラメータ名
説明
名前
CLS SQL のテーブル名として、小文字、数字、_を使用できます。_で始めたり終わったりすることはできません。長さは3~60文字で、所属リージョン内で名前が重複することはできません。
備考
任意です。255文字を超えないでください。
データソースタイプ
セルフホスト型MySQL
アクセス方法
イントラネットアドレスまたはパブリックアドレス
リージョン
イントラネットアドレスを使用する場合に入力が必要です。MySQLが存在するリージョンを選択します。
所属ネットワーク
イントラネットアドレスを使用する場合に入力が必要です。MySQLが存在するVPCを選択します。
ネットワークサービスタイプ
イントラネットアドレスを使用する場合に入力が必要です。
MySQLがCLB経由でアクセスされる必要がある場合は、CLBを選択してください。
MySQLが存在するサーバーに直接アクセスできる場合は、CVMを選択してください。
アクセスアドレス
例えば、gz-cdb-xxxxx.sql.tencentcdb.comです。
MySQLポート
データベースポート、例えば3306です。
アカウント名
MySQL へのアクセスに使用するアカウント名
パスワード
MySQL へのアクセスに使用するパスワード
データベース名
関連付ける MySQL データベース名
テーブル名
関連付ける MySQL データベース内のテーブル名
使用範囲
現在のログトピックのみアクセス可能:現在のログトピックのみがSQLを通じてこのMySQLのデータにアクセスできます。
現在のログセット内のログトピックはアクセス可能:現在のログトピックが属するログセット内のログトピックはすべてSQLを通じてこのMySQLのデータにアクセスできます。
アクセス設定の検証をクリックして、上記の設定が正しいかどうかを検証します。検証に合格した後、確定をクリックして追加を完了します。

SQLを使用した外部データとログデータの関連クエリ

SQLの観点から見ると、ログトピック内のログデータと外部データはすべてデータベーステーブルです。ログデータに対応するテーブル名はlogであり、外部データに対応するテーブル名は外部データを追加する際に設定した名前です。そのため、以下のSQLをそれぞれ使用してログデータと外部データを個別に照会できます:
日志データ:* | select * from log。このうちfrom logは省略可能です。つまり* | select *です。ログデータと外部データを同時に照会する場合は、SQLの可読性を高めるために省略しないことをお勧めします。
外部データ:外部データ名がuserinfoであると仮定すると、対応するSQLは* | select * from userinfoです。
ログデータと外部データを同時に照会するには、JOIN、UNIONなどの構文を使用する必要があります。例えば:
* | select * from log left join userinfo on log.user_id=userinfo.id
注意:
外部データを照会する場合、|の前の検索条件と今回のクエリで指定した時間範囲は外部データには適用されず、現在のログトピックのログデータにのみ適用されます。

ユースケース

あるログトピックはリクエストログであり、以下のフィールドが含まれます:
"status_code": "404"
"local_time": "2023-06-05 19:59:01"
"refer": "_",
"user_id": "15"
"ip": "66.131.53.125"
"url": "\\"GET /class/111.html HTTP/1.1\\""
このログを統計分析する際、アクセスユーザーの性別ごとにアクセス回数を統計することが望まれます。しかし、アクセスログにはユーザー性別フィールドが存在しないため、直接統計することができません。ユーザー情報データベース(MySQL)でユーザーID(user_id)に基づいて照会する必要があります。
ユーザー情報データベーステーブルは以下の通りです:
id
Name
Gender
Age
Email
Phone
Address
1
John Doe
Male
32
johndoe@example.com
1234567890
123 Main St
2
Jane Smith
Female
28
janesmith@example.com
9876543210
456 Elm St
3
Michael Johnson
Male
45
michaeljohnson@example.com
5551234567
789 Oak St
4
Sarah Davis
Female
38
sarahdavis@example.com
7894561230
321 Pine St
5
David Wilson
Male
51
davidwilson@example.com
1237894560
654 Maple St
6
Emily Anderson
Female
29
emilyanderson@example.com
4567890123
987 Cherry St
7
Matthew Thompson
Male
37
matthewthompson@example.com
7890123456
321 Plum St
8
Olivia Martinez
Female
26
oliviamartinez@example.com
2345678901
654 Orange St
9
Alexander Taylor
Male
42
alexandertaylor@example.com
9012345678
987 Grape St
10
Emma Clark
Female
31
emmaclark@example.com
3456789012
123 Lemon St
このデータベーステーブルをログトピックに関連付けた後、以下のステートメントを使用してログ内のuser_idをユーザー性別Genderに変換できます:
* | select ip,url,user_id,Name,Gender from log left join userinfo on log.user_id=userinfo.id
クエリ結果は下図の通りです。ここで、ip、url、user_idはログから取得され、Name、Genderはユーザー情報データベーステーブルから取得されます。

在此基础上、さらにSQLを作成すると、アクセスユーザーの性別ごとにアクセス回数をそれぞれ統計できます:
* | select count(*) as pv,Gender from (select ip,url,user_id,Name,Gender from log left join userinfo on log.user_id=userinfo.id) group by Gender
クエリ結果は下図の通りです。ここで、Gender列のnullは、一部のログでユーザー性別が照会されなかったことを示します。これは、ログにuser_idが存在しないか、またはuser_idがユーザー情報データベースに記録されていない可能性があります。


仕様制限

外部データベースの関連付けの仕様と制限については、仕様と制限を参照してください。

料金説明

オブジェクトストレージのCSVファイルを関連付ける際、オブジェクトストレージバケットとログトピックが同じリージョンにない場合、そのデータを照会するたびにCOS側で外部ネットワークのダウンリンクトラフィックおよび対応する料金が発生します。CLS側には料金は発生しません。
MySQLを関連付ける際、外部ネットワーク接続を使用する場合、そのデータを照会するたびに、対応するリソース側(例えばTencentDB for MySQLやCVM)で外部ネットワークアクセストラフィックが発生し、対応する料金が発生する可能性があります(購入したインスタンス構成によって異なります)。CLS側には料金は発生しません。

ヘルプとサポート

この記事はお役に立ちましたか?

フィードバック