在k8s中安装Grafana并对接Prometheus,实现k8s集群监控数据的展示

🐇明明跟你说过:个人主页

🏅个人专栏:《Grafana:让数据说话的魔术师》 🏅

🔖行路有良友,便是天堂🔖

目录

一、引言 

1、Grafana简介

2、Grafana的重要性与影响力 

二、安装Prometheus

三、安装Grafana

1、准备部署grafana所需的docker镜像

2、准备YAML文件

3、部署Grafana

4、访问测试 

四、对接Prometheus 

1、导入Prometheus数据

2、导入监控模板

3、查看数据


一、引言 

1、Grafana简介

Grafana是一种开源的数据可视化和监控平台,它允许用户通过创建动态仪表板来监视和分析数据。Grafana最初由Torkel Ödegaard于2014年创建,旨在为不同数据源提供统一的可视化界面。它支持多种数据源,包括但不限于Graphite、Prometheus、Elasticsearch、InfluxDB等。

通过Grafana,用户可以轻松地创建各种图表、图形和面板,以直观和动态的方式展示数据趋势、指标和警报。其灵活的插件系统和丰富的图形化选项使用户能够根据自己的需求定制仪表板,并将其集成到现有的监控系统中。

Grafana的特点包括:

  • 多数据源支持:可以从多种数据源中收集数据,并在同一仪表板中进行统一展示。
  • 可视化选项丰富:提供了各种图表类型、样式和配置选项,用户可以根据需求定制图表。
  • 告警功能:支持设置警报规则,并在达到特定条件时发送通知。
  • 插件生态系统:拥有丰富的插件生态系统,用户可以根据需要扩展和定制功能。
  • 社区支持:拥有活跃的开发社区,提供了丰富的文档、教程和支持资源。

Grafana是一个功能强大、灵活性高、易于使用的数据可视化和监控工具,广泛应用于各种领域,包括IT运维、应用性能监控、工业物联网等。

2、Grafana的重要性与影响力 

  1. Grafana是一款功能强大的数据可视化工具,能够帮助用户将复杂的数据转化成易于理解的图表和仪表盘,从而更加直观地理解数据。在数据监控和数据统计领域,Grafana以其丰富的特性和强大的功能,使得数据能够以直观的方式呈现出来,满足了用户对于数据可视化的需求。
  2. Grafana具有实时监控功能,可以实时监测各种指标,包括应用程序性能、网络流量、服务器资源等,从而帮助用户实时了解系统状态、性能等指标的变化情况。这种实时监控的能力使得Grafana在基础设施和应用数据分析中,特别是在时间序列数据的可视化分析方面,有着显著的优势。
  3. Grafana支持多种数据源,如Prometheus、Elasticsearch、InfluxDB等,能够适用于不同类型的数据监控场景。这意味着用户可以根据实际需求,灵活选择数据源,从而更好地监视和管理数据,提高应用程序的性能和可靠性。
  4. Grafana拥有活跃的社区支持,用户可以参与社区讨论、分享经验和获取帮助。这种社区支持不仅使得Grafana在使用过程中更加便捷,同时也推动了Grafana的不断发展和完善。
  5. Grafana的开源免费特性使得用户可以免费获取并使用它,并通过社区支持获得丰富的插件和扩展功能。这种开源免费的模式大大降低了用户的使用成本,同时也为Grafana的广泛应用和普及提供了可能。

二、安装Prometheus

关于Prometheus的安装,请参考《在k8s中部署Prometheus并实现对k8s集群的监控》这篇文章。

三、安装Grafana

1、准备部署grafana所需的docker镜像

离线镜像我已经上传到资源列表了,大家下载后,导入到node节点即可

如果能访问外网的话,也可以通过下面的命令直接拉取

[root@node1 ~]# docker pull grafana/grafana:10.4.2

2、准备YAML文件

编写部署Grafana的yaml文件

[root@master ~]# vim grafana.yaml 
# 输入如下内容
apiVersion: apps/v1
kind: Deployment
metadata:
  name: grafana
  namespace: prometheus
spec:
  replicas: 1
  selector:
    matchLabels:
      app: grafana
  template:
    metadata:
      labels:
        app: grafana
    spec:
      containers:
      - name: grafana
        image: docker.io/grafana/grafana:10.4.2
        imagePullPolicy: IfNotPresent
        ports:
        - containerPort: 3000
          protocol: TCP
        volumeMounts:
        - mountPath: /etc/ssl/certs
          name: ca-certificates
          readOnly: true
        env:
        - name: INFLUXDB_HOST
          value: monitoring-influxdb
        - name: GF_SERVER_HTTP_PORT
          value: "3000"
        - name: GF_AUTH_BASIC_ENABLED
          value: "false"
        - name: GF_AUTH_ANONYMOUS_ENABLED
          value: "true"
        - name: GF_AUTH_ANONYMOUS_ORG_ROLE
          value: Admin
        - name: GF_SERVER_ROOT_URL
          value: /
      volumes:
      - name: ca-certificates
        hostPath:
          path: /etc/ssl/certs
---
apiVersion: v1
kind: Service
metadata:
  labels:
    name: grafana
  name: grafana
  namespace: prometheus
spec:
  ports:
  - port: 3000
    targetPort: 3000
  selector:
    app: grafana
  type: NodePort

3、部署Grafana

在Master节点上执行

[root@master ~]# kubectl apply  -f  grafana.yaml

查看Pod状态

4、访问测试 

查看svc的nodeport端口

在浏览器输入node节点的IP加端口号

如果能访问到下面的页面,证明部署成功

四、对接Prometheus 

1、导入Prometheus数据

点击首页,添加数据源

选择Prometheus

 填写Prometheus的url

 在最下方点击保存并测试

2、导入监控模板

点击Dashboards并点击导入

 上传一个模板,并点击加载

模板下载地址:Dashboards | Grafana Labs

3、查看数据

点击首页我们刚刚创建的dashboards就能看到Prometheus的监控数据了

 💕💕💕每一次的分享都是一次成长的旅程,感谢您的陪伴和关注。希望这些关于Grafana的文章能陪伴您走过技术的一段旅程,共同见证成长和进步!😺😺😺

🧨🧨🧨让我们一起在技术的海洋中探索前行,共同书写美好的未来!!!

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

C进阶--自定义类型

自定义类型 1. 结构体1.1. 结构的基本知识1.2 结构的声明1.3 特殊的声明1.4 结构的自引用1.5 结构体变量的定义和初始化1.6 结构体内存对齐结构体的大小练习结构体对齐规则为什么存在内存对齐? 1.7 修改默认对齐数1.8 结构体传参 2. 位段2.1 什么是位段2.2 位段的内存分配2.3 …

MWeb Pro for Mac:功能强大的Markdown博客编辑器

MWeb Pro for Mac是一款功能强大的Markdown博客编辑器,专为Mac用户设计,提供了一站式的博客写作和发布体验。这款软件不仅支持Markdown语法,还提供了丰富的编辑和排版功能,让用户能够轻松创建出精美的博客内容。 MWeb Pro的即时预…

笔试强训Day16 字符串 基础算法 双指针

QR6 字符串替换 题目链接&#xff1a;字符串替换_牛客题霸_牛客网 (nowcoder.com) 思路&#xff1a;简单的字符串操作。 AC code&#xff1a; class StringFormat { public:string formatString(string A, int n, vector<char> arg, int m) {string ans;int pos 0;f…

【Qt】按钮类控件

文章目录 1 :peach:Push Button:peach:2 :peach:Radio Buttion:peach:3 :peach:Check Box:peach:4 :peach:Tool Button:peach: 1 &#x1f351;Push Button&#x1f351; 使⽤ QPushButton 表⽰⼀个按钮&#xff0c;这也是当前我们最熟悉的⼀个控件了&#xff0c;QPushButton …

论文阅读:《Sequence can Secretly Tell You What to Discard》,减少推理阶段的 kv cache

目前各类大模型都支持长文本&#xff0c;例如 kimi chat 以及 gemini pro&#xff0c;都支持 100K 以及更高的上下文长度。但越长的上下文&#xff0c;在推理过程中需要存储的 kv cache 也越多。假设&#xff0c;数据的批次用 b 表示&#xff0c;输入序列的长度仍然用 s 表示&a…

3.栈和队列(汇总版)

目录 1.栈&#xff08;一端插和删&#xff09; 2.队列&#xff08;一端插另一段删&#xff09; 2.1队列的概念及结构 2.2 队列的实现 队列的接口 1.初始化队列 2.销毁队列 3.插入元素 4.出队列&#xff08;头删&#xff09; 5.访问对头 6.访问队尾 7.判断队列是否为…

基于springboot实现的疫情网课管理系统

开发语言&#xff1a;Java 框架&#xff1a;springboot JDK版本&#xff1a;JDK1.8 服务器&#xff1a;tomcat7 数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09; 数据库工具&#xff1a;Navicat11 开发软件&#xff1a;eclipse/myeclipse/idea Maven…

证明力引导算法forceatlas2为什么不是启发式算法

一、基本概念 吸引力 F a ( n i ) ∑ n j ∈ N c t d ( n i ) ω i , j d E ( n i , n j ) V i , j \displaystyle \bm{F}_a(n_i) \sum_{n_j \in \mathcal{N}_{ctd}(n_i)} \omega_{i,j} \; d_E(n_i,n_j) \bm{V}_{i,j} Fa​(ni​)nj​∈Nctd​(ni​)∑​ωi,j​dE​(ni​,nj​…

【StarRocks系列】 Trino 方言支持

我们在之前的文章中&#xff0c;介绍了 Doris 官方提供的两种方言转换工具&#xff0c;分别是 sql convertor 和方言 plugin。StarRocks 目前同样也提供了类似的方言转换功能。本文我们就一起来看一下这个功能的实现与 Doris 相比有何不同。 一、Trino 方言验证 我们可以通过…

C语言 | Leetcode C语言题解之第73题矩阵置零

题目&#xff1a; 题解&#xff1a; void setZeroes(int** matrix, int matrixSize, int* matrixColSize) {int m matrixSize;int n matrixColSize[0];int flag_col0 false;for (int i 0; i < m; i) {if (!matrix[i][0]) {flag_col0 true;}for (int j 1; j < n; j…

C++:多继承虚继承

在C中&#xff0c;虚继承&#xff08;Virtual Inheritance&#xff09;是一种特殊的继承方式&#xff0c;用于解决菱形继承&#xff08;Diamond Inheritance&#xff09;问题。菱形继承指的是一个类同时继承自两个或更多个具有共同基类的类&#xff0c;从而导致了多个实例同一个…

20240507最新 ubuntu20.04安装ros noetic

ubuntu20.04安装ros 主要参考博客 【ROS】在 Ubuntu 20.04 安装 ROS 的详细教程_ubuntu20.04安装ros-CSDN博客 出现问题 1.ubuntu20.04 更换清华源报错 ubuntu20.04 更换清华源报错_gvfs metadata is not supported. fallback to teplme-CSDN博客 &#xff1f;&#xff1f…

汽车 - 什么是车轮抱死

车轮抱死分为两种情况&#xff0c;一种是车辆故障层面&#xff0c;另一种是驾驶过程中的物理现象。我们先来说最通俗的刹车车轮抱死吧。 刹车制动车轮抱死 车轮停止轴向转动就是抱死&#xff0c;有速度的情况下抱死车轮&#xff0c;如果车辆的惯性动能大于轮胎抓地力&#xff0…

Springboot集成Mybatispuls操作mysql数据库-03

MyBatis-Plus&#xff08;简称MP&#xff09;是一个MyBatis的增强工具&#xff0c;在MyBatis的基础上只做增强而不做改变。它支持所有MyBatis原生的特性&#xff0c;因此引入MyBatis-Plus不会对现有的MyBatis构架产生任何影响。MyBatis-Plus旨在简化开发、提高效率&#xff0c;…

基于FPGA的去雾算法

去雾算法的原理是基于图像去模糊的原理&#xff0c;通过对图像中的散射光进行估计和去除来消除图像中的雾霾效果。 去雾算法通常分为以下几个步骤&#xff1a; 1. 导引滤波&#xff1a;首先使用导引滤波器对图像进行滤波&#xff0c;目的是估计图像中散射光的强度。导引滤波器…

MATLAB绘制蒸汽压力和温度曲线

蒸汽压力与温度之间的具体关系公式一般采用安托因方程&#xff08;Antoine Equation&#xff09;&#xff0c;用于描述纯物质的蒸汽压与温度之间的关系。安托因方程的一般形式如下&#xff1a; [\log_{10} P A - \frac{B}{C T}] 其中&#xff0c; (P) 是蒸汽压&#xff08…

安卓view坐标系

目录 一、getX、 getRawX、 getTranslationX 等的图形表示二、 getX、 getRawX、 getTranslationX 意义的文字描述 一、getX、 getRawX、 getTranslationX 等的图形表示 坐标系&#xff1a; 视图坐标系&#xff1a; 二、 getX、 getRawX、 getTranslationX 意义的文字描述 …

【吊打面试官系列】Java高并发篇 - volatile 变量和 atomic 变量有什么不同?

大家好&#xff0c;我是锋哥。今天分享关于 【volatile 变量和 atomic 变量有什么不同&#xff1f;】面试题&#xff0c;希望对大家有帮助&#xff1b; volatile 变量和 atomic 变量有什么不同&#xff1f; Volatile 变量可以确保先行关系&#xff0c;即写操作会发生在后续的读…

Vue 插槽

Vue插槽是一种特殊的语法&#xff0c;用于在组件中定义可复用的模板部分。它允许开发者在组件的标记中声明一个或多个插槽&#xff0c;然后在使用该组件时&#xff0c;可以根据自己的需求将内容插入到这些插槽中。 Vue插槽分为默认插槽和具名插槽两种。 默认插槽 语法 组件…

中国科技大航海时代,“掘金”一带一路

文&#xff5c;白 鸽 编&#xff5c;王一粟 “这不就是90年代的内地吗&#xff1f;” 在深度考察完沙特市场后&#xff0c;华盛集团联合创始人兼CEO张霆对镜相工作室感慨道。 在张霆看来&#xff0c;沙特落后的基建&#xff08;意味着大量创新空间&#xff09;、刚刚开放…