ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

性能监控平台搭建:Node_Exporters+Prometheus+Grafana

2022-04-23 13:01:14  阅读:196  来源: 互联网

标签:Node node exporter prometheus Grafana Prometheus 监控


之前搭建过Jmeter监控平台搭建:JMeter+InfluxDB+Grafana,这里再使用docker搭建下目前比较流行的Node_exporters+InfluxDB+Grafana监控平台,网上教程很多,这次记录自己的搭建过程。

背景

监控平台是为了方便监控服务器资源,才能做后续的性能分析和瓶颈定位,当然使用命令或者第三方插件工具也能实现,但监控平台有一个聚合作用,比较提高效率。

Prometheus

Prometheus是一个最初在SoundCloud上构建的开源系统监控和警报工具包,基本原理是通过HTTP协议周期性抓取被监控组件的状态,这样做的好处是任意组件只要提供HTTP接口就可以接入监控系统, 不需要任何SDK或者其他的集成过程

Node_exporters

输出被监控组件信息的HTTP接口被叫做exporter,Prometheus的社区中提供了其他应用包括服务器、数据库、中间件等的Exporter,也可以自己开发,node_exporters就是监控Linux的,官网exporters链接

Grafana

Grafana前面也提过,是一个跨平台的开源的度量分析和可视化工具,这里可以接入Prometheus数据源。

架构图

Prometheus及其生态系统组件的架构工作流程:

  1. Prometheus Server 可定期从活跃的目标主机上(target)拉取监控指标数据,目标主机的监控数据可以通过配置静态job或者服务发现的方式被Prometheus server采集到,这种方式默认是pull方式拉取指标;也可以通过pushgateway把采集的数据上报到Prometheus server中;还可以通过一些组件自带的exporter采集相应组件的数据;
  2. Prometheus server的时间序列把采集到的监控指标数据整合并保存到本地的磁盘或者数据库中;
  3. Prometheus采集的监控指标数据按时间序列存储,通过配置报警规则,把触发的报警发送到Alertmanager;
  4. Alertmanager 通过配置报警接受方,发送报警到邮件,微信等;
  5. Prometheus 自带的web ui界面提供PromQL查询语言,可查询监控数据;
  6. Grafana 可接入Prometheus数据源,把监控数据以图形化展示出;

配置 node_exporter

 下载exporter文件到自己想要的目录下,我放在了/opt目录下:

wget https://github.com/prometheus/node_exporter/releases/download/v1.2.2/node_exporter-1.2.2.linux-amd64.tar.gz

解压后移动到/usr/loca目录下并进入:

tar xvfz node_exporter-1.2.2.linux-amd64.tar.gz 
mv node_exporter-1.2.2.linux-amd64   /usr/local/node_exporter-1.2.2.linux-amd64
cd /usr/local/node_exporter-1.2.2.linux-amd64

启动Node Exporter,nphup是后台运行,退出需要用kill命令,node——exporter默认使用主机的9100端口和/metrics路径,本地访问http://localhost:9100/metrics。

nohup ./node_exporter &

 配置Prometheus

 首先下载文件到opt目录:

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

 

可等得花都谢了,然后解压到/usr/local。

mkdir /usr/local/prometheus
tar xvfz prometheus-2.31.1.tar.gz -C /usr/local/prometheus

进入prometheus主目录,查看prometheus.yml文件、

global:prometheus的全局配置,主要有以下两个属性
  scrape_interval:控制多久一次收集目标数据 ​
  evaluation_interval:评估规则时间间隔
rule_files:指定加载规则的位置 
scrape_configs:配置prometheus监视的数据。

启动prometheus:

./prometheus --config.file=prometheus.yml

输入IP:9090就可以访问prometheus了。

添加Exporter监控

在上面的prometheus.yml文件中添加以下配置:

- job_name: node
  static_configs:
    - targets: ['localhost:9100']   # 替换为监控主机的ip地址或域名,我这里是本地,外网访问需要修改对应的公网ip

重启prometheus,进入Status下的tagets,可以看到node的job。

 配置Grafana

 由于之前用过docker部署过Grafana,这里就直接配置了,首先进入Grafana添加数据源。

 选择prometheus:

 导入模板,输入模板ID8919:

 修改名称,选择数据源,点击import:

 查看数据监控,至此搭建完成。

标签:Node,node,exporter,prometheus,Grafana,Prometheus,监控
来源: https://www.cnblogs.com/qgc1995/p/16159568.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有