【Prometheus】k8s集群部署node-exporter

目录

一、概述

1.1 prometheus简介

1.2 prometheus架构图

1.3 Exporter介绍

1.4 监控指标

1.5 参数定义

1.6 默认启用的参数

1.7 prometheus如何收集k8s/服务的–三种方式收集

二、安装node-exporter组件


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

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


一、概述


1.1 prometheus简介


Prometheus是一个开源的系统监控和报警系统,现在已经加入到CNCF基金会,成为继k8s之后第二个在CNCF托管的项目,在kubernetes容器管理系统中,通常会搭配prometheus进行监控,同时也支持多种exporter采集数据,还支持pushgateway进行数据上报,Prometheus性能足够支撑上万台规模的集群。

文档地址:

prometheus官网文档地址:Overview | Prometheus

prometheus中文文档地址:第1节:Prometheus 简介 - Prometheus 中文文档

1.2 prometheus架构图


从上图可发现,Prometheus整个生态圈组成主要包括prometheus server,Exporter,pushgateway,alertmanager,grafana,Web ui界面,Prometheus server由三个部分组成,Retrieval,Storage,PromQL。

1.3 Exporter介绍


Exporter是Prometheus的指标数据收集组件。它负责从目标Jobs收集数据,并把收集到的数据转换为Prometheus支持的时序数据格式。 和传统的指标数据收集组件不同的是,他只负责收集,并不向Server端发送数据,而是等待Prometheus Server 主动抓取,node-exporter 默认的抓取url地址:http://ip:9100/metrics 。

因为环境原因,网络不可达的场景,Prometheus可以使用Pushgateway这个组件推送node-exporter的指标数据到远端Prometheus,node-exporter用于采集node的运行指标,包括node的cpu、load、filesystem、meminfo、network等基础监控指标,类似于zabbix监控系统的的zabbix-agent。node-exporter由Prometheus官方提供、维护,属于监控指标收集类UNIX内核操作系统的必备的exporter。

GitHub地址:GitHub - prometheus/node_exporter: Exporter for machine metrics。

1.4 监控指标


  • CPU
  • 内存
  • 硬盘
  • 网络流量
  • 文件描述符
  • 系统负载
  • 系统服务

1.5 参数定义


黑名单: 关闭某一项默认开启的采集项,使用--no-collector参数可指定不需要的模块,如果不指定,将使用默认配置。

白名单:关闭默认采集项而只开启某些采集,使用--collector.disable-defaults参数关闭默认采集项,使用--collector.<name>指定开启的采集项。

使用--collectors.enabled参数打开node_exporter默认的采集项。

部分参数默认关闭的原因是:

  • 太重
  • 太慢,超过Prometheus scrape_interval或scrape_timeout的长时间运行时间
  • 太多资源开销,主机资源需求过大

1.6 默认启用的参数


Name

Description

OS

arp

从/proc/net/ARP中显示ARP统计信息

Linux

bcache

显示/sys/fs/bcache/中的bcache统计信息。

Linux

bonding

显示Linux绑定接口的已配置和活动从属设备的数量。

LInux

boottime

显示从kern.boottime sysctl派生的系统启动时间

Darwin, Dragonfly, FreeBSD, NetBSD, OpenBSD, Solaris

conntrack

显示连接统计信息(如果没有/proc/sys/net/netfilter/present,则不执行任何操作)。

Linux

cpu

显示CPU统计信息

Darwin, Dragonfly, FreeBSD, Linux, Solaris

cpufreq

显示CPU频率统计信息

Linux, Solaris

diskstats

显示磁盘I/O统计信息。

Darwin, Linux, OpenBSD

edac

显示错误检测和更正统计信息。

Linux

entropy

显示可用熵。

Linux

exec

显示执行统计信息。

Dragonfly, FreeBSD

filefd

显示/proc/sys/fs/file-nr中的文件描述符统计信息。

Linux

filesystem

显示文件系统统计信息,如使用的磁盘空间。

Darwin, Dragonfly, FreeBSD, Linux, OpenBSD

hwmon

暴露/sys/class/hwmon/中的硬件监控和传感器数据。

Linux

infiniband

显示特定于InfiniBand和Intel OmniPath配置的网络统计信息。

Linux

ipvs

显示/proc/net/ip_vs中的IPVS状态和/proc/net/ip_vs_stats中的统计信息。

Linux

loadavg

显示平均负载。

Darwin, Dragonfly, FreeBSD, Linux, NetBSD, OpenBSD, Solaris

mdadm

在/proc/mdstat中显示有关设备的统计信息(如果不存在/proc/mdtat,则不执行任何操作)。

Linux

meminfo

显示内存统计信息。

Darwin, Dragonfly, FreeBSD, Linux, OpenBSD

netclass

显示/sys/class/net中的网络接口信息/

Linux

netdev

显示网络接口统计信息,如传输的字节数。

Darwin, Dragonfly, FreeBSD, Linux, OpenBSD

netstat

从/proc/net/netstat中显示网络统计信息。这是与netstat-s相同的信息。

Linux

nfs

从/proc/net/rpc/NFS中显示NFS客户端统计信息。这是与nfsstat-c相同的信息。

Linux

nfsd

从/proc/net/rpc/nfsd中显示NFS内核服务器统计信息。这与nfsstat-s的信息相同。

Linux

pressure

显示/proc/pressure/中的压力失速统计信息。

Linux (kernel 4.20+ and/or CONFIG_PSI)

rapl

显示/sys/class/powercap中的各种统计信息。

Linux

schedstat

显示/proc/schedstat中的任务调度程序统计信息。

Linux

sockstat

显示/proc/net/sockstat中的各种统计信息。

Linux

softnet

显示/proc/net/softnet_stat中的统计信息

Linux

stat

显示/proc/stat中的各种统计信息。这包括启动时间、分叉和中断。

Linux

textfile

显示从本地磁盘读取的统计信息。必须设置--collector.textfile.directory标志。

any

thermal_zone

显示/sys/class/thermal中的热区和冷却设备统计信息。

Linux

time

显示当前系统时间。

any

timex

显示选定的adjtimex(2)系统调用统计信息

Linux

udp_queues

显示/proc/net/UDP和/proc/net/udp6中rx_queue和tx_queue的UDP总长度。

Linux

uname

显示uname系统调用提供的系统信息。

Linux

vmstat

显示/proc/vmstat中的统计信息。

Linux

xfs

显示XFS运行时统计信息。

Linux (kernel 4.4+)

zfs

显示ZFS性能统计信息。

Linux, Solaris

1.7 prometheus如何收集k8s/服务的–三种方式收集


  • Exporters(指标暴露器):收集节点的信息、将数据格式化或转化为 promtheus 可识别的http这种转化方式/镜像拉取方式
  • Instrumentation (应用内置的指标暴露器): 收集有内置指标暴露器的信息
  • Pushgateway : 收集短周期的数据

二、安装node-exporter组件


机器规划:

IP

主机名

192.168.40.130

k8s-master1

192.168.40.131

k8s-node1

192.168.40.132

k8s-node2

安装node-exporter组件,node-export.yaml

apiVersion: apps/v1
kind: DaemonSet
metadata:
  name: node-exporter
  namespace: monitor-sa
  labels:
    name: node-exporter
spec:
  selector:
    matchLabels:
     name: node-exporter
  template:
    metadata:
      labels:
        name: node-exporter
    spec:
      hostPID: true        # 使用主机的PID
      hostIPC: true        # 使用主机的IPC
      hostNetwork: true    # 使用主机的网络
      containers:
      - name: node-exporter
        image: prom/node-exporter:v0.16.0
        ports:
        - containerPort: 9100
        resources:
          requests:
            cpu: 0.15
        securityContext:
          privileged: true
        args:
        - --path.procfs
        - /host/proc
        - --path.sysfs
        - /host/sys
        - --collector.filesystem.ignored-mount-points
        - '"^/(sys|proc|dev|host|etc)($|/)"'
        volumeMounts:
        - name: dev
          mountPath: /host/dev
        - name: proc
          mountPath: /host/proc
        - name: sys
          mountPath: /host/sys
        - name: rootfs
          mountPath: /rootfs
      tolerations:
      - key: "node-role.kubernetes.io/master"
        operator: "Exists"
        effect: "NoSchedule"
      volumes:
        - name: proc
          hostPath:
            path: /proc
        - name: dev
          hostPath:
            path: /dev
        - name: sys
          hostPath:
            path: /sys
        - name: rootfs
          hostPath:
            path: /

在k8s集群的master1节点操作

kubectl create ns monitor-sa
kubectl apply -f node-export.yaml
kubectl get pods -n monitor-sa

查看创建的node-exporter

浏览器访问:

命令行查看服务器负载指标采集


参考文章:

Prometheus监控实战之node_exporter详解_node-exporter-CSDN博客

Prometheus监控实战之node_exporter详解_node-exporter-CSDN博客

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

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

相关文章

微信小程序使用 iconfont

base64 形式引入 首先我们点击 iconfont 项目中的 项目设置 按钮&#xff0c;位置如下图所示&#xff1a; 我们勾选图中所示三种字体格式&#xff0c;选择 base64 是为了将另外两种字体转为 base64 形式&#xff0c;而选择 woff 与 ttf 字体原因如下&#xff1a; TTF 兼容性更…

【自然语言处理】NLP入门(五):1、正则表达式与Python中的实现(5):字符串常用方法:对齐方式、大小写转换详解

文章目录 一、前言二、正则表达式与Python中的实现1.字符串构造2. 字符串截取3. 字符串格式化输出4.字符转义符5. 字符串常用函数函数与方法之比较 6. 字符串常用方法1. 对齐方式center()ljust()rjust() 2. 大小写转换lower()upper()capitalize()title()swapcase() 一、前言 本…

基于.Net 的图形验证码模块

&#x1f3c6;作者&#xff1a;科技、互联网行业优质创作者 &#x1f3c6;专注领域&#xff1a;.Net技术、软件架构、人工智能、数字化转型、DeveloperSharp、微服务、工业互联网、智能制造 &#x1f3c6;欢迎关注我&#xff08;Net数字智慧化基地&#xff09;&#xff0c;里面…

【探索程序员职业赛道:挑战与机遇】

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学习,不断总结,共同进步,活到老学到老导航 檀越剑指大厂系列:全面总结 jav…

本地部署推理TextDiffuser-2:释放语言模型用于文本渲染的力量

系列文章目录 文章目录 系列文章目录一、模型下载和环境配置二、模型训练&#xff08;一&#xff09;训练布局规划器&#xff08;二&#xff09;训练扩散模型 三、模型推理&#xff08;一&#xff09;准备训练好的模型checkpoint&#xff08;二&#xff09;全参数推理&#xff…

PaddlePaddle框架安装

提示&#xff1a;可在python环境中进行安装&#xff0c;避免环境污染&#xff0c;创建命令conda create -n xxx_name python3.9,激活conda activate xxx_name 第一步&#xff1a;查看计算机平台版本 在窗口输入查看命令&#xff0c;查看CUDA的版本 nvidia-smi 二、根据以下条件…

pycharm连接远程服务器解决远程服务器文件不同步问题

一、pycharm连接远程服务器 1.前提条件 linux已经安装好虚拟环境&#xff0c;并且虚拟环境已经有python的相关环境 conda create -n name python3.10 2.连接服务器 1.进入pycharm的Settings 2.在Project里找Python Interpreter 3.点击⚙&#xff0c;再点击add 4.选择SSH…

【C++从练气到飞升】02---初识类与对象

&#x1f388;个人主页&#xff1a;库库的里昂 ✨收录专栏&#xff1a;C从练气到飞升 &#x1f389;鸟欲高飞先振翅&#xff0c;人求上进先读书。 目录 ⛳️推荐 一、面向过程和面向对象初步认识 二、类的引用 1. C语言版 2. C版 三、类的定义 类的两种定义方式&#xff…

机器学习-04-分类算法-01决策树

总结 本系列是机器学习课程的系列课程&#xff0c;主要介绍机器学习中分类算法&#xff0c;本篇为分类算法开篇与决策树部分。 本门课程的目标 完成一个特定行业的算法应用全过程&#xff1a; 懂业务会选择合适的算法数据处理算法训练算法调优算法融合 算法评估持续调优工程…

如何在Win系统本地部署Jupyter Notbook交互笔记并结合内网穿透实现公网远程使用

文章目录 1.前言2.Jupyter Notebook的安装2.1 Jupyter Notebook下载安装2.2 Jupyter Notebook的配置2.3 Cpolar下载安装 3.Cpolar端口设置3.1 Cpolar云端设置3.2.Cpolar本地设置 4.公网访问测试5.结语 1.前言 在数据分析工作中&#xff0c;使用最多的无疑就是各种函数、图表、…

【前端系列】CSS 常见的选择器

CSS 常见的选择器 CSS&#xff08;层叠样式表&#xff09;是一种用于描述网页样式的标记语言&#xff0c;它定义了网页中各个元素的外观和布局。在 CSS 中&#xff0c;选择器是一种用于选择要应用样式的 HTML 元素的模式。选择器允许开发人员根据元素的类型、属性、关系等来选…

【计算机视觉】图像处理算法(其他篇)

来源&#xff1a;《OpenCV3编程入门》&#xff0c;怀念毛星云大佬&#x1f56f;️ 说明&#xff1a;本系列重点关注各种图像处理算法的原理、作用和对比 漫水填充 漫水填充法是一种用特定的颜色填充连通区域&#xff0c;通过设置可连通像素的上下限以及连通方式来达到不同的填…

【零基础学习02】嵌入式linux驱动中原子操作基本实现

大家好,为了进一步提升大家对实验的认识程度,每个控制实验将加入详细控制思路与流程,欢迎交流学习。 今天给大家分享一下,linux系统里面并发与竞争具体实现,操作硬件为I.MX6ULL开发板。 第一:Linux系统并发与竞争简介 linux是一个多任务操作系统,存在多个任务操作同一个…

【SpringBoot框架篇】36.整合Tess4J搭建提供图片文字识别的Web服务

文章目录 简介文件下载引入依赖main函数中使用基于Springboot搭建OCR Web服务配置traineddata路径枚举用到的语种类型定义接口响应的json数据格式封装OCR服务引擎编写web提供服务的接口启动服务并且测试html demo扩展 项目配套代码 简介 Tess4J是一个基于Tesseract OCR引擎的J…

mysql的索引、事务、分库分表问题

1.了解MySQL的索引吗&#xff1f;它为什么使用Btree作为底层&#xff0c;而不是其他呢&#xff1f; 这里我们要谈的是其他数据结构的缺点&#xff0c;然后说说Btree的优点&#xff0c;也就看你对MySQL的Btree与其他数据结构熟不熟悉。 Hash &#xff08;1&#xff09;Hash 索引…

第五十五回 吴用使时迁偷甲 汤隆赚徐宁上山-以102flowers数据集为例训练ResNet50模型

汤隆说我家世代打造兵器&#xff0c;破连环马需要用钩镰枪&#xff0c;我会打造。还需要我的姑表哥&#xff0c;金枪手徐宁&#xff0c;因为他会钩镰枪法。汤隆和吴用商议了请徐宁上山的法子&#xff0c;派石迁去偷徐宁的宝贝雁翎锁子甲。 石迁到了东京&#xff0c;打听到徐宁住…

R语言:多值提取到点

ArcGIS中有相关工具实现多值提取到点的功能&#xff0c;在这里&#xff0c;我将使用R语言进行操作&#xff1a; library(dplyr) library(readxl) library(sf) library(raster)setwd("D:/Datasets") Bio <- stack(paste0("D:/Datasets/Data/worldclim2_1km/…

HTML静态网页成品作业(HTML+CSS)——家乡漳州介绍设计制作(1个页面)

&#x1f389;不定期分享源码&#xff0c;关注不丢失哦 文章目录 一、作品介绍二、作品演示三、代码目录四、网站代码HTML部分代码 五、源码获取 一、作品介绍 &#x1f3f7;️本套采用HTMLCSS&#xff0c;未使用Javacsript代码&#xff0c;共有1个页面。 二、作品演示 三、代…

爬虫入门到精通_框架篇16(Scrapy框架基本使用_名人名言的抓取

1 目标站点分析 抓取网站&#xff1a;http://quotes.toscrape.com/ 主要显示了一些名人名言&#xff0c;以及作者、标签等等信息&#xff1a; 点击next&#xff0c;page变为2&#xff1a; 2 流程框架 抓取第一页&#xff1a;请求第一页的URL并得到源代码&#xff0c;进行下…

学校Java的第七天

目录 一、什么是数组 二、作用 三、如何使用数组 1、声明数组变量 2、创建数组 示例&#xff1a; 3、数组的使用 示例&#xff1a; 4、数组的遍历 for循环示例&#xff08;不知道for循环的可以查看我之前发的文章&#xff09; for-each循环&#xff08;也就是增强for…