prometheus+node+process-exporter+grafans

2023-09-22 14:46:17

安装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版本问题,官网的模板一般都会标注版本信息, 比如:

在这里插入图片描述



更多推荐

Delaunay三角剖分算法

目录一.简介1.1三角剖分1.2Delaunay三角剖分二.Delaunay三角剖分的相关理论2.1Delaunay三角形和(局部)Delaunay边的概念2.2Delaunay引理2.3翻转边算法(flipalgorithm)2.4Delaunay三角剖分的最优性质三.Delaunay三角剖分的构造算法3.1Laws

什么是JavaScript中的IIFE(Immediately Invoked Function Expression)?它的作用是什么?

聚沙成塔·每天进步一点点⭐专栏简介⭐JavaScript中的IIFE⭐示例⭐写在最后⭐专栏简介前端入门之旅:探索Web开发的奇妙世界欢迎来到前端入门之旅!感兴趣的可以订阅本专栏哦!这个专栏是为那些对Web开发感兴趣、刚刚踏入前端领域的朋友们量身打造的。无论你是完全的新手还是有一些基础的开发者,这里都将为你提供一个系统而

【Linux从入门到精通】多线程 | 线程介绍&线程控制

本篇文章主要对线程的概念和线程的控制进行了讲解。其中我们再次对进程概念理解。同时对比了进程和线程的区别。希望本篇文章会对你有所帮助。文章目录一、线程概念1、1什么是线程1、2再次理解进程概念1、3轻量级进程二、进程控制2、1创建线程pthread_create2、2线程与进程资源2、3线程id2、4获得线程idpthr

小米华为,化干戈为玉帛!

近日来,手机圈又掀起了各大厂家推出新品的高潮。首先是华为Mate60的推出,其自研的麒麟9000S芯片瞬间点燃了国内手机市场,得到了国内甚至国外业界人士的认可和好评。而近日网上盛传的小米创始人雷军的“愿意加入华为技术生态圈”的邀请,引起了网友们的高度关注。截图自今日头条@刘哥抖料大家都知道,小米采用的是高通芯片和谷歌操

代码签名证书品牌哪家好?选微软推荐机构

代码签名证书是保护软件代码完整性及来源可信的重要方式,软件程序要在操作系统中运行,就需要使用权威合规的代码签名证书,对软件代码进行数字签名,确保软件来源可信、未被非法篡改,消除操作系统“未知发布者”警告,让软件能够顺畅运行。众多代码签名证书厂商中,哪些厂商提供的代码签名证书才是获得操作系统信任的呢?本文将为大家介绍,如

【JVM】类加载器

类与类加载器类加载器虽然只用于实现类的加载动作,但它在Java程序中起到的作用却远超类加载阶段。对于任意一个类,都必须由加载它的类加载器和这个类本身一起共同确立其在Java虚拟机中的唯一性,每一个类加载器,都拥有一个独立的类名称空间。这句话可以表达得更通俗一些:比较两个类是否“相等”,只有在这两个类是由同一个类加载器加

springboot实战(七)之jackson配置前后端交互下划线转驼峰&对象序列化与反序列化

目录环境:1.驼峰转下划线配置1.1单个字段命名转化使用@JsonProperty注解1.2单个类进行命名转化使用@JsonNaming(PropertyNamingStrategies.SnakeCaseStrategy.class)注解3.全局命名策略配置2.序列化以及反序列化2.1序列化2.2反序列化3.自定义序

ref和reactive区别

使用区别reactive定义引用数据类型,ref定义基本类型reactive定义的变量直接使用,ref定义的变量使用时需要.value模板中均可直接使用,vue帮我们判断了是reactive还是ref定义的(通过__v_isRef属性),从而自动添加了.value。//定义letcount=ref(0);letobj=

好用的记笔记app选哪个?

当你在日常生活中突然获得了一个灵感,或者需要记录会议的重要内容,或者是学校课堂上的笔记,你通常会拿出手机,因为它总是在你身边,随时可用。这时候,一款好的记笔记App可以让你事半功倍。敬业签是一款全面的云端备忘记事软件,支持在Windows/Web/Android/iOS/Mac/HarmonyOS等端口同步和编辑记事内

机器学习技术(十)——决策树算法实操,基于运营商过往数据对用户离网情况进行预测

机器学习技术(十)——决策树算法实操文章目录机器学习技术(十)——决策树算法实操一、引言二、数据集介绍三、导入相关依赖库四、读取并查看数据1、读取数据2、查看数据五、数据预处理1、选择数据2、数据转码六、建模与参数优化1、训练模型2、评估模型3、调参优化七、模型可视化八、决策树实操总结一、引言决策树部分主要包含基于py

django_model_一对一映射

settings相关配置#settings.py...DATABASES={'default':{'ENGINE':'django.db.backends.mysql','NAME':'djangos','USER':'root','PASSWORD':'990212','HOST':'localhost','PORT

热文推荐