在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.mzph.cn/news/640828.shtml

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

相关文章

Prometheus配置Grafana监控大屏(Docker)

拉取镜像 docker pull grafana/grafana挂载目录 mkdir /data/prometheus/grafana -p chmod 777 /data/prometheus/grafana临时启动 docker run -d -p 3000:3000 --name grafana grafana/grafana从容器拷贝配置文件至对应目录 docker exec -it grafana cat /etc/grafana/gra…

Java中遍历Map

方法多种多样&#xff0c;其实大差不差~ 通过 键值集&#xff08;entrySet&#xff09;遍历 System.out.println("Ⅰ、使用 entrySet() 方法遍历&#xff1a;"); for (Map.Entry<String, String> entry : map.entrySet()) {String key entry.getKey();Strin…

Linux之安装配置CentOS7+换源

目录 一. 安装CentOS7 二. 配置CentOS7 三. 查看、设置IP地址 3.1 查看IP地址 3.2 设置IP地址 四. 使用Xshell连接Linux客户端 4.1 Xshell的下载 4.2 Xshell的使用 五. 换软件源 一. 安装CentOS7 博主是在虚拟机中进行安装的&#xff0c;大家也可以在虚拟机中跟着尝试一…

已解决Error:AttributeError: module ‘numpy‘ has no attribute ‘int‘.

文章目录 引言报错分析解决方案1&#xff1a;降低NumPy版本解决方案2&#xff1a;更改NumPy源码 结尾 引言 在Python编程中&#xff0c;NumPy是一个不可或缺的库&#xff0c;尤其在处理大规模数值计算时。但即使是这个强大的工具&#xff0c;也可能在使用过程中遇到问题。其中…

Qt —— 编写Windows截图软件(附源码)

示例效果 源码1 #include "maskwidget.h" #include "qapplication.h"MaskWidget *MaskWidg

Ubuntu 22.04 LTS 安装使用腾达(Tenda) W311MIv6 AX300 无线网卡

安装教程&#xff1a;腾达&#xff08;Tenda&#xff09;W311MIv6 AX300无线网卡Linux系统安装方法_腾达(Tenda)官方网站 问题解答&#xff1a;腾达(Tenda) W311MIv6 网卡常见问题解答&#xff1f;_腾达(Tenda)官方网站 注意&#xff1a;如果电脑连手机热点上网&#xff0c;手…

ZigBee学习(一)

文章目录 一、ZigBee介绍二、IEEE 802.15.42.1 物理层2.2 MAC层2.3 如何实现网络和设备寻址2.4 能量管理 三、ZigBee网络拓扑结构四、ZigBee配置参数 一、ZigBee介绍 ZigBee是一种基于IEEE 802.15.4标准的高级通信协议&#xff0c;它被设计用于低速率、低功耗和短距离无线通信&…

YOLOv8 视频识别

YOLOv8 是一种目标检测算法&#xff0c;用于识别视频中的物体。要控制视频识别中的帧&#xff0c;可以通过以下方式来实现&#xff1a; 设置帧率&#xff1a;可以通过设置视频的帧率来控制视频的播放速度&#xff0c;从而影响视频识别的速度。 跳帧处理&#xff1a;可以通过跳…

《移动通信原理与应用》——QPSK调制解调仿真

目录 一、QPSK调制与解调流程图&#xff1a; 二、仿真运行结果&#xff1a; 三、MATLAB仿真代码&#xff1a; 一、QPSK调制与解调流程图&#xff1a; QPSK调制流程图&#xff1a; QPSK解调流程图&#xff1a; 二、仿真运行结果&#xff1a; 1、Figure1:为发送端比特流情…

探索设计模式的魅力:一次设计,多次利用,深入理解原型模式的设计艺术

原型模式是一种设计模式&#xff0c;属于创建型模式的一种&#xff0c;它用于创建重复的对象&#xff0c;同时又能保持性能。在原型模式中&#xff0c;通过复制现有对象的原型来创建新对象&#xff0c;而不是通过实例化类来创建对象。这样做可以避免耗费过多的资源开销&#xf…

python-自动篇-办公-用Excel画画

文章目录 代码所遇问题ModuleNotFoundError: No module named xlsxwriterFileNotFoundError: [Errno 2] No such file or directory: 111.jpg 效果附件图片excel 代码 # coding: utf-8from PIL import Image from xlsxwriter.workbook import Workbookclass ExcelPicture(obje…

使用双异步后,如何保证数据一致性?

目录 一、前情提要二、通过Future获取异步返回值1、FutureTask 是基于 AbstractQueuedSynchronizer实现的2、FutureTask执行流程3、get()方法执行流程 三、FutureTask源码具体分析1、FutureTask源码2、将异步方法的返回值改为Future<Integer>&#xff0c;将返回值放到new…

详细分析对比copliot和ChatGPT的差异

Copilot 和 ChatGPT 是两种不同的AI工具&#xff0c;分别在不同领域展现出了强大的功能和潜力&#xff1a; GitHub Copilot 定位与用途&#xff1a;GitHub Copilot 是由GitHub&#xff08;现为微软子公司&#xff09;和OpenAI合作开发的一款智能代码辅助工具。它主要集成于Visu…

如何使用Pycharm社区免费版创建Django项目

对于python开发者来说&#xff0c;pycharm无疑是一款非常好用的开发ide,她有两个版本&#xff0c;一个社区版&#xff08;免费&#xff09;&#xff0c;一个个人版&#xff08;收费&#xff09;。 免费版如果使用Django创建web项目那么就会提示需要升级到收费版本&#xff0c;…

1.21 day6 IO网络编程

网络聊天室 服务端 #include <myhead.h> #define PORT 8888 #define IP "192.168.122.48" struct MSG {char tyep;char name[20];char buf[128]; }; typedef struct Node {struct sockaddr_in cin;struct Node*next; }*node;int main(int argc, const char *…

提升认知,推荐15个面向开发者的中文播客

前言 对于科技从业者而言&#xff0c;无论是自学成才的程序员&#xff0c;还是行业资深人士&#xff0c;终身学习是很有必要的&#xff0c;尤其是在这样一个技术快速迭代更新的时代。 作为一个摆脱了时间和空间限制的资讯分享平台&#xff0c;播客&#xff08;Podcast&#x…

检查一个Java List是否包含某个JavaBean对象的特定值,并且获取这个值

import java.util.ArrayList; import java.util.List; public class Main { public static void main(String[] args) { // 创建一个新的ArrayList List<MyBean> list new ArrayList<MyBean>(); // 添加一些元素 list.add(new MyBean("apple", …

42 漏洞发现-操作系统之漏洞探针类型利用修复

目录 系统漏洞发现意义?漏洞类型危害情况?如何做好未卜先知?相关名词解释:漏洞扫描工具演示-Goby&#xff0c;Nmap&#xff0c;Nessus(操作)漏洞类型区分讲解-权限提升,远程执行等(思路)漏洞利用框架演示-Metasploit,Searchsploit等(操作)漏洞修复方案讲解说明-补丁,防护软件…

go和swoole性能比较

开发效率 Go语言是本质上是静态语言&#xff0c;开发效率稍差&#xff0c;但性能更强&#xff0c;更适合底层软件的开发 Swoole使用PHP语言&#xff0c;动态脚本语言&#xff0c;开发效率最佳&#xff0c;更适合应用软件的开发 IO模型 go语言使用单线程eventloop处理IO事件&…

GO 的那些 IDE

文章目录 支持哪些功能快捷键代码高亮代码格式化代码提示导航跳转代码调试构建编译其他功能 GO有哪些IDEGolandVS CodeVim GOSublime TextAtomLiteIDEEclipse 总结 “程序员为什么要使用 IDE”&#xff0c;在一些社区论坛&#xff0c;经常可以看到这样的提问。关于是否应该使用…