CloudFoundry
状态:开发中
了解 Cloud Foundry 元数据的有用资源
- https://docs.cloudfoundry.org/devguide/deploy-apps/environment-variable.html#VCAP-APPLICATION
- https://docs.cloudfoundry.org/devguide/deploy-apps/streaming-logs.html
- https://github.com/cloudfoundry/loggregator-api#v2-envelope
- https://bosh.io/docs/jobs/#properties-spec
Cloud Foundry 通过包含在组织(org)中的空间来组织应用程序部署(app)。名称仅在其各自的包含实体中唯一。ID 在整个 Cloud Foundry 安装中是唯一的。同一应用程序的不同实例由一个整数索引分隔。应用程序可以由一个主作业以及多个任务和 side-car 组成,这些可以通过不同的进程属性来区分。
Cloud Foundry 还可以从系统组件发出信号。它们使用与应用程序不同的方法,因为它们不组织到 org 和 space 中。它们与 Cloud Foundry 的 Bosh 部署工具对齐。
组织
状态:
类型:cloudfoundry.org
描述:正在监控的应用程序的组织。
Attributes
| 键 | Stability | 需求级别 | Value Type | 描述 | Example Values |
|---|---|---|---|---|---|
cloudfoundry.org.id | 推荐 | 字符串 | 应用程序正在运行的 Cloud Foundry org 的 guid。[1] | 218fc5a9-a5f1-4b54-aa05-46717d0ab26d | |
cloudfoundry.org.name | 推荐 | 字符串 | 应用程序正在运行的 Cloud Foundry 组织的名称。[2] | my-org-name |
[1] cloudfoundry.org.id:应用程序检测应使用环境变量 VCAP_APPLICATION.org_id 的值。这与 cf org <org-name> --guid 报告的值相同。
[2] cloudfoundry.org.name:应用程序检测应使用环境变量 VCAP_APPLICATION.org_name 的值。这与 cf orgs 报告的值相同。
空间
状态:
类型:cloudfoundry.space
描述:正在监控的应用程序的空间。
Attributes
| 键 | Stability | 需求级别 | Value Type | 描述 | Example Values |
|---|---|---|---|---|---|
cloudfoundry.space.id | 推荐 | 字符串 | 应用程序正在运行的 Cloud Foundry space 的 guid。[1] | 218fc5a9-a5f1-4b54-aa05-46717d0ab26d | |
cloudfoundry.space.name | 推荐 | 字符串 | 应用程序正在运行的 Cloud Foundry 空间的名称。[2] | my-space-name |
[1] cloudfoundry.space.id:应用程序检测应使用环境变量 VCAP_APPLICATION.space_id 的值。这与 cf space <space-name> --guid 报告的值相同。
[2] cloudfoundry.space.name:应用程序检测应使用环境变量 VCAP_APPLICATION.space_name 的值。这与 cf spaces 报告的值相同。
应用程序
状态:
类型:cloudfoundry.app
描述:正在监控的应用程序。
Attributes
| 键 | Stability | 需求级别 | Value Type | 描述 | Example Values |
|---|---|---|---|---|---|
cloudfoundry.app.id | 推荐 | 字符串 | 应用程序的 GUID。[1] | 218fc5a9-a5f1-4b54-aa05-46717d0ab26d | |
cloudfoundry.app.name | 推荐 | 字符串 | 应用程序的名称。[2] | my-app-name |
[1] cloudfoundry.app.id: 应用程序检测应使用环境变量 VCAP_APPLICATION.application_id 的值。这与 cf app <app-name> --guid 报告的值相同。
[2] cloudfoundry.app.name:应用程序检测应使用环境变量 VCAP_APPLICATION.application_name 的值。这与 cf apps 报告的值相同。
Process
状态:
类型:cloudfoundry.process
描述:正在监控的应用程序的进程。
Attributes
| 键 | Stability | 需求级别 | Value Type | 描述 | Example Values |
|---|---|---|---|---|---|
cloudfoundry.process.id | 推荐 | 字符串 | 标识进程的 UID。[1] | 218fc5a9-a5f1-4b54-aa05-46717d0ab26d | |
cloudfoundry.process.type | 推荐 | 字符串 | 进程的类型。[2] | web |
[1] cloudfoundry.process.id:应用程序检测应使用环境变量 VCAP_APPLICATION.process_id 的值。对于部署到运行时的应用程序,它应该等于 VCAP_APPLICATION.app_id。对于系统组件,这可能是实际的 PID。
[2] cloudfoundry.process.type:Cloud Foundry 应用程序可以包含多个作业。通常主进程的类型为 web。可以有其他后台任务或 side-car,具有不同的进程类型。
Cloud Foundry 系统组件
状态:
类型:cloudfoundry.system
描述:正在监控的系统组件。
Attributes
| 键 | Stability | 需求级别 | Value Type | 描述 | Example Values |
|---|---|---|---|---|---|
cloudfoundry.system.id | 推荐 | 字符串 | 描述事件源的 guid 或其他名称。[1] | cf/gorouter | |
cloudfoundry.system.instance.id | 推荐 | 字符串 | 描述事件源具体实例的 guid。[2] | 218fc5a9-a5f1-4b54-aa05-46717d0ab26d |
[1] cloudfoundry.system.id:Cloud Foundry 在 Loggregator v2 envelope 中定义了 source_id。它用于 Cloud Foundry 发出的日志和指标。它应该包含组件名称,例如“gorouter”,用于 Cloud Foundry 组件。
当检测系统组件时,应使用 Bosh spec 中的值。system.id 应设置为 spec.deployment/spec.name。
[2] cloudfoundry.system.instance.id:Cloud Foundry 在 Loggregator v2 envelope 中定义了 instance_id。它用于 Cloud Foundry 发出的日志和指标。它应该包含 Cloud Foundry 组件的 vm id。
当检测系统组件时,应使用 Bosh spec 中的值。system.instance.id 应设置为 spec.id。