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

服务器多节点 Grafana、Prometheus 和 Node-Exporter Docker版本部署指南

要在多台服务器上部署 Grafana、Prometheus 和 Node-Exporter,并且其中一台服务器专门用于 Grafana 和 Prometheus 的部署

1. 准备工作

  • 服务器信息

    • Server 1:用于部署 Grafana 和 Prometheus。

    • Server 2-n:用于部署 Node-Exporter。

  • Docker:确保所有服务器上已安装 Docker 和 Docker Compose。

https://getdocker.quickso.cn/

2. 在 Server 1 上部署 Grafana 和 Prometheus

2.1 创建 Docker Compose 文件

在 Server 1 上创建一个 docker-compose.yml 文件,内容如下:

version: '3'

services:
  prometheus:
    image: prom/prometheus
    container_name: prometheus
    ports:
      - "9090:9090"
    volumes:
      - ./prometheus.yml:/etc/prometheus/prometheus.yml
    command:
      - '--config.file=/etc/prometheus/prometheus.yml'
    restart: always

  grafana:
    image: grafana/grafana
    container_name: grafana
    ports:
      - "3000:3000"
    volumes:
      - grafana-storage:/var/lib/grafana
    environment:
      - GF_SECURITY_ADMIN_PASSWORD=admin
    restart: always

  node-exporter:
    image: prom/node-exporter
    container_name: node-exporter
    ports:
      - "9100:9100"
    restart: always

volumes:
  grafana-storage:
2.2 创建 Prometheus 配置文件

在 Server 1 上创建一个 prometheus.yml 文件,内容如下:

global:
  scrape_interval: 15s

scrape_configs:
  - job_name: 'node-exporter'
    static_configs:
      - targets: ['server2:9100', 'server3:9100', 'server4:9100', 'server5:9100', 'server6:9100']
2.3 启动服务

在 Server 1 上运行以下命令启动:

docker-compose up -d

3.在 Server 2-n 上部署 Node-Exporter,并开放端口

docker run -d \
  --name node-exporter \
  -p 9100:9100 \
  --restart always \
  prom/node-exporter

4. 配置 Grafana

4.1 访问 Grafana

在浏览器中访问 http://<Server1-IP>:3000,使用默认用户名 admin 和密码 admin 登录。

4.2 添加 Prometheus 数据源
  1. 在 Grafana 中,点击左侧菜单的 Configuration -> Data Sources

  2. 点击 Add data source,选择 Prometheus

  3. 在 URL 字段中输入 http://localhost:9090,然后点击 Save & Test

4.3 导入 Node-Exporter 仪表盘
  1. 在 Grafana 中,点击左侧菜单的 + -> Import

  2. 在 Grafana.com Dashboard 字段中输入 1860,然后点击 Load

  3. 选择 Prometheus 数据源,然后点击 Import


4. 验证部署

  • Prometheus:访问 http://<Server1-IP>:9090/targets,确保所有 Node-Exporter 目标(包括 Server 1)的状态为 UP

  • Grafana:访问 http://<Server1-IP>:3000,查看仪表盘是否显示所有服务器的监控数据。


http://www.kler.cn/a/500140.html

相关文章:

  • 【2024年华为OD机试】 (A卷,100分)- 总最快检测效率(Java JS PythonC/C++)
  • Photon最新版本PUN 2.29 PREE,在无网的局域网下,无法连接自己搭建的本地服务器
  • Matplotlib 直方图:数据可视化基础
  • Bash语言的正则表达式
  • 9.java中String,StringBuilder,StringBuffer 什么区别
  • MySQL教程之:与服务器的连接和断开连接
  • 图像处理 | 图像二值化
  • 财务自动化用Python还是RPA?各有什么优缺点
  • el-tab-pane 的label怎么显示很多数据
  • 【Leetcode-找到所有数组中消失的数字】利用标记出现数组中出现过的数字解决数组中消失的数字问题
  • 【开源免费】基于SpringBoot+Vue.JS共享汽车管理系统(JAVA毕业设计)
  • Cannot find -lgL
  • 【IEEE出版,连续4年EI收录,检索稳定 |南京航空航天大学主办,航空航天交叉研究院承办】第五届传感器与信息技术国际学术会议(ICSI 2025)
  • 如何从 Keycloak 的 keycloak-themes.jar 中提取原生主题并自定义设置
  • Chapter 4.6:Coding the GPT model
  • 【python进阶——用类实现数据组织】
  • LeetCode 热题 100 | 双指针
  • Git:Cherry-Pick 的使用场景及使用流程
  • 基于Java+SpringMvc+Vue技术的宠物分享平台
  • 省森林防火应急指挥系统
  • 2024 年 8 月公链行业研报:Layer 1、比特币 Layer 2 和以太坊 Layer 2 趋势分析
  • 构建高效的进程池:深入解析C++实现
  • 解决:离线部署Docker容器(使用Docker现有容器生成镜像,将镜像打包成tar并发布到离线服务器中)