ELK日志分析系统简介
1、日志服务器
- 提高安全性
- 集中存放日志
- 缺陷:对日志的分析困难
LINUX系统平台
EXIT4加入了日志功能,当数据丢失的情况下,可以基于日志尽可能的恢复〈丢失数据的概率)web应用
nginx . apache、tomcat,对应的一些访问日志和错误日志存储应用
mysql redis
bin-log relay-log慢查询日志错误日志回滚日志
2、ELK日志分析系统 - Elasticsearch
- Logstash
- Kibana
3、日志处理步骤
将日志进行集中化管理
将日志格式化(Logstash)并输出到Elasticsearch
对格式化后的数据进行索引和存储(Elasticsearch)
前端数据的展示(Kibana)
ELK工作原理
【APPServer集群】–》》【logstash Agent 采集器】–》》【ElasticSearch Cluster】–》》【Kibana server】–》》【Browser】
Logstash收集AppServer产生的Log,并存放到ElasticSearch集群中,而Kibana则从ES集群中查询数据生成图表,再返回给Browser。简单来说,进行日志处理分析,一般需要经过以下几个步骤:
1.将日志进行集中化管理(beats)
beats包含四种工具:
Packetbeat (搜集网络流量数据)
Topbeat(搜集系统、进程和文件系统级别的CPU和内存使用情况等数据)
Filebeat(搜集文件数据)ELKelasticsearch logstash kiban
EFLK (kafka)
winlogbeat(搜集windows事件日志数据)
2.将日志格式化( logstash)
3.对格式化后的数据进行索引和存储(elasticsearch)
4.前端数据的展示( kibana)
Elasticsearch介绍
1、接近实时(NRT)
elasticsearch是一个接近实时的搜索平台,这意味着,从索引一个文档直到这个文档能够被搜索到有一个轻微的延迟(通常是1秒)
2、集群(cluster)
一个集群就是由一个或多个节点组织在一起,它们共同持有你整个的数据,并一起提供索引和搜索功能。其中一个节点为主节点,
这个主节点是可以通过选举产生的,并提供跨节点的联合索引和搜索的功能。集群有一个唯一性标示的名字,默认是eclaticsearch,
集群名字很重要,每个节点是基于集群名字加入到其集群中的。因此,确保在不同环境中使用不同的集群名字。一个集群可以只有一个节点。强烈建议在配置elasticsearch时,配置成集群模式。
es 具有集群机制,节点通过集群名称加入到集群中,同时在集群中的节点会有一个自己的唯一身份标识(自己的名称)
3、节点(node )
节点就是一台单一的服务器,是集群的一部分,存储数据并参与集群的索引和搜索功能。像集群一样,节点也是通过名宁来标识,
默认是在节点启动时随机分配的字符名。当然,你可以自己定义。该名字也很重要,在集群中用于识别服务器对应的节点。
节点可以通过指定集群名字来加入到集群中。默认情况,每个节点被设置成加入到elasticsearch集群。如果启动了多个节点
假设能自动发现对方,他们将会自动组建一个名为elasticsearch的集群。
4、索引(index)
一个索引就是一个拥有几分相似特征的文档的集合。比如说,你可以有一个客户数据的索引,另一个产品目录的索引,还有一个订单数据的
索引。一个索引由一个名字来标识(必须全部是小写字母的),并且当我们要对对应于这个索引中的文档进行系引、搜索、更新和删除的时
候,都要使用到这个名字。在一个集群中,如果你想,可以定义任意多的索引。
5、类型( type)
在一个索引中,你可以定义一种或多种类型。一个类型是你的索引的一个逻辑上的分类/f分区,其语意完全由你来定。通常会为具有一组共同字段的文档定义一个类型。比如说,我们假设你运营一个博客平台并且将你