深入了解Process Exporter:Prometheus进程监控利器

一、概述

process-exporter主要用来监控进程的运行状态和资源使用情况。

exporter是从/proc目录下获取进程的状态。

二、安装

1、传统安装

下载二进制包,下载链接:https://github.com/ncabatoff/process-exporter/releases/tag/v0.8.1

2、kubernetes中安装

一般推荐使用daemonset的方式进行安装。感兴趣的话可以搜索一下相关文章。

3、运行

  process-exporter  -config.path filename.yml

4、配置文件

1.组名

每一项都process_names给出了识别和命名过程的秘诀。可选name标签定义一个用于命名匹配进程的模板;如果未指定,则name默认为{{.ExeBase}}.

可用的模板变量:

  • {{.Comm}}包含原始可执行文件的基本名称,即第二个字段/proc/<pid>/stat
  • {{.ExeBase}}包含可执行文件的基本名称
  • {{.ExeFull}}包含可执行文件的完全限定路径
  • {{.Username}}包含有效用户的用户名
  • {{.Matches}}映射包含应用 cmdline 正则表达式产生的所有匹配项
  • {{.PID}}包含进程的PID。请注意,使用 PID 意味着该组将仅包含一个进程。
  • {{.StartTime}}包含进程的开始时间。这与 PID 结合使用非常有用,因为 PID 会随着时间的推移而被重用。
  • {{.Cgroups}}包含(如果支持)进程 ( /proc/self/cgroup) 的 cgroup。这对于识别进程属于哪个容器特别有用。
2.进程选择器

每一项process_names必须包含一个或多个选择器(commexecmdline);如果存在多个选择器,则它们必须全部匹配。每个选择器都是一个字符串列表,用于与进程的commargv[0]或在 的情况下匹配cmdline应用于命令行的正则表达式。 cmdline regexp 使用Go 语法。

对于commexe,字符串列表是一个 OR,这意味着与任何字符串匹配的任何进程都将添加到该项目的组中。

对于cmdline,正则表达式列表是 AND,这意味着它们都必须匹配。正则表达式中的任何捕获组都必须使用该?P<name>选项来为捕获分配名称,该名称用于填充.Matches.

事例如下:

process_names:- exe:- /opt/sidecar/thanos-0.23.1.linux-amd64/thanoscmdline:- sidecarname: thanos:sidecar- cmdline:- /usr/local/bin/relayname: carbon_c_relay- cmdline:- /opt/(?P<name>\w{4,})/cachexname: cachex:{{.Matches.name}}

5、常用指标:

num_procs

指标类型:gauge(随意变更大小)

指标说明:进该组中的进程数

cpu_seconds_total

指标类型:counter(只增不减)

指标说明:于 /proc/[pid]/stat 字段 utime(14) 和 stime(15),即用户和系统时间。

read_bytes_total

指标类型:counter

指标说明:基于 /proc/[pid]/io 字段 read_bytes 读取的字节数

write_bytes_total

指标类型:counter

指标说明:基于 /proc/[pid]/io 字段 write_bytes 写入的字节数

major_page_faults_total

指标类型:counter

指标说明:基于 /proc/[pid]/stat 字段 majflt(12) 的主要页面错误数。

minor_page_faults_total

指标类型:counter

指标说明:基于 /proc/[pid]/stat 字段 minflt(10) 的次要页面错误数。

context_switches_total

指标类型:counter

指标说明:基于 /proc/[pid]/status 字段 volunteer_ctxt_switches 和 nonvolunter_ctxt_switches 的上下文切换数量

memory_bytes

指标类型:gauge

指标说明:进使用的内存字节数

open_filedesc

指标类型:gauge

指标说明:文件描述符的数量

worst_fd_ratio

指标类型:gauge

指标说明:打开 filedesc 与 filedesc 限制的最差比率

oldest_start_time_seconds

指标类型:gauge

指标说明:最旧进程启动的纪元时间(自 1970/1/1 以来的秒数)

num_threads

指标类型:gauge

指标说明:组中所有进程的线程数总和

states

指标类型:gauge

指标说明:组中处于各种状态的线程数,基于 /proc/[pid]/stat 中的字段 state(3)。额外标签state可以具有以下值:Running, Sleeping, Waiting, Zombie, Other

6、验证指标

通过curl默认的端口9256来验证指标是否收集到

curl http://localhost:9256/metrics

7、常用告警规则

 #进程停止告警规则namedprocess_namegroup_num_procs{groupname!~"map.*(query|sidecar)."} < 1#启动时间小于三分钟,意味着发生过重启(time() - namedprocess_namegroup_oldest_start_time_seconds{groupname!~"map.*(query|sidecar)."})/60 < 3

三、garafana

仪表盘位置:https://grafana.net/dashboards/249

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

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

相关文章

达梦数据库常用命令整理

1.数据库自身信息 1.1 查询实例信息 SQL> select name inst_name from v$instance;行号 INST_NAME ---------- --------- 1 DMSERVER已用时间: 11.211(毫秒). 执行号:15.1.2 查询数据库当前状态 SQL> select status$ from v$instance;行号 STATUS$ -…

【Android项目】“追茶到底”项目介绍

没有多的介绍&#xff0c;这里只是展示我的项目效果&#xff0c;后面会给出具体的代码实现。 一、用户模块 1、注册&#xff08;第一次登陆的话需要先注册账号&#xff09; 2、登陆&#xff08;具有记住最近登录用户功能&#xff09; 二、点单模块 1、展示饮品列表 2、双向联动…

Go语言系统学习笔记(一):基础篇

1. 写在前面 公司的新业务开发需要用到go语言&#xff0c;虽然之前没接触过这门语言&#xff0c;但在大模型的帮助下&#xff0c;边看项目边写代码也能进行go的项目开发&#xff0c;不过&#xff0c;写了一段时间代码之后&#xff0c;总感觉对go语言本身&#xff0c;我的知识体…

加密技术在保护企业数据中的应用

加密技术是企业数据保护的核心&#xff0c;对于维护信息安全至关重要。透明加密技术使文件加密后不改变用户对文件的使用习惯&#xff0c;内部文件打开自动解密&#xff0c;存储自动加密&#xff0c;一旦离开使用环境&#xff0c;加密文件将无法正常读取&#xff0c;从而保护文…

大模型+智能眼镜,让失明人士也能无障碍阅读

你有没有想过有一天你闭上眼睛也可以进行流畅阅读呢&#xff1f; 不是民科&#xff0c;也不是量子波动速读&#xff01;借助大语言模型和智能眼镜&#xff0c;来自维也纳工业大学、罗马第一大学和明尼苏达大学的研究者&#xff0c;提出了一种无需视力也能阅读的辅助系统&#…

使用fitten code插件(vscode),替换通义千问,识别需求中的输入输出

今天我们介绍一个工具,具体介绍可以参考我的这篇文章的介绍,支持vs code 插件,Fitten Code是一款由非十科技开发的AI代码助手,旨在通过大模型驱动来提升编程效率和体验-免费神器-CSDN博客https://blog.csdn.net/lijigang100/article/details/137833223?spm=1001.2014.3001…

Windows Server 2003安装DHCP服务器

0x00 前言 需要一个dhcp服务器&#xff0c;但是电脑只有一个windows server 2003&#xff0c;凑合着用的。 0x01 安装DHCP服务器 1. 打开控制面板&#xff0c;添加删除程序–添加/删除Windows组件–网络服务&#xff0c;勾选网络服务。 2. 点击【详细信息】&#xff0c;勾选…

深入Django:用户认证与权限控制实战指南

title: 深入Django&#xff1a;用户认证与权限控制实战指南 date: 2024/5/7 18:50:33 updated: 2024/5/7 18:50:33 categories: 后端开发 tags: AuthDecoratorsPermissionsGuardianRESTAuthSessionMgmtMFA 第1章&#xff1a;入门Django与设置 1.1 Django安装与环境配置 在…

Go 语言基础之指针、复合类型【数组、切片、指针、map、struct】

1、数组 特别需要注意的是&#xff1a;在 Go 语言中&#xff0c;数组长度也是数组类型的一部分&#xff01;所以尽管元素类型相同但是长度不同的两个数组&#xff0c;它们的类型并不相同。 1.1、数组的初始化 1.1.1、通过初始化列表{}来设置值 var arr [3]int // int类型的数…

Terraform资源

资源是Terraform中最核心的部分&#xff0c;使用Terraform的目的就是用于管理资源。 在Terraform中&#xff0c;资源使用resource块定义。 一个resource可以定义一个或多个基础设施资源对象&#xff0c;如&#xff1a;VPC&#xff0c;虚拟机&#xff0c;DNS记录&#xff0c;Con…

渗透测试流程

一、攻击流程 信息收集阶段→漏洞分析阶段→攻击阶段→后渗透阶段 二、信息收集 1、收集内容&#xff1a; IP资源&#xff1a;真实IP获取、旁站信息收集、C段主机信息收集域名发现&#xff1a;子域名信息收集、子域名枚举发现子域名、搜索引擎发现子域名、第三方聚合服务器发…

4G工业路由器快递柜应用案例(覆盖所有场景)

快递柜展示图 随着电商的蓬勃发展,快递行业迎来高速增长。为提高快递效率、保障快件安全,智能快递柜应运而生。但由于快递柜部署环境复杂多样,网络接入成为一大难题。传统有线宽带难以覆盖所有场景,而公用WiFi不稳定且存在安全隐患。 星创易联科技有限公司针对这一痛点,推出了…

好消息|5月6日起换发补发出入境证件可“全程网办”

国家移民管理局从2024年5月6日起&#xff0c;实施若干便民利企出入境管理的六项政策措施&#xff0c;包括在北京等20个城市试点实行换发补发出入境证件的“全程网办”&#xff0c;该举措对于访问学者、博士后研究人员及联合培养博士都是利好消息。故知识人网小编转载发布。 为更…

JAVA面试题(一)

Java面试问题及答案 1. 解释Java中的多态性以及它是如何实现的&#xff1f; 问题&#xff1a; 在Java中&#xff0c;多态性是什么&#xff1f;请举例说明它是如何工作的。 答案&#xff1a; 多态性是Java的一个核心特性&#xff0c;它允许不同类的对象对同一消息做出响应&am…

类和对象之六个默认成员函数

目录 1.构造函数 2.析构函数 3.构造函数&#xff08;重载&#xff09; 4.拷贝构造 4.1特征&#xff1a; 4.2写法&#xff1a; 4.3浅拷贝和深拷贝 5.运算符重载 6.&运算符重载和const成员 6.1权限问题 Date类中是否加const修饰 6.2取地址及const取地址操作符重载…

vue-img-cutter 图片裁剪详解

前言&#xff1a;vue-img-cutter 文档&#xff0c;本文档主要讲解插件在 vue3 中使用。 一&#xff1a;安装依赖 npm install vue-img-cutter # or yarn add vue-img-cutter # or pnpm add vue-img-cutter 二&#xff1a;构建 components/ImgCutter.vue 组件 <script se…

sh包装脚本

两个脚本,运行的时间间隔分别是一分钟和五分钟,放入到sh文件中,挂在后代,脚本里面的路径最好是绝对路径。 新建sh文件 新建 run_test.sh 文件,使其可以运行两个不同的 Python 脚本,一个每分钟运行一次,另一个每五分钟运行一次。下面是修改后的 run_test.sh 文件的示例:…

光伏SRM供应商管理解决方案

供应商管理是光伏企业中重要的一环&#xff0c;通过SRM管理供应商&#xff0c;可以提高产品质量&#xff0c;降低采购成本&#xff0c;并集成供应链&#xff0c;提高核心竞争力。 一、搭建管理系统 分为供应商和商户&#xff0c;供应商需要完善基本信息、类别、等级、产品概要…

typescript TS 错误码大全

code 类型 英文描述 中文描述 1002 错误 Unterminated string literal. 未终止的字符串文本。 1003 错误 Identifier expected. 应为标识符。 1005 错误 {0} expected. 应为“{0}”。 1006 错误 A file cannot have a reference to itself. 文件不能引用自身。 1009 错误 Trail…

大历史下的 tcp:一个松弛的传输协议

如果 tcp 是一个相对松弛的协议&#xff0c;会发生什么。 所谓松弛感&#xff0c;意思是它允许 “漏洞”&#xff0c;允许可靠传输的不封闭&#xff0c;大致就是&#xff1a;“不求 100% 可靠&#xff0c;只要 90%(或多或少) 可靠&#xff0c;另外 10% 的错误可检测到” or “…