Java 对服务端处理逻辑进行监控并报警

2017-01-11 23:36:46 +08:00
 Weixiao0725

假设我有一台 tomcat 服务器处理请求,我想监控的是,假设 1 分钟内有超过 10 个请求被处理时都报 exception 了,我就发邮件或者短信进行报警。这个该怎么实现呢?

3941 次点击
所在节点    Java
10 条回复
pelloz
2017-01-11 23:53:02 +08:00
安装 tomcat 探针或者针对单个程序使用切面?
ihuotui
2017-01-12 00:31:04 +08:00
百度 elk
publicAdmin
2017-01-12 00:31:19 +08:00
可以尝试着了解下 zabbix
letitbesqzr
2017-01-12 08:39:33 +08:00
我们用 elk +elastalert
colincat
2017-01-12 10:12:25 +08:00
cat 大众点评
ArcherFeel
2017-01-12 10:20:45 +08:00
> 我想监控的是,假设 1 分钟内有超过 10 个请求被处理时都报 exception 了,我就发邮件或者短信进行报警。

https://github.com/ArcherFeel/awacs 也许不是百分百符合你的需求. 这个是无侵入的 APM, 且每次发生未捕获的异常都会报警. 重点是未捕获哈, 而且可以配置某些包名前缀的 Exception 不报警.
很想发张截图, 但不知道 v2 怎么回复图片.
大概像酱:

```
{
"exception":"java.lang.IllegalArgumentException",
"stack":[
{
"fileName":"ByteUtils.java",
"nativeMethod":false,
"methodName":"checkKey",
"className":"net.rubyeye.xmemcached.utils.ByteUtils",
"lineNumber":139
},
...
"host":"xxxxx",
"pid":21507,
"thread":"http-apr-127.0.0.1-9000-exec-69",
"timestamp":1484134860
}
```

当然 awacs 作为一个 APM,除了异常报警之外,当然理所应当还提供了性能监控, 每次请求的耗时都会被记录下来.
teemoer
2017-01-12 13:06:44 +08:00
ihuotui
2017-01-12 21:08:31 +08:00
apm 也可以,有收费和免费
spice630
2017-01-12 22:08:56 +08:00
日志监控,比如 elk
ArcherFeel
2017-01-13 00:04:57 +08:00
@teemoer ...

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/333996

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX