Metricbeat 采集 Kubernetes 指标

Kubernetes 本身命令行界面去管理集群内的资源对象,例如有需求想查看某一些Pod在任意的时间段性能的使用情况,如何通过 Elastic Stack 进行一站式的数据采集,数据清洗,数据落地,数据可视化,让数据发挥真正的价值呢?

架构设计

涉及到 Elastic Stack 中 Metricbeat 是用于采集 Kubernetes 相关的性能指标, Elasticsearch 是用于对于数据落地存储和搜索的引擎, Kibana 是用于对数据可视化的工具。
在这里插入图片描述

首先 Kubernetes 需要部署 Kuberentes State Metric 以支持 Metricbeat 对响应的 API 进行数据采集。

实施方法

下载官方的模板在本地文件系统
wget https://raw.githubusercontent.com/elastic/beats/7.9/deploy/kubernetes/metricbeat-kubernetes.yaml

修改 ConfigMap 中指定的 Elasticsearch 主机相关的配置,并添加 Kibana的主机

 output.elasticsearch: hosts: ['http://elasticsearch:9200'] username: elastic password: xxx setup.kibana: host: "kibana:5601"

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

应用 YAML 配置创建对应的 Kubernetes 资源
kubectl apply -f metricbeat-kubernetes.yaml

进入 Pod 修改配置
kubectl exec -it metricbeat-xxx /bin/bash

设置 Metricbeat 创建 Kibana上的 Index Pattern 和 Dashboard
metricbeat setup

可视化展示

通过 Kibana 中的 Dashboard 功能
展示目前 Kubernetes 中的资源指标情况
在这里插入图片描述

文章来源: yekangming.blog.csdn.net,作者:叶康铭,版权归原作者所有,如需转载,请联系作者。

原文链接:yekangming.blog.csdn.net/article/details/109182404

(完)