ElasticSearch 进阶 收集k8s日志

ElasticSearch 角色 节点类型 节点作用 节点配置参数 默认值 master node 是一个主节点,负责创建删除索引等操作,开启后即所有的节点都可以竞选主节点,主节点存在的位置,也被称为是一个事务角色层 node master true data node 数据节点,用来存储 master 节点存储的数据的节点,处理数据相关的节点,用来处理数据的 CRUB 操作,对数据进行聚合、搜素,数据节点的操作大部分是 I/O 操作 node data true ingest node 提取节点,具有数据预处理的能力,可以拦截 Index 的请求,可以对数据进行转换,所有的节点都是 Ingest Node node ingest true Coordinating Node 协调节点,负责接收客户端的请求,然后发送到合适的节点,并且会将节点返回的数据汇聚到一起返回给客户端,也就是说会是一个前台,用来接收用户的请求,进行分配,起到了路由的作用,并且要清楚后端 master shards 的位置 无 设置 master data ingest 全为 false Maching Leanning Node 机器学习节点,用于运行作业和一些处理机器学习 API 请求 node ml true 需要 enable x-pack kubernetes logs 传统日志管理系统工作架构 通过日志收集器,例如 filebeat 在节点上收集日志,然后发送给 Centralized log management system,例如 elasticsearch 进行存储,再通过 web ui 的窗口显示。日志管理的功能,再 log collector 中会进行日志的收集,日志的聚合,日志的切割,日志的存储,最终实现日志的传输,传入到 centralized log management system 集中式日志系统,实现用户基于 lucene 搜索引擎进行搜索。 ...

December 30, 2020

ElasticSearch 生态基础

存储系统分类 非结构化存储,存储为文件格式,例如日志的文件 NFS Block 输出出来并没没有文件锁,RDB(Ceph分布式复制块设备) Filesystem NFS HDFS(Hadoop Filesystem)需要了解一下分布式文件系统 半结构化存储,有特定格式,但是在 schema 上并没有很严格的要求,例如自带字段和数据的,也就是 key:v ,也可以进行逐级嵌套, 称为 NoSQL Database k/v(键值对格式) redis tikv Document(文档存储) MongoDB,ElasticSearch Colume Family:Hadoop Database 是运行在 Hadoop 上的 HBase GraphDB(图示存储):Neo4j TSDB(时序存储) 结构化存储,必须要存储到结构中,schema 要求严格,TiDB(兼容 MySQL 协议,原生分布式) 老家伙能够存留下来的原因,主要是因为数据强一致性,也就是 ACID 事务的支持 数据的热区会集中在某些表或者是库中 请求路由机制,需要了解整个分布式的地图,当然当用户发起写操作,那么就会通过这个请求路由分发,但是这种方式会导致读取数据比较麻烦。 ElasticSearch 与其他的半结构化存储不同的是,elasticsearch 提供了一个查询的 API 接口,是以搜索引擎闻名,多维度的存储系统。可以存储文本以及 k/v 数据。是一个文本存储的数据库,并且必须要序列化称为 json 的格式,且在 elasticsearch 的任意节点都可以查询到该文本数据。 端口作用 9300/tcp Cluster Peer 是提供集群服务 9200/tcp Client API 是提供给客户端的 elasticsearch 插件 通过 elasticsearch-plugin 工具来获取插件,默认会通过网络找到指定的插件。 例如 elasticsearch 的管理界面,也就是会展示 elasticsearch 的索引 type 等,原生不支持 head。 ...

December 29, 2020