mcp-server-google-cloud-logging
好的,以下是一些关于如何使用 gcloud 从 Logging 获取日志的说明: **基本命令:** 最基本的命令是 `gcloud logging read`。 它会从 Logging 中读取日志条目并将其打印到您的终端。 ```bash gcloud logging read ``` 这会显示最近的日志条目。 **常用选项:** * **`--limit`**: 限制返回的日志条目数量。 例如,只显示最近的 10 个条目: ```bash gcloud logging read --limit 10 ``` * **`--format`**: 控制输出格式。 常用的格式包括 `text` (默认), `json`, 和 `yaml`。 `json` 格式对于进一步处理日志数据非常有用。 ```bash gcloud logging read --limit 10 --format json ``` * **`--freshness`**: 指定日志条目的时间范围。 例如,只显示过去 5 分钟的日志: ```bash gcloud logging read --freshness 5m ``` 可以使用 `s` (秒), `m` (分钟), `h` (小时), `d` (天) 作为单位。 * **`--project`**: 指定要查询的 Google Cloud 项目。 如果未指定,则使用当前活跃的项目。 ```bash gcloud logging read --project your-project-id ``` * **`--order`**: 指定日志条目的排序方式。 可以是 `asc` (升序,最早的日志在前) 或 `desc` (降序,最新的日志在前,默认值)。 ```bash gcloud logging read --order asc ``` **使用过滤器:** `gcloud logging read` 最强大的功能是使用过滤器来精确地选择您需要的日志条目。 过滤器使用 Logging 查询语言。 * **基本过滤:** * 按日志名称过滤: ```bash gcloud logging read "logName:projects/your-project-id/logs/your-log-name" ``` 将 `your-project-id` 替换为您的项目 ID,将 `your-log-name` 替换为日志的名称 (例如,`stdout`, `stderr`, 或自定义日志名称)。 * 按严重程度过滤: ```bash gcloud logging read "severity>=ERROR" ``` 这将显示所有严重程度为 `ERROR` 或更高的日志条目 (例如,`ERROR`, `CRITICAL`, `ALERT`, `EMERGENCY`)。 * 按文本内容过滤: ```bash gcloud logging read "textPayload:\"error message\"" ``` 这将显示所有包含 "error message" 的日志条目。 注意需要使用双引号转义。 * **更复杂的过滤:** * 组合多个条件: ```bash gcloud logging read "logName:projects/your-project-id/logs/your-log-name AND severity>=WARNING" ``` * 过滤特定资源: ```bash gcloud logging read "resource.type=gce_instance AND resource.labels.instance_id=your-instance-id" ``` 将 `your-instance-id` 替换为您的 GCE 实例 ID。 * 过滤 JSON 有效负载中的字段: ```bash gcloud logging read "jsonPayload.status = \"error\"" ``` 假设您的日志条目有一个 JSON 有效负载,其中包含一个名为 `status` 的字段。 **示例:** 1. 获取过去 1 小时内来自特定日志的错误日志,并以 JSON 格式输出: ```bash gcloud logging read --freshness 1h --format json "logName:projects/your-project-id/logs/your-log-name AND severity>=ERROR" ``` 2. 获取特定 GCE 实例的日志,并将其保存到文件中: ```bash gcloud logging read "resource.type=gce_instance AND resource.labels.instance_id=your-instance-id" > instance_logs.txt ``` **重要提示:** * **权限:** 确保您拥有访问 Logging 数据的适当权限。 您可能需要 `roles/logging.viewer` 或更高级别的角色。 * **查询语言:** 熟悉 Logging 查询语言对于编写有效的过滤器至关重要。 请参阅 Google Cloud 文档以获取完整的语法和功能:[https://cloud.google.com/logging/docs/view/advanced-queries](https://cloud.google.com/logging/docs/view/advanced-queries) * **性能:** 复杂的过滤器可能会影响查询性能。 尽量保持过滤器简洁高效。 希望这些信息对您有所帮助! 如果您有任何其他问题,请随时提出。
kazuhideoki
README
mcp-server-google-cloud-logging
使用 gcloud 从 Logging 获取日志
要求
- 能够精确地执行查询
- 在某种程度上取决于项目的日志输出方式 -> 代理应该知道吗?还是应该由 MCP Server 来处理?
- 减少数据量。原始数据太大。只处理必要的信息
- 项目
- jsonPayload: 必需。主要信息
- timestamp: 必需。日志生成时间
- labels: 可选
- resource: 可选。包含 project_id
- 是否添加类似 "show" 的选项来获取 labels 等元数据?
- 项目
- 可以在任何 organization 和 project 中使用
参考
推荐服务器
contentful-mcp
在你的 Contentful Space 中更新、创建、删除内容、内容模型和资源。
Supabase MCP Server
一个模型上下文协议(MCP)服务器,它提供对 Supabase 管理 API 的编程访问。该服务器允许 AI 模型和其他客户端通过标准化的接口来管理 Supabase 项目和组织。
Azure MCP Server
通过 Claude Desktop 实现与 Azure 服务的自然语言交互,支持资源管理、订阅处理和租户选择,并提供安全身份验证。
Settlemint
利用 SettleMint 的模型上下文协议服务器,无缝地与企业区块链基础设施交互。通过人工智能驱动的助手构建、部署和管理智能合约,从而简化您的区块链开发工作流程,实现最高的效率。
Brev
在云端运行、构建、训练和部署机器学习模型。
Appwrite MCP Server
一个模型上下文协议服务器,允许 AI 助手与 Appwrite 的 API 交互,从而提供管理 Appwrite 项目中数据库、用户、函数、团队和其他资源的工具。
MCP2Lambda
通过 MCP 协议,人工智能模型能够与 AWS Lambda 函数交互,从而在安全的环境中访问私有资源、实时数据和自定义计算。
mcp-server-cloudflare
允许您使用 Claude Desktop 或任何 MCP 客户端,通过自然语言在您的 Cloudflare 帐户上完成任务。
Story Protocol SDK MCP
这个服务器提供 MCP(模型上下文协议)工具,用于与 Story 的 Python SDK 交互。 功能: * 获取许可条款 * 使用 PIL 条款铸造和注册 IP 资产 * 铸造许可代币 * 向钱包发送 $IP * 通过 Pinata [外部] 上传图像到 ipfs * 通过 Pinata [外部] 上传 IP 和 NFT 元数据
Tembo MCP Server
一个 MCP 服务器,它使 Claude 能够与 Tembo Cloud 平台 API 交互,从而允许用户通过自然语言管理 Tembo Cloud 资源。