日志格式化器和客户端哨兵
snitch的Python项目详细描述
使用工具 [哨兵](https://github.com/getsentry/sentry)。我们惹上麻烦了 使用应用内Sentry客户端 [raven python](https://github.com/getsentry/raven-python)客户端 数量很大,所以我们决定把http帖子从 应用程序本身。告密者帮了忙。
log2json
是一个stdlib日志格式化程序,它将以sentry的json格式输出日志记录 格式。您可以使用任何处理程序,但我们将其与文件处理程序一起使用,因此 应用程序总是可以快速转储日志记录,而不必 等待http帖子。
告密者
监视新行的日志文件(如尾部,但跳过所有现有的) 内容)并将http post请求中的每一新行发送给哨兵 应用程序编程接口。告密者每半分钟左右重新加载一次日志文件。一方面, 另一方面,这是处理原木旋转的变通方法, 这样只需删除所有内容和 与当前重新同步。我是说,当它重新打开文件时 有效地跳过已经记录到文件中的所有内容,但是 尚未处理,因为它在 重新打开。这就是我们想要的。而且,告密者会做一次。睡觉(.1) 在所有岗位之间作为限速器。
备选方案
我还没有研究使用udp代替tcp来发送 信息。这可以解决发送主机上的问题,但仍然存在 可能淹没哨兵。