搭建服务器监控平台:Prometheus+node_exporter+Grafana
一、前言
之前搭建了监控jmeter接口指标的grafana看板,但平时性能测试时也要关注服务器性能指标,所以也了解了下怎么搭建服务器监控,虽说这些是运维的工作,但多少懂一点也是好的。本次的prometheus和exporter是用docker部署的,顺便也实操下docker的基础知识。二、工具简介
Prometheus Server: Prometheus服务端,由于存储及收集数据,提供相关api对外查询用。 Exporter: 类似传统意义上的被监控端的agent,有区别的是,它不会主动推送监控数据到server端,而是等待server端定时来手机数据,即所谓的主动监控。 Pushagateway: 用于网络不可直达而居于exporter与server端的中转站。 引用一张官方的架构图,原理大概是: 1、prometheus是用于收集数据,主动拉取组件监控到的数据(比如mysql,nginx,node_exporter); 2、node_exporter用于监控数据,监控服务器主机数据(哪些服务器需要监控的,就在服务器上安装这个组件); 3、grafana用于展示数据,数据源选取prometheus;三、搭建流程
3.1 node_exporter安装
- 步骤1:下载镜像包:docker pull prom/node-exporter
- 步骤2:启动镜像包:docker run -d -p 9100:9100 --name node-exporter prom/node-exporter:latest
- 步骤3:查看已启动的镜像:docker ps
3.2 prometheus安装
- 步骤1:下载镜像包:docker pull prom/prometheus
- 步骤2:新建目录prometheus: mkdir /opt/prometheus
- 步骤3:cd进入prometheus目录下,编辑配置文件prometheus.yml: cd /opt/prometheus/ vim prometheus.yml
global: scrape_interval: 60s evaluation_interval: 60s scrape_configs: - job_name: prometheus static_configs: - targets: ['localhost:9090'] labels: instance: prometheus - job_name: linux static_configs: - targets: ['192.168.91.132:9100'] labels: instance: localhost步骤4:启动镜像 命令也可以用:
docker run -d -p 9090:9090 -v /opt/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml prom/prometheus
特别说明:
1、如果prometheus没有采集到job,要检查下是不是改了配置文件后没有重启容器镜像
2、prometheus可以配置热加载配置,可百度