GCP Storageバケットからのログの転送
Google Cloud Platform(GCP)Cloud Storageは、大量のデータを保存するスケーラブルなコンテナとして機能します。Site24x7はGoogle Cloud
Functionsを使用して、Cloud Storageバケットに追加された新しいログを収集し、インデックス作成のためにSite24x7に送信します。
ログのタイプを定義する
ログタイプは、アプリケーションがログを生成する際の特定の形式を定義します。IIS、Cassandra、Apache、MySQLなどのアプリケーションはさまざまな形式でログを生成するため、ログタイプを明確に定義することでログを整理し、ログへのアクセスを容易にし、検索効率を向上させることができます。ログタイプを作成するには、以下の手順に従います。
- Site24x7にログインします。
- [管理]→[AppLogs]→[Log
Types]→[ログタイプの追加]に移動します。カスタムログタイプを定義して、さまざまなアプリケーションのログをグループ化し、アクセスを容易にし、より効率的に検索することもできます。
- カスタムログタイプを選択した場合は、表示名を入力します。
- ログパターンを識別するには、Cloud Storageバケットに保存されているログを提供します。
- [保存]をクリックします。
GCPに保存されているログのログタイプを定義したら、それをログプロファイルにリストし、検索クエリを実行してログの管理を開始します。
ログプロファイルを作成する
GCP Cloud StorageバケットからSite24x7にログを収集するには、まずログプロファイルを設定し、Google Cloud Functionsを設定して、Cloud
StorageバケットからSite24x7のログレシーバーにログをルーティングします。ログプロファイルを作成するには、以下の手順に従ってください。
- [管理]→[AppLogs]→[Log
Types]→[ログタイプの追加]に移動します。
- 次の詳細を入力します。
- プロファイル名:ログプロファイルを識別するための一意の名前を入力します。
- ログタイプ:上記の手順で作成されたログタイプを選択します。
- ログソース:GCP関数を選択します(ここでは、汎用ログソースを設定するためのプレースホルダーとして使用されます)。
- タイムゾーン:ログに適切なタイムゾーンを選択します。
- [保存]をクリックしてログプロファイルを作成します。
Google Cloud Functionsを構成する
- Google Cloud
Consoleにログインします。
- 左上隅の[≡(ハンバーガーアイコン)]に移動します。
- [Cloud Run]→[サービス]→[関数の書き込み]をクリックします。
- 開いた[サービスの作成]ページで、クラウド関数を設定します。
- インラインエディターを使用して関数を作成します。
- サービス名を入力し、リージョンを選択します。
- ランタイムとしてPython 3.11(利用可能な最新バージョン)を選択します。
- [トリガー]配下の[Cloud Storageトリガー]を選択し、[Eventarcトリガー]ウィンドウを開きます。
- イベントタイプでバケットに作成されたオブジェクト名を選択します。
- イベントデータコンテンツタイプで[application/json]を選択します。
- バケット名を参照し、[選択]をクリックして[バケット]フィールドの下に追加し、Google Cloud
Storageバケットが新しく作成されたバケットをサブスクライブするようにします。
- サービスアカウントとしてCompute Engineのデフォルトのサービスアカウントを選択します。
- [トリガーを保存]をクリックします。
トリガーの詳細が正常に追加されます。
- 認証セクションで次の操作を行います。
- [必要な認証]を選択し、[Identity and Access Management(IAM)]チェックボックスを有効にします。
- [作成]をクリックします。
この設定により、Cloud Storageトリガーからの受信ログメッセージをリッスンする Eventarcトリガー関数が作成されます。
関数コードをデプロイする
- Eventarcトリガーが作成されましたら、"main.py"ファイル内のクラウド関数(関数コード)を編集します。
- "main.py"ファイルを以下のリンクのコードに置き換えます。
https://github.com/site24x7/applogs-gcp-functions/blob/main/cloudbucket/main.py
コードを置き換えた後、関数のエントリポイントの値を「process_gcs_event」に変更します。
- "requirements.txt"ファイルの内容を以下の内容に置き換えます。
https://github.com/site24x7/applogs-gcp-functions/blob/main/cloudbucket/requirements.txt
- コードを入力したら、Site24x7のWebクライアントに移動します。
- [管理]→[AppLogs]→[Log Profile]に移動します。
- 作成されたログプロファイルを選択し、logTypeConfigの表示されたコードをコピーします。
- Google Consoleに戻ります。
- 作成されたCloud Functionの[構成]セクションに移動します。
- 環境変数の下に、新しいキーと値のペアを追加します。
- キー:logTypeConfig
- 値:Site24x7のログプロファイルページからコピーしたlogTypeConfigを貼り付けます。
- [デプロイ]をクリックします。
関連記事