文章目录

  • 前言
  • 一、概述
    • 1.1 Grafana介绍
    • 1.2Prometheus介绍
    • 1.3 Grafana结构图
    • 1.4 总结
  • 二、linux系统安装
    • 2.1.Prometheus安装
      • 2.1.1 安装包获取
      • 2.1.2安装解压
      • 2.1.3 验证
    • 2.node_exporter安装
      • 2.1.1安装包获取
      • 2.2.2上传与安装
      • 2.2.3 安装验证
    • 3.Grafana安装
      • 2.3.1安装包获取
      • 2.3.2 上传与安装
      • 2. 3.3 验证
    • 三、配置
      • 3.1 Prometheus配置
      • 3.1.1 修改配置文件
      • 3.1.2 验证配置
    • 3.2 Grafana 配置
      • 3.2.1 添加prometheus 插件
      • 3.2.2 添加 prometheus数据源
    • 4、异常总结
      • 4.1 Grafana界面界面报错
      • 4.2 Grafana 界面无数据
      • 4.3 页面不能正常访问
  • 总结

前言

日常工作中经常会有需要进行性能测试的项目,jmeter能帮助我们很好的完成压测工作,但jmeter有一个缺点:只能监控脚本执行时的服务器性能,脚本执行结束后服务器资源的释放和消耗情况就不能直观的查看。所以我们需要一个可以持续监控服务器资源消耗情况的工具。


提示:以下是本篇文章正文内容,下面案例可供参考

一、概述

1.1 Grafana介绍

简介:Grafana是一个跨平台的开源的度量分析和可视化工具,可以通过将采集的数据查询然后可视化的展示,并及时通知。
它主要有以下六大特点:

1.展示方式:快速灵活的客户端图表,面板插件有许多不同方式的可视化指标和日志,官方库中具有丰富的仪表盘插件,比如热图、折线图、图表等多种展示方式;

2.数据源:Graphite,InfluxDB,OpenTSDB,Prometheus,Elasticsearch,CloudWatch和KairosDB等;

3.通知提醒:以可视方式定义最重要指标的警报规则,Grafana将不断计算并发送通知,在数据达到阈值时通过Slack、PagerDuty等获得通知;

4.混合展示:在同一图表中混合使用不同的数据源,可以基于每个查询指定数据源,甚至自定义数据源;

5.注释:使用来自不同数据源的丰富事件注释图表,将鼠标悬停在事件上会显示完整的事件元数据和标记;

6.过滤器:Ad-hoc过滤器允许动态创建新的键/值过滤器,这些过滤器会自动应用于使用该数据源的所有查询。

1.2Prometheus介绍

Prometheus也是一个近年比较火的开源监控框架,和Zabbix不同之处在于Prometheus相对更灵活点,模块间比较解耦,比如告警模块、代理模块等等都可以选择性配置。服务端和客户端都是开箱即用,不需要进行安装。zabbix则是一套安装把所有东西都弄好,对比下来适合新手小白使用。

  • zabbix的客户端agent可以比较方便的通过脚本来读取机器内数据库、日志等文件来做上报。而Prometheus的上报客户端则分为不同语言的SDK和不同用途的exporter两种,比如如果你要监控机器状态、mysql性能等,有大量已经成熟的exporter来直接开箱使用,通过http通信来对服务端提供信息上报(server去pull信息);而如果你想要监控自己的业务状态,那么针对各种语言都有官方或其他人写好的sdk供你使用,都比较方便,不需要先把数据存入数据库或日志再供zabbix-agent采集。

  • zabbix的客户端更多是只做上报的事情,push模式。而Prometheus则是客户端本地也会存储监控数据,服务端定时来拉取想要的数据。

  • 界面来说zabbix比较陈旧,而prometheus比较新且非常简洁,简洁到只能算一个测试和配置平台。要想获得跟好的监控体验,搭配Grafana还是必走之路。

1.3 Grafana结构图

1.4 总结

Prometheus作为一个中间点,而Grafana作为可视化展示,后面的exporter作为监控,exporter将需要获取的数据获取并连接到Prometheus,而Prometheus连接到Grafana,直观展示被监控者状态。

二、linux系统安装

2.1.Prometheus安装

2.1.1 安装包获取

官网下载:
https://prometheus.io/download/

linxu获取tar包:

wget https://github.com/prometheus/prometheus/releases/download/v2.35.0/prometheus-2.35.0.linux-amd64.tar.gz

2.1.2安装解压

手动上传安装包到服务器

scp  prometheus-2.35.0.linux-amd64.tar.gz username@IP:/opt

解压

tar -xvzf prometheus-2.35.0.linux-amd64.tar.gz

2.1.3 验证

启动

cd prometheus-2.35.0.linux-amd64/
./prometheus --config.file=prometheus.yml

web页面查看是否安装启动成功
浏览器输入:被安装设备IP:9090,展示以下页面为成功

2.node_exporter安装

2.1.1安装包获取

官网下载
https://github.com/prometheus/node_exporter/releases
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MmeDxDtT-1650956983338)(
linux获取安装包

wget https://github.com/prometheus/node_exporter/releases/download/v1.3.1/node_exporter-1.3.1.darwin-amd64.tar.gz

2.2.2上传与安装

手动上传

scp node_exporter-1.3.1.darwin-amd64.tar.gz  username@IP:/opt

解压命令:

tar -xvzf  scp node_exporter-1.3.1.darwin-amd64.tar.gz

2.2.3 安装验证

启动

cd node_exporter-1.1.2.linux-amd64/
./node_exporter

通过浏览器访问 安装机器IP:9100/metrics,展示下面页面为启动成功

3.Grafana安装

2.3.1安装包获取

官网下载
https://grafana.com/grafana/download

linux获取安装包

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

2.3.2 上传与安装

手动上传

scp grafana-enterprise-8.5.0.linux-amd64.tar.gz  username@IP:/opt

解压命令:

tar -xvzf  grafana-enterprise-8.5.0.linux-amd64.tar.gz

2. 3.3 验证

启动

cd grafana-enterprise-8.5.0.linux-amd64/
./bin/grafana-server web

通过浏览器访问 安装机器IP:3000,展示下面页面为启动成功
初始账户密码admin首次登录完成需要修改密码

三、配置

3.1 Prometheus配置

3.1.1 修改配置文件

编辑 prometheus.yml

vi prometheus.yml
# my global config
global:scrape_interval:     15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.# scrape_timeout is set to the global default (10s).# Alertmanager configuration
alerting:alertmanagers:- static_configs:- targets:# - alertmanager:9093# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
rule_files:# - "first_rules.yml"# - "second_rules.yml"# A scrape configuration containing exactly one endpoint to scrape:
# Here it's Prometheus itself.
scrape_configs:# The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.- job_name: 'prometheus'# metrics_path defaults to '/metrics'# scheme defaults to 'http'.static_configs:- targets: ['localhost:9090']# 在这里,把 node_exporter 的 ip 和端口号填上- job_name: 'server'static_configs:- targets: ['localhost:9100']

其大致可分为四部分:

  • global:全局配置,其中scrape_interval表示抓取一次数据的间隔时间,evaluation_interval表示进行告警规则检测的间隔时间;
  • alerting:告警管理器(Alertmanager)的配置,目前还没有安装Alertmanager;
  • rule_files:告警规则有哪些;
  • scrape_configs:抓取监控信息的目标。一个job_name就是一个目标,其targets就是采集信息的IP和端口。这里默认监控了Prometheus自己,可以通过修改这里来修改Prometheus的监控端口。Prometheus的每个exporter都会是一个目标,它们可以上报不同的监控信息,比如机器状态,或者mysql性能等等,不同语言sdk也会是一个目标,它们会上报你自定义的业务监控信息。

3.1.2 验证配置

浏览器访问http://IP:9090/targets ,node_exporter 信息展示且 state状态为UP

3.2 Grafana 配置

3.2.1 添加prometheus 插件

访问http://39.106.254.208:3000/

点这里

3.2.2 添加 prometheus数据源


保存即可

添加展示模板

配置数据源
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0AlB3omM-1650961037532)(

配置完成效果

4、异常总结

4.1 Grafana界面界面报错


这里是Grafana版本问题升级至最新版或者是V8.4.0即可。
我这里用的最新配置:
Grafana:8.5.0
prometheus:2.35.0
node_exporter :1.3.1

4.2 Grafana 界面无数据


运行Grafana服务器配置过低(单核2G云服务器)导致不能正常使用。

4.3 页面不能正常访问


首先排除服务失踪正常运行

ps -ef |grep grafana


服务正常运行排查端口是否开放

firewall-cmd --list-all

查看对应端口是否开放

没开就一个个加吧,当然全部打开也是可以的

firewall-cmd --zone=public --add-port=8080/tcp --permanent

范围打开add-port=起始端口号-*/tcp

firewall-cmd --zone=public --add-port=8080-10000/tcp --permanent

改完记得重启

firewall-cmd --reload

总结

以上就是今天要讲的内容,本文仅仅简单介绍了prometheus+ Grafana的搭建和使用,而Grafana提供了大量监控插件供我们使用大家自己去尝试。后续我出更新相关内容

初步搭建 prometheus+ Grafana服务器性能监控平台相关推荐

  1. Windows 搭建Prometheus + Grafana + Jmeter可视化监控平台

    1.安装包下载 Prometheus 下载地址:Download | Prometheus windows_exporter下载:Releases · prometheus-community/win ...

  2. docker+Locust+Prometheus+Grafana实现性能监控平台

    目录 Exporter编写 Prometheus部署 Grafana部署&配置 原文参考: https://testerhome.com/topics/24873 通过实现Locust的pro ...

  3. 性能测试从入门到高级进阶之路(二):小白教程influxdb+grafana+jmeter性能监控平台

    先看效果:  一.背景:         公司要办第二阶段的架构师选拔,所以需要搞个性能比赛.本人是公司公司测试工程师,负责现场比赛压测,因为有公司外的评委,所以需要搭建一套influxdb+graf ...

  4. JMeter + Grafana + influxdb 性能监控平台

    平台架构 首先JMeter 异步写入数据到InfluxDB,然后InfluxDB存储数据,Grafana定时从InfluxDB读取数据,将数据在Grafana面板展示出来. 由于同步写入对于性能的影响 ...

  5. Jmeter+Prometheus+Grafana性能监控平台:将JMeter压测数据输出到Prometheus

    前言 1.小编之前写过一篇文章详细讲解了如何搭建一个HTTP接口性能实时监控测试平台,是用Grafana+Influxdb+Jmeter组合实现的,可以参考我写的这篇博客https://editor. ...

  6. 搭建Prometheus+Grafana的云平台监控系统

    1.1 Prometheus和Grafana概述 1.1.1 Prometheus概述 Prometheus(普罗米修斯)是一套开源的监控&报警&时间序列数据库的组合,起始是由Soun ...

  7. 15 分钟无门槛构建服务器性能监控系统

    服务器监控是每个互联网厂商都重视并且想要尽可能做好的事情,从数据收集.数据处理.数据可视化最终再到实时监控告警,这一系列复杂的流程可能耗费企业大量的人力和时间,以至于某些时候因为其复杂性高无法达到预期 ...

  8. 0基础搭建Prometheus+Grafana监控服务器CPU、磁盘、内存等信息

    这里写自定义目录标题 0基础搭建Prometheus+Grafana监控服务器CPU.磁盘.内存等信息 1.实验环境准备 2.基础环境配置 3.部署prometheus 4.部署Grafana可视化图 ...

  9. 技术实践第四期|解读移动开发者日常-性能监控平台应用

    简介:应用性能监控平台是用来帮助客户提升应用性能质量和稳定性的重要环节,本人作为一名移动端开发者有着丰富的使用和运维经验,希望通过本文分享过往的心得和使用经验,让我参与开发的U-APM这款产品中,作为 ...

  10. Tideways+Xhgui搭建非侵入式php监控平台

    ##Tideways+Xhgui搭建非侵入式php监控平台 ###参考文档: yq.aliyun.com/articles/98- segmentfault.com/a/119000000- wind ...

最新文章

  1. shape(15,)与(15,1)的区别
  2. mysql存储数据,varchar类型中的数据变成了科学计数法?
  3. ECMAScript数据属性和访问器属性
  4. Tomcat9 启动警告 org.apache.catalina.webresources.Cache.getResource ...请考虑增加缓存的最大空间
  5. 又不能起床python好学吗
  6. pv 6.3升级日志
  7. CSS:布局——伸缩布局flex
  8. 拓端tecdat|二手闲置物品交易数据快照
  9. 触动精灵手游脚本开发框架FreeGame源码
  10. hadoop提交作业到云端问题解决
  11. 《Java性能优化权威指南》读书笔记
  12. PS 在线 圆角 矩形 图片 裁剪 生成
  13. linux宕机故障分析案例,[文章]Linux宕机故障分析案例
  14. 小学二年级操行评语1
  15. 1187:统计字符数
  16. 【MFC】打砖块小游戏(下)(7)
  17. 2020华为软挑热身赛代码开源-思路大起底(华为软件精英挑战赛编程闯关)
  18. HTML里的a链接download 属性浏览器js点击下载图片
  19. 学籍管理系统c语言,c语言学籍信息管理系统设计
  20. 软件设计师教程(四)程序设计语言基础知识

热门文章

  1. 快递查询API接口对接案例(顺丰、圆通、中通、德邦、天天)
  2. 精美个人导航html源码
  3. DIV+CSS学习笔记总结篇
  4. 给女朋友道歉的java代码_有关于向女朋友道歉的经典句子
  5. vue.js not detected问题解决
  6. Android ANR日志分析总结
  7. Codeforces Round #393 (Div. 2) B. Frodo and pillows
  8. Vue路由,关于地址栏没有问题,router-view是一片空白
  9. MySQL中update语句的深入分析
  10. 凡人修仙传jar_凡人的贝壳无法逃脱灵魂般的阴影