Skip to content

No.6 三步实现 JuiceFS 监控指标数据可视化

本视频将详细介绍如何实现 JuiceFS 监控指标数据的可视化,只需三步即可完成。我们将使用 Prometheus 作为数据采集工具,Grafana 作为数据可视化工具,并通过 Docker Compose 来简化部署过程。

视频地址

第一步:挂载 JuiceFS 文件系统

在开始之前,你需要有一个 JuiceFS 文件系统,可以参考第一期视频No.1 开源 JuiceFS 文件系统 13 分钟快速上手指南来创建一个可以用于生产环境的 JuiceFS 文件系统。

如果只是为了学习和测试,可以使用以下命令创建一个 JuiceFS 文件系统:

bash
# 安装 JuiceFS 客户端
curl -sSL https://d.juicefs.com/install | sh -

# 创建 JuiceFS 文件系统
juicefs format sqlite3://myjfs.db myjfs

# 挂载 JuiceFS 文件系统
sudo juicefs mount sqlite3://myjfs.db /mnt/myjfs

上述命令会创建一个名为 myjfs 的文件系统,使用 SQLite 数据库作为元数据引擎,数据默认会存储在本地 ~/.juicefs/local/myjfs/ 目录,挂载点为 /mnt/myjfs 目录。

第二步:安装 Prometheus 和 Grafana

创建一个目录用来存放配置文件和数据:

bash
mkdir -p ~/juicefs-monitoring
cd ~/juicefs-monitoring

创建并编辑 prometheus.yml 文件,配置 Prometheus 以抓取 JuiceFS 的指标数据。

yaml
global:
  scrape_interval: 15s
  evaluation_interval: 15s

alerting:
  alertmanagers:
    - static_configs:
        - targets:
          # - alertmanager:9093

rule_files:
  # - "first_rules.yml"
  # - "second_rules.yml"

scrape_configs:
  - job_name: "prometheus"
    static_configs:
      - targets: ["localhost:9090"]

  - job_name: "juicefs"
    static_configs:
      # 替换为你的 JuiceFS 实例地址
      - targets: ["host.docker.internal:9567"]

创建 Docker compose 配置文件 docker-compose.yml 来部署 Prometheus 和 Grafana:

yaml
services:
  prometheus:
    image: prom/prometheus:latest
    container_name: prometheus
    restart: unless-stopped
    volumes:
      - ./prometheus.yml:/etc/prometheus/prometheus.yml # 挂载 Prometheus 配置文件
      - prometheus_data:/prometheus # 挂载 Prometheus 数据目录
    command:
      - '--config.file=/etc/prometheus/prometheus.yml'
      - '--storage.tsdb.path=/prometheus'
    ports:
      - '9090:9090'
    networks:
      - monitoring
    extra_hosts:
      - "host.docker.internal:host-gateway"

  grafana:
    image: grafana/grafana:latest
    container_name: grafana
    restart: unless-stopped
    environment:
      - GF_SERVER_ROOT_URL=http://localhost:3000/ # 修改为您的 Grafana 访问地址
    ports:
      - '3000:3000'
    volumes:
      - grafana_storage:/var/lib/grafana
    depends_on:
      - prometheus # 确保 Prometheus 先启动
    networks:
      - monitoring

volumes:
  grafana_storage: {}
  prometheus_data: {}

networks:
  monitoring:
    driver: bridge

启动服务

bash
sudo docker compose up -d

Prometheus 将会在 http://localhost:9090 上运行

第三步:在 Grafana 配置 JuiceFS 数据的可视化

访问 http://localhost:3000 打开 Grafana 的 WebUI,初始用户名和密码都是 admin

登录后,按照以下步骤配置 JuiceFS 数据的可视化:

  1. 在 Grafana 中添加数据源,选择 Prometheus,输入 Prometheus 的地址 http://prometheus:9090
  2. 在 Grafana 中创建新的仪表盘,JuiceFS 官方维护的 Dashboard ID 是 20794,可以在 Grafana 的 Dashboard 导入页面中输入该 ID。
  3. 在 Dashboard 中,选择数据源即可看到 JuiceFS 的各种指标数据,如文件系统的使用情况、性能指标等。