Logstash作为Elastic stack的重要组成部分,其最常用的功能是将数据导入到Elasticssearch中。将Logstash中的数据导入到Elasticsearch中操作也非常的方便,只需要在pipeline配置文件中增加Elasticsearch的output即可。
docker pull kibana:7.4.1
安装Elasticsearch
docker pull elasticsearch:7.4.1
第一节已创建内部网络:
docker network create elknetwork
启动elasticsearch
1 | docker run -dti --name elasticsearch --net elknaetwork -p 9200:9200 |
检测 elasticsearch 是否启动成功
curl 127.0.0.1:9200
1 | { |
问题
1 | [WARN ][logstash.outputs.elasticsearch] Could not index event to Elasticse |
在logstash的output配置文件里增加了这一段,同样的问题也解决了。1
2
3
4
5filter {
mutate {
rename => { "[host][name]" => "host" }
}
}
最后filelog.conf:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19input {
beats {
port => "5044"
}
}
filter {
mutate {
rename => { "[host][name]" => "host" }
}
}
output {
stdout {
}
elasticsearch {
hosts => ["elasticsearch:9200"]
}
}
测试
查看索引:curl -XGET 'http://172.168.1.10:9200/logstash-*?pretty'
搜索数据:curl -XGET 'http://172.168.1.10:9200/logstash-*/_search?pretty'
参考资料
Elasticsearch教程 : https://www.yiibai.com/elasticsearch