[GH-ISSUE #1748] 希望能增加事件上报到http api的功能 #1382

Closed
opened 2026-05-05 12:52:30 -06:00 by gitea-mirror · 9 comments
Owner

Originally created by @hyperzlib on GitHub (Apr 12, 2020).
Original GitHub issue: https://github.com/fatedier/frp/issues/1748

把连接和断开发送到http api,方便网站管理员在frp有问题的时候及时收到提示

Originally created by @hyperzlib on GitHub (Apr 12, 2020). Original GitHub issue: https://github.com/fatedier/frp/issues/1748 把连接和断开发送到http api,方便网站管理员在frp有问题的时候及时收到提示
Author
Owner

@fatedier commented on GitHub (Apr 12, 2020):

不管是否使用 frp,监控的场景始终存在,是否自行做网站健康检查更加适合作为一个通用的解决方案。

<!-- gh-comment-id:612561127 --> @fatedier commented on GitHub (Apr 12, 2020): 不管是否使用 frp,监控的场景始终存在,是否自行做网站健康检查更加适合作为一个通用的解决方案。
Author
Owner

@hyperzlib commented on GitHub (Apr 12, 2020):

如果frp能上报事件,比起轮询来说数据更新会更快

<!-- gh-comment-id:612605063 --> @hyperzlib commented on GitHub (Apr 12, 2020): 如果frp能上报事件,比起轮询来说数据更新会更快
Author
Owner

@fatedier commented on GitHub (Apr 12, 2020):

即使代理注册到 frp,并不代表可用。事件也并不能保证可靠不丢失,依靠这个机制仅仅能做辅助,不能依赖其保证应用的稳定性。

从通用性的设计上考虑,frp 自身不会提供这样的能力。有可能借助的能力:

  1. 通过 服务端管理插件,插件机制可以在原先 frps 的执行逻辑中加入自定义的处理逻辑。
  2. 通过 frps 的 API 获取代理状态,也就是目前 dashboard 使用的接口,接口目前不太规范,后续可能会重新设计。
<!-- gh-comment-id:612607624 --> @fatedier commented on GitHub (Apr 12, 2020): 即使代理注册到 frp,并不代表可用。事件也并不能保证可靠不丢失,依靠这个机制仅仅能做辅助,不能依赖其保证应用的稳定性。 从通用性的设计上考虑,frp 自身不会提供这样的能力。有可能借助的能力: 1. 通过 [服务端管理插件](https://github.com/fatedier/frp/blob/master/doc/server_plugin_zh.md),插件机制可以在原先 frps 的执行逻辑中加入自定义的处理逻辑。 2. 通过 frps 的 API 获取代理状态,也就是目前 dashboard 使用的接口,接口目前不太规范,后续可能会重新设计。
Author
Owner

@hyperzlib commented on GitHub (Apr 12, 2020):

那以后会出ws的api吗?

<!-- gh-comment-id:612608073 --> @hyperzlib commented on GitHub (Apr 12, 2020): 那以后会出ws的api吗?
Author
Owner

@fatedier commented on GitHub (Apr 12, 2020):

API 接口目前只会有 HTTP,不会有 ws,没有这种需求。

<!-- gh-comment-id:612608959 --> @fatedier commented on GitHub (Apr 12, 2020): API 接口目前只会有 HTTP,不会有 ws,没有这种需求。
Author
Owner

@hyperzlib commented on GitHub (Apr 12, 2020):

目前想到了偏方,直接用nodejs监控console输出。

<!-- gh-comment-id:612609142 --> @hyperzlib commented on GitHub (Apr 12, 2020): 目前想到了偏方,直接用nodejs监控console输出。
Author
Owner

@fatedier commented on GitHub (Apr 12, 2020):

不太推荐这种用法,如果真的要强依赖这种方法,还是思考一下设计上是否就有可以优化的地方。

<!-- gh-comment-id:612609674 --> @fatedier commented on GitHub (Apr 12, 2020): 不太推荐这种用法,如果真的要强依赖这种方法,还是思考一下设计上是否就有可以优化的地方。
Author
Owner

@hyperzlib commented on GitHub (Apr 12, 2020):

主要是墙的原因,开的socket多了容易被墙拦住,所以最好复用连接。

<!-- gh-comment-id:612625114 --> @hyperzlib commented on GitHub (Apr 12, 2020): 主要是墙的原因,开的socket多了容易被墙拦住,所以最好复用连接。
Author
Owner

@fatedier commented on GitHub (Apr 13, 2020):

HTTP 本身可以复用连接,或者也可以选择通过 nginx 做一层反向代理,通过 HTTP2 暴露。

<!-- gh-comment-id:612726714 --> @fatedier commented on GitHub (Apr 13, 2020): HTTP 本身可以复用连接,或者也可以选择通过 nginx 做一层反向代理,通过 HTTP2 暴露。
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: github-starred/frp#1382
No description provided.