Filebeat 安装与配置
Posted Doker 多克
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Filebeat 安装与配置相关的知识,希望对你有一定的参考价值。
本指南介绍了如何快速开始日志收集。您将学习如何:
在要监视的每个系统上安装Filebeat
指定日志文件的位置
将日志数据解析为字段,并将其发送到Elasticsearch
可视化Kibana中的日志数据
一、开始准备
您需要Elasticsearch来存储和搜索数据,需要Kibana来可视化和管理数据。
步骤1:安装Filebeat
在所有要监视的服务器上安装Filebeat。
要下载并安装Filebeat,请使用适用于您的系统的命令:
curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-8.6.2-linux-x86_64.tar.gz
tar xzvf filebeat-8.6.2-linux-x86_64.tar.gz
步骤2:连接到Elastic Stackedit
需要连接到Elasticsearch和Kibana才能设置Filebeat。
在filebeat.yml中设置连接信息。要查找此配置文件,请参阅目录布局。
指定您的Elasticsearch服务的cloud.id,并将cloud.auth设置为有权设置Filebeat的用户。例如:
cloud.id: "staging:dXMtZWFzdC0xLmF3cy5mb3VuZC5pbyRjZWM2ZjI2MWE3NGJmMjRjZTMzYmI4ODExYjg0Mjk0ZiRjNmMyY2E2ZDA0MjI0OWFmMGNjN2Q3YTllOTYyNTc0Mw=="
cloud.auth: "filebeat_setup:YOUR_PASSWORD" (1)
(1)本示例显示了一个硬编码的密码,但您应该将敏感值存储在机密密钥库中。
步骤3:收集日志数据编辑
有几种方法可以使用Filebeat收集日志数据:
数据采集模块 — 简化常见日志格式的收集、解析和可视化
ECS记录器 — 结构和格式应用程序登录到ECS兼容的JSON
手动Filebeat配置
启用和配置数据采集模块
确定需要启用的模块。要查看可用模块的列表,请运行:
./filebeat modules list
从安装目录中,启用一个或多个模块。例如,以下命令启用nginx模块配置:
./filebeat modules enable nginx
在modules.d下的模块配置中,更改模块设置以匹配您的环境。您必须在模块中至少启用一个文件集。默认情况下会禁用文件集。
例如,日志位置是根据操作系统设置的。如果日志不在默认位置,请设置路径变量:
- module: nginx
access:
enabled: true
var.paths: ["/var/log/nginx/access.log*"]
步骤4:参数设置
Filebeat带有预定义的属性,用于解析、索引和可视化数据。要加载这些资产,请执行以下操作:
请确保filebeat.yml中指定的用户有权设置filebeat。
从安装目录中,运行:
./filebeat setup -e
-e是可选的,并将输出发送到标准错误,而不是配置的日志输出。
此步骤加载推荐的索引模板以写入Elasticsearch,并部署示例仪表板以可视化Kibana中的数据。
此步骤不加载用于解析日志行的摄取管道。默认情况下,当您第一次运行模块并连接到Elasticsearch时,会自动设置摄取管道。
步骤5:启动Filebeattedit
在启动Filebeat之前,请修改Filebeat.yml中的用户凭据,并指定有权发布事件的用户。
要启动Filebeat,请运行:
sudo chown root filebeat.yml
sudo chown root modules.d/nginx.yml
sudo ./filebeat -e
ELK 日志采集框架:Filebeat安装与配置
1 资源
资源信息 | 版本号 | 备注 |
---|---|---|
服务器 | Centos7 | IP: 192.168.51.4 |
Filebeat | 7.4.2 |
CSDN filebeat下载:https://download.csdn.net/download/qq_15769939/16760230
2 介绍
Filebeat是一个日志文件托运工具。可作为一个客户端安装在你的服务器上,Filebeat可以监控日志的目录或者指定的日志文件,实时读取文件,并将其上传到Elasticsearch或Logstash进行索引等处理。
Filebeat工作流程是这样的:开启Filebeat时,它会启动一个或多个探测器(prospectors)去检测你设置的日志路径或日志文件,在定位到每一个日志文件以后,Filebeat启动一个收割进程(harvester)。每一个收割进程读取一个日志文件的新内容并把数据发送到libbeat ,libbeat会集合这些事件并将汇总的数据发送到你设置的外部接收程序中。
附上官网地址:https://www.elastic.co/cn/beats/filebeat
3 安装与配置
3.1 上传服务器
将文件上传到服务器的 /opt/module/software/filebeat
目录
[root@localhost software]# cd /opt/module/software/filebeat/
[root@localhost filebeat]# ll
总用量 53912
-rw-r--r--. 1 root root 55201797 3月 25 15:46 filebeat-7.4.2-linux-x86_64.tar.gz.zip
3.2 解压到指定目录
[root@localhost filebeat]# unzip filebeat-7.4.2-linux-x86_64.tar.gz.zip
[root@localhost filebeat]# tar -zxvf filebeat-7.4.2-linux-x86_64.tar.gz -C /usr/local
[root@localhost filebeat]# cd /usr/local
[root@localhost local]# mv filebeat-7.4.2-linux-x86_64/ filebeat-7.4.2
3.3 修改配置
[root@localhost local]# cd filebeat-7.4.2
[root@localhost filebeat-7.4.2]# vim /usr/local/filebeat-7.4.2/filebeat.yml
###################### Filebeat Configuration Example #########################
filebeat.inputs:
- input_type: log
paths:
## app-服务名称.log, 为什么写死,防止发生轮转抓取历史数据
- /usr/local/logs/app-elk-demo.log
#定义写入 ES 时的 _type 值
document_type: "app-log"
multiline:
#pattern: '^\\s*(\\d{4}|\\d{2})\\-(\\d{2}|[a-zA-Z]{3})\\-(\\d{2}|\\d{4})' # 指定匹配的表达式(匹配以 2017-11-15 08:04:23:889 时间格式开头的字符串)
pattern: '^\\[' # 指定匹配的表达式(匹配以 "{ 开头的字符串)
negate: true # 是否匹配到
match: after # 合并到上一行的末尾
max_lines: 2000 # 最大的行数
timeout: 2s # 如果在规定时间没有新的日志事件就不等待后面的日志
fields:
logbiz: collector
logtopic: app-log-collector ## 按服务划分用作kafka topic
evn: dev
- input_type: log
paths:
- /usr/local/logs/error-elk-demo.log
document_type: "error-log"
multiline:
#pattern: '^\\s*(\\d{4}|\\d{2})\\-(\\d{2}|[a-zA-Z]{3})\\-(\\d{2}|\\d{4})' # 指定匹配的表达式(匹配以 2017-11-15 08:04:23:889 时间格式开头的字符串)
pattern: '^\\[' # 指定匹配的表达式(匹配以 "{ 开头的字符串)
negate: true # 是否匹配到
match: after # 合并到上一行的末尾
max_lines: 2000 # 最大的行数
timeout: 2s # 如果在规定时间没有新的日志事件就不等待后面的日志
fields:
logbiz: collector
logtopic: error-log-collector ## 按服务划分用作kafka topic
evn: dev
output.kafka:
enabled: true
hosts: ["192.168.51.4:9092"]
topic: '%{[fields.logtopic]}'
partition.hash:
reachable_only: true
compression: gzip
max_message_bytes: 1000000
required_acks: 1
logging.to_files: true
3.4 测试启动
3.4.1 校验配置是否正确
[root@localhost filebeat-7.4.2]# ./filebeat test config -c filebeat.yml
## Config OK
3.4.2 启动filebeat
如果kafaka还未安装,请注释掉下面的代码在运行
#output.kafka:
#enabled: true
#hosts: ["192.168.51.4:9092"]
#topic: '%{[fields.logtopic]}'
#partition.hash:
# reachable_only: true
#compression: gzip
#max_message_bytes: 1000000
#required_acks: 1
[root@localhost filebeat-7.4.2]# /usr/local/filebeat-7.4.2/filebeat &
3.4.3 查看进程
[root@localhost filebeat-7.4.2]# ps -ef | grep filebeat
root 87453 86806 1 18:44 pts/2 00:00:00 /usr/local/filebeat-7.4.2/filebeat
root 87464 86806 0 18:44 pts/2 00:00:00 grep --color=auto filebeat
3.4.4 停止filebeat
[root@localhost filebeat-7.4.2]# ps -ef |grep filebeat[root@localhost filebeat-7.4.2]# kill -9 #进程号
4 相关信息
博文不易,辛苦各位猿友点个关注和赞,感谢
以上是关于Filebeat 安装与配置的主要内容,如果未能解决你的问题,请参考以下文章