FabricExporter

FabricExporter

为Fabric模组添加一个带有服务器常规指标的Prometheus导出器

工具

FabricExporter

一个 Fabric 模组,为你的服务器添加带常规指标的 Prometheus 导出器。

Grafana Dashboard


这是一个服务端模组,以 Prometheus 格式暴露你 Fabric 服务器的指标。 因此,你需要至少安装 Prometheus 来采集所提供的指标。 我还推荐使用 Grafana 来可视化数据。

如果你想获取 TPS 和 MSPT 指标,你还需要为你的 Fabric 服务器安装 Spark 模组。

暴露的指标

以下是由 FabricExporter 采集的指标列表。

  • 由 Minecraft 采集的指标不需要额外依赖,但在旧版 Minecraft 上运行时可能会引发错误
  • 由 Spark 采集的指标需要安装 Spark

你可以在配置中禁用其中任何一个指标。

Prometheus 名称 描述 配置属性 采集来源
minecraft_loaded_chunks 服务器当前已加载的区块数量 enable-loaded-chunks Minecraft
minecraft_total_loaded_chunks 服务器累计加载的区块总数 enable-total-loaded-chunks Minecraft
minecraft_mspt 每 tick 的毫秒数(MSPT) enable-mspt Spark
minecraft_tps 每秒 tick 数(TPS) enable-tps Spark
minecraft_players_online 服务器当前在线的玩家数量 enable-players-online FabricExporter
minecraft_entities 服务器当前加载的实体数量 enable-entities FabricExporter
minecraft_handshakes 握手的请求计数 enable-handshakes FabricExporter

快速开始

要使用本模组,你至少需要安装 Fabric 服务器和 Prometheus。

安装模组

  1. 从 Releases 页面下载模组。
  2. 将下载好的模组 jar 放入 mods 文件夹。
  3. 启动服务器以生成配置文件。
  4. 打开 config/exporter.properties,确保 server-port 的值是一个开放端口且可被你的 Prometheus 访问,如有需要请修改它。
  5. 如果你修改了配置,请重启服务器。

配置 Prometheus

  1. 打开你的 Prometheus 配置文件(默认位置为 /etc/prometheus/prometheus.yml)。
sudo nano /etc/prometheus/prometheus.yml
  1. 将 FabricExporter 端点添加到 scrape_configs 部分。 别忘了将 127.0.0.1 替换为你的服务器地址,并将 25585 替换为 exporter.properties 文件中 server-port 属性指定的端口。
- job_name: 'fabric'
  static_configs:
    - targets: ['127.0.0.1:25585']
  1. 重启 Prometheus 服务。
sudo service prometheus restart

导入 Grafana 仪表盘

如果你想使用 Grafana,你可以使用我的仪表盘作为模板。 我假设你已经在 Grafana 中创建了 Prometheus 数据源。 接下来,让我们导入 FabricExporter 仪表盘。

  1. 登录你的 Grafana,进入 Create -> Import 标签页。
  2. 在“Import via grafana.com”字段中输入 14492 并点击“Load”。
  3. 在下一页按需调整设置,然后点击“Import”。

配置

服务器启动后,FabricExporter 将在 config 文件夹中创建 exporter.properties 文件。 你应该使用该文件来配置模组。 在此文件中,你可以看到一些常规设置和指标设置。

常规设置

属性 描述 默认值
server-port Web 服务器监听请求的端口 25585
update-interval 计量指标更新的时间间隔(毫秒) 1000
use-spark 如果设置为 false,FabricExporter 将不依赖 Spark true

指标设置

你可以使用 exporter.properties 文件禁用任何通过 MetricRegistry 注册的指标(默认情况下所有指标)。 属性名称由 enable 和去掉前缀、将 _ 替换为 - 的指标名称组成。 例如,如果你想禁用 minecraft_players_online,你应该将 enable-players-online 设置为 false。 你还可以在“暴露的指标”部分查看可用属性列表。 如果找不到某些指标的属性,你可以手动添加。 所有指标默认启用。

许可证

MIT 许可证。更多详情请阅读 LICENSE。