证券 运维日志管理与日志分析平台采用ELK Stack搭建,ELK Stack是三个开源产品Elasticsearch,Logstash和Kibana的集合。Logstash负责数据收集、传输、预处理。Elasticsearch负责数据存储、分析。Kibana负责数据展现。这三者的有机结合为 证券 运维日志管理与日志分析提供了完整的解决方案。下图是ELK Stack的日志数据处理 基础架构 图:
按照 ELK Stack 的数据处理流程和 证券 企业 运维 对 日志管理 与 日志分析 的要求设计 证券 日志管理分析平台。 Elasticsearch(ES)集群的规划, 搭建一个集群我们需要考虑如下几个问题:
Logstash在 证券 运维日志管理与日志分析平台 中从 网络设备、防火墙、中间件、 证券交易 系统、内外部接口(如 资金管理 、 帐务核算 、 融资融券 )等 收集数据,并且按照预先编写好的过滤规则来过滤数据,然后按照要求将日志传输到ES集群中 。
Logstash根据logstash-example.conf配置文件对数据源进行数据读取和清洗,并将清洗结果写入指定的目标文件。Logstash可以以命令行参数进行配置,也可以在logstash.yml等setting文件中进行设置。
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.yml文件修改配置参数,也可以根据用户系统配置降低配置参数,如jvm.heapsize。
Kibana是一个开源的分析与可视化平台。可以用来搜索、查看、交互存放在Elasticsearch索引里的数据,并使用各种不同的图表、表格、地图等对数据进行分析和可视化。
Kibana3是一个使用Apache开源协议,基于浏览器的Elasticsearch分析和搜索的仪表板,整个项目基于HTML和Javascript写的,不需要任何服务器端组件,一个纯文本发布服务器即可。
Kibana4中Discover标签页可以提交搜索请求,过滤结果,然后检查返回的文档里的数据,默认情况下,Discover显示匹配搜索条件的500个文档。Visualization 用来为搜索结果做可视化,每个可视化都是跟一个搜索关联着的。Dashboard 创建、定制自己的仪表盘。任何需要展示的数据都需要现在 Settings 中进行索引配置,可以选择配置时间索引,这样在 Discover 页面会多出来时间的选项。
Kibana3中config.js核心配置的地方,文件包含的参数都是必须在初次运行Kibana之前提前设置好的。
Kibana4启动,在安装目录运行:
$bin/kibana (Linux/Mac OS X)
$bin\kibana.bat (Windows)
配置可以通过命令行参数或配置文件kibana.yml。
证券 运维日志管理与日志分析平台采用ELK Stack搭建 ,实现了网络与安全设备、服务器、操作系统、中间件、数据库,业务系统等日志数据的自动收集处理与分析展现,降低了运维人员的工作复杂度,提高了运维效率,帮助运维人员 更好地监控、 管理软硬件与业务 系统,真正实现高效、可视化运维。
收起