阅读量:4
1. 安装Filebeat
在需要收集远程日志的服务器(或本地服务器)上安装Filebeat。以CentOS为例,使用包管理器安装:
sudo yum install filebeat -y
安装完成后,Filebeat配置文件默认位于/etc/filebeat/filebeat.yml。
2. 配置远程日志源(关键步骤)
要让Filebeat收集远程日志,需通过以下两种方式指定远程日志路径:
- 方式一:直接在本地Filebeat配置中指定远程路径
编辑filebeat.inputs部分,将paths指向远程服务器的共享目录(如NFS、Samba挂载点)或通过SSHFS挂载的远程路径。例如:filebeat.inputs: - type: log enabled: true paths: - /mnt/remote_logs/*.log # 假设/mnt/remote_logs是挂载的远程目录 - 方式二:在远程服务器上安装Filebeat并配置输出到本地
在远程服务器上重复步骤1安装Filebeat,然后编辑其filebeat.inputs指定本地日志路径,再配置output.elasticsearch或output.logstash将日志发送到本地服务器的Elasticsearch/Logstash。例如:本地服务器需开启Logstash的5044端口接收数据。# 远程服务器上的filebeat.inputs配置 filebeat.inputs: - type: log enabled: true paths: - /var/log/remote_app/*.log # 远程服务器上的日志路径 # 输出到本地服务器的Logstash(假设本地Logstash监听5044端口) output.logstash: hosts: ["your_local_server_ip:5044"]
3. 配置输出目标(Elasticsearch/Logstash)
根据需求选择输出目标,配置对应的连接信息:
- 输出到Elasticsearch(直接发送)
若远程日志需直接存入Elasticsearch,配置output.elasticsearch,指定Elasticsearch服务器地址、端口及认证信息(若启用安全功能):output.elasticsearch: hosts: ["your_elasticsearch_host:9200"] # 远程Elasticsearch服务器地址 username: "elastic" # 认证用户名(若有) password: "your_password" # 认证密码(若有) protocol: "https" # 使用HTTPS加密(推荐) ssl.verification_mode: "full" # 严格验证SSL证书(生产环境建议) ssl.certificate_authorities: ["/path/to/ca.crt"] # CA证书路径(自签名证书需指定) - 输出到Logstash(推荐用于复杂处理)
若需通过Logstash进行日志过滤、转换,配置output.logstash,指定Logstash服务器地址及端口:注意:Logstash需提前配置好输入插件(如output.logstash: hosts: ["your_logstash_host:5044"] # 远程Logstash服务器地址 ssl.certificate_authorities: ["/path/to/ca.crt"] # 若Logstash启用SSL,需指定CA证书beats输入)以接收Filebeat数据。
4. 配置Logstash接收(若使用Logstash)
在Logstash服务器上创建配置文件(如filebeat_remote.conf),添加以下内容:
input {
beats {
port => 5044 # 监听5044端口,接收Filebeat数据
}
}
filter {
# 可选:添加过滤器处理日志(如解析Nginx日志、提取字段)
grok {
match => { "message" => "%{COMBINEDAPACHELOG}" } # 示例:解析Apache日志格式
}
}
output {
elasticsearch {
hosts => ["your_elasticsearch_host:9200"]
index => "remote_logs-%{+yyyy.MM.dd}" # 索引名称格式
}
stdout { codec => rubydebug } # 调试时输出到控制台
}
启动Logstash:
nohup /usr/share/logstash/bin/logstash -f /etc/logstash/conf.d/filebeat_remote.conf > /var/log/logstash/filebeat_remote.out &
5. 启动与验证
- 启动Filebeat:
在配置好Filebeat的服务器上启动服务,并设置开机自启:sudo systemctl start filebeat sudo systemctl enable filebeat - 检查状态:
查看Filebeat运行状态,确认无错误:sudo systemctl status filebeat - 查看日志:
通过以下命令查看Filebeat详细日志,排查配置问题:sudo journalctl -u filebeat -f - 验证数据:
登录Elasticsearch或Kibana,检查远程日志是否成功接收。例如,在Kibana的Dev Tools中执行:若返回日志数据,则说明配置成功。GET /remote_logs-*/_search { "query": { "match_all": {} } }
6. 安全配置(生产环境必做)
- 启用SSL/TLS:
为Elasticsearch、Logstash配置SSL证书,Filebeat配置中指定证书路径(如ssl.certificate_authorities、ssl.certificate、ssl.key),确保数据传输加密。 - 认证授权:
若Elasticsearch/Logstash启用了X-Pack安全功能,需在Filebeat配置中添加用户名、密码(如username、password),并确保用户拥有对应权限。 - 防火墙设置:
开放远程服务器的日志目录访问权限(如NFS/Samba共享权限),以及Elasticsearch/Logstash的端口(9200、5044等):sudo firewall-cmd --permanent --zone=public --add-port=9200/tcp sudo firewall-cmd --permanent --zone=public --add-port=5044/tcp sudo firewall-cmd --reload ```。
以上就是关于“如何使用Filebeat进行远程日志收集”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm