首页 > 极客资料 博客日记
Filebeat
2024-09-22 17:00:05极客资料围观20次
本篇文章分享Filebeat,对你有帮助的话记得收藏一下,看极客之家收获更多编程知识
Filebeat
简介
Filebeat用于转发和集中日志数据的轻量级传送程序。作为服务器上的代理安装,Filebeat监视指定的位置文件或位置,收集日志事件,并将他们转发到Elasticsearch 或Logstash进行索引。
架构图
安装Filebeat
下载并安装
wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-6.0.1-x86_64.rpm
yum install ./filebeat-6.0.1-x86_64.rpm
配置
修改Filebeat配置文件
filebeat.yml
vim /etc/filebeat/filebeat.yml # 主配置文件
\- type: log # 文档类型
paths:
\- /var/log/httpd/access.log* # 从哪里读入数据# 输出在elasticsearch与logstash二选一即可
output.elasticsearch: #将数据输出到Elasticsearch。与下面的logstash二者选一
hosts: ["localhost:9200"]
output.logstash: # 将数据传送到logstash,要配置logstash使用beats接收
hosts: ["172.18.68.14:5044"]
定义输入日志文件路径
filebeat.inputs:
- type: log
enabled: true
paths:
- /var/log/*.log
在这个例子中,获取在/var/log/*.log路径下的所有文件作为输入,这就意味着Filebeat将获取/var/log目录下所有以.log结尾的文件。
为了从预定义的子目录级别下抓取所有文件,可以使用以下模式,:/var/log/*/*.log
.这个将抓取/var/log
目录下的所有以.log
结尾的文件
目前配置了这样的目录结构,那么只会抓取到2.log和 3.log,而不会抓到4.log和1.log
发送到Elasticsearch
如果你发送输出目录到Elasticsearch(并且不用Logstash),那么设置ip地址和端口以便能够找到Elasticsearch
output.elasticsearch:
hosts: ["192.168.1.42:9200"]
如果打算用kibana仪表盘
setup.kibana:
host: "localhost:5601"
output.elasticsearch:
hosts: ["myEShost:9200"]
username: "filebeat_internal"
password: "{pwd}"
setup.kibana:
host: "mykibanahost:5601"
username: "my_kibana_user"
password: "{pwd}"
配置filebeat以使用Logstash
如果想使用Logstash对filebeat收集的数据进行额外处理,那么你需要将filebeat配置为使用Logstash。
output.logstash:
hosts: ["127.0.0.1:5044"]
完整配置
#=========================== Filebeat inputs ==============
filebeat.inputs:
- type: log
enabled: true
paths:
- /var/log/*.log
#============================== Dashboards ===============
setup.dashboards.enabled: false
#============================== Kibana ==================
setup.kibana:
host: "192.168.101.5:5601"
#-------------------------- Elasticsearch output ---------
output.elasticsearch:
hosts: ["localhost:9200"]
启动Filebeat
systemctl start filebeat
配置Logstash接收来自FIlebeat采集的数据
vim /etc/logstash/conf.d/test.conf
input {
beats {
port => 5044 # 监听5044用于接收Filebeat传来数据
}
}
filter {
grok {
match => {
"message" => "%{COMBINEDAPACHELOG}" # 匹配HTTP的日志
}
remove_field => "message" # 不显示原信息,仅显示匹配后
}
}
output {
elasticsearch {
hosts => ["http://172.18.68.11:9200","http://172.18.68.12:9200","http://172.18.68.13:9200"] # 集群IP
index => "logstash-%{+YYYY.MM.dd}"
action => "index"
document_type => "apache_logs"
}
}
启动Logstash
/usr/share/logstash/bin/logstash -f /etc/logstash/conf.d/test.conf
模拟日志访问
通过curl命令来模拟客户访问,生成访问日志
curl 127.0.0.1
curl 172.18.68.51
curl 172.18.68.52
curl 172.18.68.53
验证信息
清除之前实验的旧数据(删除时要在对话框中输入删除),然后可以看到filebeat采集数据经过Logtash过滤再送给Elasticsearch的数据。
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:jacktools123@163.com进行投诉反馈,一经查实,立即删除!
标签:
上一篇:GIS转码的秋招历程与踩坑经历
下一篇:数据结构与算法之间有何关系?
相关文章
最新发布
- Nuxt.js 应用中的 prerender:routes 事件钩子详解
- 【问题解决】Tomcat由低于8版本升级到高版本使用Tomcat自带连接池报错无法找到表空间的问题
- 【FAQ】HarmonyOS SDK 闭源开放能力 —Vision Kit
- 六、Spring Boot集成Spring Security之前后分离认证流程最佳方案
- 《JVM第7课》堆区
- .NET 8 高性能跨平台图像处理库 ImageSharp
- 还在为慢速数据传输苦恼?Linux 零拷贝技术来帮你!
- 刚毕业,去做边缘业务,还有救吗?
- 如何避免 HttpClient 丢失请求头:通过 HttpRequestMessage 解决并优化
- 让性能提升56%的Vue3.5响应式重构之“版本计数”