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": {}
}
}
本文介绍了一种EFK(Elasticsearch、Filebeat、Kibana)分布式日志收集系统的具体部署方案,并详细解释了Kibana的基本操作及如何通过RESTful API与Elasticsearch进行交互。
1047

被折叠的 条评论
为什么被折叠?



