ログバッチの送信方法
Note
The.log バッチは 2 つの方法で送信できます。
Google Cloud Storage への直接ファイルアップロード¶
- GCSにupload.logバッチファイルをアップロードするには、まずBigQueryの権限を申請する必要があります。
GCS バケットリスト¶
運用環境 | バケットアドレス | 説明 |
---|---|---|
ライブサービス | gs://snapshot_upload_live | サービス運用環境のログバッチデータをアップロードするためのバケット |
サンドボックス | gs://snapshot_upload_sandbox | サンドボックス環境のログバッチデータをアップロードするためのバケット |
(必須) ファイル命名規則¶
- CompanyName_CategoryValue/YYYY/MM/dd/CompanyName_CategoryValue_YYYY_MM_dd_HH_mm_ss_uuidRandom.log
- ファイルの命名規則に従うことは必須です。
- ファイル名の中の日付とuuidは、ストレージの日付を確認し、重複を防ぐためのものです。
- ファイルの拡張子は ".log" です。
- 例)
- com2us_nbasuperstars_team/2023/03/24/com2us_nbasuperstars_team_2023-03-24_05_55_00_c4c9c6e0-4093-4e29-853f-2d0d9608ca3b.log
ファイル形式¶
- ファイルは各テーブルのログで構成されるべきであり、データは異なるカテゴリと混在してはいけません。
- 改行区切りのjsonファイル(サンプル)
{"dateTime":"2021-10-11 11:27:15", "category":"game_name_login_log", "timezone":"UTC+09:00", "channel":"HIVE", "user_id":10053833008, "app_id":"com.com2us.hivesdk.android.google.global.normal", "did":5102491016, "level":0, "client_ip":"172.XX.XXX.XX", "device_name":"TINNO U319AA", "company":"C2S", "server_id":"GLOBAL-2", "server_uid":256489411, "last_login_date":"2021-10-10 08:33:11", "os_version":"11", "is_emulator":0, "game_language":"en"}
{"dateTime":"2021-10-11 11:27:15", "category":"game_name_login_log", "timezone":"UTC+09:00", "channel":"HIVE", "user_id":10053833008, "app_id":"com.com2us.hivesdk.android.google.global.normal", "did":5102491016, "level":0, "client_ip":"172.XX.XXX.XX", "device_name":"TINNO U319AA", "company":"C2S", "server_id":"GLOBAL-2", "server_uid":256489411, "last_login_date":"2021-10-10 08:33:11", "os_version":"11", "is_emulator":0, "game_language":"en"}
{"dateTime":"2021-10-11 11:27:15", "category":"game_name_login_log", "timezone":"UTC+09:00", "channel":"HIVE", "user_id":10053833008, "app_id":"com.com2us.hivesdk.android.google.global.normal", "did":5102491016, "level":0, "client_ip":"172.XX.XXX.XX", "device_name":"TINNO U319AA", "company":"C2S", "server_id":"GLOBAL-2", "server_uid":256489411, "last_login_date":"2021-10-10 08:33:11", "os_version":"11", "is_emulator":0, "game_language":"en"}
- ファイルは圧縮しないでください。
- ファイルサイズは1Gを超えないように管理する必要があります。
- 複数のファイルをアップロードする際は、サイズの大きいファイルを少なくする方が良いです。
- 一度にファイルをアップロードしすぎるとエラーが発生する可能性があります(1秒あたり10未満)。
GCS ファイルアップロードガイド¶
- https://cloud.google.com/storage/docs/uploading-objects?hl=ko#storage-upload-object-python
- ファイルをアップロードした直後に、リフレッシュするとファイルが消えたように見えることがあります。
- これは、ファイルが処理後すぐに移動されるためであり、同じファイルを再アップロードするとBigQueryにデータが重複する可能性があるため、注意してください。
FluentDによるログ送信¶
Note
ログバッチは、ストリーミングFluentDを介して受信するサーバーに転送できません。
FluentDの使用に関する詳細情報は、fluentdメソッドページを参照してください。
Fluentd の送信注意事項¶
- チャンク file - limit は10Mbyteです。このlimitを超えるファイルは自動的に削除されるので注意してください。
- 行ごとの送信(10Mbyte未満)が不可能な場合は、google クラウド storage file アップロードを使用することをお勧めします。
ログバッチのための専用サーバー情報¶
サーバータイプ | URLアドレス |
---|---|
ライブサーバー01 | analytics-hivelog-snap-01.withhive.com |
ライブサーバー02 | analytics-hivelog-snap-02.withhive.com |
サンドボックスサーバー | sandbox-analytics-hivelog.withhive.com |
Fluentd タグルール¶
- タグ作成ルール
- CompanyName_Table Name(category value)_snapshot
- 例
- タグを会社名とカテゴリ値を組み合わせて作成し、_snapshotを含めて使用する
- com2us_logname_snapshot
- タグを会社名とカテゴリ値を組み合わせて作成し、_snapshotを含めて使用する
参考文献¶
- 送信方法に関係なく、ログバッチファイルは一定期間GCSに保存されます。
- 保持期間: 90日
- 90日を超えるファイルは削除され、復元できません。(BigQuery内のデータは依然としてクエリ可能です)
- ファイルは、後でBigQueryにデータを再ロードしたり、データの欠落を確認したりする目的で保持されます。