铸造性能监控平台【grafana+influxdb/prometheus+Linux/Windows】

news2024/11/16 8:32:09

目录

  • 一、grafana+influxdb+jmeter
      • 1、前言
      • 2、安装grafana和influxdb
      • 3、启动grafana
      • 4、访问grafana
      • 5、启动influxdb
      • 6、配置influxdb和jmeter
      • 7、在grafana中显示数据
      • 8、其他模板
  • 二、grafana+prometheus+exporter
      • 1、前言
      • 2、grafana启动
      • 3、exporter安装与运行
      • 4、prometheus安装与运行
      • 5、prometheus与exporter集成
      • 6、启动prometheus
      • 7、grafana的界面配置
  • 三、常见问题【grafana+prometheus+exporter配置】
      • 1、时间差
      • 2、监控界面中没有JOB、instance
      • 3、note_exporter、grafana和prometheus没有启动成功
      • 4、虚拟机设置
      • 5、windows平台监控
      • 6、windows平台模板10467问题
      • 7、grafana+prometheus+exporter+Linux/Windows展示效果

免责声明:
1.编写此文是为了更好地学习,如果损害了有关人的利益,请联系删除;
2.如果文中描述欠妥,请在评论中进行指正;
3.文字编写不易,若感觉有用,点赞收藏关注会让博主很开心哦;
4.此外,转载请注明出处,非常感谢!!!
本文源自:https://blog.csdn.net/testleaf/article/details/128746669
另外,本文中要使用到的文件,基本上已在百度网盘链接中提供:
链接:https://pan.baidu.com/s/1c5-pJeQCAvRILPcG-rerjQ?pwd=leaf

一、grafana+influxdb+jmeter

1、前言

grafana: 前端展示平台,通过 更换不同的模板,来改变展示效果;
influxdb: 时序数据库:
​时序数据库的特点: 每一行的数据,都有一个时间戳;
jmeter的后端监听器:实现了数据的收集以及发送给数据库的功能;
注:grafana、influxdb、jmeter最好不要放在被测服务器上,有条件可以单独在另一台服务器上部署;

2、安装grafana和influxdb

上传grafana-7.4.3-1.x86_64.rpm、influxdb-1.7.0.x86_64.rpm文件到centos7;
进行安装:

yum install -y grafana-7.4.3-1.x86_64.rpm
yum install -y influxdb-1.7.0.x86_64.rpm

3、启动grafana

启动grafana:

systemctl restart grafana-server

查看是否启动成功:

ps -ef|grep grafana

在这里插入图片描述

4、访问grafana

grafana的访问端口:3000
访问地址:http://grafana所在服务器IP地址:3000
初始账号密码:admin/admin

5、启动influxdb

启动influxdb:

influxd

在这里插入图片描述
不要按Ctrl+C,不然就会结束掉了;

6、配置influxdb和jmeter

再打开一个终端,
进入influxdb数据库:

influx

在这里插入图片描述
由上可知,influxdb数据库有一个http协议的访问端口;

jmeter中的监听器选择后端监听器,监听器的实现中,选择influxdb;
在这里插入图片描述
influxdbUrl:修改host_to_change为influxdb的ip地址,看到db=jmeter,说明,我们的数据是要写入一个叫jmeter的库中。
在这里插入图片描述
看有哪些库:

show databases

在这里插入图片描述
创建一个叫jmeter的数据库:

create database jmeter

在这里插入图片描述
时序数据库与关系数据库对应的表,不叫table,叫measurement
进入库:use jmeter
查看库里有哪些表:show measurements
在这里插入图片描述
不需要手动建表,建好库就可以了;
在这里插入图片描述

jmeter配置:
在这里插入图片描述
运行Jmeter;
查看表:

select * from jmeter

在这里插入图片描述
由上可知,在jmeter中执行性能测试,数据就入表了;

7、在grafana中显示数据

创建数据源:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
引入模板:
在这里插入图片描述
模板ID:5496
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

右上角的时间,可以自己去调整,可以刷新指定时间内的数据;

8、其他模板

也可以去grafana官网去寻找合适的模板:https://grafana.com
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

二、grafana+prometheus+exporter

1、前言

prometheus是一个时序数据库,用来存数据的;
exporter是收集器,来收集被监控的数据,想要监控不同的内容,就使用不同的exporter,这个exporter应该放在 被测服务器 上,grafana和prometheus应该放在非被测服务器上;
然后,再把 exporter与 prometheus进行关联(数据联通);
这个解决方案,可以用于运维人员来监控服务器;

2、grafana启动

systemctl restart grafana-server

3、exporter安装与运行

node_exporter包上传到被测服务器上;
解压:

tar -xzvf node_exporter-1.1.1.linux-amd64.tar.gz

进入解压后的文件夹;
可执行文件不知道用,那就命令后面跟 --help 来获得帮助:

./node_exporter --help

直接执行:

./node_exporter

或者:后台执行,同时把运行日志,写到nohup.out文件中:

nohup ./node_exporter &

node_expoter端口: 9100
因此,被测服务器 需要开放 9100 端口;
http://YouExporter_IP:9100/metrics这个能访问,说明node_exporter是正常的,网络也是可以被访问的:
在这里插入图片描述

4、prometheus安装与运行

把prometheus的包,放到 非被测服务器上;
解压后,进入解压后的文件夹;
执行prometheus:

./prometheus

通过日志,我们发现 prometheus.yml 是它的配置文件:
在这里插入图片描述

msg="Start listening for connections" address=0.0.0.0:9090 说明prometheus的端口为: 9090

访问http://prometheus_IP:9090
在这里插入图片描述

5、prometheus与exporter集成

修改prometheus.yml:vi prometheus.yml
yml文件的两个特别重要的语法: 缩进(对齐)、 key的冒号后面,有一个空格;
在prometheus.yml文件后面加入以下内容:
# job_name 可以自定义

  • job_name: ‘node_exporter’
    static_configs:
  • targets: [‘192.168.2.131:9100’,‘nodeexporter_IP:9100’]
    然后,保存,退出;【注意换成自己的IP】
    在这里插入图片描述

6、启动prometheus

./prometheus
报错:
在这里插入图片描述
解决办法:
杀掉prometheus的进程,再执行即可;

7、grafana的界面配置

添加prometheus数据源:
type选择 prometheus
URL:http://prometheus_ip:9090
在这里插入图片描述
引入模板:12884, 选择数据源:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

三、常见问题【grafana+prometheus+exporter配置】

1、时间差

监控平台机器 和 被测试服务器 在不同机器上,这两台机器之间如果有时间差,
如果在监控平台上,看不到数据,可以去修改右上角的 时间范围为 大于8小时;
在这里插入图片描述
或者,时间错误就同步下时间:
查看当前时间:date
安装ntpdate:yum install ntpdate -y
通过外部的服务同步时间:ntpdate us.pool.ntp.org | logger -t NTP

2、监控界面中没有JOB、instance

可能是yml配置文件问题、数据源配置有问题、 import模板的时候你的数据源选择上有问题;
在这里插入图片描述

3、note_exporter、grafana和prometheus没有启动成功

note_exporter启动校验网址:http://192.168.2.131:9100/metrics
grafana校验网址:http://192.168.31.224:3000
prometheus校验网址:http://192.168.31.224:9090
注:ip地址都换成自己的;

4、虚拟机设置

若使用虚拟机,两个虚拟机的网络适配器的网络连接:NAT模式;

5、windows平台监控

windows版本的exporter下载:
https://github.com/prometheus-community/windows_exporter/releases

windows版本的模板ID:10467;Linux版本的模板ID:12884;
windows的node端口:9182;Linux版本的node端口:9100;

注:windows平台的监控除了exporter工具不一样【直接启动运行就可以】,模板ID不一样【导致在grafana平台引入的模板不一样】,端口不一样【导致在prometheus.yml文件中配置的端口不一样】,其他与Linux平台的监控配置基本相似;
在这里插入图片描述
windows_exporter运行成功后,可以在Windows服务控制台看到创建的服务:
在这里插入图片描述
也可以访问:http://YouExporter_IP:9182/metrics进行验证;

6、windows平台模板10467问题

特别注意:windows版本的模板【模板ID:10467】:网络使用率、Network discarded/error packets这两个模块没数据,使用Edit编辑查询语句:
网络使用率:
修改前:

(irate(windows_net_bytes_total{job=~"$job",instance=~"$instance",nic!~'isatap.*|VPN.*'}[5m]) * 8 / windows_net_current_bandwidth{job=~"$job",instance=~"$instance",nic!~'isatap.*|VPN.*'}) * 100

修改后:

(irate(windows_net_bytes_total{job=~"$job",instance=~"$instance",nic!~'isatap.*|VPN.*'}[5m]) * 8 / windows_net_current_bandwidth_bytes{job=~"$job",instance=~"$instance",nic!~'isatap.*|VPN.*'}) * 100

Network discarded/error packets【A、B两个地方都得改】:
修改前:

irate(windows_net_packets_outbound_discarded{job=~"$job",instance=~"$instance", nic!~'isatap.*|VPN.*'}[5m]) + irate(windows_net_packets_outbound_errors{job=~"$job",instance=~"$instance"}[5m])

修改后:

irate(windows_net_packets_outbound_discarded_total{job=~"$job",instance=~"$instance", nic!~'isatap.*|VPN.*'}[5m]) + irate(windows_net_packets_outbound_errors_total{job=~"$job",instance=~"$instance"}[5m])

7、grafana+prometheus+exporter+Linux/Windows展示效果

最后,就可以看到grafana监控平台的展示效果了;
【Linux:模板ID:12884】:
在这里插入图片描述
【Windows:模板ID:10467】:
在这里插入图片描述

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

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

相关文章

代码随想录算法训练营第23天 二叉树 java : 669. 修剪二叉搜索树108.将有序数组转换为二叉搜索树538.把二叉搜索树转换为累加树

文章目录LeetCode 669. 修剪二叉搜索树题目讲解思路LeetCode 108.将有序数组转换为二叉搜索树题目讲解思路LeetCode 538.把二叉搜索树转换为累加树题解思路总结LeetCode 669. 修剪二叉搜索树 题目讲解 思路 在1到3的区间选择 元素 如何超过3 或者 小于1 如果小于1 叫要考虑 …

NeRF: Representing Scenesas Neural Radiance Fieldsfor View Synthesis论文阅读

注意:和很多文章一样,在Google搜索到最终版本时,有链接指出其有7个历史版本,但内容较详细的却不是最终版本,而是ECCV (2020)版,阅读时可以两个版本配合着阅读。 1. 摘要 我们提出了一种方法,通…

202301读书笔记|《命运》蔡崇达

202301读书笔记|《命运》蔡崇达 《命运》是我读的蔡崇达的第二本书,第一本是《皮囊》印象最深的一句就是“肉体是拿来用来的,不是拿来伺候的。” 当时读完第一本就很受触动,这一次读完《命运》依然很触动我。作者真的很厉害,这个故…

SpringBoot看这一篇文章就够了

第一章 SpringBoot简介 第1节 SpringBoot是什么 1 21.SpringBoot是一个可以快速创建可运行的、独立的、生产级的基于Spring的应用程序 2.SpringBoot采用一种约定优于配置的设计理念,可以快速让用户创建出一个可运行的基于Spring的应用第2节 SpringBoot的优势 1 2 3 4 51.快速构…

nacos源码解析==SPI和spring.factories机制-服务注册-心跳发送-服务拉取-服务调用

Spring.Factories这种机制实际上是仿照java中的SPI扩展机制实现的 springboot核心基础之spring.factories机制 - 知乎 SpringBoot1IDEA编写一个自己的starter_一个java开发的博客-CSDN博客_idea创建spring starter spring-cloud-starter-alibaba-nacos-discovery 将要注册到…

know sth. new 大话C#的进阶必知点解析第1章 第5节 名贵中药材程序WPF显示图片报错,找不到资源? 什么原因

1 Ui布局代码; 布局方面,主要还是继承了原先的布局方式。包括图片的展示,也是用了最外层border边框的方式,边框加入背景颜色方式的图片展示; 去把目标图片进行显示出来,这个没有太多技术含量。 至于图片的…

Spring Boot操作数据库学习之整合Druid

文章目录一 Druid 简介二 配置数据源创建项目步骤及数据库内容三 整合操作3.1 添加Druid数据源依赖3.2 编写配置文件3.3 测试3.4 自定义绑定数据源设置3.5 导入Log4j的依赖&配置日志输出3.6 添加DruidDataSource组件3.7 测试3.8 配置 Druid 数据源监控3.9 配置过滤器一 Dru…

SAPIEN PowerShell Studio 介绍

PowerShell Studio是一款优秀的基于PowerShell研发的脚本编辑器,它拥有全新的代码分析、智能预选、xaml支持功能,能够给用户提供一套完整的软件开发环境,让用户能够更加轻松的工作,这样一来大家开发项目的效率就会大大提升。创建模…

Day866.binlogredoLog -MySQL实战

日志系统 Hi,我是阿昌,今天学习的是关于MySql的binlog&redoLog的内容。 一条查询语句的执行过程一般是经过连接器、分析器、优化器、执行器等功能模块,最后到达存储引擎。 那么,一条更新语句的执行流程又是怎样的呢&#x…

人大金仓数据库的用户与角色

创建用户 create user 用户名 授予用户创建数据库权限 alter user 用户名 要给的权限 然后查看用户信息 \du 用户名 设置用户密码 没有口令不能登录 alter user 用户名 password ‘kingbase’; 修改用户的并发连接数 alter user 用户 connection limit 要设置的连接数; 修改…

as-if-serialhappens-before

一、as-if-serialas-if-serial语义的意思是:不管怎么重排序(编译器和处理器为了提高并行度),(单线程)程序的执行结果不能被改变。编译器、runtime和处理器都必须遵守as-if-serial语义。 为了遵守as-if-seri…

java类成员/final/static都涉及到了2023025

类成员: 在Java类里只能包含成员变量、方法、构造器、初始化块、内部类(包括接口、枚举)这5种成员,目前已经介绍了前面4种,其中static可以修饰成员变量、方法、初始化块、内部类(包括接口,枚举&…

显示器的相关知识

目录 显示器的作用 显示器的尺寸 人眼的可视角度 显示器的分辨率 显示器的刷新率 显示器的灰阶响应时间 显示器的色域 显示器的色深 显示器的色准 显示器的HDR参数 显示器的面板 画面撕裂 前言 导致画面撕裂的原因 防画面撕裂技术 视频的码率 显示器的作用 把…

Golang 多模块开发

Golang 多模块开发 今天学习下Golang中多模块的基础知识,学习多模块的运行原理,使用多模块的方式,可以让开发者的代码在其他多个模块中构建、运行。提高代码的复用,从而提高开发效率。 在今天的学习中,将在工作工作空…

bfs入门教程(广度优先搜索)(含图解)

源自《啊哈算法》 目录 bfs正文 题目 思路 完整代码1 完整代码2 再解炸弹人 题目 思路 完整代码1 完整代码2 总结 bfs正文 第四章--深度优先搜索中,我们用dfs找到了寻找小哈的最短路径 接下来,我们要用bfs(Breadth First Sear…

Zookeeper的本地安装部署和分布式安装部署

文章目录一. 本地模式安装部署1)安装前准备2)配置修改3)操作Zookeeper1.2 配置参数解读二. 分布式安装部署1)集群规划2)解压安装3)配置服务器编号4)配置zoo.cfg文件5)集群操作客户端…

Leetcode.126 单词接龙 II

题目链接 Leetcode.126 单词接龙 II 题目描述 按字典 wordList完成从单词 beginWord到单词 endWord转化,一个表示此过程的 转换序列 是形式上像 beginWord -> s1 -> s2 -> ... -> sk这样的单词序列,并满足: 每对相邻的单词之间…

《高效能团队模式》读书笔记2

如果我们将团队类型的数量缩减为四类基本团队拓扑,这个问题就迎刃而解了。 流动式团队 赋能团队 复杂子系统团队 平台团队只要使用得当,这四类团队拓扑能够满足构建和运行现代软件系统的需要。结合有效的软件边界(第6章)和团队交互…

Java注解,元注解,自定义注解的使用

Java注解,元注解,自定义注解的使用Java注解基本的注解1.Override2.Deprecated3.SuppressWarnings4.SafeVarargs5.FunctionalInterfaceJava提供的元注解1.Retention2.Target3.Documented4.Inherited自定义注解自定义注解的使用Java注解 从JDK5开始,Java增…

从旺店通·企业奇门到用友U8通过接口集成数据

接入系统:旺店通企业奇门慧策(原旺店通)是一家技术驱动型智能零售服务商,基于云计算PaaS、SaaS模式,以一体化智能零售解决方案,帮助零售企业数字化智能化升级,实现企业规模化发展。对接系统&…