您好,登录后才能下订单哦!
密码登录
登录注册
点击 登录注册 即表示同意《亿速云用户服务条款》
# Prometheus的介绍及安装方法
## 目录
1. [什么是Prometheus](#什么是prometheus)
2. [核心特性](#核心特性)
3. [架构组成](#架构组成)
4. [适用场景](#适用场景)
5. [安装准备](#安装准备)
6. [Linux系统安装](#linux系统安装)
- [二进制包安装](#二进制包安装)
- [Docker安装](#docker安装)
7. [Windows系统安装](#windows系统安装)
8. [配置与启动](#配置与启动)
9. [基本使用](#基本使用)
10. [常见问题](#常见问题)
11. [总结](#总结)
---
## 什么是Prometheus
Prometheus是由SoundCloud开发的开源监控告警系统,于2016年加入CNCF(云原生计算基金会),成为继Kubernetes之后第二个毕业的项目。它采用Pull模式采集指标数据,支持多维度数据模型和强大的查询语言PromQL,广泛应用于云原生和微服务架构的监控场景。
## 核心特性
- **多维度数据模型**:通过metric名称和键值对标签标识时间序列数据
- **PromQL查询语言**:支持灵活的数据聚合和切片分析
- **独立服务节点**:不依赖分布式存储,单个节点即可工作
- **Pull+Push结合**:默认基于HTTP拉取数据,同时支持Pushgateway推送
- **可视化支持**:原生集成Grafana展示面板
- **告警管理**:通过Alertmanager实现多维告警路由
## 架构组成

主要组件包括:
- **Prometheus Server**:核心服务端,负责抓取和存储数据
- **Client Libraries**:多种语言的客户端库(Go/Java/Python等)
- **Pushgateway**:短期任务数据推送中间件
- **Exporters**:各种系统/服务的指标暴露器(Node Exporter等)
- **Alertmanager**:告警消息处理中心
- **Service Discovery**:支持Kubernetes/Consul等服务的自动发现
## 适用场景
✅ 适合场景:
- 微服务架构监控
- Kubernetes集群监控
- 需要多维数据查询的业务监控
- 自定义指标采集与分析
❌ 不适合场景:
- 需要100%精确计费的场景(设计上更侧重可靠性而非精确性)
- 传统企业级监控(更适合Zabbix等方案)
---
## 安装准备
### 系统要求
- **最低配置**:
- CPU:2核
- 内存:4GB
- 磁盘:50GB(建议SSD)
- **推荐配置**:
- CPU:4核+
- 内存:8GB+
- 磁盘:100GB+ SSD
### 网络要求
- 确保监控目标可通过HTTP访问
- 开放端口:
- Prometheus Server:9090
- Node Exporter:9100
- Alertmanager:9093
---
## Linux系统安装
### 二进制包安装
#### 1. 下载最新版本
```bash
wget https://github.com/prometheus/prometheus/releases/download/v2.47.0/prometheus-2.47.0.linux-amd64.tar.gz
tar xvfz prometheus-*.tar.gz
cd prometheus-*
创建/etc/systemd/system/prometheus.service
:
[Unit]
Description=Prometheus Server
After=network.target
[Service]
User=prometheus
Group=prometheus
ExecStart=/usr/local/bin/prometheus \
--config.file=/etc/prometheus/prometheus.yml \
--storage.tsdb.path=/var/lib/prometheus/data \
--web.console.templates=/etc/prometheus/consoles \
--web.console.libraries=/etc/prometheus/console_libraries
Restart=always
[Install]
WantedBy=multi-user.target
sudo useradd --no-create-home --shell /bin/false prometheus
sudo mkdir /etc/prometheus /var/lib/prometheus
sudo cp prometheus.yml /etc/prometheus/
sudo chown -R prometheus:prometheus /etc/prometheus /var/lib/prometheus
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
从官方Release页面下载windows-amd64
压缩包
Expand-Archive prometheus-2.47.0.windows-amd64.zip
cd prometheus-2.47.0.windows-amd64
.\prometheus.exe
使用NSSM工具:
nssm install Prometheus
# 在GUI界面配置执行路径和参数
nssm start Prometheus
prometheus.yml
:
global:
scrape_interval: 15s
evaluation_interval: 15s
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']
promtool check config prometheus.yml
参数 | 说明 |
---|---|
--config.file |
指定配置文件路径 |
--storage.tsdb.path |
数据存储目录 |
--web.listen-address |
监听地址(默认:9090) |
--web.enable-lifecycle |
启用HTTP API管理接口 |
浏览器打开:http://<server-ip>:9090
# CPU使用率
100 - (avg by(instance)(irate(node_cpu_seconds_total{mode="idle"}[5m])) * 100
# 内存使用量
node_memory_MemTotal_bytes - node_memory_MemAvailable_bytes
# HTTP请求率
sum(rate(http_requests_total[5m])) by (status_code)
wget https://github.com/prometheus/node_exporter/releases/download/v1.6.1/node_exporter-1.6.1.linux-amd64.tar.gz
tar xvfz node_exporter-*.tar.gz
cd node_exporter-*
./node_exporter
修改启动参数:
--storage.tsdb.retention.time=30d # 保留30天数据
配置basic_auth:
scrape_configs:
- job_name: 'secure'
basic_auth:
username: admin
password: secret
推荐使用kube-prometheus项目:
git clone https://github.com/prometheus-operator/kube-prometheus
kubectl apply --server-side -f manifests/setup
kubectl apply -f manifests/
Prometheus作为云原生监控的标准解决方案,具有以下优势: 1. 强大的多维数据模型 2. 灵活的查询语言 3. 活跃的社区生态 4. 与Kubernetes深度集成
建议后续学习: - 配置Alertmanager实现告警 - 集成Grafana可视化 - 学习PromQL高级查询 - 探索各种Exporters的使用
官方文档:prometheus.io/docs
中文社区:prometheus.wang “`
注:实际使用时请: 1. 替换占位图片链接 2. 检查最新版本号 3. 根据实际环境调整配置参数 4. 补充适合自己业务场景的监控指标示例
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。