当前位置:首页 > Ubuntu > 正文

Ubuntu监控业务指标实战指南(从零开始搭建Prometheus + Grafana监控体系)

在现代IT运维中,Ubuntu监控业务指标已成为保障系统稳定性和服务可用性的关键环节。无论是Web服务响应时间、数据库连接数,还是CPU使用率、内存占用等系统资源,都需要被实时监控和可视化。本文将手把手教你如何在Ubuntu系统上搭建一套完整的监控体系,使用开源工具 Prometheus 采集指标,并通过 Grafana 进行可视化展示。

Ubuntu监控业务指标实战指南(从零开始搭建Prometheus + Grafana监控体系) Ubuntu监控业务指标  Prometheus监控Ubuntu Grafana可视化Ubuntu Linux系统性能监控 第1张

一、准备工作

确保你有一台运行 Ubuntu 20.04 或更高版本的服务器(物理机或云主机均可),并具备 sudo 权限。建议至少 2GB 内存,以便流畅运行所有组件。

二、安装 Node Exporter(采集系统指标)

Node Exporter 是 Prometheus 官方提供的用于采集 Linux 系统指标(如 CPU、内存、磁盘、网络等)的代理程序。

# 下载 Node Exporter(以 v1.7.0 为例)cd /tmpwget https://github.com/prometheus/node_exporter/releases/download/v1.7.0/node_exporter-1.7.0.linux-amd64.tar.gz# 解压tar xvfz node_exporter-1.7.0.linux-amd64.tar.gz# 移动到系统目录sudo mv node_exporter-1.7.0.linux-amd64/node_exporter /usr/local/bin/# 创建专用用户(安全最佳实践)sudo useradd -rs /bin/false node_exporter# 设置权限sudo chown node_exporter:node_exporter /usr/local/bin/node_exporter

接下来,创建 systemd 服务以便开机自启:

sudo tee /etc/systemd/system/node_exporter.service <

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

sudo systemctl daemon-reloadsudo systemctl start node_exportersudo systemctl enable node_exporter

验证是否成功运行(默认监听 9100 端口):

curl http://localhost:9100/metrics

如果看到大量指标输出,说明 Node Exporter 已正常工作。

三、安装 Prometheus(指标收集与存储)

Prometheus 是一个开源的监控和告警工具包,支持多维数据模型和强大的查询语言 PromQL。

# 下载 Prometheuscd /tmpwget https://github.com/prometheus/prometheus/releases/download/v2.45.0/prometheus-2.45.0.linux-amd64.tar.gz# 解压tar xvfz prometheus-2.45.0.linux-amd64.tar.gz# 创建目录并复制文件sudo mkdir /etc/prometheus /var/lib/prometheussudo cp prometheus-2.45.0.linux-amd64/prometheus /usr/local/bin/sudo cp prometheus-2.45.0.linux-amd64/promtool /usr/local/bin/# 复制配置和规则目录sudo cp -r prometheus-2.45.0.linux-amd64/consoles /etc/prometheussudo cp -r prometheus-2.45.0.linux-amd64/console_libraries /etc/prometheus

创建基础配置文件 /etc/prometheus/prometheus.yml

sudo tee /etc/prometheus/prometheus.yml <

创建 Prometheus 用户并设置权限:

sudo useradd -rs /bin/false prometheussudo chown -R prometheus:prometheus /etc/prometheus /var/lib/prometheus

创建 systemd 服务:

sudo tee /etc/systemd/system/prometheus.service <

启动 Prometheus:

sudo systemctl daemon-reloadsudo systemctl start prometheussudo systemctl enable prometheus

访问 http://你的服务器IP:9090,即可看到 Prometheus Web 界面。在 “Status > Targets” 中应能看到名为 node 的目标处于 UP 状态。

四、安装 Grafana(可视化仪表盘)

Grafana 是业界领先的可视化工具,支持多种数据源,包括 Prometheus。

# 添加官方仓库sudo apt-get install -y software-properties-commonwget -q -O - https://packages.grafana.com/gpg.key | sudo gpg --dearmor -o /usr/share/keyrings/grafana.gpgecho "deb [signed-by=/usr/share/keyrings/grafana.gpg] https://packages.grafana.com/oss/deb stable main" | sudo tee /etc/apt/sources.list.d/grafana.list# 安装 Grafanasudo apt updatesudo apt install grafana -y# 启动并启用服务sudo systemctl start grafana-serversudo systemctl enable grafana-server

Grafana 默认监听 3000 端口。访问 http://你的服务器IP:3000,首次登录使用默认账号 admin / admin,登录后会提示修改密码。

五、配置 Grafana 连接 Prometheus

  1. 登录 Grafana 后,点击左侧齿轮图标(Configuration)→ Data Sources。
  2. 点击 “Add data source”,选择 “Prometheus”。
  3. 在 URL 栏填写:http://localhost:9090(因为都在同一台机器)。
  4. 点击 “Save & Test”,看到绿色提示即表示连接成功。

六、导入仪表盘模板

Grafana 社区提供了大量现成的仪表盘模板。推荐使用 ID 1860(Node Exporter Full)来监控系统性能。

  1. 点击左侧 “+” → Import。
  2. 在 “Import via grafana.com” 输入 1860,点击 Load。
  3. 选择刚才添加的 Prometheus 数据源,点击 Import。

现在你就能看到一个功能齐全的 Linux系统性能监控 仪表盘,包含 CPU、内存、磁盘 I/O、网络流量等关键指标。

七、扩展:监控业务应用指标

除了系统指标,你还可以通过在业务代码中集成 Prometheus 客户端库(如 Python 的 prometheus_client、Go 的 prometheus/client_golang 等)暴露自定义业务指标(如 API 请求量、错误率、队列长度等),然后在 prometheus.yml 中添加新的 job 即可被自动采集。

总结

通过本教程,你已经成功搭建了一套基于 Prometheus监控Ubuntu 系统指标,并通过 Grafana可视化Ubuntu 监控数据的完整方案。这套体系不仅适用于个人项目,也广泛应用于企业生产环境,是实现可观测性(Observability)的重要一步。

掌握 Ubuntu监控业务指标 的技能,将帮助你更快发现系统瓶颈、预防故障,并提升整体服务质量。赶快动手试试吧!