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

news/2024/5/18 23:23:58 标签: prometheus, grafana

Prometheus、Grafana和Report组件是什么?

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

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

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

Prometheus、Grafana和Report组件是什么?

prometheus-toc" style="margin-left:0px;">一、prometheus

1、下载安装包

2、解压

3、移动位置并重命名

4、修改配置文件

5、配置系统启动文件

6、启动服务

7、设置开机自启

8、查看端口是否启动

9、页面访问

二、Exporter

1、下载安装包

2、解压

3、移动位置并重命名

4、配置系统启动文件

5、启动服务

6、设置开机自启

7、查看端口是否启动

8、页面访问

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

prometheus-toc" style="margin-left:40px;">10、重启prometheus

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

三、Grafana可视化工具

1、下载安装包

2、解压

3、移动位置并重命名

4、配置系统启动文件

5、启动服务

6、设置开机自启

7、查看端口是否启动

8、页面访问

9、配置数据源

grafana%E7%9B%91%E6%8E%A7%E9%9D%A2%E6%9D%BF-toc" style="margin-left:40px;">10、导入grafana监控模板


prometheus">一、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"]

保存退出。

prometheus">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 ,然后点击保存测试

grafana%E7%9B%91%E6%8E%A7%E9%9D%A2%E6%9D%BF">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.niftyadmin.cn/n/5340797.html

相关文章

PowerShell install 一键部署grafana

grafana 前言 Grafana 是一款开源的数据可视化和监控仪表盘工具。它提供了丰富的数据查询、可视化和报警功能,可用于实时监控、数据分析和故障排除等领域。 通过 Grafana,您可以连接到各种不同的数据源,包括时序数据库(如 Prometheus、InfluxDB)和关系型数据库(如 MySQ…

【Effective C++】4. 设计与声明

Item22 将成员变量声明为private 有以下几个优势: 1. 语法一致性:访问class成员时每一个都是函数,不需要记住是否需要小括号 2. 使成员变量的处理有更精准的控制 class AccessLevels { public:int getReadOnly() const { return readOnly…

eNSP学习——配置通过FTP进行文件操作

原理概述: FTP(File Transfer Protocol,文件传输协议)是在TCP/IP网络和Internet上最早使用的协议之一,在TCP/IP协议族中属于应用层协议,是文件传输的Internet标准。主要功能是向用户提供本地和远程主机…

php的性能要比node.js高很多吗?

在当今的编程世界中,PHP和Node.js是两种广泛使用的服务器端编程语言。虽然它们都用于构建高效的网络应用程序,但关于它们性能的争论一直存在。有些人认为PHP的性能要比Node.js高很多,而另一些人则持相反意见。 性能通常指的是计算机程序或系…

基于springboot+vue的台球管理系统

摘要 台球管理系统是一款基于Spring Boot和Vue.js技术栈构建的现代化系统,旨在提供全面而高效的台球场馆管理服务。该系统通过整合前后端技术,实现了场馆预约、会员管理、比赛统计等核心功能,为台球场馆管理员和玩家提供了便捷、智能的管理和…

如何在 Ubuntu 22.04 上安装 Apache Web 服务器

前些天发现了一个人工智能学习网站,通俗易懂,风趣幽默,最重要的屌图甚多,忍不住分享一下给大家。点击跳转到网站。 如何在 Ubuntu 22.04 上安装 Apache Web 服务器 介绍 Apache HTTP 服务器是世界上使用最广泛的 Web 服务器。它…

[设计模式Java实现附plantuml源码~创建型] 产品族的创建——抽象工厂模式

前言: 为什么之前写过Golang 版的设计模式,还在重新写Java 版? 答:因为对于我而言,当然也希望对正在学习的大伙有帮助。Java作为一门纯面向对象的语言,更适合用于学习设计模式。 为什么类图要附上uml 因为很…

为什么两个向量的内积等于模长乘夹角?

为什么两个向量的内积等于模长乘夹角? 已知两个向量 a = [ a 1 , a 2 ] a=[a_1,a_2] a=[a1​,a2​]和 b = [ b 1 , b 2 ] b=[b_1,b_2] b=[b1​,b2​],他们的内积为 a b = a 1 b 1 + a 2 b 2 ab=a_1b_1+a_2b_2 ab=a1​b1​+a2​b2​,看书上的定义该内积的值是一个标量,并且等…