搭建服务器监控平台: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
  步骤4:安全组开放端口9100后,访问url(ip:9100/metrics),如下图,这些都是收集到的数据,有了它就可以做数据展示了

3.2 prometheus安装

  • 步骤1:下载镜像包:docker pull prom/prometheus
  • 步骤2:新建目录prometheus: mkdir /opt/prometheus
配置文件代码:注意修改IP地址,这里的192.168.91.132就是本机地址
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
步骤5:浏览器访问url:ip+9090端口
访问targets

特别说明:

1、如果prometheus没有采集到job,要检查下是不是改了配置文件后没有重启容器镜像

2、prometheus可以配置热加载配置,可百度

3.2 Grafana安装,展示数据

  之前有演示过,这里不再详细说(可查看https://www.cnblogs.com/Chilam007/p/14982759.html),
  本次用的数据源是prometheus,导入模板id为11074(有些数据没展示出来,后续需要详细研究下)

 9276模板——这个模板应该比较适用

 1860模板

 

 

 

 

 

 

 
posted @ 2022-03-28 13:46  一加一  阅读(919)  评论(0编辑  收藏  举报