利用filebeat采集日志

利用filebeat采集日志
beats是ELK体系中新增的一个工具,, 属于一个轻量的日志采集器, 前面我们使用的日志采集工具是logstash, 但是logstash占用的资源比较大, 没有beats轻量, 所以官方也推荐使用beats来作为日志采集工具。且beats可扩展, 支持自定义构建
 
Beats可以直接(或者通过Logstash)将数据发送到Elasticsearch,在那里你可以进一步处理和增强数据,然后在Kibana中将其可视化。
 
 
filebeat
发送到ES
output.elasticsearch:
hosts: ["192.168.10.11:9200"] #配置es服务器的ip地址
 
发送到kafka
output.kafka:
hosts: ["192.168.10.1:9092,192.168.10.2:9092,192.168.10.3:9092"]
topic: 'nginx'
 
发送到logstash
output.logstash:
# The Logstash hosts
hosts: [“192.168.10.11:5044”]
index: shopweb
 
发送到ES集群
1.安装
# tar xf filebeat-6.4.1-linux-x86_64.tar.gz
# mv filebeat-6.4.1-linux-x86_64 /usr/local/filebeat
 
2.测试
# cd /usr/local/filebeat/
# vim filebeat.yml
filebeat.prospectors:
- type: log
#enabled: false #这一句要注释掉
   paths:
       - /var/log/messages #指定需要收集的日志文件的路径
 
#output.elasticsearch: #先将这几句注释掉
#   hosts: ["localhost:9200"]
output.console:
enable: true
 
# ./filebeat -c filebeat.yml #看看是否有在终端中打印日志数据, 有打印则代表filebeat能够正常收集日志数据
 
3.测试完成后,修改配置文件,让filebeat以服务的方式启动
# vim filebeat.yml
#output.console: 把这两句注释掉
# enable: true
 
output.elasticsearch:
    hosts: ["192.168.10.11:9200"] #配置es服务器的ip地址
 
# ./filebeat -c filebeat.yml &
 
4.启动成功后, 到es服务器上查看索引, 可以看到新增了一个以filebeat开头的索引, 这就代表filesbeat和es能够正常通信了
 
5.可以到kibana上配置这个索引并查看了
 
 
简单配置
filebeat配置:
# vim cat test.yml
filebeat.inputs:
- type: log
  paths:
    - /var/log/httpd/access_log
 
 
output.logstash:
  hosts: ["192.168.10.140:5044"]
 
 
logstash配置:
input {
beats {
port => 5044
}
}
其它略
 
采集多个日志
filebeat配置:
# cat test.yml
filebeat.inputs:
- type: log
  paths:
    - /var/log/httpd/access_log
  fields:
    filetype: web # 用于区别不同的日志
  fields_under_root: true # 将自定义字段置于顶层
 
 
- type: log
  paths:
    - /var/log/secure
  fields:
    filetype: sys
  fields_under_root: true
 
 
output.logstash:
  hosts: ["192.168.10.140:5044"]
 
logstash配置:
# cat input-beat.conf
input {
beats {
port => 5044
}
}
 
 
filter {
if [filetype] == "web" {
grok {
match => {
"message" => "%{COMBINEDAPACHELOG}"
}
remove_field => ["message","beat","offset","tags","prospector"]
}
}
}
 
 
output {
if [filetype] == "web" {
elasticsearch {
hosts => ["192.168.10.130:9200"]
index => "http-%{+YYYY.MM.dd}"
}
}
else if [filetype] == "sys" {
elasticsearch {
hosts => ["192.168.10.130:9200"]
index => "syslog-%{+YYYY.MM.dd}"
}
}
}
 
posted @ 2020-10-20 22:12  梦里花落知多少sl  阅读(675)  评论(0编辑  收藏  举报