filebeat.yml中output的配置将除了logstash之外注释掉
output: logstash: hosts: ["192.168.197.130:5044"] worker: 2 loadbalance: true index: filebeat 这里 worker 的含义,是 beat 连到每个 host 的线程数。 在 loadbalance 开启的情况下,意味着有 4 个worker 轮训发送数据则对应的logstash配置,编写一个配置文件
sudo vim filebeat_logstash_out.conf
beat 写入 Logstash 时,会配合 Logstash-1.5 后新增的 metadata 特性。将 beat 名和 type 名 记录在 metadata 里。所以对应的 Logstash 配置应该是这样:
input { beats { port => 5044 } } output { elasticsearch { hosts => ["http://192.168.197.128:9200"] index => "%{[@metadata][beat]}-%{+YYYY.MM.dd}" document_type => "%{[@metadata][type]}" } stdout{ codec=>rubydebug } }启动conf
bin/logstash -f config/filebeat_logstash_out.conf
往log文件中追加日志
echo “2222333344445555” >> test1.log
前往查看效果:
filebeat.yml中output的配置将除了file之外注释掉
output: file: path: "/opt/elk/log/filebeat_output_file" filename: filebeat rotate_every_kb: 10000 number_of_files: 7往log文件中追加日志:
echo “this is filebeat output of file” >> test1.log
查看效果:
filebeat.yml中output的配置将除了cosnsole之外注释掉
output: console: pretty: true重启启动服务:
sudo filebeat -e -c /etc/filebeat/filebeat.yml
往log文件中追加日志:
echo “this is filebeat output of console” >> test1.log
前往服务启动窗口查看效果:
aa 23 beijing alibaba
Python的脚本内容如下:
#-*-coding:utf-8-*- name_list = ['aa','bb','cc','dd','ee'] addr_list = ['beijing','shanghai','guangzhou'] company_list =['baidu','tengxun','alibb'] import random import time def get_name(): return name_list[random.randint(0,4)] def get_age(): return random.randint(20,25) def get_addr(): return addr_list[random.randint(0,2)] def get_comp(): return company_list[random.randint(0,2)] if __name__=="__main__": while True: print("%s %s %s %s"%(get_name(),get_age(),get_addr(),get_comp())) str_line = get_name()+" "+str(get_age())+" "+get_addr()+" "+get_comp() import os os.system("echo %s >> test1.log" % str_line) time.sleep(1) 3:filebeat 的配置文件使用output=logstashfilebeat.yml
output: logstash: hosts: ["192.168.197.130:5044"] worker: 2 loadbalance: true index: filebeat 4:filebeat_logstash_out.conf input { beats { port => 5044 } } filter{ if [type] == 'log'{ grok{ match=>{ "message"=>"%{WORD:username} %{WORD:age} %{WORD:address} %{WORD:company}" } } } } output { elasticsearch { hosts => ["http://192.168.197.128:9200"] index => "%{[@metadata][beat]}-%{+YYYY.MM}" document_type => "%{[@metadata][type]}" } stdout{ codec=>rubydebug } } 5:启动服务启动python脚本
启动conf配置文件
6:web查看结果