您好,登录后才能下订单哦!
密码登录
登录注册
点击 登录注册 即表示同意《亿速云用户服务条款》
# 如何搭建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
docker run -d -p 9090:9090 \
-v /path/to/prometheus.yml:/etc/prometheus/prometheus.yml \
prom/prometheus
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']
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
http://<IP>:3000
http://prometheus-ip:9090
# 在被监控主机安装
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 &
# 安装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';
# 内存使用率查询
100 - (node_memory_MemAvailable_bytes / node_memory_MemTotal_bytes * 100)
# CPU使用率
100 - (avg by (instance)(irate(node_cpu_seconds_total{mode="idle"}[5m])) * 100
# 限制内存使用
--storage.tsdb.retention.time=30d
--query.max-concurrency=20
--query.max-samples=50000000
# 安装插件(如饼图插件)
grafana-cli plugins install grafana-piechart-panel
http://prometheus:9090/targets
通过本文的步骤,您已经完成了从零搭建生产级监控系统的全过程。建议后续: 1. 根据业务需求扩展监控指标 2. 设置分级告警策略 3. 定期审查监控数据有效性
附:本文所有配置文件和命令已上传至 GitHub示例仓库 “`
注:实际部署时请根据您的具体环境调整IP、端口等参数。如需更详细的企业级配置方案,可参考官方文档: - Prometheus Documentation - Grafana Documentation
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。