version : 5.6
Filebeat是一个日志文件托运工具,在你的服务器上filebeat后,它会监控日志目录或者指定的日志文件,追踪读取这些文件(追踪文件的变化,不停的读)并且转发这些信息到elasticsearch/logstarsh/redis/kafka/..中存
日志搜集,选择filebeat还是logstash 根据个人情况,filebeat相对来说更轻便
安装filebeat官网说明
前提ELK已部署完毕.个人实验是输出到redis
DEB:
curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-5.6.3-amd64.deb
sudo dpkg -i filebeat-5.6.3-amd64.deb
RPM:
curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-5.6.3-x86_64.rpm
sudo rpm -vi filebeat-5.6.3-x86_64.rpm
filebeat.yml配置
默认路径在 /etc/filebeat/filebeat.yml
模板中有各种说明,输出到各种环境的配置,不过多说明
#以redis为例
- input_type: log
# Paths that should be crawled and fetched. Glob based paths.
paths:
- /usr/local/nginx-1.12.1/logs/*.log
# - /usr/local/nginx-1.12.1/logs/*/*.log #子目录的log也会采集
多日志,不同源采集:
filebeat.prospectors:
- input_type: log
paths:
- /net-log/10.4.32.1*.log
fields:
log_source: 10.4.32.1
fields_under_root: true
document_type: 10.4.32.1
- input_type: log
paths:
- /net-log/127.0.0.1*.log
fields:
log_source: 127.0.0.1
fields_under_root: true
document_type: 127.0.0.1
#fields_under_root: true
#此配置使field字典的数据以顶级格式出现,
#如果字段已存在,则覆盖.
#另外:logstash中type判断5.5版本可使用 document_type 直接定义type
-
paths:
- /home/b/*.log
fields:
log_source: b
#--------------------------------redis---------------------
output.redis:
hosts: ["10.1.27.24"] #必须
#password: "your pwd"
db: 0
key: "nginx" #必须
timeout: 10
##key值的作用
key值会传递给redis/es/logstash等,所以key的定义可以起到日志分类的作用.
logstash通过对不同的key值进行过滤分类,然后传递给es,并定义不同的index,
那么kibana的index就能据此分类,这个分类是大分类.
上面的fileds是在数据中添加个字段,是对大类中的日志能在进行筛选查看.
logstash的简单配置
input {
redis {
host => '10.1.27.24'
data_type => 'list'
key => 'nginx'
}
}
output {
#这里可以加判断,if 'a' in [type]{.....index => 'a-...'}
#这样可以对日志更细致的划分,索引建立的更细致
elasticsearch {
hosts => '10.1.27.23'
codec => 'json'
index => 'nginx-%{+YYYY.MM.dd}'
}
输出到各环境的配置kafka,redis,es,logstash等
启动filebeat
rpm安装:
sudo /etc/init.d/filebeat start
网友评论