启动完之后不要关闭这个窗口,再开一个窗口进入到filebeat文件夹中
进入之后再次打开配置修改 vim filebeat.yml
要修改的内容就是将output部分中的Elasticsearch给注释掉,然后把Logstash需要的部分给打开和输入要传输的目的地。
此时就可以去运行filebeat了, ./filebeat -e 即携带日志运行,
注意一下,此时开了两个页面,窗口1是运行logstash的,窗口2是运行filebeat的,都不要关,去打开窗口3进入到zzntest/log/文件夹下
准备输入日志 echo hello >> 1.log 输入之后,就会看到窗口2是这样的
注意:在这里是输入数据到端口,一定要把端口使用权限打开,不然会报error说连接端口失败。
端口2将数据处理好之后就会发送到5044端口,然后窗口1就会看到刚才输入的hello,但格式虽然和最初的不太符合,但这起码映射成功了。
如果此时把最初准备好的日志内容输入vim test.log
1562065564549|{"cm":{"ln":"-54.7","sv":"V2.9.8","os":"8.1.0","g":"9NY0AL0L@gmail.com","mid":"m140","nw":"WIFI","l":"pt","vc":"13","hw":"1080*1920","ar":"MX","uid":"u737","t":"1562030978430","la":"-7.4","md":"HTC-14","vn":"1.1.3","ba":"HTC","sr":"M"},"ap":"gmall","et":[{"ett":"1561996979060","en":"display","kv":{"newsid":"n925","action":"1","extend1":"1","place":"4","category":"37"}},{"ett":"1562031053551","en":"newsdetail","kv":{"entry":"3","newsid":"n332","news_staytime":"10","loading_time":"8","action":"4","showtype":"3","category":"11","type1":"433"}},{"ett":"1561986545246","en":"loading","kv":{"extend2":"","loading_time":"7","action":"1","extend1":"","type":"1","type1":"102","loading_way":"1"}},{"ett":"1562053433842","en":"active_foreground","kv":{"access":"1","push_id":"1"}},{"ett":"1562030443443","en":"favorites","kv":{"course_id":2,"id":0,"add_time":"1562049124751","userid":0}}]}
在窗户一就可以看到想要的结果了。也就是完成了。
2、将filebeat的内容直接放到es里
如果发送到logstash的话就是不需要考虑什么索引表名什么都不用考虑,但是es是要注意发送到哪一个索引(index)
先去修改Filebeat中的配置,因为我们是日志,就简单做一下分区
把logstash给注释掉,然后打开elasticsearch,和添加下面的索引,大概意思就是:如果输入的日志字段含有WARN字段,就放到索引warning里面就可以。如果包含ERR就放到,,,,索引中另外两个也是同样的作用。
output.elasticsearch:
# Array of hosts to connect to.
hosts: ["8.148.4.43:9200"]
# Protocol - either `http` (default) or `https`.
#protocol: "https"
# Authentication credentials - either API key or username/password.
#api_key: "id:api_key"
#username: "elastic"
#password: "changeme"
#通过判断数据中包含的字符串 可以分流数据
#通过语法%{}可以调用元数据信息和特殊信息
#error-8.5.2-2022-12-02
indices:
- index: "warning"
when.contains:
message: "WARN"
- index: "error-%{[agent.version]}-%{+yyyy.MM.dd}"
when.contains:
message: "ERR"
- index: "info"
when.contains:
message: "INFO"
修改好之后就打开es和重新运行filebeat。./filebeat -e 然后再用重新的方法在窗口3里输入日志。
输出好之后就打开es所在地,因为之前已经配置好kibana,所以就直接打开kibana的端口,看有没有把数据写进去就行
注意:看上面的配置是把日志文件分成了三个索引存入,在输入日志之前要提前在es里面创建好这三个索引的,这样filebeat才能够成功将日志输入到es中。
121.196.217.190:5601
ik安装