如何搭建Grafana+Prometheus监控系统

发布时间:2021-11-17 15:02:21 作者:小新
来源:亿速云 阅读:228
# 如何搭建Grafana+Prometheus监控系统

## 前言

在现代IT基础设施中,监控系统是保障服务稳定性的关键组件。Grafana+Prometheus组合因其开源、高效和易扩展的特性,已成为云原生时代最流行的监控解决方案之一。本文将详细介绍从零开始搭建这套系统的完整流程,涵盖环境准备、组件部署、配置优化和实战演示。

---

## 一、系统架构概述

### 1.1 核心组件功能
- **Prometheus**  
  时序数据库和监控告警系统,负责:
  - 多维度数据采集(Pull模式)
  - 高效时间序列存储
  - 灵活的查询语言PromQL
  - 基于规则的告警触发

- **Grafana**  
  可视化平台,提供:
  - 多数据源支持(支持Prometheus等30+数据源)
  - 可定制的仪表盘
  - 丰富的图表类型
  - 告警通知集成

### 1.2 工作流程

被监控目标(Node/MySQL等) → Prometheus采集 → Grafana可视化 ↓ Alertmanager告警


---

## 二、环境准备

### 2.1 硬件要求
| 组件        | 最低配置   | 推荐配置   |
|-------------|------------|------------|
| Prometheus  | 2核4GB     | 4核8GB+    |
| Grafana     | 1核2GB     | 2核4GB+    |
| 存储        | 50GB HDD   | 200GB SSD  |

### 2.2 软件依赖
- Linux服务器(本文以Ubuntu 22.04为例)
- Docker(可选,简化部署)
- 防火墙开放端口:
  - Prometheus: 9090
  - Grafana: 3000
  - Node Exporter: 9100

---

## 三、Prometheus部署

### 3.1 二进制安装(生产推荐)
```bash
# 下载最新版(以2.47.0为例)
wget https://github.com/prometheus/prometheus/releases/download/v2.47.0/prometheus-2.47.0.linux-amd64.tar.gz
tar xvf prometheus-*.tar.gz
cd prometheus-*/

# 验证版本
./prometheus --version

# 创建系统服务
sudo tee /etc/systemd/system/prometheus.service <<EOF
[Unit]
Description=Prometheus Server

[Service]
User=prometheus
ExecStart=/opt/prometheus/prometheus \\
  --config.file=/opt/prometheus/prometheus.yml \\
  --storage.tsdb.path=/var/lib/prometheus

[Install]
WantedBy=multi-user.target
EOF

# 启动服务
sudo systemctl daemon-reload
sudo systemctl start prometheus
sudo systemctl enable prometheus

3.2 Docker安装(开发测试)

docker run -d -p 9090:9090 \
  -v /path/to/prometheus.yml:/etc/prometheus/prometheus.yml \
  prom/prometheus

3.3 配置文件详解

prometheus.yml 示例:

global:
  scrape_interval: 15s
  evaluation_interval: 15s

rule_files:
  - 'alert.rules'

scrape_configs:
  - job_name: 'prometheus'
    static_configs:
      - targets: ['localhost:9090']
  
  - job_name: 'node'
    static_configs:
      - targets: ['192.168.1.100:9100', '192.168.1.101:9100']

四、Grafana部署

4.1 官方APT源安装

sudo apt-get install -y apt-transport-https
sudo apt-get install -y software-properties-common wget
wget -q -O - https://packages.grafana.com/gpg.key | sudo apt-key add -
echo "deb https://packages.grafana.com/oss/deb stable main" | sudo tee /etc/apt/sources.list.d/grafana.list
sudo apt-get update
sudo apt-get install grafana
sudo systemctl start grafana-server
sudo systemctl enable grafana-server

4.2 初始配置

  1. 访问 http://<IP>:3000
  2. 默认账号:admin/admin
  3. 首次登录需修改密码

4.3 添加Prometheus数据源

  1. 左侧菜单 → Configuration → Data Sources
  2. 选择Prometheus
  3. 关键配置项:
    • URL: http://prometheus-ip:9090
    • Scrape interval: 15s

五、监控数据采集实战

5.1 主机监控(Node Exporter)

# 在被监控主机安装
wget https://github.com/prometheus/node_exporter/releases/download/v1.6.1/node_exporter-1.6.1.linux-amd64.tar.gz
tar xvf node_exporter-*.tar.gz
cd node_exporter-*/
./node_exporter &

5.2 MySQL监控

# 安装mysqld_exporter
wget https://github.com/prometheus/mysqld_exporter/releases/download/v0.15.0/mysqld_exporter-0.15.0.linux-amd64.tar.gz

# 创建监控账号
mysql> CREATE USER 'exporter'@'localhost' IDENTIFIED BY 'StrongPassword';
mysql> GRANT PROCESS, REPLICATION CLIENT ON *.* TO 'exporter'@'localhost';

六、Grafana仪表盘配置

6.1 导入官方模板

  1. 左侧菜单 → Dashboards → Import
  2. 输入模板ID(如主机监控用8919)
  3. 选择Prometheus数据源

6.2 自定义仪表盘示例

# 内存使用率查询
100 - (node_memory_MemAvailable_bytes / node_memory_MemTotal_bytes * 100)

# CPU使用率
100 - (avg by (instance)(irate(node_cpu_seconds_total{mode="idle"}[5m])) * 100

6.3 告警规则配置

  1. 创建Alert规则
  2. 设置条件(如CPU>90%持续5分钟)
  3. 配置通知渠道(邮件/Slack等)

七、高级配置技巧

7.1 Prometheus优化

# 限制内存使用
--storage.tsdb.retention.time=30d
--query.max-concurrency=20
--query.max-samples=50000000

7.2 Grafana插件

# 安装插件(如饼图插件)
grafana-cli plugins install grafana-piechart-panel

7.3 高可用方案


八、常见问题排查

8.1 数据采集失败

8.2 仪表盘无数据

8.3 性能问题


结语

通过本文的步骤,您已经完成了从零搭建生产级监控系统的全过程。建议后续: 1. 根据业务需求扩展监控指标 2. 设置分级告警策略 3. 定期审查监控数据有效性

附:本文所有配置文件和命令已上传至 GitHub示例仓库 “`

注:实际部署时请根据您的具体环境调整IP、端口等参数。如需更详细的企业级配置方案,可参考官方文档: - Prometheus Documentation - Grafana Documentation

推荐阅读:
  1. Centos 7搭建Zabbix 4.0监控系统
  2. 搭建 zabbix 监控系统详解

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

grafana prometheus

上一篇:有趣的JavaScript与CSS库有哪些

下一篇:jquery如何获取tr里面有几个td

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》