Kubernetes 集成
编辑Kubernetes 集成
编辑此集成用于从 Kubernetes 集群收集日志和指标。为指标数据流启用了时间序列 索引模式。
此集成需要 kube-state-metrics,默认情况下 Kubernetes 不包含该组件。为了使仪表板正确填充,必须将 kube-state-metrics 服务部署到您的 Kubernetes 集群 |
作为 Kubernetes 监控的主要组件之一,此集成能够从多个组件获取指标
一些之前的组件在每个 Kubernetes 节点上运行(如 kubelet
或 proxy
),而其他组件则提供单个集群范围的端点。这对于确定集成中包含的不同数据集的最佳配置和运行策略至关重要。
Kubernetes 端点和指标集
编辑Kubernetes 模块有点复杂,因为其内部数据集需要访问各种端点。
本节重点介绍并引入了一些具有类似端点访问需求的数据集组。有关数据集的更多详细信息,请参见下面的 配置示例
和 数据集
部分。
node / system / pod / container / module / volume
编辑数据集 container
、node
、pod
、system
和 volume
需要访问每个 Kubernetes 节点中的 kubelet 端点
,因此建议将它们作为 Agent DaemonSet
或在主机上运行的独立 Agent 的一部分。
根据 Kubernetes 节点的版本和配置,kubelet
可能会提供一个只读 HTTP 端口(通常为 10255),这在某些配置示例中使用。但通常情况下,并且最近,此端点需要 SSL (https
) 访问(默认端口为 10250)和基于令牌的身份验证。
state_* 和 event
编辑默认情况下启用 State_* 数据集。
所有带有 state_
前缀的数据集都需要 hosts
字段指向集群内的 kube-state-metrics
服务。由于该服务提供集群范围的指标,因此无需每个节点都获取它们,因此建议将这些数据集作为只有一个副本的 Agent Deployment
的一部分运行。
通常,kube-state-metrics
运行 Deployment
,并且可以通过 kube-system
命名空间中的名为 kube-state-metrics
的服务访问,这将是我们配置中使用的服务。
apiserver
编辑apiserver 数据集需要访问 Kubernetes API,这在所有 Kubernetes 环境中都应易于访问。根据 Kubernetes 的配置,API 访问可能需要 SSL (https
) 和基于令牌的身份验证。
proxy
编辑proxy 数据集需要访问每个 Kubernetes 节点中的 proxy 端点,因此建议将其配置为 Agent DaemonSet
的一部分。
scheduler 和 controllermanager
编辑这些数据集需要访问 Kubernetes controller-manager
和 scheduler
端点。默认情况下,这些 Pod 仅在主节点上运行,并且不会通过服务公开,但有不同的策略可用于其配置
- 创建
Kubernetes Services
使kube-controller-manager
和kube-scheduler
可用,并将数据集配置为指向这些服务,作为Agent Deployment
的一部分。 - 将这些数据集作为
Agent Daemonset
的一部分运行(使用 HostNetwork 设置),并使用nodeSelector
仅在主节点上运行。
默认情况下不启用这些数据集。
在某些“即服务”Kubernetes 实现中,如 GKE
,主节点甚至在主节点上运行的 Pod 将不可见。在这些情况下,将无法使用 scheduler
和 controllermanager
指标集。
container-logs
编辑container-logs 数据集需要访问存储容器日志的每个 Kubernetes 节点上的日志文件。默认为 /var/log/containers/*${kubernetes.container.id}.log
。
路由
编辑container-logs 数据流允许使用 Pod 注释将日志路由到不同的数据集或命名空间。
例如,假设您在 Kubernetes 集群上运行 Nginx,并且您想将 Nginx 容器日志驱动到专用的数据集或命名空间中。通过使用 elastic.co/namespace: nginx
注释 Pod,集成会将所有容器日志发送到 nginx
命名空间。
要了解有关路由容器日志的更多信息,请参阅 https://docs.elastic.co/integrations/kubernetes/container-logs。
保留原始事件
编辑可以使用 Pod 注释配置代理以在 container-logs 上设置标记 preserve_original_event
。
例如,假设您如上所述将 Nginx 容器日志路由到专用数据集或命名空间,以使用 Nginx Fleet 集成。在 Nginx 集成上启用 preserve_original_event 将不起作用,因为日志是通过 Kubernetes 集成而不是 Nginx 发送的。此外,您可能也不希望保留所有 Nginx Pod 的所有原始事件。
通过使用 elastic.co/preserve_original_event: 'true'
注释 Pod,集成将添加标记 preserve_original_event
,就像 nginx
集成本来会做的那样。
audit-logs
编辑audit-logs 数据集需要访问存储审计日志的每个 Kubernetes 节点上的日志文件。默认为 /var/log/kubernetes/kube-apiserver-audit.log
。
兼容性
编辑Kubernetes 程序包已使用 Kubernetes [1.28.x - 1.31.x] 版本进行测试
仪表板
编辑Kubernetes 集成附带 apiserver
、controllermanager
、overview
、proxy
和 scheduler
的默认仪表板。
如果您的这些组件使用 HA,请注意,当从所有实例收集数据时,仪表板通常会显示指标的平均值。对于这些情况,可以按主机或服务地址进行筛选。
overview
仪表板中的集群选择器有助于区分和筛选从多个集群收集的指标。如果您想专注于监控特定场景的 Kubernetes 集群的子集,则此集群选择器可能是一个方便的工具。请注意,此选择器是从 orchestrator.cluster.name
字段填充的,该字段可能并非始终可用。此字段的值来自 kube_config
、kubeadm-config
configMap 和 GKE 的 Google Cloud 元 API 等来源。如果上述来源未提供此值,则 Metricbeat 将不会报告该值。但是,您始终可以使用 处理器来设置此字段并在 集群概览
仪表板中使用它。
变更日志
编辑变更日志
版本 | 详细信息 | Kibana 版本 |
---|---|---|
1.68.1 |
错误修复 (查看拉取请求) |
8.15.0 或更高版本 |
1.68.0 |
增强 (查看拉取请求) |
8.15.0 或更高版本 |
1.67.0 |
增强 (查看拉取请求) |
8.15.0 或更高版本 |
1.66.4 |
错误修复 (查看拉取请求) |
8.15.0 或更高版本 |
1.66.3 |
增强 (查看拉取请求) |
8.15.0 或更高版本 |
1.66.2 |
错误修复 (查看拉取请求) |
8.15.0 或更高版本 |
1.66.1 |
错误修复 (查看拉取请求) |
8.15.0 或更高版本 |
1.66.0 |
增强 (查看拉取请求) |
8.15.0 或更高版本 |
1.65.0 |
增强 (查看拉取请求) |
8.15.0 或更高版本 |
1.64.0 |
增强 (查看拉取请求) |
8.15.0 或更高版本 |
1.63.1 |
错误修复 (查看拉取请求) |
8.15.0 或更高版本 |
1.63.0 |
增强 (查看拉取请求) |
8.15.0 或更高版本 |
1.62.1 |
错误修复 (查看拉取请求) |
8.14.0 或更高版本 |
1.62.0 |
增强 (查看拉取请求) |
8.14.0 或更高版本 |
1.61.1 |
错误修复 (查看拉取请求) |
8.14.0 或更高版本 |
1.61.0 |
增强 (查看拉取请求) |
8.14.0 或更高版本 |
1.60.0 |
错误修复 (查看拉取请求) |
8.14.0 或更高版本 |
1.59.0 |
增强 (查看拉取请求) |
8.14.0 或更高版本 |
1.58.0 |
增强 (查看拉取请求) |
8.12.0 或更高版本 |
1.57.0 |
增强 (查看拉取请求) |
8.12.0 或更高版本 |
1.56.0 |
增强 (查看拉取请求) |
8.12.0 或更高版本 |
1.55.1 |
增强 (查看拉取请求) |
8.11.0 或更高版本 |
1.55.0 |
增强 (查看拉取请求) |
8.11.0 或更高版本 |
1.54.0 |
增强 (查看拉取请求) |
8.11.0 或更高版本 |
1.53.0 |
增强 (查看拉取请求) |
8.11.0 或更高版本 |
1.52.0 |
增强 (查看拉取请求) |
8.11.0 或更高版本 |
1.51.0 |
增强 (查看拉取请求) |
8.10.2 或更高版本 |
1.50.0 |
增强 (查看拉取请求) |
8.10.2 或更高版本 |
1.49.0 |
增强 (查看拉取请求) |
8.10.2 或更高版本 |
1.48.0 |
增强 (查看拉取请求) |
8.10.2 或更高版本 |
1.47.0 |
增强 (查看拉取请求) |
8.10.2 或更高版本 |
1.46.0 |
增强 (查看拉取请求) |
8.10.1 或更高版本 |
1.45.0 |
增强 (查看拉取请求) |
8.10.0 或更高版本 |
1.44.0 |
增强 (查看拉取请求) |
8.10.0 或更高版本 |
1.43.1 |
增强 (查看拉取请求) |
8.8.0 或更高版本 |
1.43.0 |
增强 (查看拉取请求) |
8.8.0 或更高版本 |
1.42.0 |
增强 (查看拉取请求) |
8.8.0 或更高版本 |
1.41.0 |
增强 (查看拉取请求) |
8.8.0 或更高版本 |
1.40.0 |
错误修复 (查看拉取请求) |
8.8.0 或更高版本 |
1.40.0-beta.2 |
错误修复 (查看拉取请求) |
— |
1.40.0-beta.1 |
错误修复 (查看拉取请求) |
— |
1.40.0-beta |
增强 (查看拉取请求) |
— |
1.39.0 |
增强 (查看拉取请求) |
8.6.1 或更高版本 |
1.38.1 |
增强 (查看拉取请求) |
8.6.1 或更高版本 |
1.38.0 |
增强 (查看拉取请求) |
8.6.1 或更高版本 |
1.37.0 |
增强 (查看拉取请求) |
8.6.1 或更高版本 |
1.36.0 |
增强 (查看拉取请求) |
8.6.1 或更高版本 |
1.35.0 |
增强 (查看拉取请求) |
8.6.1 或更高版本 |
1.34.1 |
增强 (查看拉取请求) |
8.6.1 或更高版本 |
1.34.0 |
增强 (查看拉取请求) |
8.6.1 或更高版本 |
1.33.0 |
增强 (查看拉取请求) |
8.6.1 或更高版本 |
1.32.2 |
增强 (查看拉取请求) |
8.6.1 或更高版本 |
1.32.1 |
增强 (查看拉取请求) |
8.6.1 或更高版本 |
1.32.0 |
增强 (查看拉取请求) |
8.6.1 或更高版本 |
1.31.2 |
增强 (查看拉取请求) |
8.6.1 或更高版本 |
1.31.1 |
增强 (查看拉取请求) |
8.6.1 或更高版本 |
1.31.0 |
增强 (查看拉取请求) |
8.6.0 或更高版本 |
1.30.0 |
增强 (查看拉取请求) |
8.6.0 或更高版本 |
1.29.2 |
错误修复 (查看拉取请求) |
8.5.0 或更高版本 |
1.29.1 |
错误修复 (查看拉取请求) |
8.5.0 或更高版本 |
1.29.0 |
错误修复 (查看拉取请求) |
8.5.0 或更高版本 |
1.28.2 |
错误修复 (查看拉取请求) |
8.5.0 或更高版本 |
1.28.1 |
增强 (查看拉取请求) |
8.5.0 或更高版本 |
1.28.0 |
增强 (查看拉取请求) |
8.5.0 或更高版本 |
1.27.1 |
增强 (查看拉取请求) |
8.5.0 或更高版本 |
1.27.0 |
增强 (查看拉取请求) |
8.5.0 或更高版本 |
1.26.0 |
增强 (查看拉取请求) |
8.4.0 或更高版本 |
1.25.0 |
增强 (查看拉取请求) |
8.4.0 或更高版本 |
1.24.0 |
增强 (查看拉取请求) |
8.4.0 或更高版本 |
1.23.1 |
增强 (查看拉取请求) |
8.4.0 或更高版本 |
1.23.0 |
增强 (查看拉取请求) |
8.4.0 或更高版本 |
1.22.1 |
增强 (查看拉取请求) |
8.4.0 或更高版本 |
1.22.0 |
增强 (查看拉取请求) |
8.4.0 或更高版本 |
1.21.2 |
Bug 修复 (查看拉取请求) |
8.3.0 或更高版本 |
1.21.1 |
增强 (查看拉取请求) |
8.3.0 或更高版本 |
1.21.0 |
增强 (查看拉取请求) |
8.3.0 或更高版本 |
1.20.0 |
增强 (查看拉取请求) |
8.2.0 或更高版本 |
1.19.1 |
增强 (查看拉取请求) |
8.2.0 或更高版本 |
1.19.0 |
增强 (查看拉取请求) |
8.2.0 或更高版本 |
1.18.1 |
增强 (查看拉取请求) |
8.2.0 或更高版本 |
1.18.0 |
增强 (查看拉取请求) |
8.2.0 或更高版本 |
1.17.3 |
Bug 修复 (查看拉取请求) |
7.16.0 或更高版本 |
1.17.2 |
Bug 修复 (查看拉取请求) |
7.16.0 或更高版本 |
1.17.1 |
增强 (查看拉取请求) |
— |
1.17.0 |
增强 (查看拉取请求) |
— |
1.16.0 |
增强 (查看拉取请求) |
— |
1.15.0 |
增强 (查看拉取请求) |
— |
1.14.3 |
Bug 修复 (查看拉取请求) |
— |
1.14.2 |
Bug 修复 (查看拉取请求) |
— |
1.14.1 |
Bug 修复 (查看拉取请求) |
— |
1.14.0 |
增强 (查看拉取请求) |
— |
1.13.0 |
增强 (查看拉取请求) |
— |
1.12.0 |
增强 (查看拉取请求) |
— |
1.11.0 |
增强 (查看拉取请求) |
— |
1.10.0 |
增强 (查看拉取请求) |
— |
1.9.0 |
增强 (查看拉取请求) |
7.16.0 或更高版本 |
1.8.1 |
Bug 修复 (查看拉取请求) |
7.16.0 或更高版本 |
1.8.0 |
增强 (查看拉取请求) |
7.16.0 或更高版本 |
1.7.0 |
增强 (查看拉取请求) |
7.16.0 或更高版本 |
1.6.0 |
增强 (查看拉取请求) |
7.16.0 或更高版本 |
1.5.0 |
增强 (查看拉取请求) |
7.16.0 或更高版本 |
1.4.2 |
增强 (查看拉取请求) |
— |
1.4.1 |
增强 (查看拉取请求) |
8.0.0 或更高版本 |
1.4.0 |
增强 (查看拉取请求) |
— |
1.3.3 |
Bug 修复 (查看拉取请求) |
— |
1.3.2 |
增强 (查看拉取请求) |
— |
1.3.1 |
增强 (查看拉取请求) |
— |
1.3.0 |
增强 (查看拉取请求) |
— |
1.2.1 |
Bug 修复 (查看拉取请求) |
— |
1.2.0 |
增强 (查看拉取请求) |
— |
1.1.1 |
Bug 修复 (查看拉取请求) |
— |
1.1.0 |
增强 (查看拉取请求) |
7.15.0 或更高版本 |
1.0.0 |
增强 (查看拉取请求) |
— |
0.14.1 |
增强 (查看拉取请求) |
— |
0.14.0 |
增强 (查看拉取请求) |
— |
0.13.0 |
增强 (查看拉取请求) |
— |
0.12.2 |
Bug 修复 (查看拉取请求) |
— |
0.12.1 |
Bug 修复 (查看拉取请求) |
— |
0.12.0 |
增强 (查看拉取请求) |
— |
0.11.1 |
增强 (查看拉取请求) |
— |
0.11.0 |
增强 (查看拉取请求) |
— |
0.10.0 |
增强 (查看拉取请求) |
— |
0.9.1 |
缺陷修复 (查看拉取请求) |
— |
0.9.0 |
增强 (查看拉取请求) |
— |
0.8.0 |
增强 (查看拉取请求) |
— |
0.7.0 |
增强 (查看拉取请求) |
— |
0.6.0 |
增强 (查看拉取请求) |
— |
0.5.3 |
增强 (查看拉取请求) |
— |
0.5.2 |
缺陷修复 (查看拉取请求) |
— |
0.5.1 |
缺陷修复 (查看拉取请求) |
— |
0.5.0 |
增强 (查看拉取请求) |
— |
0.4.5 |
增强 (查看拉取请求) |
— |
0.4.4 |
增强 (查看拉取请求) |
— |
0.4.3 |
缺陷修复 (查看拉取请求) |
— |
0.4.2 |
缺陷修复 (查看拉取请求) |
— |
0.4.1 |
增强 (查看拉取请求) |
— |
0.1.0 |
增强 (查看拉取请求) |
— |