由于Prometheus自带的web Ui图标功能相对较弱,所以一般情况下我们会使用一个第三方的工具来展示这些数据

Grafana介绍

grafana 是一个可视化面包,有着非常漂亮的图片和布局展示,功能齐全的度量仪表盘和图形化编辑器,支持Graphite、Zabbix、InfluxDB、Prometheus、OpenTSDB、Elasticasearch等作为数据源,比Prometheus自带的图标展示功能强大很多,更加灵活,有丰富的插件

组件说明:

MetricServer:是kubernetes集群资源使用情况的聚合器,收集数据给kubernetes集群内使用,如 kubectl,hpa,scheduler等。

PrometheusOperator:是一个系统监测和警报工具箱,用来存储监控数据。

NodeExporter:用于各node的关键度量指标状态数据。

KubeStateMetrics:收集kubernetes集群内资源对象数 据,制定告警规则。

Prometheus:采用pull方式收集apiserver,scheduler,controller-manager,kubelet组件数 据,通过http协议传输。

Grafana:是可视化数据统计和监控平台。

一、准备工作

1、下载kube-prometheus yaml文件

git clone https://github.com/prometheus-operator/kube-prometheus.git

2、修改镜像地址

cd kube-prometheus/manifests
sed -i "s#quay.io/prometheus/#registry.cn-hangzhou.aliyuncs.com/chenby/#g" *.yaml
sed -i "s#quay.io/brancz/#registry.cn-hangzhou.aliyuncs.com/chenby/#g" *.yaml
sed -i "s#k8s.gcr.io/prometheus-adapter/#registry.cn-hangzhou.aliyuncs.com/chenby/#g" *.yaml
sed -i "s#quay.io/prometheus-operator/#registry.cn-hangzhou.aliyuncs.com/chenby/#g" *.yaml
sed -i "s#k8s.gcr.io/kube-state-metrics/#registry.cn-hangzhou.aliyuncs.com/chenby/#g" *.yaml

 3、安装命令

kubectl create -f kube-prometheus/manifests
待前面的容器启动后执行
kubectl create -f kube-prometheus/manifests/setup

4、设置访问grafana转发

nohup kubectl --address 0.0.0.0 --namespace monitoring port-forward svc/grafana 3000 &

x.x.x.x:3000   默认用户名:admin  密码:admin

二、配置Prometheus 

1、去grafana官网下载json文件

https://grafana.com/grafana/dashboards/

Dashboards | Grafana LabsBrowse a library of official and community-built dashboards.https://grafana.com/grafana/dashboards/

2、搜索k8s for prometheus

3、下载 1-k8s-for-prometheus-dashboard-20211010_rev1.json到本地

 4、导入json文件

 

5、展现K8S集群详细信息

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐