如何用Filebeat监控远程服务器
导读:总体思路 在需要被采集的远程服务器上安装并运行 Filebeat,让它读取本机的日志文件。 将事件通过 Logstash 或直接发送到 Elasticsearch;若走 Logstash,可在集中端做过滤、脱敏与路由。 在 Kibana...
总体思路
- 在需要被采集的远程服务器上安装并运行 Filebeat,让它读取本机的日志文件。
- 将事件通过 Logstash 或直接发送到 Elasticsearch;若走 Logstash,可在集中端做过滤、脱敏与路由。
- 在 Kibana 中创建索引模式并可视化查看。
- 安全上建议启用 TLS/SSL 与 认证,避免明文传输与越权访问。
方案一 远程服务器安装 Filebeat 直连 ES 或 Logstash
- 安装 Filebeat(以 CentOS 为例)
- 使用 YUM 安装:sudo yum install filebeat -y
- 配置采集与输出(示例)
- 直连 Elasticsearch
filebeat.inputs: - type: log enabled: true paths: - /var/log/*.log fields: type: remote_nginx output.elasticsearch: hosts: ["es.example.com:9200"] protocol: https ssl.verification_mode: full ssl.certificate_authorities: ["/path/to/ca.crt"] username: "filebeat_writer" password: "YOUR_PASSWORD" index: "filebeat-%{ [agent.version]} -%{ +yyyy.MM.dd} " - 或输出到 Logstash
output.logstash: hosts: ["logstash.example.com:5044"]
- 直连 Elasticsearch
- 启动与验证
- 启动:sudo systemctl start filebeat & & sudo systemctl enable filebeat
- 查看状态与日志:sudo systemctl status filebeat、sudo journalctl -u filebeat -f
- 说明
- 若 Elasticsearch 使用自签名证书,开发环境可临时将 ssl.verification_mode 设为 none,生产环境应使用 full 并配置 CA/客户端证书。
方案二 集中式 Logstash 接收多台远程 Filebeat
- 远程服务器 Filebeat 配置(输出到集中 Logstash)
filebeat.inputs: - type: log enabled: true paths: - /var/log/*.log fields: service: app01 env: prod output.logstash: hosts: ["logstash.example.com:5044"] - 集中端 Logstash 配置(示例)
input { beats { port => 5044 } } filter { # 可在此做 grok、mutate、geoip 等处理 } output { elasticsearch { hosts => ["es.example.com:9200"] index => "%{ [fields][service]} -%{ +YYYY.MM.dd} " user => "es_writer" password => "YOUR_PASSWORD" } stdout { codec => rubydebug } # 调试用 } - 运行与验证
- Logstash 启动:bin/logstash -f logstash.conf
- 在 Kibana 创建索引模式(如 filebeat-* 或按服务名前缀),开始检索与可视化。
安全与运维要点
- 启用 TLS/SSL:生产环境将 ssl.verification_mode 设为 full,提供 CA 证书;必要时配置客户端证书与密钥。
- 启用 认证:为 Elasticsearch/Logstash 配置 用户名/密码 或 API Key,并在 Filebeat 输出中设置。
- 资源与稳定性:为 Filebeat 配置合适的 close_inactive、scan_frequency 与 backoff 参数,避免频繁打开/关闭文件句柄。
- 多租户与路由:使用 fields/tags 标记来源,在 Logstash 中按字段分流到不同索引或做差异化处理。
- 模块与解析:对常见日志(如 Nginx、MySQL、System)启用 Filebeat 模块 并使用内置 Ingest Pipeline 解析,减少在 Logstash 的复杂配置。
快速验证步骤
- 在远程服务器确认 Filebeat 已运行:sudo systemctl status filebeat;实时看日志:sudo journalctl -u filebeat -f。
- 在 Elasticsearch 或 Kibana 检查是否出现以 filebeat-* 或自定义前缀的索引与数据。
- 若有错误,优先检查输出目标地址、端口、证书路径与账号权限是否正确。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: 如何用Filebeat监控远程服务器
本文地址: https://pptw.com/jishu/753153.html
