当前位置: 首页 > news >正文

Prometheus监控实战系列九:主机监控

Prometheus使用各种Exporter来监控资源。Exporter可以看成是监控的agent端,它负责收集对应资源的指标,并提供接口给到Prometheus读取。不同资源的监控对应不同的Exporter,如node-exporeter、mysql-exporter、kafka-exporter等,在这其中最常用的当属node_exporter

node-exporter使用Go语言编写,它主要用来监控主机系统的各项性能参数,可收集各种主机指标的库,还提供了textfile功能,用于自定义指标。

1、安装node-exporter

1.1 二进制安装

下载安装包并解压,下载地址: https://prometheus.io/download/

tar zxvf node_exporter-0.16.0.linux-amd64.tar.gz -C /usr/local/
mv /usr/local/node_exporter-0.16.0.linux-amd64/ /usr/local/node_exporter

启动node_exporter

里面就一个启动命令node_exporter,可以直接使用此命令启动
[root@agent expoter]# ls /usr/local/node_exporter/
LICENSE  node_exporter  NOTICE
[root@agent expoter]# nohup /usr/local/node_exporter/node_exporter &
1.2 docker安装

官方不建议通过Docekr方式部署node-exporter,因为它需要访问主机系统。通过docker部署的方式,需要把任何非根安装点都绑定到容器中,并通过–path.rootfs参数指定。

docker pull prom/node-exporter
docker run -d --net="host" --pid="host" -v "/:/host:ro,rslave" prom/node-exporter --path.rootfs=/host

访问http://localhost:9100/metrics,可以看到当前node exporter获取到的当前主机的所有监控数据,如下所示:
在这里插入图片描述

2、配置node-exporter

node-exporter提供不少配置参数,可使用 --help 进行查看。

[root@agent node_exporter]# ./node_exporter --help

例如:通过–web.listen-address 改变监听的端口

./node_exporter  --web.listen-address=":8080" &

如果需要收集主机上面运行服务的状态,可启用systemd收集器。由于systemd指标较多,可以用–collector.systemd.unit-include参数配置只收集指定的服务,减少无用数据,该参数支持正则表达式匹配。如docker和ssh服务状态,

示例:

./node_exporter --collector.systemd --collector.systemd.unit-whitelist="(docker|sshd).service" &

在这里插入图片描述

3、textfile收集器

textfile是一个特定的收集器,它的功能非常有用,textfile允许我们暴露自定义的指标。这些指标或者是没有相关的exporter可以使用,或者是你自己开发的应用指标。

textfile通过扫描指定目录中的文件,提取所有符合Prometheus数据格式的字符串,然后暴露它们给到Prometheus进行抓取。

示例:

创建指标文件保存目录

mkdir /opt/prom

写入指标文件,此处我们用手动方式写入

cat <<EOF | tee /tmp/prom/metadata.prom 
# HELP alex_test this is a test
# TYPE alex_test gauge
alex_test{server="test",idc="bj"} 1
EOF

启用textfile

./node_exporter --collector.textfile.directory="/tmp/prom" &

访问node-exporter的地址,可看到指标已生效
在这里插入图片描述

4、Prometheus抓取指标

在Prometheus配置关于node-exporter节点的target,即可抓取相关节点指标数据。

- job_name: 'agent1'static_configs:- targets: ['192.168.75.162:9100'] # 被监控ip,端口9100

实例抓取正常
在这里插入图片描述

上一篇:Prometheus监控实战系列八:标签重写
下一篇:Prometheus监控运维实战十: 主机监控指标

相关文章:

Prometheus监控实战系列九:主机监控

Prometheus使用各种Exporter来监控资源。Exporter可以看成是监控的agent端&#xff0c;它负责收集对应资源的指标&#xff0c;并提供接口给到Prometheus读取。不同资源的监控对应不同的Exporter&#xff0c;如node-exporeter、mysql-exporter、kafka-exporter等&#xff0c;在这…...

JVM知识整理

JVM知识整理 JVM的主要组成部分 JVM包含两个两个子系统&#xff08;类加载子系统和执行引擎&#xff09;和两个组件&#xff08;运行时数据区与和本地库接口&#xff09; 类加载子系统&#xff1a;根据给定的全限定类名来加载class文件到运行时数据区域中的方法区。执行引擎&a…...

【C++】二叉搜索树

A:你长大后想要做什么&#xff1f; B:写下“快乐”…… A:不&#xff0c;你理解错我的意思了&#xff0c;我是说 B:不&#xff0c;是你理解错了人生…… 文章目录一、二叉搜索树的实现1.struct TreeNode{}2.迭代版本2.1 Insert()插入结点&#xff08;解决链接的问题&#xff09…...

leetcode -- 21. 合并两个有序链表

&#x1f428;目录&#x1f4d1;1. 题目&#x1f6f6;2. 解法- 头插到新链表&#x1f42c;2.1 思路&#x1f42c;2.1 代码实现⛵3. 解法优化 - 带哨兵位&#x1f40b;3.1 思路&#x1f40b;3.2 代码实现&#x1f6a4;4. 题目链接&#x1f4d1;1. 题目 将两个升序链表合并为一个…...

计算机组成原理|第四章(笔记)

目录第四章 存储器4.1 概述4.1.1 存储器分类4.1.2 存储器的层次结构4.2 主存储器4.2.1 概述4.2.2 半导体存储芯片简介4.2.3 随机存取存储器&#xff08;RAM&#xff09;4.2.4 只读存储器&#xff08;ROM&#xff09;4.2.5 存储器与CPU的连接4.2.6 存储器的校验4.2.7 提高访存速…...

【Unity3D-BUG记录】Unity3D中出现“动画片段必须标记为Legacy的警告”消除方法

推荐阅读 CSDN主页GitHub开源地址Unity3D插件分享简书地址我的个人博客 大家好&#xff0c;我是佛系工程师☆恬静的小魔龙☆&#xff0c;不定时更新Unity开发技巧&#xff0c;觉得有用记得一键三连哦。 一、前言 在开发中可能会遇到下面的警告&#xff1a; The AnimationClip…...

Spring Bean的定义(含创建Bean的三种方式)

&#x1f3c6; 文章目标&#xff1a;复习和理解下Spring Bean的定义 &#x1f340; Spring Bean的定义&#xff08;含创建Bean的三种方式&#xff09; ✅ 创作者&#xff1a;Jay… &#x1f389; 个人主页&#xff1a;Jay的个人主页 &#x1f341; 展望&#xff1a;若本篇讲解内…...

vue的路由-vue router(一)

vue的路由-vue router一、路由的基本使用HTMLrouter-linkrouter-viewJavaScript二、带参数的动态路由匹配三、嵌套路由四. 编程式导航导航到不同的位置替换当前位置横跨历史篡改历史五. 命名路由六. 命名视图嵌套命名视图七. 重定向和别名重定向别名八. 将 props 传递给路由组件…...

DevOps流水线搭建-PHP版本

一、介绍流水线发布代码1、官网https://www.jenkins.io/zh2、kubesphere里的介绍https://kubesphere.io/zh/docs/v3.3/devops-user-guide/how-to-use/pipelines/choose-jenkins-agent/3、git仓库可以自己写点测试代码&#xff0c;提交&#xff0c;待会测试用https://gitee.com/…...

C语言之按位取反~(七十一)

计算机存储数据基本知识计算机中二进制数包括&#xff08;正数和负数&#xff09;是以补码形式存储。符号位&#xff1a;补码的最左侧首位是符号位&#xff0c;0表示正数&#xff0c;1表示负数。二进制有三种形式&#xff1a;原码、反码、补码。正数的补码和反码&#xff1a;是…...

C# 委托

Action 在 C# 中&#xff0c;Action 是一个预定义的委托类型&#xff0c;表示一个不带参数和返回值的方法。它的定义如下&#xff1a; public delegate void Action();Action 委托可以用于表示任何没有参数和返回值的方法。例如&#xff1a; // 定义一个不带参数和返回值的方…...

leetcode究极刷题笔记(11~15)

&#xff08;11&#xff09;盛最多水的容器&#xff08;中等&#xff09; 实现思路&#xff1a; 定义两个指针&#xff08;a,b&#xff09;&#xff0c;分别指向数组的前后位置&#xff0c;如果此时a的值小于b的话&#xff0c;就将a右移一位&#xff0c;如果此时b指向的值小于…...

【C语言】一篇带你从零了解 枚举

文章目录什么是枚举枚举类型的定义枚举的优点枚举的使用什么是枚举 枚举是 C 语言中的一种基本数据类型 可以让数据更简洁&#xff0c;更易读。 枚举顾名思义就是 一 一 列举。 把可能的取值 一 一列举。 比如我们现实生活中&#xff1a; 一周的星期一到星期日是有限的7天&…...

用Pytorch搭建一个房价预测模型

本文参加新星计划人工智能(Pytorch)赛道&#xff1a;https://bbs.csdn.net/topics/613989052 目录 一、项目介绍 二、准备工作 三、实验过程 3.1数据预处理 3.2拆分数据集 3.3构建PyTorch模型 3.3.1.数据转换 3.3.2定义模型架构 3.3.3定义损失准则和优化器 3.3.4创建…...

《Netty》从零开始学netty源码(十五)之ServerSocketChannel

在NioServerSocketChannel中调用newChannel方法创建java原生的channel&#xff0c;过程如下&#xff1a; ServerSocketChannel是一个抽象类&#xff0c;WEPollSelectorProvider调用openServerSocketChannel方法创建的是它的实现类ServerSocketChannelImpl&#xff0c;类结构如下…...

Java stream性能比较

环境 Ubuntu 22.04IntelliJ IDEA 2022.1.3JDK 17CPU&#xff1a;8核 ➜ ~ cat /proc/cpuinfo | egrep -ie physical id|cpu cores physical id : 0 cpu cores : 1 physical id : 2 cpu cores : 1 physical id : 4 cpu cores : 1 physical id : 6 cpu cores : 1 physical id …...

【数据结构与算法】设计循环队列

文章目录&#x1f451;前言如何设计循环队列设计循环队列整体的代码&#x1f4ef;写在最后&#x1f451;前言 &#x1f6a9;前面我们 用队列实现了一个栈 &#xff0c;用栈实现了一个队列 &#xff0c;相信大家随随便便轻松拿捏&#xff0c;而本章将带大家上点难度&#xff0c;…...

最新版!国内IT软件外包公司汇总~

金三银四已经过去一半&#xff0c;再过几个月又将迎来毕业季&#xff0c;大家有没有找到心仪的工作机会呀&#xff1f;有很多同学说今年的金三银四似乎不存在了。小李&#xff1a;今年的金三银四变成了铜三铁四&#xff0c;不断地投递又不断地造拒。小王&#xff1a;大量已读不…...

MySQL的COUNT语句,竟然都能被面试官虐的这么惨!?

关于数据库中行数统计&#xff0c;无论是MySQL还是Oracle&#xff0c;都有一个函数可以使用&#xff0c;那就是COUNT 但是&#xff0c;就是这个常用的COUNT函数&#xff0c;却暗藏着很多玄机&#xff0c;尤其是在面试的时候&#xff0c;一不小心就会被虐。不信的话请尝试回答下…...

数位DP 详解及其案例实战 [模板+技巧+案例]

零. 案例引入 1.案例引入 leetcode233. 数字 1 的个数 给定一个整数 n&#xff0c;计算所有小于等于 n 的非负整数中数字 1 出现的个数。 输入&#xff1a;n 13 输出&#xff1a;6 2.暴力解 对于上述的案例&#xff0c;暴力解肯定是可行的&#xff0c;但时间复杂度较高,对…...

RestClient

什么是RestClient RestClient 是 Elasticsearch 官方提供的 Java 低级 REST 客户端&#xff0c;它允许HTTP与Elasticsearch 集群通信&#xff0c;而无需处理 JSON 序列化/反序列化等底层细节。它是 Elasticsearch Java API 客户端的基础。 RestClient 主要特点 轻量级&#xff…...

React 第五十五节 Router 中 useAsyncError的使用详解

前言 useAsyncError 是 React Router v6.4 引入的一个钩子&#xff0c;用于处理异步操作&#xff08;如数据加载&#xff09;中的错误。下面我将详细解释其用途并提供代码示例。 一、useAsyncError 用途 处理异步错误&#xff1a;捕获在 loader 或 action 中发生的异步错误替…...

Cilium动手实验室: 精通之旅---20.Isovalent Enterprise for Cilium: Zero Trust Visibility

Cilium动手实验室: 精通之旅---20.Isovalent Enterprise for Cilium: Zero Trust Visibility 1. 实验室环境1.1 实验室环境1.2 小测试 2. The Endor System2.1 部署应用2.2 检查现有策略 3. Cilium 策略实体3.1 创建 allow-all 网络策略3.2 在 Hubble CLI 中验证网络策略源3.3 …...

【HTTP三个基础问题】

面试官您好&#xff01;HTTP是超文本传输协议&#xff0c;是互联网上客户端和服务器之间传输超文本数据&#xff08;比如文字、图片、音频、视频等&#xff09;的核心协议&#xff0c;当前互联网应用最广泛的版本是HTTP1.1&#xff0c;它基于经典的C/S模型&#xff0c;也就是客…...

R语言速释制剂QBD解决方案之三

本文是《Quality by Design for ANDAs: An Example for Immediate-Release Dosage Forms》第一个处方的R语言解决方案。 第一个处方研究评估原料药粒径分布、MCC/Lactose比例、崩解剂用量对制剂CQAs的影响。 第二处方研究用于理解颗粒外加硬脂酸镁和滑石粉对片剂质量和可生产…...

【Redis】笔记|第8节|大厂高并发缓存架构实战与优化

缓存架构 代码结构 代码详情 功能点&#xff1a; 多级缓存&#xff0c;先查本地缓存&#xff0c;再查Redis&#xff0c;最后才查数据库热点数据重建逻辑使用分布式锁&#xff0c;二次查询更新缓存采用读写锁提升性能采用Redis的发布订阅机制通知所有实例更新本地缓存适用读多…...

PostgreSQL——环境搭建

一、Linux # 安装 PostgreSQL 15 仓库 sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-$(rpm -E %{rhel})-x86_64/pgdg-redhat-repo-latest.noarch.rpm# 安装之前先确认是否已经存在PostgreSQL rpm -qa | grep postgres# 如果存在&#xff0…...

论文阅读笔记——Muffin: Testing Deep Learning Libraries via Neural Architecture Fuzzing

Muffin 论文 现有方法 CRADLE 和 LEMON&#xff0c;依赖模型推理阶段输出进行差分测试&#xff0c;但在训练阶段是不可行的&#xff0c;因为训练阶段直到最后才有固定输出&#xff0c;中间过程是不断变化的。API 库覆盖低&#xff0c;因为各个 API 都是在各种具体场景下使用。…...

【p2p、分布式,区块链笔记 MESH】Bluetooth蓝牙通信 BLE Mesh协议的拓扑结构 定向转发机制

目录 节点的功能承载层&#xff08;GATT/Adv&#xff09;局限性&#xff1a; 拓扑关系定向转发机制定向转发意义 CG 节点的功能 节点的功能由节点支持的特性和功能决定。所有节点都能够发送和接收网格消息。节点还可以选择支持一个或多个附加功能&#xff0c;如 Configuration …...

DeepSeek源码深度解析 × 华为仓颉语言编程精粹——从MoE架构到全场景开发生态

前言 在人工智能技术飞速发展的今天&#xff0c;深度学习与大模型技术已成为推动行业变革的核心驱动力&#xff0c;而高效、灵活的开发工具与编程语言则为技术创新提供了重要支撑。本书以两大前沿技术领域为核心&#xff0c;系统性地呈现了两部深度技术著作的精华&#xff1a;…...