【prometheus】k8s集群部署Grafana安装并接入Promethues数据源

目录

一、概述

1.1 优点

1.2 特点

二、grafana部署

三、grafana接入Promethues数据源

四、grafana可视化展示物理节点指标数据

五、grafana可视化展示k8s组件指标数据

5.1 kube-state-metrics简介

5.2 安装kube-state-metrics组件


一、概述


Grafana是一款用Go语言开发的开源数据可视化工具,可以做数据监控和数据统计,带有告警功能。目前使用grafana的公司有很多,如paypal、ebay、intel等。

1.1 优点


灵活性:Grafana支持各种数据源,如prometheus、elasticsearch、influxdb等并且可以自由地配置大量的插件和面板,以展示不同类型的数据。

易用性:Grafana非常易于使用,因为它提供了一个直观的用户界面,使用户能够轻松地创建、编辑和共享仪表板。

实时监控:Grafana可以实时监测各种指标,包括应用程序性能、网络流量、服务器资源等等。

可视化:Grafana有丰富的数据可视化选项,如曲线图、柱状图、饼图等,使得数据可以以直观的方式呈现出来。

1.2 特点


可视化:快速和灵活的客户端图形具有多种选项。面板插件为许多不同的方式可视化指标和日志。
报警:可视化地为最重要的指标定义警报规则。Grafana将持续评估它们,并发送通知。
通知:警报更改状态时,它会发出通知。接收电子邮件通知。
动态仪表盘:使用模板变量创建动态和可重用的仪表板,这些模板变量作为下拉菜单出现在仪表板顶部。
混合数据源:在同一个图中混合不同的数据源!可以根据每个查询指定数据源。这甚至适用于自定义数据源。
注释:注释来自不同数据源图表。将鼠标悬停在事件上可以显示完整的事件元数据和标记。
过滤器:过滤器允许您动态创建新的键/值过滤器,这些过滤器将自动应用于使用该数据源的所有查询。

k8s方式官方部署文档:

Deploy Grafana on Kubernetes | Grafana documentation

安装Grafana需要的镜像heapster-grafana-amd64:v5.0.4


二、grafana部署


grafana.yaml

apiVersion: apps/v1
kind: Deployment
metadata:name: monitoring-grafananamespace: kube-system
spec:replicas: 1selector:matchLabels:task: monitoringk8s-app: grafanatemplate:metadata:labels:task: monitoringk8s-app: grafanaspec:containers:- name: grafanaimage: k8s.gcr.io/heapster-grafana-amd64:v5.0.4ports:- containerPort: 3000protocol: TCPvolumeMounts:- mountPath: /etc/ssl/certsname: ca-certificatesreadOnly: true- mountPath: /varname: grafana-storageenv:- name: INFLUXDB_HOSTvalue: monitoring-influxdb- name: GF_SERVER_HTTP_PORTvalue: "3000"- name: GF_AUTH_BASIC_ENABLEDvalue: "false"- name: GF_AUTH_ANONYMOUS_ENABLEDvalue: "true"- name: GF_AUTH_ANONYMOUS_ORG_ROLEvalue: Admin- name: GF_SERVER_ROOT_URLvolumes:- name: ca-certificateshostPath:path: /etc/ssl/certs- name: grafana-storageemptyDir: {}
---
apiVersion: v1
kind: Service
metadata:labels:kubernetes.io/cluster-service: 'true'kubernetes.io/name: monitoring-grafananame: monitoring-grafananamespace: kube-system
spec:ports:- port: 80targetPort: 3000selector:k8s-app: grafanatype: NodePort

更新yaml文件

kubectl apply -f grafana.yaml
kubectl get pods -n kube-system

 

WEB页面 http://192.168.2.140:31843/ ,账号密码都是admin


三、grafana接入Promethues数据源


开始配置grafana的web界面,选择Create your first data source

  • Name: Prometheus
  • Type: Prometheus
  • HTTP 处的URL:http://prometheus.monitor-sa.svc:9090

配置好的整体页面如下:

点击左下角Save & Test,出现如下Data source is working,说明prometheus数据源成功的被grafana接入了。

Prometheus数据源接入


四、grafana可视化展示物理节点指标数据


点击左侧+号下面的Import,出现如下界面

选择本地的node_exporter.json文件(博客资源中下载)

选择之后出现如下,然后再点击Import

如下图我们可以看到采集到的master1指标

node节点


五、grafana可视化展示k8s组件指标数据


5.1 kube-state-metrics简介


kube-state-metrics通过监听API Server生成有关资源对象的状态指标,比如Deployment、Node、Pod,需要注意的是kube-state-metrics只是简单的提供一个 metrics数据,并不会存储这些指标数据,所以我们可以使用Prometheus来抓取这些数据然后存储,主要关注的是业务相关的一些元数据,比如Deployment、Pod、副本状态等;调度了多少个replicas?现在可用的有几个?多少个Pod是running/stopped/terminated状态?Pod重启了多少次?我有多少job在运行中。

5.2 安装kube-state-metrics组件


在k8s的master1节点生成一个kube-state-metrics-rbac.yaml文件,kube-state-metrics-rbac.yaml

---
apiVersion: v1
kind: ServiceAccount
metadata:name: kube-state-metricsnamespace: kube-system
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:name: kube-state-metrics
rules:
- apiGroups: [""]resources: ["nodes", "pods", "services", "resourcequotas", "replicationcontrollers", "limitranges", "persistentvolumeclaims", "persistentvolumes", "namespaces", "endpoints"]verbs: ["list", "watch"]
- apiGroups: ["extensions"]resources: ["daemonsets", "deployments", "replicasets"]verbs: ["list", "watch"]
- apiGroups: ["apps"]resources: ["statefulsets"]verbs: ["list", "watch"]
- apiGroups: ["batch"]resources: ["cronjobs", "jobs"]verbs: ["list", "watch"]
- apiGroups: ["autoscaling"]resources: ["horizontalpodautoscalers"]verbs: ["list", "watch"]
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:name: kube-state-metrics
roleRef:apiGroup: rbac.authorization.k8s.iokind: ClusterRolename: kube-state-metrics
subjects:
- kind: ServiceAccountname: kube-state-metricsnamespace: kube-system

部署

kubectl apply -f kube-state-metrics-rbac.yaml

kube-state-metrics-deploy.yaml

apiVersion: apps/v1
kind: Deployment
metadata:name: kube-state-metricsnamespace: kube-system
spec:replicas: 1selector:matchLabels:app: kube-state-metricstemplate:metadata:labels:app: kube-state-metricsspec:serviceAccountName: kube-state-metricscontainers:- name: kube-state-metricsimage: quay.io/coreos/kube-state-metrics:v1.9.0ports:- containerPort: 8080
kubectl apply -f kube-state-metrics-svc.yaml

kube-state-metrics-svc.yaml

apiVersion: v1
kind: Service
metadata:annotations:prometheus.io/scrape: 'true'name: kube-state-metricsnamespace: kube-systemlabels:app: kube-state-metrics
spec:ports:- name: kube-state-metricsport: 8080protocol: TCPselector:app: kube-state-metrics
# 通过kubectl apply更新yaml
kubectl apply -f kube-state-metrics-svc.yaml

查看service是否创建成功

进入 prometheus查看采集的k8s指标

如下图我们可以看到采集的pod指标

登录 grafra 导入 JSON File-Kubernetes Cluster (Prometheus).json(博客资源中下载第四章)

导入模板后我们选择Import

k8s集群监控指标在grafana


【Prometheus】概念和工作原理介绍-CSDN博客

【云原生】kubeadm快速搭建K8s集群Kubernetes1.19.0-CSDN博客

参考原文链接:Grafana,监控神器!(免费用)-CSDN博客

https://www.jianshu.com/p/0d82c7ccc85a

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/787219.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

软考 - 系统架构设计师 - 数据流图案例题

阅读以下关于系统数据分析与建模的叙述,在答题纸上回答问题1至问题3。 【说明】 某公司正在研发一套新的库存管理系统。系统中一个关键事件是接收供应商供货。项目组系统分析员小王花了大量时间在仓库观察了整个事件的处理过程,并开发出该过程所执行活动…

vue 响应式原理 Object.defineProperty(obj,‘属性名A‘,options);

目录 self简单讲解1. 视图影响数据2. 数据影响视图3. 视图数据双向影响页面展示 百度 self 简单讲解 get和set方法是ES5中提供的,因为是方法,所以可以进行判断,get 一般是要通过 return 返回的;而 set 是设置,不用返回…

GT收发器第六篇_GT channel内部时钟关系

文章目录 一、TX端时钟二、RX端时钟 一、TX端时钟 TX端可分为4个区域,分别为FPGA TX接口、PCS靠FPGA侧、PCS靠PMA侧、PMA,如下图。GTX/GTH发射器包括TXBUFFER和TX相位校准电路,以解决时钟域之间的相位差。TX相位校准电路用于TXBUFFER被旁路时…

书生·浦语大模型开源体系(二)笔记

💗💗💗欢迎来到我的博客,你将找到有关如何使用技术解决问题的文章,也会找到某个技术的学习路线。无论你是何种职业,我都希望我的博客对你有所帮助。最后不要忘记订阅我的博客以获取最新文章,也欢…

【tensorflow框架神经网络实现鸢尾花分类_Keras】

文章目录 1、前言2、鸢尾花分类3、结果打印 1、前言 【tensorflow框架神经网络实现鸢尾花分类】一文中使用自定义的方式,实现了鸢尾花数据集的分类工作。在这里使用tensorflow中的keras模块快速、极简实现鸢尾花分类任务。 2、鸢尾花分类 import tensorflow as t…

营销日历丨2024年4月营销日历火热出炉!四月热点抢先看

4月1日 愚人节 愚人节是一个充满欢乐和恶搞的节日,品牌可以巧妙地利用这个节点来开展一些有趣的营销活动。在这个特殊的日子里,品牌可以走“愚人”的恶搞路线,但需要注意的是,营销活动要把握好尺度,避免过度恶搞&#…

STM32F103通过labview上位机上传温湿度数据到OneNET物联网平台

资料下载地址:STM32F103通过labview上位机上传温湿度数据到OneNET物联网平台 本实验通过两个STM32单片机设备分别测量室内外的温湿度,并把数据发送到上位机上传到ONENET物联网平台。 大体数据传输流程如下: 首先是注册OneNET平台账号&#…

Docker Desktop 在 Windows 上的安装和使用

目录 1、安装 Docker Desktop 2、使用 Docker Desktop (1)运行容器 (2)查看容器信息 (3)数据挂载 Docker Desktop是Docker的官方桌面版,专为Mac和Windows用户设计,提供了一个简…

Axure RP 9下载教程,产品经理实战指南!

Axure rp 9是产品经理必备的专业快速原型设计工具。Axure rp 9可快速高效地创建产品原型图,绘制APP和网页原型图、框架图、结构图等。但是Axuree rp 9下载在用户体验中的缺陷也相对明显,其设置交互方式相对繁琐,可视化不足、条件判断、变量、…

泰克Tektronix MDO3054混合域示波器

181/2461/8938产品概述: Tektronix MDO3054 示波器,混合域,500 MHz,4 通道,5 GS/s 泰克 MDO3054 混合域示波器是终极 6 合 1 集成示波器,包括可选的集成频谱分析仪、任意函数发生器、逻辑分析仪、协议分析…

KNN算法 | K邻近:基础概念

目录 一. KNN算法原理二. KNN算法三要素1. K值的选择2. 距离2.1 欧氏距离2.2 曼哈顿距离(城市街区距离)2.3 切比雪夫距离(棋盘距离)2.4 闵可夫斯基距离2.5 标准化欧式距离2.6 余弦距离欧氏距离与余弦距离对比 3. 决策规则3.1 KNN分类任务多数表决法加权多数表决法 3.2 KNN回归任…

26番外1 对PE启动U盘的思考:制作启动盘,真的不用格式化!!!

番外1 对PE启动U盘的思考 我们在使用官方软件工具(如微PE工具箱)制作任何一个启动U盘的时候,他们总会提示我们:U盘需要格式化!!请备份好自己的数据!! 我一直在思考:为什么一定要格式化呢?需要格式化吗? 为了解决这个问题,我开始思考启动盘的本质. 启动盘的本质是什么?它怎么…

Android 自定义View 测量控件宽高、自定义viewgroup测量

1、View生命周期以及View层级 1.1、View生命周期 View的主要生命周期如下所示, 包括创建、测量(onMeasure)、布局(onLayout)、绘制(onDraw)以及销毁等流程。 自定义View主要涉及到onMeasure、…

风险与收益

风险与收益 影响资产需求的主要因素财富总量预期收益率资产的流动性影响流动性的主要因素 风险 如何降低风险系统风险和非系统风险机会集合与有效集合资产组合理论 影响资产需求的主要因素 影响资产需求的主要因素包括:财富总量、预期收益率、资产的流动性和风险。…

bashplotlib,一个有趣的 Python 库!

更多资料获取 📚 个人网站:ipengtao.com 大家好,今天为大家分享一个有趣的 Python 库 - bashplotlib。 Github地址:https://github.com/glamp/bashplotlib 在 Python 中,绘制图形通常需要使用专门的绘图库&#xff0…

【Redis】redis集群模式

概述 Redis集群,即Redis Cluster,是Redis 3.0开始引入的分布式存储方案。实际使用中集群一般由多个节点(Node)组成,Redis的数据分布在这些节点中。集群中的节点分为主节点和从节点:只有主节点负责读写请求和集群信息的维护&#…

整数删除,蓝桥杯训练题

题目描述: 给定一个长度为 N 的整数数列:A1,A2,…,AN。 你要重复以下操作 K 次: 每次选择数列中最小的整数(如果最小值不止一个,选择最靠前的),将其删除,并把与它相邻的整数加上被删除的数值。 …

【4月2日更新】低至50元/年 京东云 阿里云 腾讯云服务器价格对比表 幻兽帕鲁 雾锁王国 我的世界 饥荒 通用

更新日期:4月2日 本文纯原创,侵权必究 【云服务器推荐】价格对比!阿里云 京东云 腾讯云 选购指南视频截图 《最新对比表》已更新在文章头部—腾讯云文档,文章具有时效性,请以腾讯文档为准! 【腾讯文档实…

Anaconda中利用conda创建、激活、删除、添加新环境

一、利用conda创建新环境 学多了,发现学习一些命令就跟学英语语法一样,比如利用conda 创建新环境,语法如下: conda create -n 新环境的名字 -n为--name的简写。利用我需要创建一个新的环境,取名为pycaret&#xff0c…

基于springboot的房屋租赁系统平台

功能描述 流程:房主登陆系统录入房屋信息》发布租赁信息(选择房屋)》租客登陆系统浏览租赁信息》和房主联系、看房(根据租赁信息单的电话线下沟通)》房主发起签约(生成邀请码)》租客登陆系统根…