# Fluent Bit 安装包 这是一个 Fluent Bit 的自动化安装包,提供了完整的安装、卸载和健康检查功能。 ## 目录结构 ``` fluent-bit-installer/ ├── install.sh # 安装脚本 ├── uninstall.sh # 卸载脚本 ├── package.sh # 打包脚本 ├── check_health.sh # 健康检查脚本 ├── bin/ │ └── fluent-bit_3.1.9_amd64.deb # Fluent Bit 安装包 └── config/ ├── fluent-bit.conf # 主配置文件 ├── inject_labels.lua # Lua 脚本 ├── parsers.conf # 解析器配置 ├── inputs.d/ # 输入配置目录 │ ├── 10-train.conf │ └── 20-infer.conf └── outputs.d/ # 输出配置目录 └── 10-es.conf ``` ## 功能特性 - **自动化安装**: 一键安装 Fluent Bit 及其依赖 - **配置管理**: 自动部署预配置的配置文件 - **服务管理**: 自动启动和停止 Fluent Bit 服务 - **健康检查**: 提供 JSON 格式的健康状态检查 - **完整卸载**: 彻底清理所有相关文件和配置 - **用户管理**: 自动创建专用的 fluent-bit 用户 ## 使用方法 ### 1. 打包安装包 ```bash ./package.sh ``` 这将创建一个带时间戳的压缩包,例如:`fluent-bit-installer-20250924-160954.tar.gz` ### 2. 安装 Fluent Bit ```bash # 解压安装包 tar -xzf fluent-bit-installer-*.tar.gz cd fluent-bit-installer-* # 运行安装脚本(需要 root 权限) sudo ./install.sh ``` ### 3. 健康检查 ```bash ./check_health.sh ``` 输出示例: ```json {"name": "fluent-bit", "status": "health", "reason": "success"} ``` ### 4. 卸载 Fluent Bit ```bash sudo ./uninstall.sh ``` ## 安装后的文件位置 - **二进制文件**: `/opt/fluent-bit/bin/fluent-bit` - **配置文件**: `/etc/fluent-bit/` - **日志文件**: `/var/log/fluent-bit/` - **缓冲区目录**: `/var/lib/fluent-bit/buffers/` - **运行用户**: `fluent-bit` - **HTTP 端口**: `2020` ## 配置说明 ### 主配置文件 主配置文件位于 `/etc/fluent-bit/fluent-bit.conf`,包含以下主要部分: - **SERVICE**: 服务配置,包括 HTTP 服务器设置 - **INPUT**: 输入配置,通过 `inputs.d/` 目录管理 - **FILTER**: 过滤器配置,包括解析器和标签注入 - **OUTPUT**: 输出配置,通过 `outputs.d/` 目录管理 ### 输入配置 - `10-train.conf`: 训练日志输入配置 - `20-infer.conf`: 推理日志输入配置 ### 输出配置 - `10-es.conf`: Elasticsearch 输出配置 ## 服务管理 ### 手动启动 ```bash /opt/fluent-bit/bin/fluent-bit --config=/etc/fluent-bit/fluent-bit.conf ``` ### 后台启动 ```bash nohup /opt/fluent-bit/bin/fluent-bit --config=/etc/fluent-bit/fluent-bit.conf & ``` ### 检查服务状态 ```bash # 检查进程 ps aux | grep fluent-bit # 检查端口 netstat -tuln | grep 2020 # 检查日志 tail -f /var/log/fluent-bit/fluent-bit.log ``` ## API 接口 Fluent Bit 提供 HTTP API 用于监控和管理: - **根路径**: `http://localhost:2020` - **状态接口**: `http://localhost:2020/api/v1/status` - **指标接口**: `http://localhost:2020/api/v1/metrics` ## 故障排除 ### 常见问题 1. **端口被占用** - 检查端口 2020 是否被其他服务占用 - 修改配置文件中的端口设置 2. **权限问题** - 确保 fluent-bit 用户有足够的权限访问日志文件 - 检查目录权限设置 3. **配置文件错误** - 检查配置文件语法 - 查看日志文件中的错误信息 ### 日志查看 ```bash # 查看服务日志 tail -f /var/log/fluent-bit/fluent-bit.log # 查看系统日志 journalctl -u fluent-bit -f ``` ## 系统要求 - **操作系统**: Ubuntu/Debian/CentOS/RHEL/Fedora - **架构**: x86_64/amd64 - **权限**: root 权限(用于安装和卸载) - **依赖**: curl(用于健康检查) ## 版本信息 - **Fluent Bit 版本**: 3.1.9 - **安装包版本**: 1.0 - **支持架构**: amd64 ## 注意事项 1. 安装前请确保系统已更新 2. 卸载时会保留 fluent-bit 用户(系统用户,可能被其他服务使用) 3. 配置文件包含环境变量,请根据实际环境调整 4. 建议在生产环境使用前进行充分测试