filebeat和logstash集合使用案例
1.启动logstash
[root@elk92 ~]# cat config/03-beats-to-stdout.conf
input {
# 从beats采集数据,比如从filebeat接收数据。
beats {
# 指定logstash接收数据所监听的端口号
port => 9999
}
}
output {
stdout {
codec => rubydebug
# codec => json
}
}
[root@elk92 ~]#
[root@elk92 ~]#
[root@elk92 ~]# logstash -f config/03-beats-to-stdout.conf
2.启动filebeat
[root@elk91 filebeat-7.17.5-linux-x86_64]# cat config/20-tcp-to-logstash.yaml
filebeat.inputs:
- type: tcp
host: "0.0.0.0:8888"
# 指定输出的类型是logstash
output.logstash:
# 指定logstash的主机和端口
hosts: ["10.0.0.92:9999"]
[root@elk91 filebeat-7.17.5-linux-x86_64]#
[root@elk91 filebeat-7.17.5-linux-x86_64]# ./filebeat -e -c config/20-tcp-to-logstash.yaml
3.发送测试数据
[root@elk93 ~]# echo www.oldboyedu.com | nc 10.0.0.91 8888
- logstash的tcp案例
1.启动logstash实例
[root@elk92 ~]# cat config/04-tcp-to-stdout.conf
input {
# 指定输入类型是tcp
tcp {
port => 9999
}
}
output {
stdout {
codec => rubydebug
# codec => json
}
}
[root@elk92 ~]#
[root@elk92 ~]#
[root@elk92 ~]# logstash -f config/04-tcp-to-stdout.conf
2.发送测试数据
[root@elk93 ~]# echo www.oldboyedu.com | nc 10.0.0.92 9999
- logstash的http案例
1.启动logstash实例
[root@elk92 ~]# cat config/05-http-to-stdout.conf
input {
# 指定输入类型是http
http {
port => 9999
}
}
output {
stdout {
codec => rubydebug
# codec => json
}
}
[root@elk92 ~]#
[root@elk92 ~]#
[root@elk92 ~]# logstash -rf config/05-http-to-stdout.conf
2.发送测试数据
POST http://elk92:9999
{
"class": "linux88",
"school":"oldboyedu"
}
- logstash采集数据到ES集群
1.编写logstash的配置文件
[root@elk92 ~]# cat config/06-tcp-to-es.conf
input {
# 指定输入类型是tcp
tcp {
port => 9999
}
}
output {
# 将数据输出的标准输出
stdout {
codec => rubydebug
}
# 将数据输出到ES集群
elasticsearch{
# 指定ES集群的地址
hosts => ["10.0.0.91:9200","10.0.0.92:9200","10.0.0.93:9200"]
# 指定写入集群的索引
index => "logstash-tcp"
}
}
[root@elk92 ~]#
[root@elk92 ~]# logstash -rf config/06-tcp-to-es.conf
2.发送测试数据
[root@elk93 ~]# echo '{"name":"Yone","age":18}' | nc 10.0.0.92 9999