为什么选择Prometheus?
Prometheus作为云原生时代的监控利器,已经成为CNCF毕业项目。它采用Pull模式采集指标,支持多维数据模型和强大的查询语言PromQL,特别适合监控容器化环境和微服务架构。
相较于传统监控系统,Prometheus具有以下优势:
- 开源免费,社区活跃
- 支持服务发现机制
- 强大的告警规则配置
- 与Grafana完美集成
安装前准备
在开始安装前,请确保您的环境满足以下要求:
- Linux服务器(推荐Ubuntu 20.04+或CentOS 7+)
- 至少2GB内存
- root或sudo权限
- 开放9090端口(默认监控端口)
建议先更新系统软件包:
sudo apt update && sudo apt upgrade -y # Ubuntu/Debian
sudo yum update -y # CentOS/RHEL
详细安装步骤
步骤1:下载Prometheus
访问官方下载页面获取最新版本:
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-*
步骤2:配置Prometheus
编辑prometheus.yml配置文件:
global:
scrape_interval: 15s
scrape_configs:
- job_name: 'prometheus'
static_configs:
- targets: ['localhost:9090']
这是一个最基本的配置,监控Prometheus自身。
步骤3:启动Prometheus
以后台方式启动:
nohup ./prometheus --config.file=prometheus.yml &
验证服务是否正常运行:
curl http://localhost:9090/metrics
步骤4:配置系统服务(可选)
创建systemd服务文件实现开机自启:
[Unit]
Description=Prometheus
After=network.target
[Service]
User=prometheus
ExecStart=/opt/prometheus/prometheus \
--config.file /opt/prometheus/prometheus.yml
[Install]
WantedBy=multi-user.target
验证安装
访问http://your-server-ip:9090,您应该能看到Prometheus Web界面:
- 点击"Status" → "Targets"
- 确认prometheus job的状态为"UP"
- 在"Graph"页面尝试执行简单的PromQL查询:
up
常见问题解决
无法访问Web界面
检查防火墙设置:
sudo ufw allow 9090 # Ubuntu
sudo firewall-cmd --permanent --add-port=9090/tcp # CentOS
启动时报配置文件错误
使用以下命令验证配置文件语法:
./promtool check config prometheus.yml
