安装并配置Filebeat
 
  
Filebeat与 filebeat比较
 
  
Logstash缺点:
 
  
依赖java、在数据量大的时候,Logstash进程会消耗过多的系统资源,
 
  
严重影响业务系统的性能
 
  
filebeat优点:
 
  
基于Go语言,没有任何依赖
 
  
配置文件简单,格式明了
 
  
filebeat比logstash更加轻量级
 
  
所以占用系统资源极少,非常适合安装在生产机器上。
 
   
  
1、解压安装Filebeat到指定目录
 
  
[root@filebeatserver ~]# tar -zxvf filebeat-6.3.2-linux-x86_64.tar.gz -C /usr/local
[root@filebeatserver ~]# mv /usr/local/filebeat-6.3.2-linux-x86_64 /usr/local/filebeat
 
   
  
2、修改 / usr /local/ filebeat / filebeat.yml 配置文件
 
  
#为了整洁,先注释掉原来的,添加下列内容
 
   
filebeat.inputs:
- type: log
enabled: true
paths:
- /var/log/messages
- /var/log/secure
fields:
log_topic: osmessages
name: "192.168.126.130" #可以输入本机IP
output.kafka:
enabled: true
hosts: ["192.168.126.129"] #卡夫卡集群IP
version: "0.10"
topic: '%{[fields][log_topic]}'
partition.round_robin:
reachable_only: true
worker: 2
required_acks: 1
compression: gzip
max_message_bytes: 10000000
logging.level: debug
 
   
  
配置项的含义介绍如下:
 
  
   

      
3、在后台启动并将结果输出到文件中
   
   

   
4、验证 filebeat 输出信息格式解读
   
这里以操作系统中 / var /log/secure 文件的日志格式为例,选取一个 SSH 登录系统失败的日志,内容如下:
   
Jan 31 17:41:56 localhost sshd [13053]: Failed password for root from 172.16.213.37 port 49560 ssh2
   
filebeat 接收到 / var /log/secure 日志后,会将上面日志发送到 kafka 集群,在 kafka 任意一个节点上,消费输出日志内容如下 :
   
   

   
注意上述内容在/usr/local/filebeat/nohup.out文件中查看
      
删除不需要 的字段,在 filebeat 配置文件中添加如下配置,
      
processors:
     
- drop_fields:
     
fields: ["beat", "input", "source", "offset"]
          
#注意
     
这个设置表示删除"beat"、"input"、"source"、"offset" 四个字段,其中, @timestamp 和@metadata字段是不能删除的。做完这个设置后,再次查看kafka中的输出日志,已经不再输出这四个字段信息了。
   
查找 filebeat 进程ID和 停止filebeat
   
[root@localhost filebeat]# pgrep -f filebeat
    
17447
        
#批量停止
[root@localhost filebeat]# kill -9 `pgrep -f filebeat`
[root@localhost filebeat]#
      
目前到以下阶段
   
   

      
1、安装部署Logstash
   
功能主要分为 接收数据、解析过滤并转换数据、输出数据三个部分
   
对应的插件依次是 input 插件、 filter 插件、 output 插件,其中, filter 插件是可选的,其它两个是必须插件。也就是说在一个完整的 Logstash 配置文件中 ,必须有 input 插件和 output 插件。
      
1.1解压并重命名(记得像那样先安装java环境)
   
[root@logstashserver ~]# tar -zxvf logstash-6.3.2.tar.gz -C /usr/local
[root@logstashserver ~]# mv /usr/local/logstash-6.3.2 /usr/local/logstash
   
kafka的配置文件目录为/usr/local/logstash/config/,其中,jvm.options是设置JVM内存资源的配置文件,logstash.yml是logstash全局属性配置文件,另外还需要自己创建一个logstash事件配置文件
      
2 、启动 logstash
cd /usr/local/logstash
[root@localhost logstash]# bin/logstash -e 'input{stdin{}} output{stdout{codec=>rubydebug}}'
......
在终端输入信息。这里我们输入"Hello",按回车,会有返回结果,内容如下:
{
"@timestamp" => 2022-04-18T08:43:48.656Z,
"host" => "localhost.localdomain",
"@version" => "1",
"message" => "hello"
}
      
3、第二种启动方式
   
创建 logstash-1.conf文件添加以下内容
   
input { stdin { }
}
output {
   stdout { codec => rubydebug }
}   
启动
   
bin/logstash -f logstash-1.conf
      
input {
        file {
        path => "/var/log/messages"
    }
}
output {
   stdout { codec => rubydebug }
}            
注意:
    
如果需要监控多个文件,可以通过逗号分隔即可,例如:
    
path => ["/var/log/*.log","/var/log/message","/var/log/secure"]
接着把logstash_in_stdout.conf文件稍加修改,变成另外一个事件配置文件logstash_in_kafka.conf,内容如下:
input {
file {
path => "/var/log/messages"
}
}
output {
kafka {
bootstrap_servers => "192.168.126.129:9092" #可以配置多个集群
topic_id => "osmessages"
}
}
       
4、配置logstash作为转发节点
   
kafka_os_into_es.conf
   
input {
        kafka {
        bootstrap_servers => "192.168.126.129:9092"    #可以配置多台服务器节点,用逗号隔开
        topics => ["osmessages"]
        }
}
output {
        elasticsearch {
        hosts => ["192.168.126.128:9200"]     #可以配置多台服务器节点,用逗号隔开
        index => " osmessageslog-%{+YYYY-MM-dd}"
        }
}      
5、再次启动
   
[root@localhost logstash]# pwd
/usr/local/logstash
[root@localhost logstash]# nohup bin/logstash -f config/kafka_os_into_es.conf &
[1] 18332
       
   

  
如果成功,则会有数据输入到ES
  
6.9、安装并配置kibana展示日志数据
  
1、解压安装
  
[root@localhost ~]# tar -zxvf kibana-6.3.2-linux-x86_64.tar.gz -C /usr/local
[root@localhost ~]# mv /usr/local/kibana-6.3.2-linux-x86_64 /usr/local
  
2、修改配置文件
vim /usr/local/kibana/kibana.yml,Kibana
server.port: 5601
server.host: "192.168.126.128" #ES-server-2的ip
elasticsearch.url: "http://192.168.126.128:9200" #ES-server-3的ip
       
3、启动:
  
[root@localhost kibana]# pwd
/usr/local/kibana
[root@localhost kibana]# nohup bin/kibana &
  
  

  
数据流程图:
  
  

  
到现在是搭建完了,后续将会进行展示。
     










