温馨提示×

Filebeat如何与Kibana配合使用在Ubuntu

小樊
52
2025-10-25 10:59:11
栏目: 智能运维

1. 环境准备
在Ubuntu系统上安装ElasticsearchKibanaFilebeat(建议版本兼容,如均使用7.x或8.x系列)。Elasticsearch作为数据存储与搜索引擎,Kibana作为可视化工具,Filebeat作为轻量级日志收集器。

2. 安装Filebeat
通过APT包管理器安装Filebeat(以Ubuntu 22.04为例):

sudo apt update
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -  # 添加Elastic官方GPG密钥
echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-7.x.list  # 添加Elastic APT仓库
sudo apt update
sudo apt install filebeat -y  # 安装Filebeat

安装完成后,Filebeat配置文件默认位于/etc/filebeat/filebeat.yml

3. 配置Filebeat收集日志
编辑/etc/filebeat/filebeat.yml,完成以下核心配置:

  • 定义日志输入源:启用log类型输入,指定要收集的日志文件路径(如系统日志、Apache日志、Redis日志等)。例如:
    filebeat.inputs:
    - type: log
      enabled: true
      paths:
        - /var/log/syslog        # 系统日志
        - /var/log/auth.log      # 认证日志
        - /var/log/apache2/*.log # Apache应用日志(需提前安装Apache)
    
  • 配置输出到Elasticsearch:将收集的日志发送到本地或远程Elasticsearch实例(默认端口9200):
    output.elasticsearch:
      hosts: ["localhost:9200"]  # 若Elasticsearch在远程服务器,替换为对应IP
      index: "filebeat-%{[agent.version]}-%{+yyyy.MM.dd}"  # 按日期分割索引,便于管理
    
  • (可选)启用Filebeat模块:Filebeat提供预构建模块(如systemapacheredis),简化常见日志的配置。例如启用system模块(收集系统日志):
    sudo filebeat modules enable system  # 启用system模块
    
    启用后会自动生成模块对应的配置文件(如/etc/filebeat/modules.d/system.yml),无需手动修改filebeat.yml

4. 启动Filebeat服务
保存配置文件后,启动Filebeat并设置为开机自启:

sudo systemctl start filebeat  # 启动服务
sudo systemctl enable filebeat # 开机自启

通过以下命令验证Filebeat运行状态:

sudo systemctl status filebeat  # 查看服务状态(应为"active (running)")
sudo journalctl -u filebeat -f  # 实时查看Filebeat日志(排查启动错误)

若日志显示"Successfully started Filebeat",说明Filebeat已正常运行。

5. 安装并配置Kibana
通过APT包管理器安装Kibana:

sudo apt install kibana -y

编辑Kibana配置文件/etc/kibana/kibana.yml,设置连接Elasticsearch并允许远程访问:

server.host: "0.0.0.0"         # 允许所有IP访问Kibana(生产环境建议限制为特定IP)
elasticsearch.hosts: ["http://localhost:9200"]  # 指向本地Elasticsearch实例

启动Kibana并设置为开机自启:

sudo systemctl start kibana  # 启动服务
sudo systemctl enable kibana # 开机自启

验证Kibana是否运行:访问http://<Ubuntu服务器IP>:5601,若出现Kibana登录页面(默认用户名/密码为elastic/changeme,首次登录需修改密码),说明配置成功。

6. 在Kibana中创建索引模式
索引模式是Kibana识别Filebeat数据的关键,用于在Discover、Visualize等功能中查询日志。

  • 登录Kibana后,导航至Management(管理)Stack Management(堆栈管理)Index Patterns(索引模式)
  • 点击"Create index pattern(创建索引模式)",输入filebeat-*(匹配Filebeat生成的索引名称,如filebeat-7.17.0-2025.10.25)。
  • 点击"Next step(下一步)",选择时间过滤字段(默认为@timestamp,用于按时间筛选日志)。
  • 点击"Create index pattern(创建索引模式)",完成配置。

7. 使用Kibana Discover查看日志

  • 在Kibana左侧导航栏点击Discover(发现),选择刚创建的filebeat-*索引模式。
  • 此时可查看Filebeat收集的所有日志数据,支持按时间范围、字段值(如log.levelmessage)筛选、排序,还能查看原始日志内容。

8. 可选:使用Filebeat模块快速可视化
若启用了Filebeat模块(如system),可通过以下命令自动加载模块的Kibana仪表板和可视化:

sudo filebeat setup --dashboards  # 加载模块的Kibana仪表板
sudo filebeat setup --index-management  # 设置索引生命周期管理(可选)

执行后,Kibana的**Dashboard(仪表板)**中会出现模块对应的可视化面板(如系统日志的CPU、内存使用率图表),无需手动创建。

注意事项

  • 确保Elasticsearch、Kibana、Filebeat版本兼容(如均使用7.x系列),避免因版本不匹配导致数据无法解析。
  • 生产环境中,需配置Elasticsearch的身份验证(如xpack.security.enabled: true),并在Filebeat的output.elasticsearch中添加用户名/密码:
    output.elasticsearch:
      hosts: ["localhost:9200"]
      username: "elastic"
      password: "your_password"
    
  • 若日志量较大,建议配置Elasticsearch的分片和副本策略,提升数据存储与查询性能。

0