Prometheus+Grafana 集群监控

本文详细介绍了如何搭建Prometheus+Grafana集群监控系统,包括Prometheus的组件架构、Grafana的简介,以及如何在Centos环境下准备集群、安装Prometheus、配置node-exporter和Grafana,最终实现系统级别的监控和数据可视化。文章还探讨了Prometheus的热加载配置、Grafana的模板导入和插件安装,为读者提供了完整的监控解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

1 Prometheus + Grafana 集群概述

1.1 Prometheus简介

1.2 Prometheus组件架构图

1.3 Prometheus 三大组件

1.4 Grafan 简介

2 集群环境准备(离线)

2.1 Linux Centos 环境准备

2.2 修改主机 hostname

3 服务端安装Prometheus

3.1 解压安装prometheus

3.2 配置Prometheus系统服务

3.3 Prometheus配置文件

3.4 通过浏览器访问Prometheus监听页面

4 被监控端添加系统级采集数据:node-exporter

4.1 node_exporter 解压安装

4.2 node_exporter 配置

5 服务端安装配置可视化页面:Grafana

5.1 安装Grafana

5.2 配置数据源 - Prometheus

6 node_exporter采集与Grafana显示

6.1 导入Grafana系统服务自带的Prometheus监控模板

6.2 导入下载的监控模板

7 扩展 —— Grafana安装插件(饼图为例)

7.1 直接安装插件

7.2 离线包安装


1 Prometheus + Grafana 集群概述

1.1 Prometheus简介

Prometheus是由SoundCloud开发的开源监控报警系统和时序列数据库(TSDB)。Prometheus使用Go语言开发,是Google BorgMon监控系统的开源版本。Prometheus的主要特点如下:

  • 多维度数据模型。
  • 灵活的查询语言.
  • 不依赖分布式存储,单个服务器节点是自主的。
  • 通过基于HTTP的pull方式采集时序数据。
  • 可以通过中间网关进行时序列数据推送。
  • 通过服务发现或者静态配置来发现目标服务对象。
  • 支持多种图形和Dashboard的展示,例如Grafana。

1.2 Prometheus组件架构图

Prometheus Daemon 负责定时去目标上抓取metrics(指标)数据,每个抓取目标需要暴露一个http服务的接口给它定时抓取。Prometheus支持通过配置文件、文本文件、Zookeeper、Consul、DNS SRV Lookup等方式指定抓取目标。Prometheus采用PULL的方式进行监控,即服务器可以直接通过目标PULL数据或者间接地通过中间网关来Push数据。

Prometheus在本地存储抓取的所有数据,并通过一定规则进行清理和整理数据,并把得到的结果存储到新的时间序列中。

Prometheus通过PromQL和其他API可视化地展示收集的数据。Prometheus支持很多方式的图表可视化,例如Grafana、自带的Promdash以及自身提供的模版引擎等等。Prometheus还提供HTTP API的查询方式,自定义所需要的输出。

PushGateway支持Client主动推送metrics到PushGateway,而Prometheus只是定时去Gateway上抓取数据。

Alertmanager是独立于Prometheus的一个组件,可以支持Prometheus的查询语句,提供十分灵活的报警方式。

其工作流程大致如下:

  1. Prometheus 服务器定期从配置好的 jobs 或者 exporters 中获取度量数据;或者接收来自推送网关发送过来的度量数据。
  2. Prometheus 服务器在本地存储收集到的度量数据,并对这些数据进行聚合。
  3. 运行已定义好的 alert.rules,记录新的时间序列或者向告警管理器推送警报。
  4. 告警管理器根据配置文件,对接收到的警报进行处理,并通过email等途径发出告警。
  5. Grafana等图形工具获取到监控数据,并以图形化的方式进行展示。

1.3 Prometheus 三大组件

  1. Server 主要负责数据采集和存储,提供PromQL查询语言的支持。
  2. Alertmanager 警告管理器,用来进行报警。
  3. Push Gateway 支持临时性Job主动推送指标的中间网关。

1.4 Grafan 简介

Grafana是一个开源的度量分析与可视化套件,经常被用作基础设施的时间序列数据和应用程序分析的可视化。

Grafana支持许多不同的数据源,每个数据源都有一个特定的查询编辑器,该编辑器定制的特性和功能是公开的特定数据来源。

官方支持以下数据源:Graphite,InfluxDB,OpenTSDB,Prometheus,Elasticsearch,CloudWatch和KairosDB。

每个数据源的查询语言和能力都是不同的,可以把来自多个数据源的数据组合到一个仪表板,但每一个面板被绑定到一个特定的数据源,它就属于一个特定的组织。

 

2 集群环境准备(离线)

2.1 Linux Centos 环境准备

  1. 虚拟机:Virtualbox
  2. 系统:Centos-7
  3. 安装包:以下安装包的版本必须互相适配

    node_exporter-1.0.1.linux-amd64.tar.gz

    prometheus-2.21.0.linux-amd64.tar.gz

    grafana-7.2.0.linux-amd64.tar.gz

  4. 监控面板json文件:node-exporter-for-prometheus-dashboard-cn-v20201010_rev24.json
  5. 主机时间与系统时间同步
  6. 主机信息:
IP地址(NAT) 主机名 大小 服务  
192.168.0.17 monitor-1 20G Prometheus、node_exporter、Grafana 服务端、被监控端
192.168.0.18 monitor-2 20G node_exporter 被监控端

2.2 修改主机 hostname

1. 本例中Linux操作系统为 centos 7,可使用自带的 hostnamectl 修改hostname

[root@localhost ~]# hostname monitor-1    //临时生效
[root@localhost ~]# hostnamectl set-hostname montior-1     //永久生效

[root@localhost ~]# hostname monitor-2
[root@localhost ~]# hostnamectl set-hostname monitor-2   

2. 修改 host 文件,添加主机映射关系

使用 vim /etc/hosts 编辑该文件,在文件最后追加主机与ip的对应关系。

[root@monitor-1 ~]# vim /etc/hosts
192.168.0.17 monitor-1
192.168.0.18 monitor-2

[root@monitor-1 ~]# scp -r /etc/hosts monitor-2:/etc/

 

3 服务端安装Prometheus

3.1 解压安装prometheus

1. 安装Prometheus

[root@monitor-1 ~]# cd /package/
[root@monitor-1 package]# ls
grafana-7.2.0.linux-amd64.tar.gz        prometheus-2.21.0.linux-amd64.tar.gz
node_exporter-1.0.1.linux-amd64.tar.gz
[root@monitor-1 package]# tar xf prometheus-2.21.0.linux-amd64.tar.gz
[root@monitor-1 package]# mv prometheus-2.21.0.linux-amd64 /usr/local/prometheus
[root@monitor-1 package]# ls /usr/local/prometheus/
console_libraries  consoles  LICENSE  NOTICE  prometheus  prometheus.yml  promtool

[root@monitor-1 package]# mkdir /usr/local/prometheus/{data,conf,logs,bin}
[root@monitor-1 package]# cd /usr/local/prometheus/
[root@monitor-1 prometheus]# mv prometheus promtool ./bin/
[root@monitor-1 prometheus]# mv prometheus.yml ./conf/
[root@monitor-1 prometheus]# chown -R root:root /usr/local/prometheus/
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值