ELK集群练习题
第一章 日志收集。
·
第一章 日志收集
- filebeat的作用是什么?
filebeat是一款部署在服务器上的日志收集工具, 用来实时收集指定服务的日志, 并对日志进行指定输出 - filebeat的输出目标可以设置多个?
一个 - filebeat在第一次收集日志时, 会从第一行读取, 若第二次也想从第一行读取怎么操作?
删除安装目录下的data目录即可
安装目录: /usr/local/filebeat/filebeat - filebeat的事件是什么?
一行日志 - filebeat的数据格式是什么?
json - 前台启动使用什么? 后台启动使用什么?
前台启动: /usr/local/filebeat/filebeat -c /usr/local/filebeat/filebeat.yml
后台启动: nohup /usr/local/filebeat/filebeat -c /usr/local/filebeat/filebeat.yml > /root/filebeat.log 2>&1 & - filebeat的组件都有什么?
harvester(收割者): 收集日志文件中的每一行记录, 并封装成事件
inputs(输入): 管理日志来源, 接收收割者的事件
registry(注册表): 记录日志收割进度, 避免重复收割或丢失
processors(处理器): 完成数据的清洗, 包括字段的删除, 添加
queue(队列): 缓存日志事件, 规避输出端效率慢或故障
output(输出): 负责将日志事件发送到指定目标
module(预配置模块): 采集常见服务日志的预定义模板 - filebeat的模块是什么? 常用的模块都有什么?
采集常见服务日志事件的预定义模板
nginx
apache
mysql - filebeat启用预定义模块怎么操作?
/usr/local/filebeat/filebeat modules enable apache
或
重命名modules下对应模块的文件为: apache.yml
并将文件中的access与error的enabled改为true - filebeat的input组件中, var.path的作用是什么?
当服务的日志文件不是默认路径时, 在input中使用var.paths来指定收集日志的路径 - var.path指定的路径与默认路径会冲突吗?
不会 - filebeat的常用input都有什么?
log: 读取本地日志文件
container: 读取容器的日志
stdin: 标准输入 - filebeat的常用output都有什么?
output.elasticsearch: 输出到elasticsearch
output.logstash: 输出到logstash
output.kafka: 输出到kafka
output.stdout: 标准输出 - filebeat的处理器怎么对日志进行过滤?
删除事件: drop_event:
删除字段: drop_fields: - filebeat的处理器怎么对日志进行增强?
添加字段: add_fields: - logstash的作用是什么?
logstash是一款部署在服务器上的日志收集工具, 用来实时收集指定服务的日志, 并对日志进行指定输出, 常用于对filebeat收集的日志进行过滤 - logstash的三大组件分别是什么?
input: 从不同来源接收原始数据
filter: 对input的数据进行清洗, 并将数据转换为结构化字段
output: 将数据输出到指定目标 - logstash收集filebeat事件的端口是什么?
5044 - logstash输入或输出时直接对数据进行格式化使用什么插件?
codec => “json”
codec => “rubydebug” - logstash常用的input有什么?
beats{}: 收集filebeat的输出
file{}: 收集指定文件的内容
kafka{}: 收集kafka中的数据
stdin{}: 标准输入 - logstash常用的output有什么?
elasticsearch{}: 输入到elasticsearch
file{}:输出到指定文件
kafka{}: 输出到kafka
stdout{}: 标准输出 - logstash常用的filter有什么?
grok: 将非结构数据转换为结构化数据
mutate: 对数据中的字段, 进行增删等操作
drop: 删除无用数据
date: 将@timestamp字段的值从收集时间, 改为日志发生时间 - grok插件常用的格式化模式是什么?
match => { “message” => “%{COMBINEDAPACHE}” }
match => { “message” => “%{HTTP_COMBINEDLOG:nginx_log}” } - mutate重命名, 删除, 添加字段分别是用什么?
重命名: rename => { “字段” => “新字段名称” }
删除: remove_field => [“字段1”,“字段2”]
添加: add_field => { “字段名” => “字段值” } - drop插件怎么实现删除无用事件?
drop { if [条件] == 值 {} }
第二章 日志存储 - es的作用是什么?
用于存储logstash与filebeat收集的日志, 并对存储的日志进行搜索与分析 - es支持的数据类型都有什么?
结构化数据
非结构化数据
数据字典 - es的最小数据单元是什么?
文档: json化后的一条数据 - es的数据格式是什么?
json - es为每一个文档添加索引的作用是什么?
方便检索文档 - es集群的作用是什么?
将数据进行分布式存储, 具有高可用, 易扩展的特点 - es集群的节点都有什么? 作用分别是什么?
主节点: 负责管理集群的状态与分片的分配
数据节点: 负责数据主分片与副本分片的存储, 写入, 查询等工作 - es集群的主分片与副本分片是什么?
主分片: 将数据均匀的拆分, 存储到不同数据节点中
副本分片: 主分片的备份 - es集群的主分片和他的副本分可以存储在同一节点吗?
不能存储在同一数据节点, 避免数据丢失 - es的工作端口是什么?
9200: 接收数据
9300: 用于集群主机之间选举主节点 - 检测es集群的健康状态使用什么命令? 反应健康状态的颜色都有什么? 分别表示什么意思?
curl -X GET “localhost:9200/_cat/health?v”
绿色: 表示正常
黄色: 单节点部署或至少有一个副本分片未分配
红色: 至少有一个主分片未分配 - 检测es集群节点的运行状态使用什么命令? 主节点与从节点分别使用什么表示?
curl -X GET “localhost:9200/_cat/nodes?v”
主节点: *
数据节点: - - es集群查看索引使用什么命令?
curl -X GET “localhost:9200/_cat/indices” - es集群配置节点都需要配置什么?
集群名称: cluster.name: es
节点名称: node.name: es1
是否是数据节点: node.data: true
工作网卡: network.host: 0.0.0.0
工作端口: http.port: 9200
集群节点:
discovery.seed_hosts:
- es1
- es2
- es3
集群中主节点的选举范围: cluster.initial_master_nodes: [“es1”,“es2”,“es3”]
第三章 日志管理
- kibana的作用是什么?
用于对es集群中存储的日志进行可视化, 同时对日志进行分析和管理 - kibana的服务端口是什么?
5601 - kibana的配置项都有什么?
服务端口: server.port: 5601
工作网卡: server.host: “0.0.0.0”
连接es集群的地址与端口: elasticsearch.hosts: [http://es1:9200",“http://es2:9200”,“http://es3:9200”]
配置kibana的日志存放路径: logging.dest: /var/log/kibana/kibana.log
设置操作界面为中文: il8n.locale: “zh-CN”
第四章 日志缓冲 - kafka的作用是什么?
用于数据缓冲队列, 临时存放数据, 避免高并发导致集群宕机, 具有削峰填谷的能力 - kafka的运行依赖什么?
zookeeper - kafka的特点都有什么?
高吞吐量: 每秒可以处理十万级的消息
可扩展性: 支持热扩展
可靠性: kafka的数据会被持久化到磁盘, 并且支持数据的备份
容错性: 允许集群中的节点失败
高并发: 支持数千用户的同时读写 - kafka的组件都有什么? 作用分别是什么?
话题(topic): kafka将消息进行分类, 每一个类型就是一个topic
生产者(producer): 消息的发送者, 将消息发送给kafka
消费者(consumer): 消息的接收者, 读取kafka中的消息
服务代理(broker): 处理生产者与消费者的请求, 一个集群有多个broker
partition(区): 将一个topic拆分成多个分片存储,
replication: 区的副本, 防止消息丢失, 每个分片可以有多个副本
leader: 处理所有生产者的写入以及消费者的读取
follower: 同步leader中的数据, 不处理请求, leader宕后, follower会自动作为leader
zookeeper: 对数据进行存储 - elk+kafka架构的工作原理是什么?
由filebeat收集日志, 并将日志转发给kafka暂存, 之后logstash拉区kafka中的日志, 对日志数据进行过滤, 之后发送给es进行存储并做备份, 而用户可以借助kibana在可视化页面中, 查看日志信息
更多推荐
所有评论(0)