在linux部署Prometheus+Grafana+Exporter监控系统性能

Prometheus、Grafana和Report组件是什么?

Prometheus、Grafana和Exporter是常用于系统监控和指标收集的组合。

  • Prometheus是一种开源的系统监控和警报工具。它可以收集各种指标数据,并提供强大的查询语言和灵活的警报规则,用于实时监控系统的性能、状态和健康状况。
  • Grafana是一种开源的可视化仪表盘工具,与Prometheus等多个数据源兼容。它提供了丰富的图表展示、仪表盘配置和数据分析功能,使用户可以直观地查看、理解和分析收集到的指标数据。
  • Exporter是一类用于将其他应用程序或系统的指标数据暴露给Prometheus进行采集的组件。Exporter可以连接到不同类型的应用程序或服务,并将其关键指标信息转换为Prometheus可识别格式,以便进行统一管理和监控。

这三个组件通常一起使用,构建一个完整而强大的监控和指标收集解决方案。通过Prometheus收集各种指标数据,使用Grafana创建仪表盘展示这些数据,并使用Exporter连接到各种应用程序或系统以获取特定指标数据。这样就能实现对系统性能、资源利用率、错误率等关键指标的监控和可视化展示。

Prometheus、Grafana和Report组件是什么?

一、prometheus

1、下载安装包

2、解压

3、移动位置并重命名

4、修改配置文件

5、配置系统启动文件

6、启动服务

7、设置开机自启

8、查看端口是否启动

9、页面访问

二、Exporter

1、下载安装包

2、解压

3、移动位置并重命名

4、配置系统启动文件

5、启动服务

6、设置开机自启

7、查看端口是否启动

8、页面访问

9、把exporter的配置加到Prometheus服务端的配置文件里

10、重启prometheus

11、访问Prometheus页面,可以看到多了个监控任务

三、Grafana可视化工具

1、下载安装包

2、解压

3、移动位置并重命名

4、配置系统启动文件

5、启动服务

6、设置开机自启

7、查看端口是否启动

8、页面访问

9、配置数据源

10、导入grafana监控模板


一、prometheus

1、下载安装包

wget https://mirrors.tuna.tsinghua.edu.cn/github-release/prometheus/prometheus/LatestRelease/prometheus-2.49.1.linux-amd64.tar.gz

2、解压

tar -zxvf prometheus-2.49.1.linux-amd64.tar.gz

3、移动位置并重命名

注:移动位置并重命名这个可以自行修改,文件的路径与后面配置系统启动文件里的路径一致即可。

mv prometheus-2.49.1.linux-amd64 /usr/local/prometheus

4、修改配置文件

cd /usr/local/prometheus/

vim prometheus.yml

进入编辑模式,

修改 :① 新增一行 scrape_timeout: 10s ②最后改成自己的ip和端口

:wq 保存退出

5、配置系统启动文件

vim /usr/lib/systemd/system/prometheus.service (默认没有这个文件,编辑保存后会自己生成)

贴入如下内容

[Unit]

Description=Prometheus Server

Documentation=Prometheus - Monitoring system & time series database

After=network.target

[Service]

Type=simple

ExecStart=/usr/local/prometheus/prometheus

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

--storage.tsdb.path=/usr/local/prometheus/data/

--storage.tsdb.retention=15d

--web.enable-lifecycle

ExecReload=/bin/kill -HUP $MAINPID

Restart=on-failure

[Install]

WantedBy=multi-user.target

然后保存退出

6、启动服务

systemctl start prometheus

7、设置开机自启

systemctl enable prometheus

8、查看端口是否启动

netstat -anput | grep 9090

如下正常启动

9、页面访问

ip:端口

进入 Prometheus 的 Web UI 界面

点击页面的 Status -> Targets,如看到 Target 状态都为 UP,说明 Prometheus 能正常采集到数据

二、Exporter

1、下载安装包

wget https://github.com/prometheus/node_exporter/releases/download/v1.6.0/node_exporter-1.6.0.linux-amd64.tar.gz

或者把直接下载好的包传到服务器上

2、解压

tar -zxvf node_exporter-1.7.0.linux-amd64.tar.gz

3、移动位置并重命名

注:移动位置并重命名这个可以自行修改,文件的路径与后面配置系统启动文件里的路径一致即可。

mv node_exporter-1.7.0.linux-amd64 /usr/local/prometheus_node

4、配置系统启动文件

vim /usr/lib/systemd/system/node_exporter.service(默认没有这个文件,如果有的话可以把内容都清了贴下面的)

把下面的都贴进文件里,然后保存退出。

[Unit]

Description=node_exporter

Documentation=Prometheus - Monitoring system & time series database

After=network.target

[Service]

Type=simple

ExecStart=/usr/local/prometheus_node/node_exporter

--collector.ntp

--collector.mountstats

--collector.systemd

--collector.tcpstat

ExecReload=/bin/kill -HUP $MAINPID

Restart=on-failure

[Install]

WantedBy=multi-user.target

5、启动服务

systemctl restart node_exporter

6、设置开机自启

systemctl enable node_exporter

7、查看端口是否启动

netstat -anput | grep 9100

如下正常启动

8、页面访问

ip:端口 (端口默认是9100)

点击Metrics,可以看到监控的信息

9、把exporter的配置加到Prometheus服务端的配置文件里

#进入prometheus的配置文件中

vim /usr/local/prometheus/prometheus.yml

#添加以下几行,到最后

- job_name: 'node_exporter'

static_configs:

- targets: ["你的ip:9100"]

保存退出。

10、重启prometheus

systemctl restart prometheus

11、访问Prometheus页面,可以看到多了个监控任务

三、Grafana可视化工具

1、下载安装包

地址:Download Grafana | Grafana Labs

根据自己需要,选择版本,下载tar包或者rpm,我下载的是中间的tar包

wget https://dl.grafana.com/enterprise/release/grafana-enterprise-10.2.3.linux-amd64.tar.gz

2、解压

tar -zxvf grafana-enterprise-10.2.3.linux-amd64.tar.gz

3、移动位置并重命名

mv grafana-v10.2.3 /usr/local/grafana

4、配置系统启动文件

vim /usr/lib/systemd/system/grafana.service (默认没有这个文件,编辑保存后会自己生成)

添加如下内容,保存退出

[Unit]

Description=Grafana instance

After=network.target

[Service]

Type=simple

WorkingDirectory=/usr/local/grafana/

ExecStart=/usr/local/grafana/bin/grafana-server

Restart=always

[Install]

WantedBy=multi-user.target

5、启动服务

systemctl restart grafana

6、设置开机自启

systemctl enable grafana

7、查看端口是否启动

netstat -anput | grep 3000 (默认端口3000)

8、页面访问

ip:端口

默认账号密码都为:admin

登录后可以skip跳过设置新密码,也可以自行修改

9、配置数据源

我们把 Prometheus 服务器收集的数据做为一个数据源添加到 grafana,让 grafana 可以得到 Prometheus 的数据并进行可视化展示。

点击创建数据源

点击Prometheus

编辑名字、输入要监控的系统ip和端口,也就是部署的Prometheus的ip和端口

http方法选GET ,然后点击保存测试

http方法选GET ,然后点击保存测试

10、导入grafana监控模板

官方模板地址:Dashboards | Grafana Labs

进入官网,往下拉,Data Source 选择Prometheus,右侧会展示很多模板,根据自己的需求选择;

选择某个模板,点进去,复制id或者下载json文件,我图方便用的复制id

右上角添加按钮,点击import dashboard 

导入下载的jason文件或者 粘贴复制的模板ID,然后load

load之后会跳到下个页面,可以修改名字,然后选择模板要应用的数据源,然后import

就可以看到硬件资源消耗情况的可视化图表了

更详细的内容可参考:【Linux】部署Prometheus + Grafana简介、监控及设置告警详细操作(多种方式安装,亲测无问题)_linux系统安装promethus grafana-CSDN博客

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

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

相关文章

【论文阅读笔记】Swin-Unet: Unet-like Pure Transformer for Medical Image Segmentation

1.介绍 Swin-Unet: Unet-like Pure Transformer for Medical Image Segmentation Swin-Unet:用于医学图像分割的类Unet纯Transformer 2022年发表在 Computer Vision – ECCV 2022 Workshops Paper Code 2.摘要 在过去的几年里,卷积神经网络&#xff…

制造业实施了ERP,为啥还要实施MES?

为啥要实施MES系统? 很多客户听说ERP系统较多,做规划也是先实施ERP系统,觉得上了ERP系统,就可以取而代之MES系统了,其实不然,原因有几点。 1、车间信息高效沟通的刚需 工厂和车间需要信息畅通无阻&#x…

JS进阶-函数进阶(一)

• 函数提升 函数提升与变量提升比较类似,是指函数在声明之前即可被调用。 总结: 1. 函数提升能够使函数的声明调用更灵活 2. 函数表达式不存在提升的现象 3. 函数提升出现在相同作用域当中 • 函数参数 1. 动态参数 arguments 是函数内部内置的伪…

Apache DolphinScheduler社区新晋Committer:伏长海的开源之旅

文章作者:**伏长海** 文章整理:曾辉 个人介绍 大家好,我是伏长海,目前在珍岛集团担任大数据开发工程师职位! GitHub ID:fuchanghai 在算法平台后端的研究领域耕耘了三年,任务调度方面也有一年半的深入探索。闲暇时…

ORA-01033: ORACLE initialization or shutdown in progress---惜分飞

客户反馈数据库使用plsql dev登录报ORA-01033: ORACLE initialization or shutdown in progress的错误 出现该错误一般是由于数据库没有正常open成功,查看oracle 告警日志发现 Mon Jan 22 16:55:50 2024 Database mounted in Exclusive Mode Lost write protection disabled …

【Linux】—— 命名管道详解

命名管道是一种在操作系统中用于进程间通信的机制,它允许不同的进程之间通过管道进行数据交换。与匿名管道相比,命名管道具有更多的灵活性和功能。在本博客中,我们将深入探讨命名管道的概念、用途以及如何在编程中使用它们。 目录 &#xff…

pycharm创建vue项目idealTree:npm: sill idealTree buildDeps,换taobao源后还不好使?那就再换一个

心血来潮打算写个小项目,前后端分离,flask/fastapivue(具体用哪个后端还没想好),里面的功能大概就是目前所有热门的应用的合集,一键出结果的那种,然后跟随着科技趋势,不断去更新维护…

实现钉钉与宁波银行对接,助力东吴黄金集团财务智能化

客户介绍: 某黄金集团有限公司是一家在国内外黄金市场上具有重要影响力的综合性黄金企业。该公司拥有一支高素质、专业化的团队,具备丰富的行业经验和卓越的执行力。在业务范围上,该公司涵盖了黄金勘探、采选、冶炼、加工、销售等全产业链&a…

C#使用DateAndTime.DateDiff方法计算年龄

目录 一、计算年龄的方法 二、 DateAndTime类 1.定义 2.常用方法 3.DateDiff(DateInterval, DateTime, DateTime, FirstDayOfWeek, FirstWeekOfYear) 三、使用DateAndTime.DateDiff方法计算年龄 一、计算年龄的方法 使用DateDiff方法计算系统时间与员工生日之间相隔的年…

【机器学习:异常值检测】新颖性和异常值检测

【机器学习:异常值检测】新颖性和异常值检测 异常值检测方法概述新颖性检测纵向扩展单类 SVM 异常值检测拟合椭圆包络隔离林局部异常因子使用局部异常因子进行新颖性检测 许多应用程序需要能够确定新观测值是属于与现有观测值相同的分布(它是异常值&…

【算法练习Day51】柱状图中最大的矩形

​📝个人主页:Sherry的成长之路 🏠学习社区:Sherry的成长之路(个人社区) 📖专栏链接:练题 🎯长路漫漫浩浩,万事皆有期待 文章目录 柱状图中最大的矩形思路动态…

【C++】初识类和对象

引言 在C语言中,我们用结构体来描述一个复杂的对象,这个对象可能包括许多的成员,如用结构体描述一个学生的成绩,或者描述一个日期等。 struct Date {int _year;int _month;int _day; }; 如上是一个描述日期的结构体定义&#x…