我正在努力做到这一点:
当在 webapp 上生成异常时,我想通过它的 api 将异常记录到 zabbix。
浏览 api 和互联网,我没有发现任何有用的东西。
我不想使用 zabbix_sender,我只想对 api 进行 POST 调用。
不能使用 zabbix API 提交监控数据。您需要使用与 zabbix_sender 相同的协议。如果我没记错的话,它是仅基于最新版本的 zabbix sever 的 json,但无论如何你最好使用 zabbix 2.0。该协议是基于 TCP 套接字的发送,我不能说任何关于 .net 的内容,但有很多实现。对我来说,最有用的是python 中的这个。
不确定我是否理解这个问题。我将其拆分为 2:
1. 拦截异常
2. 使用 Zabbix 发送
我无法帮助2
,因为我不熟悉“Zabbix”。但是,如果您需要拦截所有或未处理的异常,您可以注册到以下 AppDomain 事件:
AppDomain.UnhandledException
AppDomain.FirstChanceException
您可以在初始化代码中执行注册(例如Global.asax
):
AppDomain.Current.UnhandledException += (s, args) => ... // Send using Zabbix