ELK 各组件功能及 Elasticsearch 的节点角色类型介绍
ELK 架构:
日志(文件或 stdout)-->beats(采集日志输出到 logstash)-->logstash(日志处理后输出)-->elasticsearch(集中存储日志)-->kibana(展示日志,提供界面化查询及图形化展示功能)
Elasticsearch 名词介绍:
Node: 存储业务数据的主机,node 节点有多种不同的类型。
Cluster: 多个主机组成的高可用 Elasticsearch 集群环境。
Document:文档、简称 doc,存储在 Elasticsearch 的数据。
Index:一类相同类型的数据(doc),在逻辑上通过同一个 index 进行查询、修改与删除等操作。
Shard:分片,是对 Index 的逻辑拆分存储,分片可以是一个也可以是多个,多个分片合并起来就是 Index 的所有数据。
Replica:一个分片的跨主机完整备份,分为主分片和副本分片,数据写入主分片时立即同步到副本分片,以实现数据高可用及主分片宕机的故障转移,副本分片可以读,多副本分片可以提高 ES 集群的读性能,只有在主分片宕机以后才会给提升为主分片继续写入数据,并为其添加新的副本分片。
Elasticsearch 主要节点角色类型:
data node:数据节点,负责数据的存储,如分片的创建及删除、数据的读写、数据的更新、数据的删除等操作。
master node:主节点,负责 index 的创建、删除,分片的分配,node 节点的添加、删除,node 节点宕机时进行将状态通告至其它可用 node 节点,一个 ES 集群只有一个活跃的 master node 节点,其它非活跃的 master 备用节点将等待 maste 机以后进行新的 master 的竞选。
client node/coordinating-node:客户端节点或协调节点,负责将数据读写请求转发 data node、将集群管理相关的操作转发到 master node,客户端节点只作为集群的访问入口、其不存储任何数据,也不参与 master 角色的选举。
Ingest 节点:预处理节点,在检索数据之前可以先对数据做预处理操作(Ingest pipelines,数据提取管道),可以在管道对数据实现对数据的字段删除、文本提取等操作。
所有节点其实默认都是支持 Ingest 操作的,也可以专门将某个节点配置为 Ingest 节点。
Logstash
logstash 有大量的插件对日志进行过滤处理,然后输出到 ES 或者 redis,kafka,数据库等。
Kibana
kibana 主要提供一个界面化的查询 ES 数据的方式,还可以根据日志数据进行绘图。
评论