二进制部署Prometheus

        在监控里面Prometheus现在用的还是比较多的,一般我们都是在Kubernetes环境里面部署,然后监控咱们的容器化环境,今天给大家分享一些不一样的,使用二进制的方式在机器上直接部署,并且监控机器上的进程。

        说到监控大家通常都是主机级别的监控那么我们想要监控进程的话怎么实现呢,Prometheus里面有个process-exporter可以帮助我们实现。GitHub - ncabatoff/process-exporter: Prometheus exporter that mines /proc to report on selected processes

部署Prometheus

关闭防火墙

systemctl stop firewalld
systemctl disable firewalld

关闭selinux

sed -i "s/^SELINUX=*/SELINUX=disabled/g" /etc/selinux/config
setenforce 0

解压软件包

https://github.com/prometheus/prometheus/releases/download/v2.26.0/prometheus-2.26.0.linux-amd64.tar.gz

tar -zxvf prometheus-2.26.0.linux-amd64.tar.gz -C /usr/local
mv /usr/local/prometheus-2.26.0.linux-amd64/ /usr/local/prometheus

https://github.com/prometheus/prometheus/releases/download/v2.26.0/prometheus-2.26.0.linux-amd64.tar.gz

创建用户

groupadd prometheus
useradd -g prometheus -s /sbin/nologin prometheus

 创建Prometheus数据存储目录

mkdir -p /var/lib/prometheus
chown -R prometheus /var/lib/prometheuschown -R prometheus:prometheus /usr/local/prometheus/

修改配置文件

# 在scrape_configs下添加个job_name,指定要监控的目标
# process-exporter在被监控端运行,监听的端口号为9256
[root@prometheus prometheus]# cat /usr/local/prometheus/prometheus.yml
# my global config
global:scrape_interval:     15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.# scrape_timeout is set to the global default (10s).# Alertmanager configuration
alerting:alertmanagers:- static_configs:- targets:# - alertmanager:9093# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
rule_files:# - "first_rules.yml"# - "second_rules.yml"# A scrape configuration containing exactly one endpoint to scrape:
# Here it's Prometheus itself.
scrape_configs:# The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.- job_name: 'prometheus'# metrics_path defaults to '/metrics'# scheme defaults to 'http'.static_configs:- targets: ['localhost:9090']- job_name: 'node'scrape_interval: 10sstatic_configs:- targets: ['192.168.207.165:9256']labels:instance: node

启动服务

/usr/local/prometheus/prometheus --config.file=/usr/local/prometheus/prometheus.yml

部署process-exporter

关闭防火墙

systemctl stop firewalld
systemctl disable firewalld

关闭selinux

sed -i "s/^SELINUX=*/SELINUX=disabled/g" /etc/selinux/config
setenforce 0

解压软件包

https://github.com/ncabatoff/process-exporter/releases/download/v0.8.2/process-exporter-0.8.2.linux-amd64.tar.gz

tar zxf process-exporter-0.8.2.linux-amd64.tar.gz -C /usr/local/
cd /usr/local/process-exporter-0.8.2.linux-amd64/

准备配置文件

# 监控所有进程
# 还有别的很多种写法可以查看GitHub
cat > config.yml << 'EOF'
process_names:- name: "{{.Comm}}"cmdline:- '.+'
EOF# 监控指定进程
# 根据你的需求要监控的服务多的话按照格式继续往下写
cat > config.yml << 'EOF'
process_names:- name: "{{.Matches}}"cmdline:- 'sshd'- name: "{{.Matches}}"cmdline:- 'mysqld'
EOF

启动

# 该配置文件使用的是刚才展示的监控所有进程的
./process-exporter -config.path config.yml

验证

可以打开Prometheus的页面进行查看看看能不能获取到进程的数据,可以使用curl调接口,下面演示一下使用curl调接口获取sshd进程的数据

# 修改为自己的IP
curl -G 'http://<prometheus_host>:9090/api/v1/query'   --data-urlencode 'query=namedprocess_namegroup_context_switches_total{ctxswitchtype="nonvoluntary", groupname="sshd", instance="node", job="node"}'# 示例
curl -G 'http://192.168.207.131:9090/api/v1/query'   --data-urlencode 'query=namedprocess_namegroup_context_switches_total{ctxswitchtype="nonvoluntary", groupname="sshd", instance="node", job="node"}'
# 可以看到获取到的是有数据的
[root@bogon ~]# curl -G 'http://192.168.207.131:9090/api/v1/query'   --data-urlencode 'query=namedprocess_namegroup_context_switches_total{ctxswitchtype="nonvoluntary", groupname="sshd", instance="node", job="node"}'{"status":"success","data":{"resultType":"vector","result":[{"metric":{"__name__":"namedprocess_namegroup_context_switches_total","ctxswitchtype":"nonvoluntary","groupname":"sshd","instance":"node","job":"node"},"value":[1718781659.381,"2"]}]}}

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

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

相关文章

普陀食材配送沪鑫餐饮专业化、标准化、现代化新篇章

在上海普陀这片繁华的土地上&#xff0c;企事业单位如繁星点点&#xff0c;它们不仅推动了区域经济的飞速发展&#xff0c;更在员工福利待遇上不断追求卓越。其中&#xff0c;食材配送作为后勤管理的重要环节&#xff0c;正迎来专业化、标准化、现代化的新篇章。 提及普陀食材配…

短视频开源项目MoneyPrinterTurbo:AI副业搞起来,视频制作更轻松!

目录 引言一、MoneyPrinterTurbo简介二、MoneyPrinterTurbo的核心功能三、MoneyPrinterTurbo的未来发展四、MoneyPrinterTurbo与AI副业五、部署实践1、克隆代码2、创建虚拟环境3、安装依赖4、安装好 ImageMagick5、端口映射6、启动Web界面7、模型配置8、填写主题9、视频生成10、…

OpenSSL 生成 RSA 公钥和私钥

sudo apt-get update sudo apt-get install openssl、 生成私钥 openssl genpkey -algorithm RSA -out private.pem -pkeyopt rsa_keygen_bits:2048 提取公钥 openssl rsa -pubout -in private.pem -out public.pem cat public.pem 将文件导出就行

使用事件日志识别常见 Windows 错误

事件查看器&#xff0c;一个标准的诊断工具&#xff0c;嵌入在Windows操作系统&#xff0c;记录了所有的系统事件&#xff0c;该日志捕获有关硬件问题、软件中断和整体系统行为的详细信息。通过分析这些日志&#xff0c;管理员可以查明系统错误和运行时错误的根本原因。了解如何…

达索系统 PLM:引领创新的数字化解决方案

在当今竞争激烈的商业环境中&#xff0c;企业需要不断提升创新能力和运营效率&#xff0c;以应对快速变化的市场需求。产品生命周期管理&#xff08;PLM&#xff09;系统作为一种综合性的数字化解决方案&#xff0c;正逐渐成为企业实现可持续发展的关键。而达索系统的 PLM 则以…

OpenCV--图像的运算

图像的运算 代码和笔记 代码和笔记 import cv2 import numpy as np""" 图像的运算 """# 读取图片 cat1 cv2.imread(./img/cat.jpeg) cat2 cv2.imread(./img/cat.jpeg)""" 加减乘除 """ # 加法(有点杂交的感觉)…

MySQL的字符集与排序规则

在MySQL数据库中&#xff0c;字符集&#xff08;Character Set&#xff09;和排序规则&#xff08;Collation&#xff09;是两个至关重要的概念&#xff0c;它们共同决定了数据库中字符数据的存储、比较和排序方式。对于涉及多语言、国际化或特殊字符处理的应用来说&#xff0c…

56岁张卫健前任貌突然回春大进化?自曝婚礼前夕流产

现年56岁的江欣燕于1985年以18岁之龄参加第4届新秀歌唱大赛入行&#xff0c;曾拍过多部无线经典电视剧&#xff0c;包括《娱乐插班生》、《同事三分亲》及《女人俱乐部》等。现时甚少作幕前演出的江欣燕日前在社交平台上载分享了新短片&#xff0c;当中更以Deep V上阵&#xff…

大数据集群搭建基础:Hadoop完全分布式搭建学习指南!!

Hadoop完全分布式搭建学习指南 Hadoop版本&#xff1a;Hadoop2.X JDK版本&#xff1a;JDK1.8一、准备工作 设置主机名和IP 在三台CentOS 7.4机器上分别设置主机名和IP&#xff1a; node1: 192.168.14.10node2: 192.168.14.20node3: 192.168.14.30 修改主机名&#xff08;以nod…

从 0 打造私有知识库 RAG Benchmark 完整实践

背景介绍 最近从 0 构建了一个大模型知识库 RAG 服务的自动化 Benchmark 评估服务&#xff0c;可以基于私有知识库对 RAG 服务进行批量自动化测试与评估。本文是对这个过程的详细记录。 本文实际构建的是医疗行业知识库&#xff0c;基于高质量的医学指南和专家共识进行构建。…

前端从视频文件提取画面帧

extractFramesFromVideo方法提取画面帧 // 设定一个异步函数&#xff0c;输入参数为&#xff1a; // videoUrl&#xff08;需要提取画面帧的视频的URL&#xff09; // fps&#xff08;每秒帧率&#xff0c;默认为25帧&#xff09; async function extractFramesFromVideo(vide…

Linux中MySQL的相关配置及命令(Ubuntu22.04)

安装 MySQL apt install mysql-server apt install mysql-client相关配置文件 默认配置文件地址: /etc/mysql/mysql.conf.d 基础配置如下 # 基础配置 [mysqld] # # * Basic Settings # user mysql pid-file /var/run/mysqld/mysqld.pid socket /var/run/mysqld/mysqld.…

uni-app地图组件控制

uni.createMapContext(mapId,this) 创建并返回 map 上下文 mapContext 对象。在自定义组件下&#xff0c;第二个参数传入组件实例this&#xff0c;以操作组件内 <map> 组件。 注意&#xff1a;uni.createMapContext(mapId, this) app-nvue 平台 2.2.5 支持 uni.create…

DataWorks Copilot:大模型时代数据开发的新范式

导读 DataWorks 是阿里云一站式智能化数据开发与治理平台&#xff0c;支持搭配MaxCompute/Hologres/AnalyticDB/StarRocks/EMR/CDH 等大数据引擎&#xff0c;为企业构建数据仓库、数据湖以及湖仓一体&#xff08;Lakehouse&#xff09;现代数据架构提供数据平台产品解决方案。…

推荐一款功能强大的显示器!

最近在写项目开发文档&#xff0c;经常需要几个界面来回切换&#xff0c;真的深刻感受到了一台外接显示器对一名程序员来说有多重要了&#xff0c;画功能流程图的时候嫌弃自己的笔记本屏幕不够大&#xff0c;看代码的时候又在想要是有个旋转屏就好了&#xff0c;来回切换界面的…

C实时导航

导航算法怎么改成实时的&#xff1f; 将导航算法改为实时运行需要考虑几个关键因素&#xff0c;包括数据源的实时性、算法的计算效率、以及与外部硬件&#xff08;如传感器、执行器等&#xff09;的实时交互。由于MATLAB不是用于实时系统的首选工具&#xff08;尽管它有一些实时…

【JavaScript复习二】选择结构if和Switch(1)

### []( )2、单分支条件分支语句if (条件表达式) { // 条件为真时&#xff0c;做的事情 } else { // 条件为假时&#xff0c;做的事情 } ### []( )2,、多分支的 if 语句if (条件表达式1) { // 条件1为真时&#xff0c;做的事情} else if (条件表达式2) { // 条件1不满足&…

使用Selenium进行Web自动化:详细操作指南

使用Selenium进行Web自动化:详细操作指南 引言 Selenium是一个广泛使用的开源工具,用于自动化Web浏览器的操作。无论你是进行自动化测试,还是需要抓取网页数据,Selenium都是一个非常有用的工具。本文将详细介绍Selenium的一些常见用法,包括输入框设置值、文件上传、单选…

java基础·小白入门(四)

目录 异常处理基本概念处理过程 Java泛型与容器类泛型容器类 异常处理 基本概念 异常&#xff08;exception&#xff09;&#xff1a;是指在硬件和操作系统正常时&#xff0c;程序遇到的运行错误。如数组下标越界、除数为0、用户输入非法、打开一个不存在的文件、网络连接中断…

Java中的数据结构与算法优化攻略

Java中的数据结构与算法优化攻略 大家好&#xff0c;我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编&#xff0c;也是冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01; 在Java应用开发中&#xff0c;数据结构与算法的选择和优化对于提高程序的性能…