铸造性能监控平台【grafana+influxdb/prometheus+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中显示数据

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

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

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.ymlvi 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
URLhttp://prometheus_ip:9090
在这里插入图片描述
引入模板12884 选择数据源
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

1、时间差

监控平台机器 和 被测试服务器 在不同机器上这两台机器之间如果有时间差
如果在监控平台上看不到数据可以去修改右上角的 时间范围为 大于8小时
在这里插入图片描述
或者时间错误就同步下时间
查看当前时间date
安装ntpdateyum 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版本的模板ID10467Linux版本的模板ID12884
windows的node端口9182Linux版本的node端口9100

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

6、windows平台模板10467问题

特别注意windows版本的模板【模板ID10467】网络使用率、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模板ID12884】
在这里插入图片描述
【Windows模板ID10467】
在这里插入图片描述

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6
标签: windowslinux