ログは、履歴データの処理や問題の診断に重要な役割を果たす特殊なタイプのデータです。 ログは、データアナリスト、開発者、およびO&M担当者にとって不可欠なデータソースです。 Alibaba Cloudでは、Log Serviceを使用して、NGINXアクセスログ、Log4jログ、Apacheアクセスログ、構造化テキストなどのログをAnalyticDB for MySQLにリアルタイムで同期できます。 これにより、AnalyticDB for MySQLを使用してリアルタイムのログ分析を実行できます。
前提条件
- 初めてLog Serviceを使用する場合は、Alibaba Cloudアカウントを使用してlog Service購入ページにログインし、[無料で入手] をクリックする必要があります。 システムは自動的に購入ページにリダイレクトします。 [Log Service Agreement of Serviceに同意する] を読み、[今すぐ有効にする] をクリックします。 Log Serviceコンソールが表示されます。 説明 Log Serviceを有効にしている場合は、プロジェクトの作成を開始できます。
- AnalyticDB for MySQLを使用する前に、次の要件が満たされていることを確認してください。
- AnalyticDB for MySQLクラスターが作成されます。 詳細については、「クラスターの作成」をご参照ください。
- データベースアカウントが作成されます。 詳細については、「データベースアカウントの作成」をご参照ください。
- それで、データベースが作成されます。 詳細については、「データベースの作成」をご参照ください。
- パブリックエンドポイントを使用してAnalyticDB for MySQLクラスターに接続する必要がある場合は、パブリックエンドポイントが適用されます。 詳細については、「パブリックエンドポイントの申請またはリリース」をご参照ください。
- CREATE tableステートメントを使用してテーブルを作成し、AnalyticDB for MySQLに転送されたログデータを格納します。 詳細については、「CREATE TABLE」をご参照ください。
LogShipperタスクの作成
Log Serviceのデータ変換モジュールのエクスポート機能を使用して、Logstoreに収集されたログをAnalyticDB for MySQLに転送できます。
- にログインします。Log Serviceコンソール.
- プロジェクトとLogstoreを作成します。
この例では、adb-testという名前のプロジェクトとadb-sourceという名前のLogstoreが作成されます。 詳細については、「プロジェクトの作成」および「Logstore の作成」をご参照ください。
説明 ログは1つのリージョン内でのみ転送できるため、Log ServiceプロジェクトとAnalyticDB for MySQLクラスターは同じリージョンに配置する必要があります。 - On theログストアタブで、Logstoreを見つけて、 .
Log Serviceを使用して初めてAnalyticDB for MySQLにログデータを転送する場合は、log Serviceのアクセス許可をAnalyticDB for MySQLに付与する必要があります。
- AnalyticDBの右側にある [+] アイコンをクリックします。 承認を完了するように求められます。 [権限] をクリックします。
- [クラウドリソースアクセス権限付与] ページで、[権限付与ポリシーの確認] をクリックし、RAMロールAliyunAnalyticDBAccesssingLogRoleをAnalyticDB for MySQLに割り当てます。
- 承認が完了したら、AnalyticDBの右側の [+] をクリックします。 [Ship] をクリックすると、ログデータを直接転送できます。 [データ変換に移動] をクリックして、データが転送される前にログデータを処理することもできます。説明 この例では、ログデータは直接転送されます。
- On theLogHub-データシッパーページでパラメーターを設定します。
表1. LogHub - Data Shipperパラメーター パラメーター 説明 シッパー名 LogShipperタスクの名前。 後の管理を容易にするために、識別可能な名前を指定することを推奨します。 シッパーの説明 LogShipperタスクの説明。 後続の管理を容易にするために、意味のある説明を指定することを推奨します。 Clusterバージョン AnalyticDB for MySQLクラスターのバージョン。 3.0を選択します。 クラスター名 ターゲットAnalyticDB for MySQLクラスターの名前。 データベース名 ターゲットAnalyticDB for MySQLクラスター内のデータベースの名前。 テーブル名 ターゲットAnalyticDB for MySQLクラスター内のテーブルの名前。 アカウント名 ターゲットAnalyticDB for MySQLクラスターへの接続に使用されるデータベースアカウントの作成の名前。 次のいずれかのアカウントを使用できます。 - 特権アカウント
- 標準アカウント
アカウントパスワード ターゲットAnalyticDB for MySQLクラスターへの接続に使用されるデータベースアカウントのパスワード。 フィールドマッピング Log Serviceは、過去10分間のすべてのログフィールドを自動的に抽出し、これらのフィールドをAnalyticDB for MySQLの宛先フィールドにマッピングします。 配信開始時刻 LogShipperタスクの開始時刻。 ログデータがlog Serviceに書き込まれると、Log ServiceはデータをAnalyticDB for MySQLにリアルタイムで転送できます。
汚れたデータのフィルタ ダーティデータをフィルターするかどうかを指定します。 - 無効: ダーティデータが見つかった場合、LogShipperタスクを自動的に中断します。
- 有効: ダーティデータをフィルターします。
ダーティデータとは、データ型の変換に失敗したデータ、または必須フィールドが空のデータを指します。
- 上記のパラメーターを設定した後、[OK] をクリックします。 Log Serviceは、指定された配信時間にリアルタイムでAnalyticDB for MySQLテーブルにログデータを転送します。
ログデータの表示
ログがAnalyticDB for MySQLに転送された後、SELECTステートメントを実行してログデータを分析できます。 詳細は、「構文」をご参照ください。
LogShipperタスクの管理
- タスク名をクリックすると、LogShipperタスクの実行ステータスを表示できます。 たとえば、転送されて転送に失敗したデータの量や配信の待ち時間を表示できます。
- LogShipperタスクを変更するには、[LogShipperの変更] をクリックします。
- LogShipperタスクを再起動するには、まず [停止] をクリックします。 LogShipperタスクが停止したら、[開始] をクリックしてLogShipperタスクを再起動します。