SuperAPI AI 工具集

goodissues-reporter

部署与运维

查看项目

更新于 10-18 02:31

技能介绍

GoodIssuesReporter 用于在 Elixir/Phoenix 应用中完成 GoodIssuesReporter 的安装与配置,通过斜杠命令 /goodissues-reporter [subcommand] 分发子命令。目前提供两个子命令:bootstrap 用于向 Phoenix 应用添加 GoodIssuesReporter;help 显示全部可用子命令列表。若调用时不带子命令,则输出帮助信息;若子命令未知,则列出可用子命令后停止。

用途与能力

该技能的核心用途是把 GoodIssuesReporter 接入现有 Phoenix 应用,并检查项目中已有的配置,只补充缺失部分。接入过程可选择启用六类功能:错误上报(默认启用,将 error_tracker 的 telemetry 事件上报至 GoodIssues)、系统监控(默认启用,轮询 BEAM/OS 指标并在超过阈值时上报)、网络扫描(默认关闭,扫描意外开放的 TCP 端口)、OpenTelemetry(默认关闭,自动为 Phoenix、LiveView 和 Ecto 插桩)、健康端点(默认启用,挂载 /gi/health 用于就绪检查)、心跳监控(默认关闭,周期性健康检查探测)。

使用方式

执行 bootstrap 前,技能会先验证项目为 Phoenix 应用:存在 mix.exs,且 lib/ 中包含带监督树的应用模块;否则提示用户并停止。随后询问用户要启用哪些功能,并按工作流依次执行:在 mix.exs 中添加 {:good_issues_reporter, github: "agoodway/goodissues_reporter"},按需添加 error_tracker 与 OpenTelemetry 相关依赖;在 config/runtime.exs 中配置 API URL、API Key 与项目 ID,并按启用的功能添加系统监控、网络扫描、OpenTelemetry 与心跳监控配置;在 dev 与 test 配置中关闭该组件;将 {GoodIssuesReporter, []} 加入监督树,置于 Repo 之后、Endpoint 之前;按需在路由中 forward "/gi", GoodIssuesReporter.HealthRouter;补充 .env.sample / .env 的环境变量占位;执行 mix deps.get 与 mix compile,若添加了 error_tracker 还需执行 mix error_tracker.install 与 mix ecto.migrate;最后用 mix compile --warnings-as-errors 验证无相关警告。完成后会汇总添加内容,并提醒设置环境变量、在 goodissues.dev 创建项目获取项目 ID、按部署规模复核监控阈值,以及公开应用时将健康路由置于鉴权之后。

配置参考

必填环境变量包括 GOODISSUES_API_URL(GoodIssues 实例基础 URL,如 https://goodissues.dev)、GOODISSUES_API_KEY(Bearer 认证用 API Key)、GOODISSUES_PROJECT_ID(上报目标项目的 UUID)。系统监控默认阈值包括 memory_total_mb 512、memory_processes_mb 256、process_count 50,000、atom_count 500,000、cpu_percent 90、disk_percent 85。网络扫描支持 :deny(列出的端口开放即告警)与 :allow(未列出的端口开放即告警)两种策略。

适用场景与限制

适用于需要在 Phoenix 项目中接入错误上报、系统监控、端口扫描与分布式追踪的开发与运维场景。该技能仅面向 Phoenix 应用,非 Phoenix 项目会被拒绝;功能启用与否由用户选择,默认值如资料所述。未在资料中说明的定价、平台支持范围与具体告警效果暂未提供。