查看其它 2 个回答nkj827的回答

nkj827nkj827  项目经理 , 长春长信华天

银行运维日志管理与日志分析平台采用ELK Stack搭建,ELK Stack是Elastic的三个开源产品Elasticsearch,Logstash和Kibana的集合。Logstash负责数据收集、传输、预处理。Elasticsearch负责数据存储、分析。Kibana负责数据展现。这三者的有机结合为银行运维日志管理与日志分析提供了完整的解决方案。下图是ELK Stack的日志数据处理流程图:

按照ELK Stack的数据处理流程和银行运维对日志管理与日志分析的要求设计银行日志管理分析平台。
Logstash在架构中起到的作用是从每台服务器上的某个路径中的文件中收集数据,并且按照预先编写好的过滤规则来过滤数据,然后按照要求将日志传输到ES集群中。
Logstash工作流程:

Logstash部署:
Logstash根据logstash-example.conf配置文件对数据源进行数据读取和清洗,并将清洗结果写入指定的目标文件。Logstash可以以命令行参数进行配置,也可以在logstash.yml等setting文件中进行设置。
Logstash知识结构:

Elasticsearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。
Elasticsearch工作流程:

新收到的数据会被写入到内存的 buffer 中,然后在一定的时间间隔后刷到磁盘中,成为一个新的 segment,然后另外使用一个 commit 文件来记录所有的 segment,数据只有在成为 segment 之后才能被检索。默认的从 buffer 到 segment 的时间间隔是 1 秒(可以调用/_refresh接口更改)。
采用Translog 保证数据从 buffer 到 segment 的一致性,通过定期保存到磁盘中来实现Translog 的一致性。对于不断生成新的segment,ES 会在后台把零散的 segment 做数据归并,归并完成后删除小的 segment,从而减少 segment 的数量;也会采用不同的归并策略,尽量让每次新生成的 segment 本身就比较大。
Elasticsearch部署:
为了提高Elasticsearch性能可以通过elasticsearch.yml文件修改配置参数,也可以根据用户系统配置降低配置参数,如jvm.heapsize。
Elasticsearch知识结构:

Kibana是一个开源的分析与可视化平台。可以用来搜索、查看、交互存放在Elasticsearch索引里的数据,并使用各种不同的图表、表格、地图等对数据进行分析和可视化。
Kibana3是一个使用Apache开源协议,基于浏览器的Elasticsearch分析和搜索的仪表板,整个项目基于HTML和Javascript写的,不需要任何服务器端组件,一个纯文本发布服务器即可。
Kibana4中Discover标签页可以提交搜索请求,过滤结果,然后检查返回的文档里的数据,默认情况下,Discover显示匹配搜索条件的500个文档。Visualization 用来为搜索结果做可视化,每个可视化都是跟一个搜索关联着的。Dashboard 创建、定制自己的仪表盘。任何需要展示的数据都需要现在 Settings 中进行索引配置,可以选择配置时间索引,这样在 Discover 页面会多出来时间的选项。
Kibana部署:
Kibana3中config.js核心配置的地方,文件包含的参数都是必须在初次运行Kibana之前提前设置好的。
Kibana4启动,在安装目录运行:
$bin/kibana (Linux/Mac OS X)
$bin\kibana.bat (Windows)
配置可以通过命令行参数或配置文件kibana.yml。
Kibana知识结构:

系统集成 · 2019-06-14
浏览2045

回答者

nkj827
nkj82711331
项目经理长春长信华天
擅长领域: 存储灾备服务器

nkj827 最近回答过的问题

回答状态

  • 发布时间:2019-06-14
  • 关注会员:5 人
  • 回答浏览:2045
  • X社区推广