prometheus+node+process-exporter+grafans

news2024/11/18 21:44:12

安装Prometheus

要在Ubuntu 18.04上安装Prometheus,您可以按照以下步骤进行:

sudo apt-get update

安装依赖:

sudo apt-get install wget tar

下载最新的Prometheus版本:

wget https://github.com/prometheus/prometheus/releases/download/v2.30.3/prometheus-2.30.3.linux-amd64.tar.gz

解压下载的文件:

tar xvf prometheus-*.tar.gz

进入解压后的目录,执行

cd prometheus-*
./prometheus

将Prometheus设置为服务,以便在系统启动时自动运行

  1. 创建一个新的systemd服务文件,例如prometheus.service,在/etc/systemd/system/目录下:

    sudo nano /etc/systemd/system/prometheus.service
    
  2. 在打开的编辑器中,粘贴以下内容:

[Unit]
Description=Prometheus
Wants=network-online.target
After=network-online.target

[Service]
User=metax
Group=metax
Type=simple
ExecStart=/home/metax/prometheus-2.30.3.linux-amd64/prometheus \
  --config.file=/home/metax/prometheus-2.30.3.linux-amd64/prometheus.yml
WorkingDirectory=/home/metax/prometheus-2.30.3.linux-amd64/prometheus
[Install]
WantedBy=multi-user.target

请将/path/to/your/prometheus/directory/替换为您的Prometheus二进制文件和配置文件的实际路径。

  • 保存并关闭文件。

  • 重新加载systemd以使其识别新服务:

sudo systemctl daemon-reload
  • 启动Prometheus服务
sudo systemctl start prometheus
  • 验证Prometheus服务是否正在运行:
sudo systemctl status prometheus
  • 如果一切正常,您可以设置Prometheus在启动时自动运行:
sudo systemctl enable prometheus

修改Prometheus配置文件

打开/home/metax/prometheus-2.30.3.linux-amd64目录,修改prometheus.yml文件,添加以下内容,

  - job_name: node
    static_configs:
      - targets: ['localhost:9100']
  - job_name: 'video_ai'
    static_configs:
      - targets: ['video_ai_host:video_ai_port']  # video_ai_host 和 video_ai_port 是 video_ai 进程的地址和端口

然后重启

systemctl restart prometheus

打开prometheus主页

http://10.7.124.63:9090

安装监控服务Node

下载并安装最新的node_exporter

https://github.com/prometheus/node_exporter/releases

wget https://github.com/prometheus/node_exporter/releases/download/v*/node_exporter-*.*-amd64.tar.gz
tar xvfz node_exporter-*.*-amd64.tar.gz
cd node_exporter-*.*-amd64

配置Node为服务及开机启动

vim /etc/systemd/system/node_exporter.service
#添加以下内容
[Unit]
Description=Prometheus node_exporter
[Service]
User=nobody
WorkingDirectory=/home/metax/node_exporter-1.6.1.linux-amd64/
ExecStart=/home/metax/node_exporter-1.6.1.linux-amd64/node_exporter
[Install]
WantedBy=default.target

设置开机启动

#1.加载系统服务 
systemctl daemon-reload
#2.启动服务
systemctl start node_exporter.service
#3.设置为系统自启动
systemctl enable node_exporter.service

Node查看监控的数据

http://10.7.124.63:9100/metrics

安装process-exporter

wget https://github.com/ncabatoff/process-exporter/releases/download/v0.5.0/process-exporter-0.5.0.linux-amd64.tar.gz
tar -xvf  process-exporter-0.5.0.linux-amd64.tar.gz -C /usr/local/

gitlab 地址

https://github.com/ncabatoff/process-exporter

配置Node为服务及开机启动

[Unit]
Description=Prometheus process_exporter
[Service]
User=nobody
WorkingDirectory=/home/metax/process-exporter-0.5.0.linux-amd64/process-exporter-0.5.0.linux-amd64/
ExecStart=/home/metax/process-exporter-0.5.0.linux-amd64/process-exporter-0.5.0.linux-amd64/process-exporter -config.path process-name.yaml
[Install]
WantedBy=default.target
#1.加载系统服务 
systemctl daemon-reload
#2.启动服务
systemctl start process-exporter.service
#3.设置为系统自启动
systemctl enable process-exporter.service

监控多个进程

Process-Exporter的做法是配置需要监控的进程的名称,他会去搜索该进程从而得到其需要的监控信息,其实也就是我们常做的“ps -efl | grep xxx”命令来查看对应的进程。

配置文件一开始是不存在的,需要我们创建,名字可以自定义:

vim process-name.yaml
process_names:
  - name: "{{.Matches}}"
    cmdline:
    - 'nginx'

  - name: "{{.Matches}}"
    cmdline:
    - 'zombie'
./process-exporter -config.path process-name.yaml &

查看数据:

curl http://localhost:9256/metrics

Grafana监控进程的模板配置

https://grafana.com/grafana/dashboards/249-named-processes/
https://grafana.com/grafana/dashboards/715-named-processes-stacked/

249模板效果:
在这里插入图片描述

监控数据查看

http://10.7.124.63:9256/metrics

网络教程

https://blog.csdn.net/u012599988/article/details/102929269

安装Grafana

  • 更新系统软件包

    sudo apt update
    
  • 安装grafana

    sudo apt install -y grafana
    //如果报错:No apt package "grafana", but there is a snap with that name.
    Try "snap install grafana"
    //执行
    sudo apt install snapd
    sudo snap install grafana
    //查看grafana 服务名称
    systemctl list-units --type=service //找到grafana服务名称
    //查看服务状态
    systemctl status snap.grafana.grafana
    //设置开启启动
    systemctl enable snap.grafana.grafana
    
  • 启动grafana服务

    sudo systemctl start grafana-server
    
  • 配置Grafana服务在系统启动时自动运行:

    sudo systemctl enable grafana-server
    
  • 在Web浏览器中访问Grafana的默认端口(3000):http://localhost:3000

  • 使用默认的用户名和密码(admin/admin)登录到Grafana。

  • 在首次登录后,您将被要求更改密码。

  • 配置数据源:在Grafana中,您需要配置至少一个数据源才能显示和查询数据。您可以根据您的需求选择不同的数据源,例如Graphite、Prometheus、InfluxDB等。请参考Grafana官方文档中的数据源配置指南。

  • 创建仪表板:在Grafana中,您可以创建仪表板来可视化和监控数据。您可以根据您的需求创建自定义的仪表板,添加面板、图表和警报等。请参考Grafana官方文档中的仪表板创建指南。

    请注意,这只是一个基本的安装和使用Grafana的指南。根据您的具体需求和环境,可能需要进行更多的配置和调整。您可以参考Grafana官方文档以获取更详细的指导和示例。

打开grafanaweb页面,添加dashboards 及 Node Exporter Full模板

//模板地址
https://grafana.com/grafana/dashboards/1860-node-exporter-full/

官网下载grafana(推荐安装方式)

进入官网:

https://grafana.com/grafana/dashboards/?dataSource=prometheus&pg=hp&plcmt=lt-box-dashboards&orderBy=downloads&direction=desc

点击右上角Downloads->self-managed->Grafana->Download->指定版本->下载deb包

https://grafana.com/grafana/download/9.4.7?pg=get&plcmt=selfmanaged-box1-cta1

安装步骤:

sudo apt-get install -y adduser libfontconfig1
wget https://dl.grafana.com/enterprise/release/grafana-enterprise_9.4.7_amd64.deb
sudo dpkg -i grafana-enterprise_9.4.7_amd64.deb
systemctl status grafana-server
systemctl enable grafana-server
systemctl restart grafana-server

打开grafanaweb页面

  • 在Web浏览器中访问Grafana的默认端口(3000):http://localhost:3000

  • 使用默认的用户名和密码(admin/admin)登录到Grafana。

  • 在首次登录后,您将被要求更改密码。

添加dashboards 及 Node Exporter Full模板

//模板地址
https://grafana.com/grafana/dashboards/1860-node-exporter-full/

完整网络教程

带截图的网络教程,该教程是以docker部署的,可以借鉴

https://segmentfault.com/a/1190000040083213#item-5

QA

  • Grafana下载dashboards模板时,web会报错eg:
Templating init failed
e.replace is not a function

这种一般是因为grafana版本问题,官网的模板一般都会标注版本信息, 比如:

在这里插入图片描述



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

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

相关文章

月木学途开发 3.博客模块开发

概述 效果展示 数据库设计 专栏表 DROP TABLE IF EXISTS blog_column; CREATE TABLE blog_column (blogColumnId int(11) NOT NULL AUTO_INCREMENT,blogColumnName varchar(255) DEFAULT NULL,blogColumnCoverImg longtext,blogColumnIntroduction longtext,userId int(11) D…

LeetCode算法心得——连续的子数组和(前缀和+HashMap)

大家好,我是晴天学长,同余定理的应用加上hashmap的灵活应用,需要的小伙伴可以关注支持一下哦!后续会继续更新的。 1) .连续的子数组的和 题目描述: 给你一个整数数组 nums 和一个整数 k ,编写一个函数来判断…

【 2023华为杯C题】大规模创新类竞赛评审方案研究(思路、代码......)

目录 1 题目概述 2 问题 3 极差的定义及标准分的计算方法 4 题目及数据下载 5 思路、代码下载...... 1 题目概述 现在创新类竞赛很多,其中规模较大的竞赛,一般采用两阶段(网评、现场评审)或三阶段(网评、现场评审…

pcl--第十节 点云曲面重建

曲面重建技术在逆向工程、数据可视化、机器视觉、虚拟现实、医疗技术等领域中得到了广泛的应用 。 例如,在汽车、航空等工业领域中,复杂外形产品的设计仍需要根据手工模型,采用逆向工程的手段建立产品的数字化模型,根据测量数据建…

[React] 自定义hooks设计模式

文章目录 1.自定义hooks设计1.1 自定义hooks1.2 设计一个自定义hooks1.3 自定义hooks的驱动条件1.4 自定义hooks的通用模式1.5 自定义hooks的条件限定 1.自定义hooks设计 react-hooks是react16.8以后,react新增的钩子API,目的是增加代码的可复用性&…

线性表应用(非递减合并、分解链表、删除线性表)

将两个非递减的有序链表合并为一个非递增的有序链表。要求结果链表仍使用原来两个链表的存储空间&#xff0c;不另外占用其它的存储空间。表中允许有重复的数据。 #include<iostream> using namespace std; typedef struct list {int data;list* next; }list,*linklist;…

Linux 系统移植(一)-- 系统组成

参考资料&#xff1a; linux系统移植篇&#xff08;一&#xff09;—— linux系统组成【野火Linux移植篇】1-uboot初识与编译/烧录步骤 文章目录 一、linux系统组成二、Uboot三、Linux内核四、设备树 本篇为Linux系统移植系列的第一篇文章&#xff0c;介绍了一个完整可运行的L…

2015年蓝桥杯省赛C/C++ A组 灾后重建题解(100分)

10. 灾后重建 Pear市一共有N&#xff08;<50000&#xff09;个居民点&#xff0c;居民点之间有M&#xff08;<200000&#xff09;条双向道路相连。这些居民点两两之间都可以通过双向道路到达。这种情况一直持续到最近&#xff0c;一次严重的地震毁坏了全部M条道路。 震后…

【10个OOM异常的场景以及对应的排查经验】

文章目录 1. 场景描述&#xff1a;内存泄漏2. 场景描述&#xff1a;过多线程3. 场景描述&#xff1a;大量数据查询4. 场景描述&#xff1a;大文件读取5. 场景描述&#xff1a;高并发访问6. 场景描述&#xff1a;大字符串操作7. 场景描述&#xff1a;大数据集合操作8. 场景描述&…

C语言-扫雷游戏的实现

&#x1f308;write in front&#x1f308; &#x1f9f8;大家好&#xff0c;我是Aileen&#x1f9f8;.希望你看完之后&#xff0c;能对你有所帮助&#xff0c;不足请指正&#xff01;共同学习交流. &#x1f194;本文由Aileen_0v0&#x1f9f8; 原创 CSDN首发&#x1f412; 如…

反射【Java】

概念&#xff1a;允许对成员变量&#xff0c;成员方法和构造方法的信息进行编程访问 获取class对象 Class.forName("全类名"); //全类名&#xff1a;包名类名 类名.class 对象.getClass(); //有一个名为Goods的类Class clazz1 Class.forName("com.ln1.Goo…

VR赋能红色教育,让爱国主义精神永放光彩

昨天的918防空警报长鸣&#xff0c;人们默哀&#xff0c;可见爱国主义精神长存。为了贯彻落实“把红色资源利用好、红色传统发扬好、红色基因传承好”的指示精神&#xff0c;许多红色景点开始引入VR全景展示技术&#xff0c;为游客提供全方位720度无死角的景区展示体验。 VR全…

【电源专题】什么是充电芯片的Shipping Mode(船运模式)

现在越来越多电子产品小型化,手持化,这样就需要电池来为产品供电。但电池供电造成的另一个难题就是产品的续航能力的强与弱。 如果想提升续航能力,有一种方法是提高电池容量。如果电池体积没有变化的情况下,可能使用了新型材料、高级技术来增加电池容量,但这势必会增加电池…

Webpack设置代码映射,可调试打包后的代码

当我们的代码打包过后再看源码就会变成下面这个样子&#xff1a; 这时候我们就调试不了我们的代码 解决方式&#xff1a; 在webpack.config.js中添加如下代码&#xff1a; module.exports {mode: "development", // 设置打包的模式&#xff1a;production生产模式…

2000-2021年上市公司劳动投资效率测算数据:劳动投资效率、冗余雇佣、雇佣不足(含原始数据和计算代码do文档)

2000-2021 年上市公司劳动投资效率测算数据&#xff1a;劳动投资效率、冗余雇佣、雇佣不足 &#xff08;含计算代码do文档&#xff09; 1、时间&#xff1a;2000-2021 年 2、范围&#xff1a;沪深A 股上市公司 3、指标&#xff1a;code、year、证券代码、货币资金、短期投资…

TexStudio报错 Class: No Found

\classdocument[preprint,review,fleqn,sort&compress,3p]{elsarticle}这里常见导入的类&#xff08;class&#xff09;文件有article.cls&#xff0c;elsarticle.cls&#xff0c;sn-jnl.cls等 一般来说这些文件都应该和我们的源文件document.tex在同一个目录下。如果不在…

Vue复选框批量删除示例

Vue复选框批量删除 通过使用v-model指令绑定单个复选框 例如<input type"checkbox" id"checkbox" v-model"checked"> 而本次我们要做的示例大致是这样的&#xff0c;首先可以增加内容&#xff0c;然后通过勾选来进行单独或者批量删除&…

chk文件怎么恢复?chk文件恢复软件哪个好?

电脑中的每个文件都有其不同的后缀名&#xff0c;如.txt、.png等等&#xff0c;那么你知道.chk后缀的文件是什么吗&#xff1f;下面我们就来一起了解一下吧。 chk文件的含义 chk文件是用户在使用磁盘碎片整理程序后所产生的丢失簇的恢复文件&#xff0c;磁盘中的原文件并没有丢…

0基础学three.js环境搭建(2)

这是0基础学three.js系列中的第二篇&#xff0c;在这篇里面我会带着大家把开发环境搭建起来&#xff0c;关于开发环境&#xff0c;方式很多&#xff0c;如果你没有基础&#xff0c;就跟着我的步骤一步一步来&#xff0c;保你不出错。 首先安装node环境&#xff0c;关于node是干…

操作系统、进程和线程

目录 一、操作系统 二、进程/任务&#xff08;Process/Task&#xff09; 1. 什么是进程/任务 2. 进程控制块抽象&#xff08;PCB Process control Block&#xff09; 3. CPU分配 —— 进程调度&#xff08;Process Scheduling&#xff09; 4. 内存分配 —— 内存管理&…