从 GCP 存储桶转发日志
Google Cloud Platform (GCP) Cloud Storage 是一个可存储大量数据的可扩展容器。Site24x7 使用 Google Cloud Function 收集 Cloud Storage 存储桶中新添加的日志,并将其发送至 Site24x7 进行索引。

定义日志类型
日志类型定义应用程序生成日志的特定格式。由于 IIS、Cassandra、Apache 或 MySQL 等应用程序生成的日志格式各不相同,创建不同的日志类型有助于整理这些日志,使日志访问更便捷、搜索更高效。按照以下步骤创建日志类型:
- 登录 Site24x7。
- 进入管理 > AppLogs > 日志类型 > 添加日志类型。您也可以定义自定义日志类型,将来自各类应用程序的日志归组,以便更便捷地访问和更高效地搜索。
- 如果选择自定义日志类型,请输入显示名称。
- 提供存储在 Cloud Storage 存储桶中的日志,以识别日志模式。
- 点击保存。

为存储在 GCP 中的日志定义日志类型后,将其列入日志配置文件,并通过执行搜索查询开始管理日志。
创建日志配置文件
要将 GCP Cloud Storage 存储桶中的日志收集到 Site24x7,首先需要设置日志配置文件,并配置 Google Cloud Function 将日志从 Cloud Storage 存储桶路由至 Site24x7 的日志接收器。按照以下步骤创建日志配置文件:
- 进入管理 > AppLogs > 日志配置文件 > 添加日志配置文件。
- 输入以下信息:
- 配置文件名称:输入唯一名称以标识您的日志配置文件。
- 日志类型:选择通过上述步骤创建的日志类型。
- 日志来源:选择 GCP Functions(此处作为占位符,用于设置通用日志来源)。
- 时区:为您的日志选择适当的时区。
- 点击保存以创建日志配置文件。

配置 Google Cloud Functions
- 登录 Google Cloud 控制台。
- 进入左上角的汉堡图标。
- 点击 Cloud Run > Services > Write a function。

- 在打开的创建服务页面上,设置 Cloud Function:
- 选择使用内联编辑器来创建函数。
- 填写服务名称并选择区域。
- 选择 Python 3.11(最新版本)作为运行时。
- 在触发器下,选择 Cloud Storage 触发器,将打开 Eventarc 触发器窗口。

- 在事件类型中选择在存储桶中创建的对象名称。
- 在事件数据内容类型中选择 application/json。
- 浏览存储桶名称,点击选择将其添加至存储桶字段,使 Google Cloud Storage 存储桶订阅您新创建的存储桶。
- 选择 Compute Engine 默认服务账号作为服务账号。
- 点击 保存触发器。
触发器详情已成功添加。
- 在身份验证部分:
- 选择需要身份验证并启用身份与访问管理 (IAM) 复选框。
- 点击创建。

此设置将创建一个 Eventarc 触发函数,用于监听来自 Cloud Storage 触发器的传入日志消息。
部署函数代码
- 创建 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 > 日志配置文件
- 选择已创建的日志配置文件,并复制显示的 logTypeConfig 代码。

- 返回 Google 控制台:
- 进入已创建 Cloud Function 的配置部分。
- 在环境变量下,添加新的键值对:
- 键:logTypeConfig
- 值:粘贴从 Site24x7 日志配置文件页面复制的 logTypeConfig。
- 点击部署。

