当前位置: 代码迷 >> 综合 >> EFK(Elasticsearsh+Filebeat+Kibana)——分布式日志收集系统(二)之示例说明
  详细解决方案

EFK(Elasticsearsh+Filebeat+Kibana)——分布式日志收集系统(二)之示例说明

热度:43   发布时间:2024-02-20 07:29:07.0

0 说明

本次EFK分布式日志收集系统节点安排如下:

主机名 主机ip 部署情况
chen-1 192.168.218.100 Elasticsearsh Logstash Filebeat Namenode ResourceManager ZK
chen-2 192.168.218.101 Elasticsearsh SecondaryNamenode Datanode Nodemanager ZK
chen-3 192.168.218.102 Elasticsearsh Datanode Nodemanager ZK
chen-4 192.168.218.103 Kibana Datanode Nodemanager
chen-5 192.168.218.104 Datanode Nodemanager

Filebeat和Logstash都具有日志采集功能,不同的是Filebeat是轻量级的,Logstash运行在JVM上,但其功能更强大。本文采用Filebeat+Logstash方式采集日志。

1 Kibana的简单使用说明:

1.1 创建索引(index)相当于数据库

在这里插入图片描述

1.2 增加一个文档(type)相当于表

/索引/类型/id

POST /chen/student/1
{
    "name":"zhangsan","age":20,"email":"zhangsan@qq.com"
}

在这里插入图片描述
结果解析:
took:整个搜索请求花费的毫秒数。
_shards字段:
total:查询的分片数
successful:成功的分片数
failed:失败的分片数

1.3 检索

1.3.1 获取指定文档

GET /chen/student/1

在这里插入图片描述

1.3.2 获取文档中指定的字段

GET /chen/student/1?_source=name

1.3.3 只显示_source字段

GET /chen/student/1/_source

在这里插入图片描述

1.3.4 获取头信息

HEAD /chen/student/1

在这里插入图片描述

1.3.5 删除

DELETE /chen/student/1

在这里插入图片描述

2 使用RESTful操作elasticsearch

REST通常是开发的一种约定,当所有的开发者都遵从这种约定的时候,
可以大大简化开发的沟通成本。REST其核心操作只有POST,GET,PUT,DELETE,
正好可以对应CRUD(Create、Read、Update、Delete)4种数据操作。

POST   /uri     新增一个没有ID的资源
DELETE  /uri/xxx 删除   
PUT    /uri/xxx 更新或新增一个含ID的资源  
GET    /uri/xxx 取得资源curl -X GET http://192.168.218.100:9200/chen/student/1
curl -X GET http://192.168.218.100:9200/chen/student/1?pretty

pretty参数可以优化输出格式
在这里插入图片描述

传入json数据,新建test.json

{
    
"first_name":"John",
"last_name":"Smith",
"age":25
}
curl -H "Content-Type:application/json" -X PUT http://192.168.218.100:9200/chen/student/2 -d @test.json

在这里插入图片描述
打开/关闭索引,当关闭索引后,不能通过索引进行查询。

POST /chen/_open 
POST /chen/_close

在这里插入图片描述
在这里插入图片描述
重新打开后,才可以继续查询

在这里插入图片描述
此时再查询就可以查询到相应的内容了
在这里插入图片描述
查询索引下面的所有doc:

GET /chen/_search
{
    "query": {
    "match_all": {
    }}
}
  相关解决方案