我正在编写一个将在后台连续运行并完成它的守护进程。我想监控性能和其他各种变量。这将包括 Web 请求延迟、错误、已处理项目的数量等。
然后,数据应与图表、报告(平均值、异常值)和超出限制时的警报一起可供查看。
Windows上的性能计数器是我能找到的最接近的东西。您可以定义自己的计数器,然后轻松地从代码中访问它们。
请注意,我不是在寻找命名的“性能”计数器,它更像是应用程序计数器 - 即我不关心执行指令和缓存未命中的数量,而是关心自定义计数器。与此类似的 StackOverflow 问题的回答错过了这一点:Linux 中的应用程序计数器?(和 OSX?)
我看过 Cacti(和替代品),但他们似乎按计划运行脚本,提供数据。这意味着我会将计数器存储在我的守护程序中,以及等待某种 IPC 调用的线程。然后我需要创建第二个应用程序/脚本,它将通过这个 IPC 接口连接并检索存储的值。
有没有更好的办法?一些 C 库可以通过单个函数调用来增加一个计数器,并且它会自动通过前端进行处理?