2025年05月最新!Prometheus开源项目在Ubuntu 22.04的实践指南

云信安装大师
90
AI 质量分
10 5 月, 2025
3 分钟阅读
0 阅读

2025年05月最新!Prometheus开源项目在Ubuntu 22.04的实践指南

引言

Prometheus作为云原生时代最流行的监控系统之一,已经成为DevOps和SRE工程师的必备工具。本文将带你从零开始在Ubuntu 22.04系统上部署最新版的Prometheus(截至2025年5月),并配置基本的监控功能。

准备工作

环境要求

  • Ubuntu 22.04 LTS系统(服务器或桌面版均可)
  • 至少2GB内存(推荐4GB以上)
  • 10GB可用磁盘空间
  • sudo权限用户

前置知识

  • Linux基础命令操作
  • 了解HTTP协议基础概念
  • 对监控系统有基本认识

第一步:安装Prometheus

1.1 创建专用用户(安全最佳实践)

代码片段
sudo useradd --no-create-home --shell /bin/false prometheus

说明:使用专用用户运行Prometheus可以降低安全风险,--no-create-home不创建家目录,--shell /bin/false禁止登录。

1.2 下载最新版Prometheus

截至2025年5月,最新稳定版本为2.50.0:

代码片段
wget https://github.com/prometheus/prometheus/releases/download/v2.50.0/prometheus-2.50.0.linux-amd64.tar.gz

验证下载完整性

代码片段
echo "a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8s9t0" prometheus-2.50.0.linux-amd64.tar.gz.sha256sum | sha256sum --check

注意:实际使用时请替换为官方发布的校验值

1.3 解压并安装文件

代码片段
tar xvf prometheus-2.50.0.linux-amd64.tar.gz
sudo cp prometheus-2.50.0.linux-amd64/prometheus /usr/local/bin/
sudo cp prometheus-2.50.0.linux-amd64/promtool /usr/local/bin/
sudo mkdir /etc/prometheus
sudo mkdir /var/lib/prometheus
sudo cp -r prometheus-2.50.0.linux-amd64/consoles /etc/prometheus/
sudo cp -r prometheus-2.50.0.linux-amd64/console_libraries /etc/prometheus/

目录结构说明
/usr/local/bin/:存放可执行文件
/etc/prometheus:配置文件目录
/var/lib/prometheus:数据存储目录

1.4 设置权限

代码片段
sudo chown prometheus:prometheus /usr/local/bin/prometheus
sudo chown prometheus:prometheus /usr/local/bin/promtool
sudo chown -R prometheus:prometheus /etc/prometheus
sudo chown -R prometheus:prombernetes /var/lib/prombernetes

第二步:配置Promtheus服务

2.1 创建配置文件

编辑主配置文件:

代码片段
sudo nano /etc/promtheus/promtheus.yml

输入以下内容:

代码片段
global:
  scrape_interval:     15s # 默认抓取间隔

scrape_configs:
  - job_name: 'promtheus' # Promtheus自身监控任务
    scrape_interval:  5s # 
    static_configs:
      - targets: ['localhost:9090']

# Node Exporter配置(后续会安装)
# - job_name: 'node'
#   static_configs:
#     - targets: ['localhost:9100']

关键参数说明
scrape_interval: Promtheus抓取指标的频率
job_name: 监控任务名称
targets: 被监控服务的地址列表

2.2 Systemd服务配置

创建服务文件:

代码片段
sudo nano /etc/systemd/system/promtheus.service 

添加以下内容:

代码片段
[Unit]
Description=Promtheus Monitoring System 
Wants=network-online.target 
After=network-online.target 

[Service] 
User=promtheus 
Group=promtheus 
Type=simple 

ExecStart=/usr/local/bin/promtheus \
    --config.file=/etc/promtheus/promtheus.yml \
    --storage.tsdb.path=/var/lib/promtheus/ \
    --web.enable-lifecycle \
    --web.external-url=http://your-server-ip:9090 

Restart=always 

[Install] 
WantedBy=multi-user.target 

启动参数解析
--web.enable-lifecycle: 启用配置热重载API
--storage.tsdb.path: TSDB数据库存储路径
--web.external-url: Web UI访问地址

2.3启动服务并设置开机自启

代码片段
sudo systemctl daemon-reload 
sudo systemctl start promtheus 
sudo systemctl enable promtheus 

#检查状态 
systemctl status promtheus 

第三步:安装Node Exporter(可选)

Node Exporter用于收集主机指标数据。

3.1下载并安装Node Exporter

代码片段
wget https://github.com/promtheus/node_exporter/releases/download/v1.X.X/node_exporter-X.X.X.linux-amd64.tar.gz 

tar xvf node_exporter-X.X.X.linux-amd64.tar.gz 

cd node_exporter-X.X.X.linux-amd64/ 

chmod +x node_exporter 

mv node_exporter /usr/local/bin/ 

useradd --no-create-home --shell /bin/false node_exporter 

chown node_exporter:node_exporter /usr/local/bin/node_exporter 

注意替换X.X.X为实际版本号

3.2配置Systemd服务

代码片段
nano /etc/systemd/system/node_exporter.service  

添加内容:

代码片段
[Unit] Description=Node Exporter Wants=network-online.target After=network-online.target [Service] User=node_exporter Group=node_exporter Type=simple ExecStart=/usr/local/bin/node_exporter [Install] WantedBy=multi-user.target  

启动服务:

代码片段
systemctl daemon-reload systemctl start node_exporter systemctl enable node_exporter  

systemctl status node_exporter #验证状态  

第四步:访问Web UI与基本使用

4.1访问Web界面

浏览器打开:http://your-server-ip:9090

示例界面截图

4.2查询示例

在Graph页面尝试以下查询表达式:

代码片段
# CPU使用率(需先安装node exporter) rate(node_cpu_seconds_total{mode="idle"}[1m]) *100  

#内存使用情况 node_memory_MemAvailable_bytes/node_memory_MemTotal_bytes *100  

# PromQL基础语法教程链接(此处放实际URL) https://promlabs.com/blog/202X/X/X...

第五步:安全加固(重要!)

5.1启用基本认证

编辑配置文件:

代码片段
basic_auth_users:
 admin:$argon2i$v=X$m=X,t=X,p=X$salt$hashvalue #生成密码工具见下文  

生成密码命令:

“`bash go run github.com/efficientgo/tools/pkg/bcrypt-hasher@latest password123 > auth.yml

代码片段

*注意替换password123为你的强密码*

###5 .防火墙配置  

ufw allow proto tcp from your_ip to any port9090 comment 'Prom the us' ufw enable ufw status numbered #验证规则  

常见问题解决

Q1:启动失败报错”address already in use” A :检查端口占用:ss-tulnp|grep9090,终止占用进程或修改端口。

Q :Web UI无法访问 A :检查防火墙、SEL inux状态:systemctl status firewalld,getenforce

Q :数据存储空间不足 A :调整保留时间:--storage.tsdb .retention.time =30 d

总结

本文完成了在Ubuntu22 .04上部署最新版Prom the us的全流程,包括:

✓ Prom the us核心组件安装 ✓ Node Ex porter主机监控 ✓ System d服务管理 ✓ Web UI基础使用 ✓安全加固措施

下一步建议学习Grafana可视化配置和Alert manager告警管理。

原创 高质量