十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

JuiceFS 怎么把 Prometheus 监控指标接入 Grafana 看板

JuiceFS 怎么把 Prometheus 监控指标接入 Grafana 看板 JuiceFS 怎么把 Prometheus 监控指标接入 Grafana 看板【免费下载链接】juicefsJuiceFS is a distributed POSIX file system built on top of Redis and S3.项目地址: https://gitcode.com/GitHub_Trending/ju/juicefsJuiceFS 客户端在运行时会输出 Prometheus 格式的监控指标但这些指标默认只暴露在客户端本机的一个地址上无法直接按时间观察。要把 JuiceFS 的容量、读写吞吐、缓存命中、元数据延迟等指标接进 Grafana需要完成三步配置 Prometheus 周期抓取客户端指标、在 Grafana 中配置 Prometheus 数据源、导入官方 JuiceFS 看板模板。本文以juicefs mount挂载的 FUSE 客户端为主路径从指标地址确认一直讲到看板呈现最后覆盖 S3 Gateway、Hadoop Java SDK、Consul 注册等其他接入方式。前提条件JuiceFS 客户端已挂载成功且已按官方文档安装开源版 Prometheus 与 Grafana项目文档以开源版本为例。确认客户端暴露的指标地址通过juicefs mount挂载后JuiceFS 会自动在http://localhost:9567/metrics暴露 Prometheus 格式的监控指标以下示例假设客户端与 Prometheus 同机。先用命令行确认指标可访问curl http://localhost:9567/metrics返回 Prometheus 格式的指标文本即表示地址可用项目文档附带的 prometheus-client-data.jpg 截图是文档示例输出各客户端的实际指标项会有差异。如果默认地址不合适挂载时用--metrics选项自定义例如juicefs mount --metrics localhost:9567 ...另外两个查看方式供不用 Prometheus 时快速核对指标文件系统根目录下的隐藏文件.stats直接cat即可假设挂载点为/jfscat /jfs/.stats需要实时刷新输出时用juicefs stats命令它以类似dstat的格式持续打印 CPU/内存、FUSE 读写带宽、元数据操作与本地缓存等性能数据。配置 Prometheus 抓取 JuiceFS 指标编辑prometheus.yml在scrape_configs下新增 JuiceFS 的抓取任务。项目文档给出的完整配置示例如下其中新增部分是job_name: juicefs这一段global: scrape_interval: 15s evaluation_interval: 15s alerting: alertmanagers: - static_configs: - targets: # - alertmanager:9093 rule_files: # - rules.yml scrape_configs: - job_name: prometheus static_configs: - targets: [localhost:9090] - job_name: juicefs static_configs: - targets: [localhost:9567]targets指向客户端暴露指标的地址文档示例为同机的localhost:9567客户端在其他机器上时把它改成对应机器的地址即可端口与挂载命令中--metrics选项的取值保持一致文档中该选项默认值为127.0.0.1:9567。启动 Prometheus 服务./prometheus --config.fileprometheus.yml启动后访问http://localhost:9090能看到 Prometheus 界面即表示抓取服务已就绪这一步也是项目文档给出的检查方式。在 Grafana 中配置 Prometheus 数据源在 Grafana 中新建一个类型为 Prometheus 的数据源Name便于识别的名字例如文件系统名称URLPrometheus 的数据 API 地址通常为http://localhost:9090。导入官方 JuiceFS 看板模板JuiceFS 提供官方 Grafana 看板模板在 Grafana 的导入流程中使用看板 ID20794项目文档同时给出了 Grafana 官方看板库中对应条目的页面地址导入即可数据源指向上一节创建的 Prometheus 数据源。导入完成后看板呈现官方模板的完整面板效果以上文开头的文档示例图为准。其他客户端类型的接入方式以下分支仅在你的客户端不是 FUSE 挂载时参考主路径步骤不变只是指标采集端点不同。S3 Gateway需要 JuiceFS 客户端版本 0.17.1 及以上。Gateway 默认同样在http://localhost:9567/metrics提供监控指标可用-metrics选项自定义例如juicefs gateway --metrics localhost:9567 ...在 Kubernetes 中部署 Gateway 时文档给出了基于 Pod Service Discovery 的抓取配置保留app.kubernetes.io/namejuicefs-s3-gateway的 Pod并把端口替换为 9567scrape_configs: - job_name: juicefs-s3-gateway kubernetes_sd_configs: - role: pod relabel_configs: - source_labels: [__meta_kubernetes_pod_label_app_kubernetes_io_name] action: keep regex: juicefs-s3-gateway - source_labels: [__address__] action: replace regex: ([^:])(:\d)? replacement: $1:9567 target_label: __address__ - source_labels: [__meta_kubernetes_pod_node_name] target_label: node action: replaceHadoop Java SDKHadoop Java SDK 不对外暴露 HTTP 指标端点而是支持把指标推送到 Pushgateway、Graphite 或 Prometheus remote write 端点对应配置项分别为juicefs.push-gateway、juicefs.push-graphite、juicefs.push-remote-write推送频率用juicefs.push-interval调整默认每 10 秒一次property namejuicefs.push-gateway/name valuehost:port/value /property使用 Pushgateway 时项目文档有三点提示Prometheus 的 scrape 配置需设置honor_labels: truePushgateway 默认只在内存保存指标可配合--persistence.file与--persistence.interval落盘默认每 5 分钟保存一次各进程指标会持续累积建议定期清理。清理命令会清除 Pushgateway 上的全部监控指标不影响正在运行的 SDK 继续上报且 Pushgateway 启动时必须带--web.enable-admin-apicurl -X PUT http://host:9091/api/v1/admin/wipe使用 Consul 作为注册中心客户端版本 1.0.0 及以上支持用 Consul 注册 metrics API 地址默认 Consul 地址为127.0.0.1:8500可用--consul选项自定义例如juicefs mount --consul 1.2.3.4:8500 ...配置了 Consul 地址后无需再配--metricsJuiceFS 会按自身网络与端口条件自动确定 metrics 地址若同时设置了--metrics会优先尝试监听该地址。每个注册到 Consul 的服务服务名固定为juicefs服务 ID 格式为IP:mount-pointS3 Gateway 的mountpoint值恒为s3gatewaymeta 中带hostname与mountpoint两个键。之后在prometheus.yml中新增consul_sd_config配置并把services填为juicefs即可完成发现。常用指标与标签速查看板各面板对应的指标名可在 JuiceFS Metrics 中查到。所有指标带有三个全局标签标签含义vol_name卷名instance客户端主机格式host:portmp挂载点路径经 Pushgateway 上报时如 Hadoop Java SDK为sdk-PID几个高频指标juicefs_used_space已用空间byte、juicefs_used_inodesinode 数、juicefs_cpu_usage累积 CPU 用量second、juicefs_blockcache_hits/juicefs_blockcache_miss本地缓存命中/未命中次数、juicefs_object_request_errors对象存储失败请求数。多客户端接入同一 Prometheus 时靠instance与mp标签区分不同挂载点。边界与限制本文主路径对应juicefs mount的 FUSE 客户端Kubernetes CSI Driver 场景的指标采集方式不同项目文档将其指向 CSI Driver 的专门文档本文不展开。版本要求S3 Gateway 的监控指标需要客户端 0.17.1 及以上Consul 注册需要 1.0.0 及以上。指标端点默认绑定本机127.0.0.1:9567跨机器抓取时必须先用--metrics明确监听地址再在 Prometheus 的targets中指向它完整配置项说明见监控与数据可视化文档。【免费下载链接】juicefsJuiceFS is a distributed POSIX file system built on top of Redis and S3.项目地址: https://gitcode.com/GitHub_Trending/ju/juicefs创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表