天下風雲出我輩
一入江湖歲月催

使用Filebeat收集日志

Filebeat 是一款轻量级的日志收集工具,它有输入和输出两端,通常是从日志文件中读取数据,输出到 Logstash 或 Elasticsearch 。它资源占用相对Logstash来说比较低,其作用是收集业务服务器的日志,输出到一个日志系统便于集中管理。

 

 

一、Filebeat收集日志输出到ES

1、安装Filebeat

curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-6.4.1-x86_64.rpm
rpm -vi filebeat-6.4.1-x86_64.rpm

2、配置Fileat输出到ES

这里配置收集系统日志和Nginx日志(Json格式),配置文件必须遵循yaml语法格式,否则会报错。

#vim /etc/filebeat/filebeat.yml
filebeat.inputs:
- type: log
  enabled: true     # 设置该配置生效
  paths:            # 要抓取的日志路径,写绝对路径
    - /var/log/messages
  fields:           # 自定义字段
    log_source: 192.168.1.230-system
  fields_under_root: true   #覆盖重名字段
- type: log
  enabled: true
  paths:
    - /var/log/nginx/access.log
#设置使用Json
  json.keys_under_root: true
  json.overwrite_keys: true
  fields:
    log_source: 192.168.1.230-nginx
  fields_under_root: true

setup.template.enabled: true       #开启加载模板
setup.template.name: "nginx-1"       #设置模板名称
setup.template.pattern: "nginx-1-*"    #设置索引模式
output.elasticsearch:             #设置ES输出
  hosts: ["192.168.1.235:9200"]    # 定义es服务器的ip
  index: "nginx-1_server-%{+YYYY-MM-dd}"  #索引名称

3、测试配置文件并开启服务

# filebeat test config
Config OK

systemctl start filebeat && systemctl enable filebeat

kibana上创建索引并查看数据

二、Filebeat收集日志输出到Logstash

这里filebeat收集主机的system日志和nginx日志,用tags区别索引。

filebeat>>>Logstash>>>ES>>>Kibana

1、Filebeat配置

filebeat.inputs:

- type: log
enabled: true
paths:
- /var/log/messages
tags: ["system"] #自定义标签
fields:
serverip: 192.168.1.230 #自定义字段,这里设置主机IP,好搜索区别。
fields_under_root: true

- type: log
enabled: true
paths:
- /var/log/nginx/access.log
json.keys_under_root: true
json.overwrite_keys: true
tags: ["nginx"]
fields:
serverip: 192.168.1.230
fields_under_root: true

output.logstash:

hosts: ["192.168.1.231:5044"]

2、测试配置文件并启动服务

# filebeat test config
Config OK

systemctl start filebeat

3、配置Logstash的输出

#vim /opt/logstash-6.4.1/config/logstash.conf

input {
beats {
port => 5044
}
}


output {
if "system" in [tags] { #判断filebeat中的字段是否在标签中
elasticsearch {
hosts => ["192.168.1.235:9200"] # 定义es服务器的ip
index => "system-%{+YYYY.MM.dd}" # 定义索引
}
}

if "nginx" in [tags] {
elasticsearch {
hosts => ["192.168.1.235:9200"] # 定义es服务器的ip
index => "nginx-%{+YYYY.MM.dd}" # 定义索引
}
}

}

测试Logstash配置文件并启动服务

bin/logstash -f /opt/logstash-6.4.1/config/tomcat.conf -t

#显示以下内容说明没问题
Configuration OK

bin/logstash -f config/logstash.conf

 

登录Kibana创建索引并查看数据。

 

官方参考文档:Filbeat官方指南

赞(3) 打赏
未经允许不得转载:Anonym0x1 » 使用Filebeat收集日志

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏