# LogBus2 配置生成

LogBus2 是 AE 官方提供的日志同步工具，配合 LoggerConsumer（服务端 SDK）使用。

**注意：LogBus v1 已过时，不再推荐使用。所有场景统一使用 LogBus2。**

---

## 架构

```
服务端代码 → LoggerConsumer → 本地日志文件
                                    ↓
                              LogBus2 进程 → AE 后台
```

---

## 官方文档

生成配置文件时，**必须同步提供官方文档链接**：

| 文档类型 | URL |
|---|---|
| **LogBus2 使用指南** | https://docs-v2.thinkingdata.cn/?version=latest&code=logbus2_installation |

下载地址在官方文档「二、下载 LogBus2」章节中。

---

## 触发时机

- 服务端选择 `insert` 或 `snippet` 时，**默认生成**
- 不需要用户单独选择

---

## 产物

### 1. 配置文件

`.ae-tracking/output/daemon.json`：

```json
{
  "datasource": [
    {
      "type": "file",
      "file_patterns": [
        "/data/ta_log/*.log"
      ],
      "app_id": "<appId>",
      "unit_remove": "day",
      "offset_remove": 7
    }
  ],
  "push_url": "<SERVER_URL>"
}
```

**配置项说明**：

| 配置项 | 说明 | 必填 |
|---|---|---|
| `file_patterns` | 日志文件匹配路径（Glob 通配符），与 LoggerConsumer 配置一致 | ✔️ |
| `app_id` | AE 项目 APP_ID | ✔️ |
| `push_url` | AE receiver 地址（需 http/https 开头） | ✔️ |
| `unit_remove` | 文件删除单位：`day` 或 `hour` | 可选 |
| `offset_remove` | 文件删除偏移量（配合 unit_remove） | 可选 |

### 2. README 文件

`.ae-tracking/output/logbus-README.md`：

```
# LogBus2 配置使用说明

## 重要提示

- LogBus v1 已过时，请使用 **LogBus2**
- 本配置文件为 JSON 格式（daemon.json）

## 官方文档

| 文档 | 链接 |
|---|---|
| **LogBus2 使用指南** | https://docs-v2.thinkingdata.cn/?version=latest&code=logbus2_installation |

下载地址在官方文档「二、下载 LogBus2」章节中。

## 前置

1. **下载 LogBus2**（对应 OS 版本）：
   - 访问官方文档，在「二、下载 LogBus2」章节下载对应版本
   - Linux-amd64 / Linux-arm64 / Windows / Mac / Docker

2. **解压部署**：
   ```bash
   tar -xzf logbus2-linux-amd64.tar.gz
   cd logbus2
   ```

3. **确认 LoggerConsumer 日志路径**：
   - 本配置使用：/data/ta_log/*.log
   - 确保 LoggerConsumer 配置与此一致

4. **放置配置文件**：
   ```bash
   cp daemon.json conf/daemon.json
   ```

## 启动

```bash
./logbus start
```

## 常用命令

| 命令 | 说明 |
|---|---|
| `./logbus start` | 启动 LogBus2 |
| `./logbus stop` | 停止 LogBus2 |
| `./logbus restart` | 重启 LogBus2 |
| `./logbus env` | 检查配置和连通性 |
| `./logbus progress` | 查看传输进度 |
| `./logbus reset` | 重置读取记录（慎用） |
| `./logbus dev` | 校验文件格式 |

## 验证

1. 查看运行状态：`./logbus progress`
2. 查看日志：`./logbus/log/` 目录下的日志文件
3. 打开 AE Debug 页面验证数据入库

## 配置项说明

| 配置项 | 当前值 | 说明 |
|---|---|
| push_url | <SERVER_URL> | AE receiver 地址 |
| app_id | <appId> | AE 项目 APP_ID |
| file_patterns | /data/ta_log/*.log | 日志文件匹配规则 |

## 注意事项

1. **不要重命名已上传的日志文件**：重命名相当于新建文件，会导致重复上传
2. **不要操作 runtime 目录**：该目录存储传输进度快照
3. **配置 glob 通配符，不支持正则**：如 `/data/log/*.log`
```

---

## LoggerConsumer 数据格式

LoggerConsumer 输出为 JSON line 格式，LogBus2 自动解析：

| LoggerConsumer 字段 | 说明 |
|---|---|
| `#event_name` | 事件名 |
| `#time` | 时间戳（ISO 8601） |
| `#distinct_id` | 访客 ID |
| `#account_id` | 账号 ID |
| 业务属性 | track 调用中的 properties |

---

## 客户提示（生成时必须展示）

生成 LogBus2 配置文件后，向客户展示：

```
LogBus2 配置文件已生成：.ae-tracking/output/daemon.json

## 官方文档

| 文档 | 链接 |
|---|---|
| **LogBus2 使用指南** | https://docs-v2.thinkingdata.cn/?version=latest&code=logbus2_installation |

下载地址在官方文档「二、下载 LogBus2」章节中。

## 使用步骤

1. 从官方文档下载 LogBus2（对应 OS 版本）
2. 解压部署
3. 将 daemon.json 复制到 conf/ 目录
4. 启动：./logbus start
5. 验证：./logbus progress

注意：LogBus v1 已过时，请使用 LogBus2。
```

---

## 参考文档

- 官方文档：https://docs-v2.thinkingdata.cn/?version=latest&code=logbus2_installation
- Wiki: `~/.ae-tracking/wiki/te-docs/raw/接入指南/数据导入/logbus2-使用指南.md` — LogBus2 官方文档镜像