k8s环境prometheus operator监控集群外资源

文章目录

        • k8s环境添加其他节点
        • 基于prometheus operator
    • k8s环境prometheus operator添加node-exporter
      • 方式一:通过 ServiceMonitor 方式
        • 可以写多个监控node节点
        • 运行 external-node.yaml
        • 查看资源有没有被创建
        • 热更新
    • 外部需要被监控服务器安装 node-exporter
        • docker 方式运行
        • systemd 方式运行
      • 方式二:通过 Kube-prometheus 自定义参数
          • 添加 prometheus-additional.yaml
          • 通过 prometheus-additional.yaml 文件生成 Secret
          • 编辑 prometheus-prometheus.yaml 添加额外的抓取参数
          • 应用 prometheus-prometheus.yaml

参考网站

https://prometheus.io/docs/guides/node-exporter/#tarball-installation
k8s环境添加其他节点

参考文档
文档一

[关于修改prometheus-operator 方式下的prometheus的配置文件_kubesphere修改prometheus配置-CSDN博客](https://blog.csdn.net/rockstics/article/details/129518262)

文档二

[在Prometheus Operator中使用自定义配置 | prometheus-book (gitbook.io)](https://yunlzheng.gitbook.io/prometheus-book/part-iii-prometheus-shi-zhan/operator/use-custom-configuration-in-operator)
基于prometheus operator

引入外部exporter参考文档 rabbitmq

[基于prometheus operator引入外部exporter_prometheus operator 添加exporter-CSDN博客](https://blog.csdn.net/weixin_45413603/article/details/107618020)

引入外部exporter参考文档 windows exporte

[k8s中使用prometheus operator监控外部服务器部署的windows exporter_servicemonitor监控外部服务-CSDN博客](https://blog.csdn.net/weixin_52437323/article/details/129132978?spm=1001.2101.3001.6650.3&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-3-129132978-blog-107618020.235%5Ev43%5Epc_blog_bottom_relevance_base6&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-3-129132978-blog-107618020.235%5Ev43%5Epc_blog_bottom_relevance_base6&utm_relevant_index=6)

监控 K8s 集群外服务的两种方式

[Kube-prometheus 监控 K8s 集群外服务的两种方式_liubin0505star的技术博客_51CTO博客](https://blog.51cto.com/liubin0505star/5767918)

k8s环境prometheus operator添加node-exporter

方式一:通过 ServiceMonitor 方式

创建 Service 和 ServiceMonitor 文件名为 external-node.yaml
/root/test/prometheus/node-exporter/123node

---
apiVersion: v1
kind: Service
metadata:
  name: external-node-exporter
  namespace: monitoring
  labels:
    app: external-node-exporter
    app.kubernetes.io/name: node-exporter
spec:
  type: ClusterIP
  ports:
  - name: metrics
    port: 9100
    protocol: TCP
    targetPort: 9100
---
apiVersion: v1
kind: Endpoints
metadata:
    name: external-node-exporter
    namespace: monitoring
    labels:
      app: external-node-exporter
      app.kubernetes.io/name: node-exporter
subsets:
- addresses:
  - ip: 192.168.10.10  # 这里是外部的资源列表
  ports:
  - name: metrics
    port: 9100
---
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
  name: external-node-exporter
  namespace: monitoring
  labels:
    app: external-node-exporter
    release: prometheus
spec:
  selector:
    matchLabels:            # Service选择器
      app: external-node-exporter
  namespaceSelector:        # Namespace选择器
    matchNames:
    - monitoring
  endpoints:
  - port: metrics           # 采集节点端口(svc定义)
    interval: 10s           # 采集频率根据实际需求配置,prometheus默认15s
    path: /metrics          # 默认地址/metrics
可以写多个监控node节点
- addresses:
  - ip: 192.168.10.10  # 这里是外部的资源列表
  - ip: 192.168.10.10  # 这里是外部的资源列表
  - ip: 192.168.10.10  # 这里是外部的资源列表
  - ip: 192.168.10.10  # 这里是外部的资源列表      
  ports:
  - name: metrics
    port: 9100
运行 external-node.yaml
kubectl apply -f external-node.yaml
查看资源有没有被创建
kubectl get ServiceMonitor,Service,Endpoints  -n monitoring  | grep endpoints

image.png

热更新
root@k8s-master01:~# curl -X POST http://10.244.16.233:9090/-/reload
root@k8s-master01:~# curl -X POST http://10.244.201.226:9090/-/reload

部署完之后 等待一小会 prometheus 支持配置热更 要么重启prome 要么等待他热更完毕 可以在ui的
image.png

外部需要被监控服务器安装 node-exporter

docker 方式运行
# docker run -d --name=node_exporter \ --restart=always \ -v /:/host:ro,rslave \ -p 9100:9100 \ prom/node-exporter:v1.4.0 \ --path.rootfs=/host
systemd 方式运行

node-exporter 会暴露系统监控相关的 /metrics 接口来供 Prometheus 来抓取

加入node_exporter开机自启

vim /etc/systemd/system/node_exporter.service

[Unit]
Description=Node Exporter For Prometheus
After=network.target
StartLimitIntervalSec=0

[Service]
Type=simple
ExecStart=/usr/local/bin/node_exporter/node_exporter   "--web.listen-address=:9100"
Restart=always  服务自拉起
RestartSec=1

[Install]
WantedBy=multi-user.target

查看服务

systemctl daemon-reload
systemctl start node_exporter  开启服务
systemctl stop node_exporter   关闭服务
systemctl restart node_exporter    重启服务
systemctl status node_exporter    查看服务状态
systemctl enable node_exporter    将服务设置为开机自启动
systemctl disable node_exporter    禁止服务开机自启动
systemctl is-enabled node_exporter    查看服务是否开机启动
systemctl list-unit-files|grep enabled    查看开机启动的服务列表
systemctl --failed    查看启动失败的服务列表

方式二:通过 Kube-prometheus 自定义参数

添加 prometheus-additional.yaml
- job_name: 'node-exporter-others'
  static_configs:
    - targets:
      - 192.168.10.10:9100
  metrics_path: /metrics
通过 prometheus-additional.yaml 文件生成 Secret
# kubectl create secret generic additional-scrape-configs --from-file=prometheus-additional.yaml -n monitoring
编辑 prometheus-prometheus.yaml 添加额外的抓取参数

prometheus-prometheus.yaml 在 manifests 目录下

additionalScrapeConfigs:
    name: additional-scrape-configs
    key: prometheus-additional.yaml
应用 prometheus-prometheus.yaml
# kubectl apply -f prometheus-prometheus.yaml

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

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

相关文章

git如何将多个commit合并成一个?

我们使用git进行版本控制,在本地开发完某个功能时,需要提交commit,然后push至开发分支。简单的功能还好,几个commit可能就好了。但是如果功能比较复杂,commit多达十几甚至几十个时,commit管理就会很冗长。比…

使用Pandas和Matplotlib实现数据探索性可视化

👽发现宝藏 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。【点击进入巨牛的人工智能学习网站】。 使用 Pandas 和 Matplotlib 实现数据探索性可视化 在数据分析和机器学习领域,数…

Apache POI 在java中处理excel

介绍: Apache POI 是一个处理Miscrosoft Office各种文件格式的开源项目。简单来说就是&#xff0c;我们可以使用 POI 在 Java 程序中对Miscrosoft Office各种文件进行读写操作。 一般情况下&#xff0c;POI 都是用于操作 Excel 文件。 如何使用: 1.maven坐标引入 <depend…

实验八智能手机互联网程序设计(微信程序方向)实验报告

请在上一次实验的基础之上完成“手机快速注册”页面、“企业用户注册”页面&#xff0c;并实现点击手机快速注册和企业用户注册后转跳至该页面在“手机快速注册”页面&#xff0c;输入框内输入内容并失去焦点后&#xff0c;下方的按钮会变化 在企业用户注册页面&#xff0c;用户…

思考!思考!jmeter线程数≠用户并发数

最近又在搞性能测试了&#xff0c;相较于之前的写脚本出数据就完事&#xff0c;这次深入的思考了一下测试出来的指标&#xff0c;到底有什么意义&#xff1f;&#xff1f;&#xff1f; 绞尽脑汁思考了好几天&#xff0c;终于有了点思路&#xff0c;写出来与大家分享&#xff0…

掌握JavaScript面向对象编程核心密码:深入解析JavaScript面向对象机制对象基础、原型模式与继承策略全面指南,高效创建高质量、可维护代码

ECMAScript&#xff08;简称ES&#xff0c;是JavaScript的标准规范&#xff09;支持面向对象编程&#xff0c;通过构造函数模拟类&#xff0c;原型链实现继承&#xff0c;以及ES6引入的class语法糖简化面向对象开发。对象可通过构造函数创建&#xff0c;使用原型链共享方法和属…

基于RK1126的小型化低功耗AI相机,支持人体特征识别、人脸特征识别、案例帽识别等

提供可定制的⼀套 AI相机软硬件开发平台&#xff0c; 硬件采⽤ RockchipRV1126处理器解决 ⽅案&#xff0c;可选择搭配 SonyIMX系列传感器&#xff0c;POE供电与数据传输&#xff0c;采⽤ 38板标准结构设计&#xff0c;快速按需定制外壳&#xff0c;⽀撑从开发到验证到批量⽣产…

基于Matlab使用深度学习的多曝光图像融合

欢迎大家点赞、收藏、关注、评论啦 &#xff0c;由于篇幅有限&#xff0c;只展示了部分核心代码。 文章目录 一项目简介 二、功能三、系统四. 总结 一项目简介 一、项目背景 在图像处理领域&#xff0c;多曝光图像融合技术是一种重要的技术&#xff0c;它可以将不同曝光条件下…

Ubuntu安装Neo4j

Ubuntu&#xff08;在线版&#xff09; 更新软件源 sudo apt-get update 添加Neo4j官方存储库 wget -O - https://debian.neo4j.com/neotechnology.gpg.key | sudo apt-key add - 将地址添加到系统的软件包源列表中 echo deb https://debian.neo4j.com stable latest | su…

update_min_vruntime()流程图

linux kernel scheduler cfs的update_min_vruntime() 看起来还挺绕的。含义其实也简单&#xff0c;总一句话&#xff0c;将 cfs_rq->min_vruntime 设置为&#xff1a; max( cfs_rq->vruntime, min(leftmost_se->vruntime, cfs_rq->curr->vruntime) )。 画个流…

第十四届蓝桥杯国赛:2023次方的思考(指数塔,数论)

首先我们要知道&#xff0c;正常计算的话&#xff0c;指数优先级最高&#xff0c;因此得先计算指数&#xff0c;比如&#xff1a; 2 3 2 512 2^{3^2}512 232512 欧拉定理的关键在于&#xff0c;它允许我们通过减少计算的指数大小来简化模运算。 经过仔细研究&#xff08;看题…

手写一个uart协议——rs232(未完)

先了解一下关于uart和rs232的基础知识 文章目录 一、RS232的回环测试1.1模块整体架构1.2 rx模块设计1.2.1 波形设计1.2.2代码实现与tb1.2.4 仿真 1.3 tx模块设计1.3.1波形设计 本篇内容&#xff1a; 一、RS232的回环测试 上位机由串口助手通过 rx 线往 FPGA 发 8 比特数据&a…

Qt在任务栏图标和系统托盘图标上显示红点

在任务栏图标上显示红点 关键类&#xff1a;QWinTaskbarButton #include <QWinTaskbarButton>QPointer<QWinTaskbarButton> taskbarBtn nullptr; if (!taskbarBtn) {taskbarBtn new QWinTaskbarButton(window);taskbarBtn->setWindow(window->windowHand…

用C实现通讯录(详细讲解+源码)

前言 &#x1f4da;作者简介&#xff1a;爱编程的小马&#xff0c;正在学习C/C&#xff0c;Linux及MySQL.. &#x1f4da;以后会将数据结构收录为一个系列&#xff0c;敬请期待 ● 本期内容会给大家带来通讯录的讲解&#xff0c;主要是利用结构体来实现通讯录&#xff0c;该通讯…

一周学会Django5 Python Web开发 - Django5 ORM数据库事务

锋哥原创的Python Web开发 Django5视频教程&#xff1a; 2024版 Django5 Python web开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili2024版 Django5 Python web开发 视频教程(无废话版) 玩命更新中~共计50条视频&#xff0c;包括&#xff1a;2024版 Django5 Python we…

如何给MP3添加专辑封面

MP3的专辑封面可以直接显示在音频播放器上&#xff0c;但如果我们的音乐文件没有专辑封面怎么办&#xff1f;下面来给大家介绍如何添加mp3封面 打开智游剪辑&#xff08;官网&#xff1a;zyjj.cc&#xff09;&#xff0c;搜索音乐封面添加 我们上传一下音乐文件和专辑封面&…

8 聚类算法

目录 0 背景 1 Kmeans 1.1 聚类数量k的确定 2 DBSCAN 2.1 三个点 2.2 算法流程 3 层次聚类 3.1 过程 4 基于分布的聚类:高斯混合模型 0 背景 聚类算法是一种无监督学习技术&#xff0c;用于将数据集中的数据点划分为不同的组或簇&#xff0c;使得同一组内的数据点彼此相…

【微信公众平台】扫码登陆

文章目录 前置准备测试号接口配置 带参数二维码登陆获取access token获取Ticket拼装二维码Url编写接口返回二维码接收扫描带参数二维码事件编写登陆轮训接口测试页面 网页授权二维码登陆生成ticket生成授权地址获取QR码静态文件支持编写获取QR码的接口 接收重定向参数轮训登陆接…

Linux的vim下制作进度条

目录 前言&#xff1a; 回车和换行有区别吗&#xff1f; 回车和换行的区别展示&#xff08;这个我在Linux下演示&#xff09; 为什么会消失呢? 回车和换行的区别 为什么\r和\n产生的效果不同&#xff1f; 打印进度条&#xff1a; &#xff08;1&#xff09;打印字符串 …

【再探】设计模式—抽象工厂及建造者模式

抽象工厂模式和建造者模式都属于创建型模式。两者都能创建对应的对象&#xff0c;而创建者模式更侧重于创建复杂对象&#xff0c;将对象的创建过程封装起来&#xff0c;让客户端不需要知道对象的内部细节。 1 抽象工厂模式 需求&#xff1a; 在使用工厂方法模式时&#xff0…