问题描述
在 DevOps 社区中,已经有许多基础设施监控工具,比如 Nagios 或更低级别的 curl。但如果我只想以类似的方式在前端跟踪一些 API,有哪些已知的比较成熟的流行工具或组件来支持这种功能呢?例如,像 Nagios 一样,但完全在浏览器内部运行(从服务器加载静态配置文件以及 JS 库是可以接受的)。
解决方案
请注意以下操作可能涉及商业产品或手动实现,确保根据实际需求选择最合适的方式。
方案1:使用商业 API 监控解决方案
如果你可以支付费用,可以考虑使用商业的 API 监控解决方案,如 Runscope 或 APImetrics。这些解决方案易于设置,无需维护成本,并提供详细的数据和告警功能。但需要注意,这些解决方案需要付费,并且如果你的运维预算有限,或者这是一个业余项目,可能难以为这些费用提供合理的理由。
方案2:自行实现
如果你有自己的系统监控和指标设置(如 Nagios/Icinga/Sensu 和 Grafana 等),你可以编写检查脚本来获取所需的数据(可用性、响应时间或延迟等)。其中一些工具与时间序列数据库(如 graphite/influxDB)集成,因此你可以将检查数据推送到数据库中,并使用可视化工具如 Grafana 来展示基于这些数据的图表(这里有一个关于 Icinga-Grafana 集成的 博客文章)。
方案3:手动实现
虽然没有现成的流行工具完全在浏览器内部运行监控,但你也可以通过手动编写 HTML/CSS/JS 来实现类似的功能。这样的解决方案会相对简单,但可能不够美观,但它能够满足你所提到的需求。
需要注意的是,完全在浏览器内部运行的监控方式仅在浏览器窗口打开时才会执行检查,因此在整体监控的可靠性方面可能会受限。这对于临时性的、仅在浏览器窗口寿命内监控当前状态是有用的。
请根据你的需求选择适合的解决方案,以确保你的站点监控需求得到满足。
注:以上解决方案仅供参考,具体解决方案的选择应根据实际需求和可行性进行判断。