ELK 实时日志监控系统

Elasticsearch + Logstash + Kibana

议程

  • 第一部分:为什么是 ELK?
    • 关注点
    • 选择 ELK
  • 第二部分:原理与应用
  • 第三部分:实施状态
  • 第四部分:使用演示
  • 第五部分:未来

第一部分

为什么是 ELK?

我们可能

想知道

昨天凌晨2:12到2:39

系统的异常是什么

?

是否正遭到DDOS攻击

?

有个节点宕机了

你不知道吗

?

是CPU的问题还是内存的问题?

用户抱怨,系统怎么又变慢了?

不只是系统

还有更多

用户搜索热词是什么?

我们的客户是从哪里来的?

我们最好卖的产品是什么?

不止这些

  • 过去5分钟CRM有多少活跃用户?
  • 过去3秒钟官网有多少人下单发货?
  • 过去1个小时有多少货物发出?
  • 当前有多少车在路上跑?
  • ……
  • ……

ELK 还可以告诉

我们

上一秒发生了什么

ELK = Elasticsearch + Logstash + Kibana

为什么选ELK?

不只是日志

还有可视化

好孩子

都在用

为什么不用

其他的?

为什么不用Splunk?

为什么不用Hadoop?

为什么不用Lucene?

为什么不?

别人家的孩子

可能是这样

咱家的孩子

可能是这样

第一部分结束

第二部分

原理与应用

三角模型:大数据、精确性和实时性

  • 精确 + 实时
    • 数据可以存入单台机器的内存之中,我们可以随心所欲,使用任何想用的算法。结果会 100% 精确,响应会相对快速。
  • 大数据 + 精确
    • 传统的 Hadoop。可以处理 PB 级的数据并且为我们提供精确的答案,但它可能需要几周的时间才能为我们提供这个答案。
  • 大数据 + 实时
    • 近似算法为我们提供准确但不精确的结果。

信息检索

  • 搜索引擎 Lucene
    • Inverted Index
    • Stored Field
    • Document Values
  • 分布式存储
    • 索引 Index
    • 分片 Sharding
    • 选举 Quorum
    • 路由 Routing

实时(NRT)

  • 收集:pipe
  • 查询:过滤器缓存
  • 聚合:统计规则与机器学习
    • 分词算法
    • 压缩算法
    • 各级缓存

Elasticsearch 2.x 权威指南

  • 第二部分:深入搜索
  • 第三部分:自然语言处理
  • 第四部分:信息聚合

远不止商业智能

  • 实时推荐
    • 电商网站个性推荐
  • 机器学习与深度学习
    • 信用卡欺诈

改变

组织和企业的

游戏规则

第二部分结束

第三部分

实施状态

状态

  • 评估完成
  • 本地集群环境搭建完成
  • 基本测试完成
  • 特许接入完成(3月4日)
  • 产品环境搭建完成
  • CRM 接入完成(3月25日)

ELK 集群环境

CRM Web/App 日志监控

第三部分结束

第四部分

使用演示

演示地址

如何监控/查询异常

  • 发现 Discover ->
  • 索引(crmweblog-*)->
  • 搜索
    • loglevel : error
    • msg : [orderNo]
第四部分结束

第五部分

未来

未来

  • 更多应用程序接入
  • 短信、微信、企业号消息通知
  • 应用程序日志规范
  • 集群监控、优化、扩展开发
  • 高级应用

谢谢!