
日志
sdmei
Oracle\Mysql DBA、K8S、DevOps、公有云、运维开发 ...
展开
-
基于spark实时分析nginx请求日志,自动封禁IP之一:web功能设计
用过阿里高防的都知道,高防有个很牛X的防CC功能配置:基于域名,基于某URL(精确匹配或后模糊匹配),限制某个时间跨度的请求频率,超过该频率会拉黑n分钟,如:10秒内请求20次,达到这个阈值则拉黑IP5分钟。然而:高防不是所有公司都用得起的(月费用1万以上),高防配置的域名数量越来越苛刻(一级域名和二级域名数都有严格限制了),高防也有抽风的时候,有很多时候发现该功能没起效果,所以我们搞了个自己的防CC功能。改方案暂取名lbwaf,主要功能包括手动拉黑(就是手动填IP黑名单),自动拉黑(重点功原创 2020-05-12 11:46:16 · 601 阅读 · 0 评论 -
基于spark实时分析nginx请求日志,自动封禁IP之二:日志实时分析
整体思路:从kafka集群读取请求日志流,经过spark structured streaming(结构化流)实时分析,将触发阈值的数据输出至mysql。1.数据源nginx日志通过syslog协议输出至logstash,然后同时写入es和kafka:nginx -> logstash -> elasticsearch and kafkalogstash配置:output { elasticsearch { …… } ## 尽可能在来源...原创 2020-05-15 14:02:32 · 1493 阅读 · 0 评论 -
用syslog服务器收集java日志
初来公司时,java日志收集使用的nfs方式,将nfs server上的一块大容量磁盘挂载到所有java服务器的$catalina_home/logs目录,解决服务器本地空间不足问题;这个方案的弊端是,如果nfs server想停机做个维护,几乎不可行;同时,多节点的日志在nfs服务器上是分开的,如果某个应用有8个节点,那查日志要查8个文件。用syslog收集java日志,能完美解决这个问题。安装...原创 2018-04-05 12:27:39 · 3660 阅读 · 0 评论 -
ELK收集监控nginx请求日志
1.前言对于互联网公司来说,nginx的请求日志简直就是一座金矿,如果不能充分利用,简直太可惜了。初期一般都是输出到日志文件,要查什么就awk\grep\uniq\sort...,能满足不少统计需求,但最大的缺点是不直观,不方便监控(目前虽然用了ELK,但是有些信息我还是用shell统计,两者互补)。整理下实施ELK最起码要实现的需求:查询条件(精确匹配):一级域名、二级域名、客户真实IP、HTT...原创 2018-05-05 23:02:17 · 9552 阅读 · 7 评论 -
ELK的监控工具Elastalert的报警功能扩展
Nginx请求日志输出到ELK,同时通过Elastalert监控ELK日志中的关键信息(如http状态500+错误,耗时较长的请求数达到阈值等等),这几乎是中小型互联网公司的标配。Elastalert自带的报警方式虽然多种多样,但是不能实现根据报警信息分组发送,如研发人员也很关心这些指标,需要接受本项目的报警,运维需要接受所有项目的报警,报警方式要支持电话语音、短信、邮件、钉钉群。要实现这些,...原创 2019-05-08 13:39:04 · 4526 阅读 · 0 评论