从零开始搭建监控系统 (三) 指标采集

news2025/1/11 14:05:50

从零开始搭建监控系统 (三) 指标采集

背景

Node Exporter就可以用来采集机器的各项指标,从而监控机器的状态。

如果机器上运行了一些小脚本,想要对其进行监控但又不想用上一些在代码里做信息采集的SDK那么重,比如只是单纯想要监控该脚本是否一直在运行,那么Process-Exporter会是一个现成的好选择。

如名所示,Process-Exporter 就是用来监控进程的,其中一项能力,便是监控进程的状态

文件目录

process-exporter-gitee

├── docker-compose.yml          # 部署容器服务文件
├── dockerfile                  # 构建镜像文件
├── LICENSE
├── process-exporter            # 二进制执行文件
├── process-name.yaml           # 监控服务配置
└── README.md

部署

构建镜像

查看dockerfile文件

root@chuango:/home/wcq/process-exporter# cat dockerfile 
FROM debian:10

WORKDIR /opt/process
COPY process-name.yaml .
COPY process-exporter .

RUN chmod 777 process-exporter

EXPOSE 9256

CMD ["./process-exporter", "-config.path", "process-name.yaml"]

构建镜像: docker build . -t process-exporter:v1

部署服务
root@chuango:/home/wcq/process-exporter# cat docker-compose.yml 
version: '3'
services:
  process_metric:
    container_name: "process_metric"
    restart: always
    image: "dc01.iotdreamcatcher.net.cn:6443/public/process-exporter:v1"
    volumes:
      - "./process-name.yaml:/opt/process/process-name.yaml"
    ports:
      - 9256:9256
    networks:
      default:

networks:
  default:
    external:
      name: prometheus_default     # 使用与promethues相同的网络, 便于prometheus发现

部署服务: docker-compose up -d

查看正常日志输出

root@chuango:/home/wcq/process-exporter# docker logs -f process_metric
2023/05/26 01:30:38 Reading metrics from /proc based on "process-name.yaml"

# 测试服务采集指标正常
wcq@chuango:~/process-exporter$ curl http://localhost:9256/metrics
# HELP go_gc_duration_seconds A summary of the GC invocation durations.
# TYPE go_gc_duration_seconds summary
go_gc_duration_seconds{quantile="0"} 0
go_gc_duration_seconds{quantile="0.25"} 0
go_gc_duration_seconds{quantile="0.5"} 0
go_gc_duration_seconds{quantile="0.75"} 0
go_gc_duration_seconds{quantile="1"} 0
go_gc_duration_seconds_sum 0
go_gc_duration_seconds_count 0
....
配置到promethues服务发现
root@chuango:/opt/prometheus# cat prometheus.yml 
global:
  scrape_interval:     15s # 默认抓取周期
  external_labels:
    monitor: 'codelab-monitor'
scrape_configs:
  - job_name: 'node-exporter' #服务的名称
    scrape_interval: 5s
    metrics_path: /metrics  #获取指标的url
    static_configs:
      - targets: ['192.168.1.113:9100']
  - job_name: 'process'
    static_configs:
      - targets: ['192.168.1.113:9256']

重启promethues服务

root@chuango:/opt/prometheus# docker-compose restart

exporters

dashboard

Dashboard id 填写为 8378

port-8378

system-metrics

指标展示

metrics-host

1.CPU 使用率

cpu-use-avg

2.Memory 使用率

mem-use-avg

3. 磁盘IO

disk-use-avg

Others

  1. 当采集指标不全,且未涉及到服务本身时, 需使用以下方式部署

    下载 官方process-exporter

    git clone https://github.com/ncabatoff/process-exporter.git
    
  2. 将process-name.yaml 文件写入 config文件下

     docker run -itd --rm -p 9256:9256 --privileged --name process --cpu-period 1000000 --cpu-quota 50000 --network net-dcv2 --network-alias process-exporter -v /proc:/host/proc -v `pwd`/config:/config dc01.iotdreamcatcher.net.cn:6443/public/process-exporter:v3 --procfs /host/proc -config.path config/process-name.yaml
    
  • –cpu-period 设置每个容器进程的调度周期: 1000000(1s)
  • –cpu-quota 设置在每个周期内容器能使用的 CPU 时间: 50000(0.05s) 占用时间越少, cpu使用率越低

ISSUE

使用process-exporter服务进行进程的指标采集时,容易占用cpu过高(20%),导致该服务器CPU不足,触发告警(过低:cpu占用低于15%,服务运行时间过长,导致prometheus无法发现该服务,无法获取进程指标)。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【C语言】红黑树

红黑树 1.二叉查找树 首先要了解的是二叉查找树,也称为二叉排序树,优点是在节点均匀分布的情况下,查找效率更高,缺点是,如果节点分布在一侧,查找时间就会约等于数组从头到尾的去查找。 二叉查找树的子树…

24/8/8算法笔记 决策回归树

from sklearn.tree import DecisionTreeRegressor from sklearn import tree import numpy as np import matplotlib.pyplot as plt 创建数据 X_train np.linspace(0,2*np.pi,40).reshape(-1,1)#训练数据就是符合要求的二维数据 #二维:[[样本一].[样本二]&#x…

服务器数据恢复—Raid5阵列热备盘上线过程中断导致阵列崩溃的数据恢复案例

服务器数据恢复环境&故障: 两组分别由4块SAS硬盘组建的raid5磁盘阵列,ext3文件系统lvm结构。 磁盘阵列中一块硬盘离线,热备盘自动上线替换离线硬盘并开始同步数据。在热备盘同步数据的过程中该组raid中另外一块硬盘出现故障掉线&#xff…

Docker最佳实践(六):安装Nacos

大家好,欢迎各位工友。 本篇呢我们就来演示一下如何在Docker中部署nacos容器,市面上的教程多多少少都有点小坑,博主磕磕绊绊测试了好几次,才算解决此问题。 1. 拉取Nacos镜像 首先,拉取对应版本的Nacos镜像文件。可以…

【ACM出版,EI稳定检索】第四届信号处理与通信技术国际学术会议(SPCT 2024)

第四届信号处理与通信技术国际学术会议(SPCT 2024) 2024 4th International Conference on Signal Processing and Communication Technology 重要信息 大会官网:www.icspct.com 大会时间:2024年12月27-29日 大会地点&#xff1a…

Nodejs实现图片加水印 【使用jimp】

Nodejs实现图片加水印 【使用jimp】 先看效果 我们将使用jimp实现图片加上水印,可以结合路由进行用户上传后处理该图片生成带水印的图片返回个用户 const path require("path"); const jimp require("jimp");/*** 给一张图片加水印* para…

【C语言篇】自定义类型:联合体和枚举详细介绍

文章目录 联合体联合体类型的声明联合体的特点联合体和结构体对比联合体大小的计算判断大小端 枚举枚举类型的声明枚举类型的优点枚举的使用 联合体 联合体类型的声明 像结构体⼀样,联合体也是由⼀个或者多个成员构成,这些成员可以不同的类型。 但是编…

第10章 无持久存储的文件系统 (1)

目录 前言 10.1 proc文件系统 10.1.1 /proc 内容 本专栏文章将有70篇左右,欢迎关注,查看后续文章。 前言 即存在于内存中的文件系统。如: proc: sysfs: 即/sys目录。 内容不一定是ASCII文本,可能是二进…

Delaunay三角化重要性质,最小角最大化

欢迎关注更多精彩 关注我,学习常用算法与数据结构,一题多解,降维打击。 最大化最小角 推论 有点集P是一般点集(没有多点共线,没有4点共圆),那么该点集的delauney三角后的最小角不小于其他非de…

HTML5+CSS3笔记(Xmind格式):第五天

Xmind鸟瞰图: 简单文字总结: HTML5CSS3知识总结: canvas坐标: 画图的基本步骤: 1.创建画布 2.获取画布 3.开始路径规划 4.规定画笔颜色 5.规定画笔粗细 6.开始作…

OLAP与OLTP:数据处理系统的两种核心架构

目录 一、什么是OLAP? 二、什么是OLTP? 三、OLAP与OLTP的主要区别 四、结论 在数据管理和分析的领域中,OLAP(在线分析处理)和OLTP(在线事务处理)代表了两种重要的数据处理模式。它们在功能、目标…

MoE-LLaVA: Mixture of Experts for Large Vision-Language Models

发表时间:6 Jul 2024 论文链接:https://arxiv.org/pdf/2401.15947 作者单位:Peking University Motivation:最近的进展表明,扩展大型视觉语言模型 (LVLM) 有效地提高了下游任务的性能。然而,现有的缩放方…

uniapp版本更新除了plus.runtime.getProperty的解决办法

以下是展示图 带尺寸的图片: 首先把以下代码放到想要更新弹出的页面 //template部分<uni-popup ref"popup" background-color"#fff"><versionUp handleCloseVersion"closeVersion"></versionUp></uni-popup>//script…

支付宝开放平台竟出现一张神秘人脸!

前言 ​ 我因一个单子来到支付宝开放平台来。在将其加入书签的时候&#xff0c;我发现出现了个神秘的人脸 一张笑容明媚的脸&#xff0c;就是出现的时候不太对 正常的收藏网址 应该是显示对应log 就不继续找相关例子了 ​ 添加书签的页面&#xff0c;本该出现log的地方缺出现了…

SQL注入实例(sqli-labs/less-23)

0、初始网页 1、闭合方式判断 闭合符号为单引号&#xff0c;通过测试发现过滤了注释&#xff0c;所以直接闭合 2、确定查询表的列数 确定查询表的列数为3列 ?id1 order by 3 3、确定回显位置 回显位置为第二列和第三列 ?id-1 union select 1,2,3 4、查看当前登录和数据…

【统信UOS】桌面系统通过自定义内网补丁仓库升级内网系统

原文链接&#xff1a;【统信UOS】桌面系统通过自定义内网补丁仓库升级内网系统 Hello&#xff0c;大家好啊&#xff01;今天给大家带来一篇关于在统信桌面系统上通过自定义内网补丁仓库升级内网系统的文章。在企业或组织内部网络环境中&#xff0c;为了安全性和便捷性&#xff…

《Ubuntu22.04环境下的ROS2学习笔记1》

一、在ROS2环境下创建工作空间 ROS2相比ROS1来说工作空间的创建有较大的不同&#xff0c;同时工作空间中的四个目录被更换为src(存放源码) &#xff0c; build(存放编译的中间文件) &#xff0c; install(存放可执行文件) &#xff0c; log(日志)。同时命令行也有些许变化&…

【循环神经网络】案例:周杰伦歌词文本预测【训练+python代码】

文章目录 1、简介2、数据集3、构建词典4、构建数据集对象5、构建网络模型6、构建训练函数6.1、多分类交叉熵损失函数&#x1f53a;6.2、Adam&#x1f53a;6.3、代码 7、构建预测函数8、word_to_index和index_to_word8.1、word_to_index8.2、index_to_word8.3、使用场景 9、Data…

OpenHarmony编译

简介&#xff1a;本文将会介绍编译OpendHarmony环境的搭建、编译、和刷机&#xff08;rk3568&#xff09; 使用场景&#xff1a;修改系统源码&#xff0c;需要验证修改的功能是否正确、编译镜像、编译SDK 1、VS Code&#xff0c;下载链接&#xff0c;用于修改源码 2、linux环…

“低代码”平台的机遇与挑战

低代码平台的机遇 提高开发效率&#xff1a; 低代码平台通过提供可视化的开发工具和可重用的组件&#xff0c;显著提高了开发效率。开发者能够更快速地构建和部署应用&#xff0c;迅速响应市场需求。据普遍观点&#xff0c;低代码平台能够提升30%以上的开发效率&#xff0c;而无…