-
-
Notifications
You must be signed in to change notification settings - Fork 1.1k
MonitoringPlugin zh CN
MonitoringPlugin 是 ASF 官方插件,它允许您通过 Prometheus 时间序列数据库监控 ASF 进程。
显示

由于技术限制,此插件需要 generic 版本的 ASF。
ASF 默认不打包 MonitoringPlugin,但它会作为可选组件包含在每个 ASF 版本中。 从官方发行版页面下载符合您 ASF 版本的插件,然后为这个插件创建专门的 plugins/ArchiSteamFarm.OfficialPlugins.Monitoring 文件夹,最后将压缩文件解压到其中。
在 ASF 程序下次启动时,此插件会通过标准的 ASF 日志机制通知您插件已成功启用。 您也可以访问 IPC 接口的 /Api/metrics URL,来验证这一点。 如果您使用 IPC 密码,则需要提供正确的身份验证信息,例如,在 /Api/metrics URL 后面添加 ?password=<密码>。 您看到的内容应该类似这样:
# TYPE asf_build_info gauge
# HELP asf_build_info Build information about ASF in form of label values
asf_build_info{variant="source",version="6.0.2.5"} 1 1713715703686
# TYPE asf_runtime_info gauge
# HELP asf_runtime_info Runtime information about ASF in form of label values
asf_runtime_info{framework=".NET 8.0.4",operating_system="Debian GNU/Linux trixie/sid",runtime="linux-x64"} 1 1713715703686
(...)
与 ASF 及其机器人相关的指标名称包含专用前缀 asf_。 其他指标通常是 .NET 运行时环境或 ASF 的 HttpClient 根据通用 .NET 进程规则自动生成的,它们不带有这个前缀。
您确认插件正常工作之后,就可以像这样,在您的 Prometheus 实例中添加一个抓取配置:
scrape_configs:
- job_name: ArchiSteamFarm
metric_name_escaping_scheme: underscores # 如果使用 Prometheus V2.x 则删除 - 阅读下文了解详情
metrics_path: /Api/metrics
params:
password:
- 您的 IPC 密码
static_configs:
- targets:
- 127.0.0.1:1242很显然,您需要确保您托管的 Prometheus 实例能够访问到 ASF 的 IPC 接口,并根据您的实际情况填写 password 和 targets 配置。 如果您没有设置 IPC 密码(不推荐),则可以逃过 params 部分。 如果您正在运行多个 IPC 密码不同的 ASF 实例,则可以添加额外的抓取配置,每个实例对应一组配置,因为查询参数无法按照每个 Target 单独配置。 否则,如果他们的密码相同,您就可以直接声明多个 targets。
Prometheus 收集到您的统计指标后,您就可以使用 Grafana 来显示数据。 此插件自带 /grafana-dashboard.json 文件,并通过标准 IPC 机制托管,所以假设您正以默认设置运行 ASF 实例,则可以在这里下载。 或者,您也可以从我们的代码仓库获取。
自版本 V6.3.8.4 以来,ASF 支持了各种指标转义方案,从 V6.3.9.4 版本开始采用统一、完整的解决方案(作为 #3607 的一部分)。
遗憾的是,这会给我们的 Grafana 仪表盘带来一个小问题,因为要让仪表盘正常工作,就必须使用 Prometheus 解析后的精确指标名称,而 Prometheus 默认会采用两种不同的处理方式,具体取决于您使用的是 V2.x 还是 V3.x 版本。 阅读 UTF-8 Prometheus 文档了解更多。
在 Prometheus V3.x 尚未得到广泛采用之前(目前以 Debian Stable 所使用的版本作为参考标准),我们建议继续采用旧版兼容方案,也就是:
- 我们提供的 Grafana 仪表盘默认使用下划线形式的指标名称,这些名称可以被 Prometheus
V2.x正确识别。 - 如果使用 Prometheus
V3.x,请在 ASF 的抓取配置中加入metric_name_escaping_scheme: underscores(如上面的示例所示)。
这是因为,虽然 Prometheus V3.x 可以很方便地配置为旧版兼容方案,但 Prometheus V2.x 并没有强制抓取任务采用新方案的选项。
未来,我们可能会重构 Grafana 仪表盘,使其改用新的推荐默认设置,到那时,将不再需要额外配置。 但如果现在就这么做,会给仍在使用旧版 Prometheus 的用户带来兼容性问题,这是没有必要的。
当然,ASF 插件本身支持所有不同的格式化方式,因此您始终可以选择自己喜欢的方案,并自行调整 Grafana 仪表盘以与之匹配,我们只是为您提供了一行简单的配置修改建议。







