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端,它负责收集对应资源的指标,并提供接口给到Prometheus读取。不同资源的监控对应不同的Exporter,如node-exporeter、mysql-exporter、kafka-exporter等,在这…...
JVM知识整理
JVM知识整理 JVM的主要组成部分 JVM包含两个两个子系统(类加载子系统和执行引擎)和两个组件(运行时数据区与和本地库接口) 类加载子系统:根据给定的全限定类名来加载class文件到运行时数据区域中的方法区。执行引擎&a…...
【C++】二叉搜索树
A:你长大后想要做什么? B:写下“快乐”…… A:不,你理解错我的意思了,我是说 B:不,是你理解错了人生…… 文章目录一、二叉搜索树的实现1.struct TreeNode{}2.迭代版本2.1 Insert()插入结点(解决链接的问题)…...
leetcode -- 21. 合并两个有序链表
🐨目录📑1. 题目🛶2. 解法- 头插到新链表🐬2.1 思路🐬2.1 代码实现⛵3. 解法优化 - 带哨兵位🐋3.1 思路🐋3.2 代码实现🚤4. 题目链接📑1. 题目 将两个升序链表合并为一个…...
计算机组成原理|第四章(笔记)
目录第四章 存储器4.1 概述4.1.1 存储器分类4.1.2 存储器的层次结构4.2 主存储器4.2.1 概述4.2.2 半导体存储芯片简介4.2.3 随机存取存储器(RAM)4.2.4 只读存储器(ROM)4.2.5 存储器与CPU的连接4.2.6 存储器的校验4.2.7 提高访存速…...
【Unity3D-BUG记录】Unity3D中出现“动画片段必须标记为Legacy的警告”消除方法
推荐阅读 CSDN主页GitHub开源地址Unity3D插件分享简书地址我的个人博客 大家好,我是佛系工程师☆恬静的小魔龙☆,不定时更新Unity开发技巧,觉得有用记得一键三连哦。 一、前言 在开发中可能会遇到下面的警告: The AnimationClip…...
Spring Bean的定义(含创建Bean的三种方式)
🏆 文章目标:复习和理解下Spring Bean的定义 🍀 Spring Bean的定义(含创建Bean的三种方式) ✅ 创作者:Jay… 🎉 个人主页:Jay的个人主页 🍁 展望:若本篇讲解内…...
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仓库可以自己写点测试代码,提交,待会测试用https://gitee.com/…...
C语言之按位取反~(七十一)
计算机存储数据基本知识计算机中二进制数包括(正数和负数)是以补码形式存储。符号位:补码的最左侧首位是符号位,0表示正数,1表示负数。二进制有三种形式:原码、反码、补码。正数的补码和反码:是…...
C# 委托
Action 在 C# 中,Action 是一个预定义的委托类型,表示一个不带参数和返回值的方法。它的定义如下: public delegate void Action();Action 委托可以用于表示任何没有参数和返回值的方法。例如: // 定义一个不带参数和返回值的方…...
leetcode究极刷题笔记(11~15)
(11)盛最多水的容器(中等) 实现思路: 定义两个指针(a,b),分别指向数组的前后位置,如果此时a的值小于b的话,就将a右移一位,如果此时b指向的值小于…...
【C语言】一篇带你从零了解 枚举
文章目录什么是枚举枚举类型的定义枚举的优点枚举的使用什么是枚举 枚举是 C 语言中的一种基本数据类型 可以让数据更简洁,更易读。 枚举顾名思义就是 一 一 列举。 把可能的取值 一 一列举。 比如我们现实生活中: 一周的星期一到星期日是有限的7天&…...
用Pytorch搭建一个房价预测模型
本文参加新星计划人工智能(Pytorch)赛道: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,过程如下: ServerSocketChannel是一个抽象类,WEPollSelectorProvider调用openServerSocketChannel方法创建的是它的实现类ServerSocketChannelImpl,类结构如下…...
Java stream性能比较
环境 Ubuntu 22.04IntelliJ IDEA 2022.1.3JDK 17CPU: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 …...
【数据结构与算法】设计循环队列
文章目录👑前言如何设计循环队列设计循环队列整体的代码📯写在最后👑前言 🚩前面我们 用队列实现了一个栈 ,用栈实现了一个队列 ,相信大家随随便便轻松拿捏,而本章将带大家上点难度,…...
最新版!国内IT软件外包公司汇总~
金三银四已经过去一半,再过几个月又将迎来毕业季,大家有没有找到心仪的工作机会呀?有很多同学说今年的金三银四似乎不存在了。小李:今年的金三银四变成了铜三铁四,不断地投递又不断地造拒。小王:大量已读不…...
MySQL的COUNT语句,竟然都能被面试官虐的这么惨!?
关于数据库中行数统计,无论是MySQL还是Oracle,都有一个函数可以使用,那就是COUNT 但是,就是这个常用的COUNT函数,却暗藏着很多玄机,尤其是在面试的时候,一不小心就会被虐。不信的话请尝试回答下…...
数位DP 详解及其案例实战 [模板+技巧+案例]
零. 案例引入 1.案例引入 leetcode233. 数字 1 的个数 给定一个整数 n,计算所有小于等于 n 的非负整数中数字 1 出现的个数。 输入:n 13 输出:6 2.暴力解 对于上述的案例,暴力解肯定是可行的,但时间复杂度较高,对…...
网页时光机:如何用浏览器扩展拯救消失的互联网记忆
网页时光机:如何用浏览器扩展拯救消失的互联网记忆 【免费下载链接】wayback-machine-webextension A web browser extension for Chrome, Firefox, Edge, and Safari 14. 项目地址: https://gitcode.com/gh_mirrors/wa/wayback-machine-webextension 当你精…...
晶体塑性损伤模型的魔改日常——手把手拆解应力更新核心
基于huang晶体塑性有限元损伤演化代码,包含应力更新,送inp文件. (包含损伤演化)(损伤后应力更新)最近在折腾Huang的晶体塑性框架,发现原版代码在损伤处理上还是太"干净"了。趁着周末撸了个损伤演化模块&…...
快速生成node.js环境配置原型:用快马一键创建安装验证工具
快速生成node.js环境配置原型:用快马一键创建安装验证工具 最近在带新人入门Node.js开发时,发现很多小伙伴卡在了最基础的环境配置环节。不同操作系统下的安装方式差异、版本兼容性问题、环境变量配置这些看似简单的步骤,往往会消耗初学者大…...
5大技术维度精通ABC系统:数字电路设计的逻辑综合与形式验证实践指南
5大技术维度精通ABC系统:数字电路设计的逻辑综合与形式验证实践指南 【免费下载链接】abc ABC: System for Sequential Logic Synthesis and Formal Verification 项目地址: https://gitcode.com/gh_mirrors/ab/abc ABC系统(Sequential Logic Syn…...
医用擦拭纸选购指南:看懂这五大认证,避开医疗耗材采购“隐形坑
# 医用擦拭纸选购指南:看懂这五大认证,避开医疗耗材采购“隐形坑”> 在医疗领域,每一片看似普通的擦拭纸,都直接关系到诊疗安全、院感控制和患者健康。对于医疗器械经销商、医院后勤管理者而言,选择供应商时最核心的…...
AI系统架构评审中的可扩展性设计:3个关键策略
AI系统架构评审中的可扩展性设计:3个关键策略 摘要 在AI技术飞速发展的今天,系统可扩展性已成为决定AI项目成败的关键因素之一。本文深入探讨了AI系统架构评审中可扩展性设计的三个核心策略:分布式计算与存储架构、模型解耦与服务化设计以及自适应资源调度与弹性扩展。通过…...
手把手教你搞定VMware vSphere 7.0全家桶:从服务器RAID配置到vCenter上线的保姆级避坑指南
企业级虚拟化平台部署实战:从硬件配置到vSphere 7.0全栈落地指南 当企业IT基础设施面临数字化转型时,服务器虚拟化技术往往成为关键突破口。作为业界标杆的VMware vSphere解决方案,其7.0版本在性能、安全性和管理便捷性方面都有显著提升。本文…...
深入解析C语言中的Stream(流)操作与文件处理实践
1. 揭开C语言Stream(流)操作的神秘面纱 第一次接触C语言文件操作时,我被各种f开头的函数搞得晕头转向。直到有一天调试程序到凌晨三点,突然意识到所有文件操作本质上都是在和"流"打交道。这个顿悟让我对C语言的理解直接上了一个台阶。今天我就…...
告别海量标注!用Wav2Vec 2.0在10分钟语音数据上跑出可用ASR模型
极低资源语音识别实战:用Wav2Vec 2.0在10分钟数据上构建可用模型 当创业团队面临语音交互产品的原型开发时,最头疼的往往不是算法选择,而是标注数据匮乏的现实。传统语音识别方案需要数百小时的标注语音才能达到基本可用水平,而Wa…...
v-md-editor进阶技巧:如何在Vue2中实现markdown与HTML的双向转换
Vue2项目中v-md-editor深度应用:Markdown与HTML双向转换实战指南 在内容管理系统、技术文档平台或博客应用中,Markdown与HTML格式的相互转换是开发者常遇到的核心需求。v-md-editor作为Vue生态中功能强大的Markdown编辑器,其双向转换能力往往…...
