1. 总结比较成熟的日志/数据收集分析架构+数据可视化架构Flume + Kafka + HDFS + HADOOP + HIVE + Storm (+ Elasticsearch + Kibana)
    2. 1ElasticSearch --》Lucene(库)--》java
    3. 2Logstash --》ruby 收集日志 3 4
    4. 3filebeat -->logstash-forwarder--》logstash-forwarder是一个轻量级的日志收集Agent,用golang实现
    5. 4Kibana -->angular.js + node.js 查询后台 + 权限控制 +
    6. .*?(\n^\[)
    7. nohup /usr/local/elasticsearch/bin/elasticsearch -Des.insecure.allow.root=true &
    8. nohup /usr/local/logstash/bin/logstash -f /usr/local/logstash/etc/logstash_agent.conf &
    9. nohup /usr/bin/filebeat -e -c /etc/filebeat/filebeat.yml &
    10. nohup /usr/local/nginx/html/kibana/bin/kibana &
    11. /usr/local/php/bin/php -v
    12. /usr/local/nginx/html/kibana
    13. $a = str_replace('+00:00','.000Z',gmdate('c',time()));
    14. 2016-07-18T01:54:30.000Z
    15. 1ElasticSearch
    16. ElasticSearch(以下简称ES)是一个基于Lucene(基于JAVA)构建的开源(open-source),分布式(distributed),RESTful,实时(real-time)的搜索与分析(analytics)引擎。它可以让你在浏览数据时具备非常快的速度和优秀的可扩展性。
    17. gateway的主要职责是用来对数据进行长持久化
    18. 一般情况下,Gateway我们都设置为Local方式,即将数据存储在本地,那么本文也就主要针对这种方式来说。其实在Elasticsearch中生成的数据文件一般来说主要有三种,分别是stateindextranslog,后两种想必大家也都知晓,那么state主要就是Gateway存储数据的文件。
    19. 默认数据存储位置
    20. /usr/local/elasticsearch/data/
    21. 默认log位置
    22. /usr/local/elasticsearch/logs
    23. /usr/local/elasticsearch/data/my-elastic_cluster/nodes/0/indices/logstash-2016.07.14/0/index/
    24. http://qindongliang.iteye.com/blog/2003564
    25. _0.cfe
    26. _0.cfs //复合索引的文件,在系统上虚拟的一个文件,用于频繁的文件句柄
    27. _0.si //存储每个段文件的元数据信息
    28. segments_5 //存储段文件的提交点信息 segments.gen, segments_N
    29. write.lock //文件锁,保证任何时刻只有一个线程可以写入索引
    30. elasticsearch/nodes/0/_state/global-3.st
    31. my-elastic_cluster/nodes/0/indices/filebeat-2016.07.13/0/translog
    32. translog-5.ckp
    33. translog-5.tlog
    34. Q2:生产环境服务器如何配置性价比较高?单机CPU核数、主频?内存容量?磁盘容量?
    35. 内存大一些,CPU 多核是必要的,JVM Elasticsearch 会充分使用内存和多核的。 关于内存容量的问题,很多是 JVM Tunning 的问题。 磁盘容量没啥要求。
    36. 主要分为两部分,一部分是写入elasticsearch性能,一部分是查询测试
    37. Kibana
    38. Kibana 4 采用 angular.js + node.js 框架编写。其中 node.js 主要提供两部分功能,给 Elasticsearch 做搜索请求转发代理,以及 authsslsetting 等操作的服务器后端。
    39. 本章节假设你已经对 angular 有一定程度了解 -- 至少是阅读并理解了 kibana 3 源码剖析章节内容的程度。所以不会再解释其中 angular routecontrollerdirectiveservicefactory 等概念。
    40. 如果打算迁移 kibana 3 CAS 验证功能到 kibana 4,那么可以稍微了解一下 index.js, app.js, lib/auth.js 里的 htpasswd 简单实现,相信可以很快修改成功。本章主要还是集中在前端 kibana 页面功能的实现上。
    41. Elastic{ON} 大会上,也有专门针对 Kibana 4 源码和二次开发入门的演讲。请参阅:https://speakerdeck.com/elastic/the-contributors-guide-to-the-kibana-galaxy
    42. 另外可以看专业的前端工程师怎么看Kibana4的代码的:http://www.debuggerstepthrough.com/2015/04/reviewing-kibana-4s-client-side-code.html。
    43. http://chenlinux.com/2015/03/14/kibana3-source-code-analysis/
    44. 入口:index.html
    45. 模块库:vendor/
    46. 程序入口:app/app.js
    47. 组件配置:app/components/
    48. 仪表板控制:app/controllers/
    49. 挂件页面:app/partials/
    50. 服务:app/services/
    51. 指令:app/directives/
    52. 图表:app/panels/
    53. filebeat 是基于原先 logstash-forwarder 的源码改造出来的。换句话说:filebeat 就是新版的 logstash-forwarder,也会是 ELK Stack shipper 端的第一选择。