[单master节点k8s部署]18.监控系统构建(三)Grafana安装

news2024/11/25 14:19:10

Grafana是一个跨平台的开源的度量分析和可视化工具。支持多种数据源,比如OpenTSDB,Prometheus,ElasticResearch,Cloudwatch等。

Grafana安装

通过yaml配置grafana的pod和service,grafana工作在kube-system的命名空间。

[root@master prometheus]# cat grafana.yaml 
apiVersion: apps/v1
kind: Deployment
metadata:
  name: monitoring-grafana
  namespace: kube-system 
spec:
  replicas: 1
  selector:
    matchLabels:
      task: monitoring
      k8s-app: grafana
  template:
    metadata:
      labels:
        task: monitoring
        k8s-app: grafana
    spec:
      containers:
      - name: grafana
        image: k8s.gcr.io/heapster-grafana-amd64:v5.0.4
        imagePullPolicy: IfNotPresent
        ports:
        - containerPort: 3000
          protocol: TCP
        volumeMounts:
        - mountPath: /tec/ssl/certs
          name: ca-certificates
          readOnly: true
        - mountPath: /var
          name: grafana-storage
        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
      - name: grafana-storage
        emptyDir: {}

---
apiVersion: v1
kind: Service
metadata:
  labels:
    kubernetes.io/cluster-service: 'true'
    kubernetes.io/name: monitoring-grafana
  name: monitoring-grafana 
  namespace: kube-system
spec:
  ports: 
  - port: 80
    targetPort: 3000
  selector:
    k8s-app: grafana
  type: NodePort

因为这个service是NodePort类型,查看集群分配给它的端口为多少

[root@master ~]# kubectl get svc -n kube-system
NAME                 TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)                  AGE
kube-dns             ClusterIP   10.96.0.10      <none>        53/UDP,53/TCP,9153/TCP   19d
monitoring-grafana   NodePort    10.110.10.133   <none>        80:31519/TCP             40m

可以在grafana的pod里面进行dns的测试,确认可以连接到Prometheus服务。

[root@master prometheus]# kubectl exec -it  monitoring-grafana-5bb6bb7867-9j2xb -n kube-system -- /bin/sh
/ #  nslookup kubernetes.default.svc.cluster.local
Server:		10.96.0.10
Address:	10.96.0.10:53
Name:	kubernetes.default.svc.cluster.local
Address: 10.96.0.1

/ #  nslookup prometheus.monitor-sa.svc.cluster.local
Server:		10.96.0.10
Address:	10.96.0.10:53
Name:	prometheus.monitor-sa.svc.cluster.local
Address: 10.101.118.2

/ # wget -S --spider http://prometheus.monitor-sa.svc.cluster.local:9090
Connecting to prometheus.monitor-sa.svc.cluster.local:9090 (10.101.118.2:9090)
  HTTP/1.1 302 Found
  Content-Type: text/html; charset=utf-8
  Location: /graph
  HTTP/1.1 200 OK
  Date: Thu, 04 Jul 2024 12:34:49 GMT
  Content-Type: text/html; charset=utf-8
  Connection: close
  Transfer-Encoding: chunked

因为Grafana容器是基于一个精简的Linux系统(如BusyBox),并且没有预装apk或其他常见的包管理工具。 所以使用wget来访问。--spider:让wget工作在“蜘蛛模式”(spider mode)。在这种模式下,wget会像搜索引擎的爬虫一样行动,它会检查URL链接是否可达,但不下载页面内容。这对于检查网页链接是否有效或服务器是否响应而不希望下载实际内容非常有用。

Grafana界面

访问物理机ip+端口的网址:然后点击新建数据源,填入Prometheus的url。因为Prometheus和grafana都以pod的方式运行在集群中,所以直接写Kubernetes服务的DNS名称就可以识别到。DNS的名称格式为:服务名(Prometheus)+ 命名空间(monitor-sa)+svc+cluster.local(可以省略),而服务在集群内暴露的端口是9090,所以注明就可以。

配置好以后点击下面的test,发现成功配置数据源。

 导入json模板

点击import进行json文件的导入,如果要查看node的情况,就导入一个node_exporter.json的文件。该文件我绑定在资源中。

导入json后选择数据源为Prometheus。导入成功后效果如下:

 同理也可以导入显示容器数据的json文件,效果如下。具体的模板选择和下载在网站:Grafana dashboards | Grafana Labs

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

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

相关文章

小学英语语法

目录 a和an的用法名词的单复数be动词和人称代词&#xff08;主格&#xff09;指示代词形容词物主代词名词所有格双重所有格方位介词some&#xff0c;any和no的用法How many和How much的用法情态动词can的用法祈使句人称代词&#xff08;宾格&#xff09;常见实义动词的用法一般…

也说字母U:房子到底是什么?

​ 不记得是第几期了&#xff0c;湖南卫视有档很火的音乐节目叫《歌手》&#xff0c;那一期是最终是韩磊夺得了冠军&#xff0c;他有一杀手锏&#xff0c;叫《向天再借五百年》&#xff0c;他要不夺冠&#xff0c;好像大家也对不起对这首歌的印象&#xff0c;因为他是多少人的记…

【网址】Andorid Studio历史版本下载

Andorid Studio官网是最新版本的下载&#xff0c;历史版本的下载地址 &#xff1a;https://developer.android.google.cn/studio/archive 1.如果是空白页面的话&#xff0c;切换语言【中文切换成English】 2.滑倒最后点击同意 3.历史版本浏览 4.下载安装包 遇到问题1&#xf…

【HICE】基于用户认证的虚拟服务搭建

1.创建特定的内容 --账号与密码&#xff08;需要认证访问&#xff09;【里面】 2.编辑配置1.conf的内容&#xff0c;更新httpd 3.编辑hehe网页&#xff08;外部公开&#xff09; cd /www/ echo hehe > hehe/index.html 4.更改本地hosts和window下的解析 5.浏览器下验证内…

Linux搭建hive手册

一、将hive安装包上传到NameNode节点并解压 1、删除安装MySQL时的.rpm文件 cd /opt/install_packages/ rm -rf *.rpm 2、将安装包拖进/install_packages目录 3、解压安装包 tar -zxvf apache-hive-3.1.2-bin.tar.gz -C /opt/softs/ 4、修改包名 cd /opt/softs mv apache-…

[单master节点k8s部署]19.监控系统构建(四)kube-state-metrics

kube-state-metrics 是一个Kubernetes的附加组件&#xff0c;它通过监听 Kubernetes API 服务器来收集和生成关于 Kubernetes 对象&#xff08;如部署、节点和Pod等&#xff09;的状态的指标。这些指标可供 Prometheus 进行抓取和存储&#xff0c;从而使你能够监控和分析Kubern…

Python从0到100(三十八):json字符串的数据提取

JSON的数据提取 1.学习目标 掌握JSON相关的方法&#xff08;load, loads, dump, dumps&#xff09;了解JSONPath的使用&#xff08;提取JSON中的数据&#xff09; 2 复习什么是JSON JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式&#xff0c;它使得人们很容…

并发编程(多线程)带来了哪些问题?

前面我们了解到多线程技术有很多好处,比如说多线程可以充分利用多核 CPU 的计算能力,那多线程难道就没有一点缺点吗? 有。 多线程很难掌握,稍不注意,就容易使程序崩溃。我们以在路上开车为例: 在一个单向行驶的道路上,每辆汽车都遵守交通规则,这时候整体通行是正常的…

【吊打面试官系列-MyBatis面试题】Xml 映射文件中,除了常见的 select|insert|updae|delete标签之外,还有哪些标签?

大家好&#xff0c;我是锋哥。今天分享关于 【Xml 映射文件中&#xff0c;除了常见的 select|insert|updae|delete标签之外&#xff0c;还有哪些标签&#xff1f;】面试题&#xff0c;希望对大家有帮助&#xff1b; Xml 映射文件中&#xff0c;除了常见的 select|insert|updae|…

链串算法库构建

学习贺利坚老师链串算法库 数据结构之自建算法库——链串_串数据结构-CSDN博客 本人详细解析博客 串的链式存储及其基本操作实现_串链式存储的操作-CSDN博客 版本更新日志 V1.0 : 结合顺序串操作, 使用链串进行优化, 此次链串, 空间将不受限制, 只写了最基本的操作, 相当于 单链…

HTML【详解】超链接 a 标签的四大功能(页面跳转、页内滚动【锚点】、页面刷新、文件下载)

超链接 a 标签主要有以下功能&#xff1a; 跳转到其他页面 <a href"https://www.baidu.com/" target"_blank" >百度</a>href&#xff1a;目标页面的 url 地址或同网站的其他页面地址&#xff0c;如 detail.htmltarget&#xff1a;打开目标页面…

kylin arm xcb版本异常问题解决

源码编译qt 未生成xcb库&#xff0c;查看源码xcb readme.txt 提示 版本要求 下载 [ANNOUNCE] libxcb 1.14 [ANNOUNCE] xcb-proto 1.14 解压源码编译, 先编译xcb-proto sudo ./configure --prefix/usr/local/xcb-proto make make install 在编译xcb export PKG_CONFIG_PATH…

JavaScript(5)——数据类型和类型检测

字符串类型String 通过单引号&#xff08; &#xff09;、双引号(" "&#xff09;或反引号&#xff08; &#xff09;都叫字符串&#xff0c;单引号和双引号本质上没有区别&#xff0c;一般使用单引号。 注意&#xff1a; 无论单引号或是双引号必须成对使用单引号和…

【html】许多大型网页都会有一个自己的主题色

许多网站确实会选择一种或几种特定的颜色作为他们的主题色&#xff0c;这通常是为了建立品牌识别度和一致性。 主题色在网站设计中起着至关重要的作用&#xff0c;它们不仅影响网站的视觉效果&#xff0c;还能传达品牌的情感和价值观。选择适当的主题色可以增强用户的品牌记忆…

【Spring Boot】Spring AOP中的环绕通知

目录 一、什么是AOP?二、AOP 的环绕通知2.1 切点以及切点表达式2.2 连接点2.3 通知&#xff08;Advice&#xff09;2.4 切面(Aspect)2.5 不同通知类型的区别2.5.1 正常情况下2.5.2异常情况下 2.6 统一管理切点PointCut 一、什么是AOP? Aspect Oriented Programming&#xff…

ELK日志系统和Filebeat采集器的学习总结

ELK是ElasticSerach、Logstash、Kina Logstash负责采集数据&#xff0c;Logstash有三个插件&#xff0c;input、filter、output&#xff0c;filter插件作用是对采集的数据进行处理&#xff0c;过滤的&#xff0c;因此filter插件可以选&#xff0c;可以不用配置。 ElasticSear…

上网总是卡顿?Edge浏览器的4个超强彩蛋,开启你的极速体验

在数字化浪潮的推动下&#xff0c;浏览器已成为我们探索网络世界的罗盘和船锚。微软的Edge浏览器&#xff0c;以其简洁的界面和强大的功能&#xff0c;赢得了众多用户的青睐。 但你知道吗&#xff1f;Edge不仅仅是一个浏览工具&#xff0c;它还隐藏着许多实用的“彩蛋”&#…

python如何不保留小数

1、int() 向下取整&#xff08;内置函数&#xff09; n 3.75 print(int(n)) >>> 3 n 3.25 print(int(n)) >>> 3 2、round() 四舍五入&#xff08;内置函数&#xff09; n 3.75 print(round(n)) >>> 4 n 3.25 print(round(n)) >>> 3 …

Linux平台x86_64|aarch64架构如何实现轻量级RTSP服务

技术背景 我们在做Linux平台x86_64架构或aarch64架构的推送模块的时候&#xff0c;有公司提出这样的技术需求&#xff0c;希望在Linux平台&#xff0c;实现轻量级RTSP服务&#xff0c;实现对摄像头或屏幕对外RTSP拉流&#xff0c;同步到大屏上去。 技术实现 废话不多说&…

鸿蒙 HarmonyOS Next 路由 不废话 全干货

一、页面的创建 &#xff08;1&#xff09;直接通过创建一个新的Page的方式创建 &#xff08;2&#xff09;先创建一个 ArkTs File文件&#xff0c;然后在resources/base/profile/main_pages.json中加上页面对应的src路径&#xff0c;下面的Index_3.ets文件是通过创建ArkTs Fi…