【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-exporternamespace: monitor-salabels:name: node-exporter
spec:selector:matchLabels:name: node-exportertemplate:metadata:labels:name: node-exporterspec:hostPID: true        # 使用主机的PIDhostIPC: true        # 使用主机的IPChostNetwork: true    # 使用主机的网络containers:- name: node-exporterimage: prom/node-exporter:v0.16.0ports:- containerPort: 9100resources:requests:cpu: 0.15securityContext:privileged: trueargs:- --path.procfs- /host/proc- --path.sysfs- /host/sys- --collector.filesystem.ignored-mount-points- '"^/(sys|proc|dev|host|etc)($|/)"'volumeMounts:- name: devmountPath: /host/dev- name: procmountPath: /host/proc- name: sysmountPath: /host/sys- name: rootfsmountPath: /rootfstolerations:- key: "node-role.kubernetes.io/master"operator: "Exists"effect: "NoSchedule"volumes:- name: prochostPath:path: /proc- name: devhostPath:path: /dev- name: syshostPath:path: /sys- name: rootfshostPath: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博客

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

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

相关文章

【STM32】HAL库 CubeMX 教程 --- 高级定时器 TIM1 定时

实验目标&#xff1a; 通过CUbeMXHAL&#xff0c;配置TIM1&#xff0c;1s中断一次&#xff0c;闪烁LED。 一、常用型号的TIM时钟频率 1. STM32F103系列&#xff1a; 所有 TIM 的时钟频率都是72MHz&#xff1b;F103C8不带基本定时器&#xff0c;F103RC及以上才带基本定时器。…

C++11——智能指针

本文将解决一下几个问题 1.什么是智能指针 2.为什么需要之智能指针 3.智能指针的使用场景 智能指针 RAII&#xff1a;是一种利用对象声明周期来控制的程序资源&#xff08;如内存、文件句柄、网络连接、互斥量等&#xff09;的技术 在对象构造的时候获取资源&#xff0c;接…

Navicat、phpMyAdmin本地安装

一、Navicat安装 注&#xff1a;本次关于Navicat的安装版本为Navicat160的windows版本 1、从官方下载安装包并安装 官方下载链接为 ​​https://download.navicat.com.cn/download/navicat160_premium_cs_x64.exe​​ 下载完成后&#xff0c;直接进行安装即可&#xff08;…

Unity 整体界面淡入淡出效果

在Unity中&#xff0c;如果我们要实现控制多个组件同时淡出&#xff0c;同时淡入的效果&#xff0c;可以使用DOTween插件实现。 如图&#xff0c;一个页面中带有背景&#xff0c;一张图片&#xff0c;一个文本&#xff0c;一个滑动条。 要实现以上界面的整体淡入淡出&#xff…

C语言连接【MySQL】

稍等更新图片。。。。 文章目录 安装 MySQL 库连接 MySQLMYSQL 类创建 MySQL 对象连接数据库关闭数据库连接示例 发送命令设置编码格式插入、删除或修改记录查询记录示例 参考资料 安装 MySQL 库 在 CentOS7 下&#xff0c;使用命令安装 MySQL&#xff1a; yum install mysq…

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/…

【C++】了解一下STL

个人主页 &#xff1a; zxctscl 如有转载请先通知 STL 1. 什么是STL2. STL的版本3. STL的六大组件4. STL的重要性5. 如何学习STL6. STL的缺陷 1. 什么是STL STL(standard template libaray-标准模板库)&#xff1a;是C标准库的重要组成部分&#xff0c;不仅是一个可复用的组件…

SkyEye:助力飞行器状态控制系统仿真

飞行器与常见的航天器一样&#xff0c;属于安全关键领域的大型复杂设备&#xff0c;对安全性、可靠性有着极高的要求。为保证稳定飞行&#xff0c;需要对目标对象进行实时跟踪&#xff0c;通过发出正确的修正偏差指令来操纵飞行器改变飞行姿态&#xff0c;因此对飞行器状态控制…

SSM框架,MyBatis-Plus的学习(下)

条件构造器 使用MyBatis-Plus的条件构造器&#xff0c;可以构建灵活高效的查询条件&#xff0c;可以通过链式调用来组合多个条件。 条件构造器的继承结构 Wrapper &#xff1a; 条件构造抽象类&#xff0c;最顶端父类 AbstractWrapper &#xff1a; 用于查询条件封装&#xf…

堆宝塔(Python)

作者 陈越 单位 浙江大学 堆宝塔游戏是让小朋友根据抓到的彩虹圈的直径大小&#xff0c;按照从大到小的顺序堆起宝塔。但彩虹圈不一定是按照直径的大小顺序抓到的。聪明宝宝采取的策略如下&#xff1a; 首先准备两根柱子&#xff0c;一根 A 柱串宝塔&#xff0c;一根 B 柱用于…

python INI文件操作与configparser内置库

目录 INI文件 configparser内置库 类与方法 操作实例 导入INI文件 查询所有节的列表 判断某个节是否存在 查询某个节的所有键的列表 判断节下是否存在某个键 增加节点 删除节点 增加节点的键 修改键值 保存修改结果 获取键值 获取节点所有键值 其他读取方式 …

Python SSH协议库之paramiko使用详解

概要 在网络编程中,远程操作是一项非常常见的需求,特别是在服务器管理和自动化任务执行方面。Python提供了许多库来实现远程操作,其中Paramiko是一个备受欢迎的选择。Paramiko是一个纯Python编写的SSH协议库,它提供了一种简单而强大的方式来执行远程命令、上传和下载文件等…

spring-data-elasticsearch官方文档解读(部分)

Spring Data Elasticsearch 这里主要学习的是4.4.16版本的文档 1. 版本 下表显示了 Spring Data 发行版系列使用的 Elasticsearch 版本和其中包含的 Spring Data Elasticsearch 版本&#xff0c;以及引用该特定 Spring Data 发行版系列的 Spring Boot 版本。给出的 Elastics…

【Spring Boot 3】获取已注入的Bean

【Spring Boot 3】获取已注入的Bean 背景介绍开发环境开发步骤及源码工程目录结构总结 背景 软件开发是一门实践性科学&#xff0c;对大多数人来说&#xff0c;学习一种新技术不是一开始就去深究其原理&#xff0c;而是先从做出一个可工作的DEMO入手。但在我个人学习和工作经历…

深入理解Servlet

目录&#xff1a; ServletWeb开发历史Servlet简介Servlet技术特点Servlet在应用程序中的位置Tomcat运行过程Servlet继承结构Servlet生命周期Servlet处理请求的原理Servlet的作用HttpServletRequest对象HttpServletResponse对象ServletContext对象ServletConfig对象Cookie对象与…

面向对象的编程语言是什么意思?——跟老吕学Python编程

面向对象的编程语言是什么意思&#xff1f;——跟老吕学Python编程 面向对象是什么意思&#xff1f;面向对象的定义面向对象的早期发展面向对象的背景1.审视问题域的视角2.抽象级别3.封装体4.可重用性 面向对象的特征面向对象的开发方法面向对象程序设计基本思想实现 面向对象的…

RocketMQ存储设计深度解析

引言 在分布式系统中&#xff0c;消息中间件扮演着至关重要的角色&#xff0c;它负责系统间异步消息的传递&#xff0c;确保信息可靠传输。Apache RocketMQ&#xff08;以下简称RocketMQ&#xff09;是这一领域中的一个优秀代表。RocketMQ以其高性能、高可靠性和高扩展性赢得了…

未来城市:探索数字孪生在智慧城市中的实际应用与价值

目录 一、引言 二、数字孪生与智慧城市的融合 三、数字孪生在智慧城市中的实际应用 1、智慧交通管理 2、智慧能源管理 3、智慧建筑管理 4、智慧城市管理 四、数字孪生在智慧城市中的价值 五、挑战与展望 六、结论 一、引言 随着科技的飞速发展&#xff0c;智慧城市已…

AI论文速读 | 【综述】城市计算中跨域数据融合的深度学习:分类、进展和展望

题目&#xff1a;Deep Learning for Cross-Domain Data Fusion in Urban Computing: Taxonomy, Advances, and Outlook 作者&#xff1a;Xingchen Zou, Yibo Yan, Xixuan Hao, Yuehong Hu, Haomin Wen&#xff08;温皓珉&#xff09;, Erdong Liu, Junbo Zhang&#xff08;张钧…

GitHub Desktop的常用操作【图形化】

文章目录 【1】仓库的创建和删除【2】文件操作【3】分支原理与分支操作1.分支创建2.分支合并 【4】标签 【1】仓库的创建和删除 在本地创建一个新的仓库&#xff1a; 然后输入仓库的名称&#xff0c;描述&#xff0c;并选择路径&#xff1a; 点击完后就发现我们的仓库创建好…