首页主机资讯如何用Filebeat监控远程服务器

如何用Filebeat监控远程服务器

时间2025-11-21 12:03:03发布访客分类主机资讯浏览236
导读:总体思路 在需要被采集的远程服务器上安装并运行 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"]
      
  • 启动与验证
    • 启动:sudo systemctl start filebeat & & sudo systemctl enable filebeat
    • 查看状态与日志:sudo systemctl status filebeatsudo 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_inactivescan_frequencybackoff 参数,避免频繁打开/关闭文件句柄。
  • 多租户与路由:使用 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
Filebeat如何设置日志级别 Filebeat配置文件在哪修改

游客 回复需填写必要信息