惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园 - 三生石上(FineUI控件)
L
LangChain Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
Blog — PlanetScale
Blog — PlanetScale
H
Hackread – Cybersecurity News, Data Breaches, AI and More
D
Docker
T
Tailwind CSS Blog
T
The Blog of Author Tim Ferriss
U
Unit 42
B
Blog
N
Netflix TechBlog - Medium
T
Threat Research - Cisco Blogs
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
O
OpenAI News
M
MIT News - Artificial intelligence
D
DataBreaches.Net
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
L
LINUX DO - 热门话题
C
CERT Recently Published Vulnerability Notes
V
Visual Studio Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
N
News and Events Feed by Topic
Vercel News
Vercel News
T
Tenable Blog
Security Latest
Security Latest
C
Check Point Blog
云风的 BLOG
云风的 BLOG
PCI Perspectives
PCI Perspectives
月光博客
月光博客
TaoSecurity Blog
TaoSecurity Blog
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
Project Zero
Project Zero
雷峰网
雷峰网
IT之家
IT之家
H
Hacker News: Front Page
Microsoft Security Blog
Microsoft Security Blog
B
Blog RSS Feed
Application and Cybersecurity Blog
Application and Cybersecurity Blog
Last Week in AI
Last Week in AI
G
Google Developers Blog
Forbes - Security
Forbes - Security
The Register - Security
The Register - Security
Cyberwarzone
Cyberwarzone
小众软件
小众软件
Martin Fowler
Martin Fowler
K
Kaspersky official blog
P
Proofpoint News Feed
T
Threatpost
Google Online Security Blog
Google Online Security Blog
Microsoft Azure Blog
Microsoft Azure Blog

博客园 - 疯子峰

oracle性能分析2 oracle性能分析 诡异的socket连接失败 ELK配置watcher 多进程 vs 多线程 关于时间 Java web项目 wordpress之客户端发布文章 神舟笔记本安装ubuntu 10.10 安装vs2010 AOP, Aspect-oriented programming 获取淘宝商品描述和价格 - 疯子峰 - 博客园 SPQuery查询语法简要说明(转) - 疯子峰 - 博客园 SPEmailEventReceiver 之导入附件EXCEL 为incoming mail绑定事件,SPEmailEventReceiver 安装Windows 2003更新后导致moss 无法访问 - 疯子峰 Ubuntu 的启动过程概览 linux 全局配置文件 vim 用户配置
ELK日志平台
疯子峰 · 2017-04-03 · via 博客园 - 疯子峰

什么是ELK?

ELK指的是ElasticSearch,Logstash,Kibana这三个工具的首字母缩写,中文指南很详细,按其步骤来,入门基本没啥问题。

解决什么问题?

公司产品EDI平台的主要任务就是将各个数据源的文件信息处理后再发送第三方,没有实时监控,文件发送不成功时,运维相当被动。

ELK的强项就是实时的日志分析,通过对日志文件的分析(秒级)对比,及时将异常情况通知运维。

计划步骤如下:

1)制定日志规范,在程序中增加日志,记录处理过程。

2)部署Logstash监控日志文件。

3)开发服务程序,定时查询elasticsearch,按文件名比对处理状态,例如:有发送记录,但设定时间内无接收的记录则报警。

计划架构如下:

logstash -> elasticsearch -> kibana

踩坑之旅

其实也不算坑,主要还是不了解。

1)指南中说Logstash在windows环境下可能不靠谱,所以替换成Filebeat,研究一圈后发现居然没有字段提取功能,所以架构又变成

Filebeat -> Logstash -> ElasticSearch -> Kibana

2)指南中看到了Kibana的watcher插件,貌似可以替代计划的3),研究一圈后要实现定时查询后遍历再匹配很难,性能估计也扛不住。

3)重新审视计划,更好的方案应该是在日志写入时就匹配,匹配上后更新发送记录状态,watcher只要实现定时查询没有匹配状态的发送记录即可。

4)准备开发logstash的插件,研究后发现通过logstash-input-beats/logstash-filter-grok/logstash-filter-elasticsearch/logstash-output-elasticsearch插件可实现该功能。

5)logstash-filter-elasticsearch插件,原打算通过此步获取_id并在output中更新发送的日志记录,但其他值都能取到,就是没有_id,查看github源码发现

只能获取'hits']['hits'][_source]中的内容,而_id为['hits']['hits']['_id'],修改代码后OK.

6)logstash-out-elasticsearch插件,通过设置document_id及action=update后可以更新成功,但把所有的接收日志信息都更新到了发送日志记录,只有

另取其他插件实现了。

7)logstash-out-http插件,通过该插件直接post更新语句可以实现。

8)原料准备完毕,下一步该写wacher脚本实现预警了,踩完再来补充。