Google Cloud Platformからのログ転送

Google Cloud Platform (GCP)ログで、クラウド環境を包括的に表示します。
GCPからSite24x7アプリケーションログにログを転送し、GCPリソースからのログデータを監視できます。

しくみ

  1. Google Compute Engine、Google Kubernetes Engine (GKE)、Google App Engine、Google Cloud Functions、Google Cloud Pub/SubなどのGCPリソースで、Google Cloud Loggingにログを書き込みます。
  2. Log Routing Sinkを構成し、Google Cloud Pub/Subトピックにログエントリが公開されます。
  3. データフローフレックステンプレートをGCPにデプロイすることで、作成したトピックからログを読み取り、Site24x7に出力します。

監視に必要な条件

ログインユーザーにプロジェクトのオーナーレベル権限が必要です。

設定手順

Site24x7にGCPログを転送する手順は次のとおりです。

  1. リソース作成(Pub/Sub TopicおよびLog Routing Sink)
  2. GCPでのデータフローフレックステンプレートの実行

リソース作成(Pub/Sub TopicおよびLog Routing Sink)

次の手順でリソース作成を行ってください。

  1. Pub/Subトピックの作成
  2. サブスクリプションの作成
  3. Log Routing Sinkの作成とログの転送
  4. データフロープロジェクトの有効化

Pub/Subトピックの作成:

次のコマンドのTOPIC_NAMEを作成するPub/Subトピック名に置換して、実行します。

gcloud pubsub topics create TOPIC_NAME

サブスクリプションの作成:

次のコマンドのSUBSCRIPTION_NAMEを作成するサブスクリプション名に、TOPIC_NAMEを作成したトピック名に置換し、実行してください。

gcloud pubsub subscriptions create SUBSCRIPTION_NAME --topic=TOPIC_NAME

Log Routing Sinkの作成:

Run the below command and replace 次のコマンドのSINK_NAMEを作成するLog Routing Sinkの名前に、PROJECT_IDをプロジェクトIDに、TOPIC_NAMEを作成したトピック名に置換し、実行してください。

gcloud logging sinks create SINK_NAME pubsub.googleapis.com/projects/PROJECT_ID/topics/TOPIC_NAME
特定のログタイプ、ログレベル、リソースのログを指定して転送したい場合は、ログフィルター(--log-filter="LOG_FILTER")を設定してください。
VPCフローログを例とすると、ログフィルターを次のように設定します。
gcloud logging sinks create SINK_NAME pubsub.googleapis.com/projects/PROJECT_ID/topics/TOPIC_NAME --log-filter='resource.type="gce_subnetwork"'

データフロープロジェクトの有効化

次のコマンドのPROJECT_IDをプロジェクト名に置換して、実行してください。

gcloud services enable dataflow --project PROJECT_ID

GCPでのデータフローフレックステンプレートの実行

次のコマンドを実行して、データフロープロジェクトを起動します。

gcloud dataflow flex-template run "TEMPLATE_NAME" --project=PROJECT_ID --template-file-gcs-location=gs://site24x7_applog/dataflow/v1/flex/Cloud_PubSub_to_Site24x7 --region=REGION --parameters "inputSubscription=projects/PROJECT_ID/subscriptions/INPUT_SUBSCRIPTION_NAME,apiKey=API_KEY,site24x7Domain=site24x7.com"
API_KETは、Site24x7にログイン後、[管理]→[開発者]→[デバイスキー]で取得できます。

ログ転送の無効化

  1. Log Sinkを無効化します。
  2. データフロージョブを停止します。

関連するログの種類