企业级资源监控方案落地:Prometheus+Grafana+Export

如何确保你的企业系统时刻保持高效运作?随着系统规模的不断扩大,企业的IT资源和应用的监控需求也在急剧增长。那么,如何通过合理的监控方案确保业务的稳定性和高效性?企业级资源监控的"黄金组合"------Prometheus + Grafana + Exporter,又如何助力企业在复杂环境中实现精准的资源监控?

性能测试的结果分析是作为性能测试工程师的必修课,特别是监控服务器的资源使用情况,对于分析服务器的性能非常关键。我们有高很多的Linux的命令可以去监控各种资源,比如top,vmstat,iostat,pidstat等,但是命令使用有一定的门槛,结果看起来也没那么直观,所以现在很多公司都用Prometheus+grafana+export方案来进行资源监控。今天我们就给大家详细介绍一下这套方案的实施落地。

随着业务需求和技术架构的复杂性不断升级,企业如何选择合适的监控工具和方案,才能确保系统的可用性、性能和安全性?为何Prometheus + Grafana + Exporter成为当前企业级监控方案的首选?

1、grafana

介绍: 是一款用go编写的开源应用,用于大规模指标数据的可视化展示,是网络架构和应用分析中最流行的时序数据展示工具。

  • 支持的数据库:graphite、influxdb、prometheus等 ,都是时序数据库。
  • 组成:
    • DashBoard:仪表盘 ,包括图形和界面,可以做聚合数据展示,了解整体的数据情况;
    • Row:行,展示的数据结构是按照行来读取的
    • Panel:面板,支持定制化面板。
    • metrics: 监控资源,数据变化的情况
    • logs:日志,拿到日志信息处理和展示
    • traces: 跟踪链路的串联

安装:

  • 官方网站:http://grafana.com网站
  • 第一步: 先把下载好的安装包放在服务器上,这台服务器建议不要是被测试服务器,影响性能;
  • 第二步:在线安装 yum install -y grafana-xxx.rpm 【或者这个命令: rpm -ivh grafana-*.rpm】
  • 第三步:启动grafana服务:systemctl start grafana-server
  • 第四步: 查看一下grafana的服务: systemctl status grafana-server
  • 第五步: web页面访问grafana服务:端口 默认3000,账号和密码默认是admin admin

安装好了之后,通过web页面访问grafana服务并登录进去:http://机器ip:3000,打开grafana的监控大屏页面。

2、Prometheus

Prometheus 是由 SoundCloud 开源监控告警解决方案。它用时序数据的方式存储数据,有独立的 PromQL (Prometheus Query Language) 数据查询语言。

特点:

  • 监控告警:可以监控到一些指标后,产生一下告警等事件的联动,比如cpu90% 内存 GC等 行为产生告警;
  • 开源的,可以进行灵活的定制
  • 是一种时序数据库,但是功能比influxdb更强大,可以跟更多的插件进行集成,数据都可以写到prometheus,相对来说更强大。

安装:

注意:不要安装在被测服务器,会影响被测试服务器的性能资源。

  • 第一步:下载安装包传到服务器上进行解压:tar -xzvf prometheus-2.20.1.linux-amd64.tar.gz
  • 第二步: 启动这个 prometheus服务 , ./promethues &
  • 第三步:验证是否启动成功: http://服务器IP地址:9090/graph 可以访问到页面。说明没有问题。
    • Prometheus的端口默认是9090。
3、Export

但是,我们需要注意的是Prometheus 本身不具有数据收集功能,只能存放数据 ,不能主动收集数据 。所以要从被测服务器上收集数据,需要通过其他的工具push数据进去,这个工具就是各种Export。

export是监控工具:主要用于收集服务器资源利用率情况,需要安装在被监听的服务器上。

  • 可以监控数据,并定时的发送给prometheus存储在数据库里。
  • 每个场景有不同的export,需要监听不同的数据 就需要使用不同的export。
  • 如果你有多台被监控的服务器都需要收集数据,那么就需要多台服务器上都上传这个exporter。

下表是一些常用的Export类型以及其可以监控的数据:

比如,我们要监控服务器的硬件资源,比如CPU、内存,磁盘IO等,就需要用到node_export工具安装部署在被测服务器上。

node_export 的安装:
  • 第一步: 上传安装包到被测服务器,并解压: tar -xzvf node_exporter-1.1.1.linux-amd64.tar.gz
  • 第二步:启动这个服务: ./node_exporter &
  • 第三步: 验证这个node服务是否启动:http://被测服务IP:9100/metrics,可以看到metrics 这个路径,点击进去就是收集到的硬件监控的结果。
    • node_exporter 启动后,默认端口是 9100 ,注意端口需要开放,不然访问不到。

但是这个metric的数据查看起来非常不直观并且也不方便进行持久化存储,所以我们要把node_export的数据全部要传到prometheus数据库里去存储。

Prometheus存储export收集的数据:

思考问题:Node_export从被测服务器收集到数据,那么Prometheus如何知道这个node_exporter收集的数据呢?这个时候,我们需要修改prometheus的配置文件。步骤如下:

  • 第一步:prometheus需要修改配置文件,把exporter数据收集回来放到prometheus的数据库里。
    • 修改在prometheus的解压根目录下的 prometheus.yml 配置文件,新增内容如下:
XML 复制代码
在Scrape_configs节点下增加(注意写法)

  - job_name: 'server-data'
    static_configs:
    - targets: ['192.168.6.136:9100']

注意:

1、job_name :这个名字只要不重复,自己随便取,但是建议见名知意;server_data 或者node_export都可以

2、如果要加多个目标机器,逗号隔开就可以: - targets: ['192.168.6.136:9100','192.168.6.137:9100'];

  • 第二步: 重启prometheus服务: ./promethues &
  • 第三步:prometheus页面上查看一下 监控节点是否显示:选择status--> target:
4、Prometheus+ Grafana集成

因为prometheus自己的监控数据看起来不够直观,所以我们会使用grafana进行展示。

注意:确定安装Prometheus和Grafana的两个服务器之间的网络是通的,可以放在同一个机器上进行安装。

在grafana的访问页面上做如下配置:
  • 第一步:添加数据源: prometheus

第二步:导入grafana的模板 :配置面板 12884

第三步: 打开面板后,可以查看服务器的硬件的数据监控,如下图。

以上就完成了Prometheus+Grafana+Node_Export的部署和方案落地了。

如果要进行其他的数据监控,替换exporter文件就可以了。Prometheus里的配置文件也做对应的修改即可。
  • 比如监控数据库:mysqld_exporter-0.12.1.linux-amd64.tar
  • 监控Nginx:nginx-vts-exporter-0.10.3.linux-amd64.tar
  • 监控redis数据库的:redis_exporter-v1.17.1.linux-amd64.tar

你想用 Prometheus监控平台,去监控其他的服务, 可以去找服务对应的 exporter,按照安装说明,进行配置。

方案的常见的问题以及其解决办法:

监控界面不显示数据:

很多同学配置完成后Prometheus的页面不会出现数据,排查步骤如下:

1、数据源的配置出现连接不上问题,报错连接失败: 基本上是服务启动的问题或者prometheus的配置文件的问题,可以检查一下;

2、数据源的配置没有出现连接不上问题,所有的pannel都是 N/A None的空数据:

  • 1)可能是时间跨度太小,近期没有数据:可以点击右上角时间范围可以选择更大的时间范围,观察数据;
  • 2)数据库服务器、grafana机器、被监控机器,时间相差非常大:可以去各个服务器上同步时间。

在当前的技术环境中,企业的IT系统面临着越来越多的挑战:数据量剧增、微服务架构的普及、复杂的多云环境等。如何在复杂的技术栈中保持清晰的视角,了解系统运行状态,成为企业保障业务连续性和提升运维效率的关键。Prometheus和Grafana的普及,正是响应了这种需求,它们将数据的实时收集和监控可视化做到了极致,让企业能够在最快的时间内发现问题并进行调

Prometheus + Grafana + Exporter的组合方案,不仅能够帮助企业实现全方位、全流程的资源监控,更能够以低延迟、高可用性保障企业的核心系统稳定运行。它不仅是技术架构人员的得力助手,也是业务运营的"守护神"。随着企业规模的不断扩大,监控体系将变得愈加重要,选择合适的工具,是确保系统稳健运营的关键。

在数字化转型的浪潮中,监控系统不仅是系统的"心跳",更是企业运营的"晴雨表"。精准监控,事半功倍;远离故障,方能立于不败之地。

相关推荐
计算机毕设定制辅导-无忧学长1 天前
Grafana 与 InfluxDB 可视化深度集成(二)
信息可视化·数据分析·grafana
云游2 天前
大模型性能指标的监控系统(prometheus3.5.0)和可视化工具(grafana12.1.0)基础篇
grafana·prometheus·可视化·监控
qq_232045573 天前
非容器方式安装Prometheus和Grafana,以及nginx配置访问Grafana
nginx·grafana·prometheus
测试开发Kevin3 天前
详解grafana k6 中stage的核心概念与作用
测试工具·压力测试·grafana
夜莺云原生监控3 天前
Prometheus 监控 Kubernetes Cluster 最新极简教程
容器·kubernetes·prometheus
SRETalk3 天前
Prometheus 监控 Kubernetes Cluster 最新极简教程
kubernetes·prometheus
川石课堂软件测试4 天前
JMeter并发测试与多进程测试
功能测试·jmeter·docker·容器·kubernetes·单元测试·prometheus
SRETalk4 天前
夜莺监控的几种架构模式详解
prometheus·victoriametrics·nightingale·夜莺监控
天翼云开发者社区5 天前
Grafana无法启动修复解决
grafana
Ditglu.5 天前
使用Prometheus + Grafana + node_exporter实现Linux服务器性能监控
服务器·grafana·prometheus