Anthos clusters on Bare Metal 包含多种集群日志记录和监控选项,其中包括云端代管式服务、开放源代码工具,以及经过验证的与第三方商业解决方案的兼容性。本页介绍了这些选项,并为您选择适合您环境的正确解决方案提供了一些基本指导。
Anthos clusters on Bare Metal 选项
您可以为 Anthos clusters on Bare Metal 集群提供多种日志记录和监控选项:
- Cloud Logging 和 Cloud Monitoring,在 Bare Metal 系统组件上默认启用。
- Prometheus 和 Grafana,可从 Cloud Marketplace 获取。
- 经过验证且适用于第三方解决方案的配置。
Cloud Logging 和 Cloud Monitoring
Google Cloud 的运维套件是 Google Cloud 的内置可观测性解决方案。它提供了全代管式日志记录解决方案、指标收集、监控、信息中心和提醒。Cloud Monitoring 监控 Anthos clusters on Bare Metal 集群的方式与基于云的 GKE 集群的监控方式类似。
代理可配置两个不同级别的日志记录和监控:
- 仅限系统组件(默认)。
- 系统组件和应用。
如果您需要一个易于配置且功能强大的云端可观测性解决方案,Logging 和 Monitoring 可提供理想的解决方案。如果仅在 Anthos clusters on Bare Metal 上运行工作负载,或者在 GKE 和 Anthos clusters on Bare Metal 上运行工作负载,我们强烈建议使用 Logging 和 Monitoring。对于组件在 Anthos clusters on Bare Metal 和传统本地基础架构上运行的应用,您可以考虑采用其他解决方案来实现这些应用的端到端视图。
如需详细了解 Anthos clusters on Bare Metal 的架构、配置以及默认复制到 Google Cloud 项目的数据,请参阅适用于 Anthos clusters on Bare Metal 的 Logging 和 Monitoring 的工作原理。
如需详细了解 Logging,请参阅 Cloud Logging 文档。
如需详细了解 Monitoring,请参阅 Cloud Monitoring 文档。
Prometheus 和 Grafana
Prometheus 和 Grafana 是 Cloud Marketplace 中提供的两款热门的开源监控产品:
Prometheus 会收集应用和系统指标。
Alertmanager 使用多种不同的提醒机制来发出提醒。
Grafana 是一种信息中心工具。
您可以在每个管理员集群和用户集群上启用 Prometheus 和 Grafana。建议使用 Prometheus 和 Grafana 的对象:之前使用过这些产品的应用团队,或者希望在集群内保留应用指标的运营团队,以及网络连接断开时排查问题的团队。
第三方解决方案
Google 与多个第三方日志记录和监控解决方案提供方合作,帮助他们的产品与 Anthos clusters on Bare Metal 很好地搭配使用。这些提供方包括 Datadog、Elastic 和 Splunk。将来我们会添加经过验证的其他第三方。
以下解决方案指南适用于将第三方解决方案与 Anthos clusters on Bare Metal 搭配使用:
- 使用 Elastic Stack 监控 Anthos clusters on Bare Metal
- 使用 Splunk Connect 在 Anthos clusters on Bare Metal 上收集日志
适用于 Anthos clusters on Bare Metal 的 Logging 和 Monitoring 的工作原理
创建新管理员集群或用户集群时,系统会在每个集群中安装并激活 Cloud Logging 和 Cloud Monitoring。
Stackdriver 代理在每个集群上都包含多个组件:
Stackdriver Operator (
stackdriver-operator-*
):管理部署到集群上的所有其他 Stackdriver 代理的生命周期。Stackdriver Custom Resource:在 Anthos clusters on Bare Metal 安装过程中自动创建的资源。
Stackdriver Log Aggregator (
stackdriver-log-aggregator-*
):一个将日志发送到 Cloud Logging API 的 Fluentd StatefulSet;如果无法发送日志,则 Log Aggregator 会缓冲多达 200 GB 的日志条目,并且在之后 24 小时内尝试重新发送日志。如果缓冲区已满或 Log Aggregator 超过 24 小时无法访问 Logging API,则日志会被丢弃。Stackdriver Log Forwarder (
stackdriver-log-forwarder-*
):一个 Fluentbit daemonset,用于将每台机器的日志转发到 Stackdriver Log Aggregator。Stackdriver Metadata Collector (
stackdriver-metadata-agent-
):一个部署,用于将 Pod、部署或节点等 Kubernetes 资源的元数据发送到 Stackdriver Resource Metadata API;这些数据用于通过部署名称、节点名称甚至 Kubernetes 服务名称进行查询来丰富指标查询。
您可以通过运行以下命令查看 Stackdriver 安装的所有代理:
kubectl -n kube-system get pods | grep stackdriver
此命令的输出类似如下所示:
stackdriver-log-aggregator-0 1/1 Running 0 4h31m stackdriver-log-aggregator-1 1/1 Running 0 4h28m stackdriver-log-forwarder-bpf8g 1/1 Running 0 4h31m stackdriver-log-forwarder-cht4m 1/1 Running 0 4h31m stackdriver-log-forwarder-fth5s 1/1 Running 0 4h31m stackdriver-log-forwarder-kw4j2 1/1 Running 0 4h29m stackdriver-metadata-agent-cluster-level... 1/1 Running 0 4h31m stackdriver-operator-76ddb64d57-4tcj9 1/1 Running 0 4h37m
Cloud Monitoring 指标
如需查看 Cloud Monitoring 收集的指标列表,请参阅 Anthos 本地和 Anthos 裸机指标。
为 Anthos clusters on Bare Metal 配置 Stackdriver 代理
与 Anthos clusters on Bare Metal 一起安装的 Stackdriver 代理会根据您的设置和配置收集有关系统组件的数据,以便通过以下模式之一维护 Anthos clusters on Bare Metal 集群以及排查其问题。
仅限系统组件(默认模式)
安装后,Stackdriver 代理会默认配置为收集 Google 所提供系统组件的日志和指标,包括性能详情(如 CPU 和内存利用率)和类似元数据。这些组件包括管理员集群中的所有工作负载,以及用户集群的 kube-system、gke-system、gke-connect、istio-system、config-management-system 命名空间中的工作负载。
Stackdriver 已停用
您可以通过删除 Stackdriver 自定义资源来完全停用 Stackdriver 代理。 注意:我们不建议您直接管理 Stackdriver 自定义资源。
在停用 Stackdriver 之前,请参阅支持页面,详细了解停用操作会如何影响 Google Cloud 支持的服务等级协议 (SLA)。
为 Anthos clusters on Bare Metal 停用 Stackdriver:
kubectl -n kube-system delete stackdrivers stackdriver
Stackdriver 代理会根据您的存储和保留配置捕获本地存储的数据。通过使用有权将数据写入安装时指定的 Google Cloud 项目的服务帐号,系统会将数据复制到该项目。如前所述,您可以随时停用 Stackdriver 代理。正如 Cloud Monitoring 文档所述,您可以像处理任何其他指标和日志数据一样,管理和删除 Stackdriver 代理收集的数据。
Logging 和 Monitoring 的配置要求
为 Anthos clusters on Bare Metal 启用 Cloud Logging 和 Cloud Monitoring 需要满足几项配置要求。这些步骤包含在“启用 Google 服务”页面上的配置服务帐号以与 Logging 和 Monitoring 搭配使用中,具体如下列出:
- Cloud Monitoring 工作区必须在 Cloud 项目中创建。如需实现此目的,请点击 Google Cloud 控制台中的 Monitoring 并按照工作流操作。
您需要启用以下 Stackdriver API:
您需要将以下 IAM 角色分配给 Stackdriver 代理使用的服务帐号:
logging.logWriter
monitoring.metricWriter
stackdriver.resourceMetadata.writer
monitoring.dashboardEditor
价格
您无需为 Anthos 系统日志和指标付费。
在 Anthos clusters on Bare Metal 集群中,Anthos 系统日志和指标包括:
- 管理员集群中所有组件的日志和指标
- 用户集群的以下命名空间中组件的日志和指标:
kube-system
、gke-system
、gke-connect
、knative-serving
、istio-system
、monitoring-system
、config-management-system
、gatekeeper-system
、cnrm-system
如需了解详情,请参阅 Google Cloud 的运维套件的价格。
如需了解 Cloud Logging 指标的赠送金额,请与销售人员联系了解价格。