ELK

ELK概述
如今的时代数据量不断增大,服务器一般都是分布式部署,日志分布在多台服务器上,如果要查看日志信息肯定不能挨个服务器去查看,所以需要一个汇总的地方,统一管理。

常见的部署组合就是ELK了,接下来简要介绍ELK(ElasticSearch+Logstash+Kibana)的功能。

使用场景
日志分类
异常日志:一般常看到的日志堆栈,会详细地列出异常信息、异常名称、出错的代码调用栈、内部异常原因(Caused by),是一类多行日志。
请求日志:一般是接口的调用日志,常见的是nginx、tomcat、weblogic等负载均衡和web容器的日志,一行里面包含了访问时间、访问路径、状态码、结果大小、响应时间等信息。也有一些自定义的信息,比如SLA统计系统或者一些性能监控系统所需的日志信息,一般来说会包含请求编号、访问路径、步骤编号、响应时间等自定义的信息。
操作日志:一般是用来审计或者结果追踪的信息,这类信息一般会专门的做统一存储,这类日志也比较重要,一般用数据库专门存储。
常见适用场景
在ELK中常见的是对异常日志和请求日志的统一处理。

因为请求日志一般生成的比较快,而且会大于等于系统的访问量。日志记录还会记录系统下游接口的访问日志等,量级较大,而且大多是无用信息。这种请求日志一般是利用脚本针对特定的需求进行收集和查询。

ELK三种部署方式
第一种方式:最简单的方式就是L-E-K方式,不添加任何其他辅助系统,部署简单快速,容易上手。

第二种方式:在L-E之间添加一层redis辅助,这样能够减少日志在服务端的积压,把压力转移到ELK系统服务器上。这种方式添加redis之后,由于redis是内存系统所以响应速度很快,而且可以在redis后添加多个消费系统(Logstash),来扩展消费能力,增强处理速度。

第三种方式:随着业务的增长,服务器部署集群,redis单点故障问题等等,上面的方案已满足不了我们的需求,这个时候我们可以使用Kafka来代替Redis,Kafka相关部署这里不详述,可查看相关资料。
Logstash
Logstash的独立性很强,它的用途就是一个内容的转存系统,Logstash在ELK中里面担当的是数据收集和解析的功能,通过灵活的插件可以做到很多种类数据的读取和很多种类数据的写入。

支持的输入类型:

标准输入(Stdin)

读取文件(File)

读取网络数据(TCP)

生成测试数据(Generator)

读取Syslog数据

读取Redis数据

读取Collectd数据

支持的输出类型:

标准输出(Stdout)

保存成文件(FIle)

保存进ElasticSearch

输出到Redis

输出网络数据(TCP)

输出到Statsd

报警到Nagios

发送邮件(Email)

调用命令执行(Exec)

ElasticSearch
Elasticsearch是个开源分布式搜索引擎,基于Lucene,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。

可以通过curl或者RESTful API进行查询,当输入关键字之后,会根据命中的结果分数(_score)由大到小返回结果、

在ELK组合中,ES的功能是数据存储、索引和提供查询接口。

Kibana
在ELK组合中,Kibana负责的是数据的展示(各种图表,如曲线图、条形图、饼状图等),可视化搜索。可以根据时间、索引(_index)、类型(_type)、或者是字段(_Field)进行检索。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值