之前搭建过Jmeter监控平台搭建:JMeter+InfluxDB+Grafana,这里再使用docker搭建下目前比较流行的Node_exporters+InfluxDB+Grafana监控平台,网上教程很多,这次记录自己的搭建过程。
监控平台是为了方便监控服务器资源,才能做后续的性能分析和瓶颈定位,当然使用命令或者第三方插件工具也能实现,但监控平台有一个聚合作用,比较提高效率。
Prometheus是一个最初在SoundCloud上构建的开源系统监控和警报工具包,基本原理是通过HTTP协议周期性抓取被监控组件的状态,这样做的好处是任意组件只要提供HTTP接口就可以接入监控系统, 不需要任何SDK或者其他的集成过程
输出被监控组件信息的HTTP接口被叫做exporter,Prometheus的社区中提供了其他应用包括服务器、数据库、中间件等的Exporter,也可以自己开发,node_exporters就是监控Linux的,官网exporters链接。
Grafana前面也提过,是一个跨平台的开源的度量分析和可视化工具,这里可以接入Prometheus数据源。
Prometheus及其生态系统组件的架构工作流程:
下载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 &
首先下载文件到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了。
在上面的prometheus.yml文件中添加以下配置:
- job_name: node static_configs: - targets: ['localhost:9100'] # 替换为监控主机的ip地址或域名,我这里是本地,外网访问需要修改对应的公网ip
重启prometheus,进入Status下的tagets,可以看到node的job。
由于之前用过docker部署过Grafana,这里就直接配置了,首先进入Grafana添加数据源。
选择prometheus:
导入模板,输入模板ID8919:
修改名称,选择数据源,点击import:
查看数据监控,至此搭建完成。