news 2026/4/3 2:47:06

在Linux系统上安装和使用Prometheus+Grafana

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
在Linux系统上安装和使用Prometheus+Grafana

我们将会介绍如何在Linux系统上安装和使用Prometheus,包括以下步骤:

  1. 下载和安装Prometheus
  2. 配置Prometheus
  3. 启动Prometheus服务器
  4. 访问Prometheus的Web界面
  5. 配置Prometheus监控自身
  6. 安装和配置Node Exporter(用于监控Linux主机)
  7. 配置Prometheus抓取Node Exporter
  8. 使用PromQL查询数据
  9. 集成Grafana进行数据可视化

注意:以下操作以Ubuntu系统为例,但同样适用于其他Linux发行版。

步骤1:下载和安装Prometheus

前往Prometheus官方网站下载页面(https://prometheus.io/download/)获取最新版本的Prometheus。 或者直接在服务器上使用wget下载。

假设我们使用64位的Linux系统,可以执行以下命令:

# 创建目录并进入 mkdir -p ~/prometheus-setup cd ~/prometheus-setup # 下载Prometheus wget https://github.com/prometheus/prometheus/releases/download/v2.30.3/prometheus-2.30.3.linux-amd64.tar.gz # 注意:请检查官网以获取最新版本,替换上面的版本号 # 解压 tar xvfz prometheus-*.tar.gz # 进入解压后的目录 cd prometheus-*

步骤2:配置Prometheus

Prometheus的配置文件是prometheus.yml。默认的配置文件已经包含了监控Prometheus自身的配置。

我们可以先查看默认配置:

cat prometheus.yml

默认配置可能如下:

# 全局配置 global: scrape_interval: 15s # 默认每15秒抓取一次 evaluation_interval: 15s # 每15秒评估一次规则 # 告警配置 alerting: alertmanagers: - static_configs: - targets: # - alertmanager:9093 # 规则文件 rule_files: # - "first_rules.yml" # - "second_rules.yml" # 抓取配置 scrape_configs: # 监控Prometheus自身 - job_name: 'prometheus' static_configs: - targets: ['localhost:9090']

步骤3:启动Prometheus服务器

使用以下命令启动Prometheus:

# 启动Prometheus,并指定配置文件 ./prometheus --config.file=prometheus.yml

启动后,Prometheus默认会监听9090端口。

步骤4:访问Web界面

在浏览器中访问:http://<服务器的IP地址>:9090

在Web界面中,我们可以查看Prometheus的状态、执行查询等。

步骤5:配置Prometheus监控自身

默认配置中已经包含了监控自身的job,所以无需额外配置。

步骤6:安装和配置Node Exporter

Node Exporter用于暴露主机的硬件和操作系统指标。下载并安装:

# 返回上级目录 cd ~/prometheus-setup # 下载Node Exporter wget https://github.com/prometheus/node_exporter/releases/download/v1.2.2/node_exporter-1.2.2.linux-amd64.tar.gz # 解压 tar xvfz node_exporter-*.tar.gz # 进入目录 cd node_exporter-*

启动Node Exporter:

./node_exporter

Node Exporter默认监听9100端口。

步骤7:配置Prometheus抓取Node Exporter

修改Prometheus的配置文件prometheus.yml,在scrape_configs部分添加新的job:

scrape_configs: - job_name: 'prometheus' static_configs: - targets: ['localhost:9090'] # 添加Node Exporter - job_name: 'node_exporter' static_configs: - targets: ['localhost:9100'] # 如果Node Exporter运行在同一台机器上

重启Prometheus使配置生效(先按Ctrl+C停止,然后重新启动)。

步骤8:使用PromQL查询数据

在Web界面中,我们可以输入PromQL查询表达式。例如:

  • 查看所有指标:http_requests_total
  • 查看CPU使用率:100 - (avg by (instance) (irate(node_cpu_seconds_total{mode="idle"}[5m])) * 100)
  • 查看内存使用:node_memory_MemTotal_bytes - node_memory_MemFree_bytes

步骤9:集成Grafana

安装Grafana(这里以Ubuntu为例):

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 -a /etc/apt/sources.list.d/grafana.list sudo apt-get update sudo apt-get install grafana

启动Grafana服务:

sudo systemctl daemon-reload sudo systemctl start grafana-server sudo systemctl enable grafana-server

Grafana默认监听3000端口,访问http://<服务器IP>:3000,默认用户名和密码为admin/admin。

添加数据源:

登录Grafana web ui 界面,点击左边框“配置”按钮,选择“Data Source”,选择“Add data source”

  • 选择Prometheus
  • URL填写http://localhost:9090(如果Grafana和Prometheus在同一台机器)

然后可以导入现成的仪表盘模板,例如Node Exporter的仪表盘,模板ID为1860。

这样,我们就完成了Prometheus的安装、配置,以及Node Exporter的安装和Grafana的集成。

注意:置开机启动。

下面提供将Prometheus和Node Exporter配置为系统服务的示例(Ubuntu系统):

创建Prometheus系统服务文件:

sudo nano /etc/systemd/system/prometheus.service

内容如下(请根据实际路径修改):

[Unit] Description=Prometheus Wants=network-online.target After=network-online.target [Service] User=prometheus Group=prometheus Type=simple ExecStart=/home/your_user/prometheus-setup/prometheus-2.30.3.linux-amd64/prometheus \ --config.file /home/your_user/prometheus-setup/prometheus-2.30.3.linux-amd64/prometheus.yml \ --storage.tsdb.path /home/your_user/prometheus-setup/data [Install] WantedBy=multi-user.target

创建Node Exporter系统服务文件:

sudo nano /etc/systemd/system/node_exporter.service

内容如下:

[Unit] Description=Node Exporter Wants=network-online.target After=network-online.target [Service] User=prometheus Group=prometheus Type=simple ExecStart=/home/your_user/prometheus-setup/node_exporter-1.2.2.linux-amd64/node_exporter [Install] WantedBy=multi-user.target

注意:建议创建一个专门的用户来运行这些服务:

sudo useradd --no-create-home --shell /bin/false prometheus

并修改对应目录的权限。

最后,重新加载systemd并启用服务:

sudo systemctl daemon-reload sudo systemctl enable prometheus.service sudo systemctl start prometheus.service sudo systemctl enable node_exporter.service sudo systemctl start node_exporter.service

这样,即使服务器重启,服务也会自动启动。

以上就是在Linux系统上安装和使用Prometheus的完整步骤。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/1 19:05:27

灰盒测试简要指南

在本文中&#xff0c;我们将了解什么是灰盒测试以及为什么要使用它&#xff0c;以及它的优缺点。 在软件测试中&#xff0c;灰盒测试是一种有用的技术&#xff0c;可以确保发布的软件是高性能的、安全的并满足预期用户的需求。这是一种从外部测试应用程序同时跟踪其内部操作的…

作者头像 李华
网站建设 2026/3/28 13:58:09

网络安全专业薪资水平如何?

网络安全专业就业机遇远大于竞争&#xff0c;是当下求职市场的“香饽饽”。尤其是在数字化转型下&#xff0c;行业人才缺乏&#xff0c;政企、金融、互联网等领域岗位持续扩招&#xff0c;但依然有不少人心存困惑&#xff1a;学网络安全专业出来工作好找吗?以下是具体内容介绍…

作者头像 李华
网站建设 2026/3/31 12:41:18

设计模式中的工厂模式业务实战-生产环境实际在用的

当创建一个对象非常复杂的时候&#xff0c;可以使用工厂模式来应付。我这边的真实场景是连锁餐饮/零售里最传统的一件事&#xff1a;门店每天要做库存盘点。只要是连锁店&#xff0c;门店店员基本都是天天拿着盘点单挨个数货&#xff0c;目的就是把系统里的物料库存矫正回来&am…

作者头像 李华
网站建设 2026/3/27 16:03:40

Open-AutoGLM分布式部署详解:从环境配置到性能调优一网打尽

第一章&#xff1a;Open-AutoGLM分布式部署概述 Open-AutoGLM 是一个面向大规模语言模型自动化推理与生成的开源框架&#xff0c;支持在分布式环境中高效部署和调度 GLM 系列模型。其核心设计理念是解耦模型服务、任务调度与资源管理&#xff0c;适用于多节点、多GPU集群环境下…

作者头像 李华
网站建设 2026/3/27 1:43:07

【Open-AutoGLM高手进阶】:5步实现浏览器智能操控的底层逻辑

第一章&#xff1a;浏览器操作Open-AutoGLM的底层认知在现代浏览器环境中&#xff0c;通过前端脚本与AutoGLM类模型进行交互&#xff0c;依赖于对DOM操作、异步通信机制以及JavaScript执行上下文的深入理解。Open-AutoGLM并非标准协议或公开API&#xff0c;而是一种基于开放架构…

作者头像 李华