引入lumberjack和fluentbit自动分发
This commit is contained in:
@@ -21,7 +21,14 @@
|
||||
- **边缘节点(EdgeNode)** 已开启本地日志落盘,目录优先取“公用访问日志策略”的文件 `path`(取目录),为空时回退 `EDGE_LOG_DIR`,再回退默认 `/var/log/edge/edge-node`;生成 `access.log`、`waf.log`、`error.log`(JSON Lines)。
|
||||
- **DNS 节点(EdgeDNS)** 已开启本地日志落盘,目录优先取“公用访问日志策略”的文件 `path`(取目录),为空时回退 `EDGE_DNS_LOG_DIR`,再回退默认 `/var/log/edge/edge-dns`;生成 `access.log`(JSON Lines)。
|
||||
- **ClickHouse** 已安装并可访问(单机或集群),且已创建好 `logs_ingest` 表(见下文「五、ClickHouse 建表」)。
|
||||
- 若 Fluent Bit 与 ClickHouse 不在同一台机,需保证网络可达(默认 HTTP 端口 8123)。
|
||||
- 若 Fluent Bit 与 ClickHouse 不在同一台机,需保证网络可达(默认 HTTPS 端口 8443)。
|
||||
- 日志轮转默认由 Node/DNS 内建 `lumberjack` 执行:
|
||||
- `maxSizeMB=256`
|
||||
- `maxBackups=14`
|
||||
- `maxAgeDays=7`
|
||||
- `compress=false`
|
||||
- `localTime=true`
|
||||
可通过公用日志策略 `file.rotate` 调整。
|
||||
|
||||
---
|
||||
|
||||
@@ -71,7 +78,7 @@ sudo cp fluent-bit.conf clickhouse-upstream.conf /etc/fluent-bit/
|
||||
|
||||
编辑 `clickhouse-upstream.conf`,按实际环境填写 ClickHouse 的 Host/Port:
|
||||
|
||||
- **单机**:保留一个 `[NODE]`,改 `Host`、`Port`(默认 8123)。
|
||||
- **单机**:保留一个 `[NODE]`,改 `Host`、`Port`(默认 8443)。
|
||||
- **集群**:复制多段 `[NODE]`,每段一个节点,例如:
|
||||
|
||||
```ini
|
||||
@@ -81,12 +88,12 @@ sudo cp fluent-bit.conf clickhouse-upstream.conf /etc/fluent-bit/
|
||||
[NODE]
|
||||
Name node-01
|
||||
Host 192.168.1.10
|
||||
Port 8123
|
||||
Port 8443
|
||||
|
||||
[NODE]
|
||||
Name node-02
|
||||
Host 192.168.1.11
|
||||
Port 8123
|
||||
Port 8443
|
||||
```
|
||||
|
||||
### 3.3 ClickHouse 账号密码(有密码时必做)
|
||||
@@ -319,9 +326,9 @@ Fluent Bit 写入时使用 `json_date_key timestamp` 和 `json_date_format epoch
|
||||
|
||||
| 组件 | 说明 |
|
||||
|------|------|
|
||||
| **EdgeNode** | 日志落盘路径优先复用公用访问日志策略文件 `path`(取目录);若为空回退 `EDGE_LOG_DIR`,再回退默认 `/var/log/edge/edge-node`;生成 `access.log`、`waf.log`、`error.log`;支持 SIGHUP 重开句柄,可与 logrotate 的 `copytruncate` 配合。 |
|
||||
| **EdgeNode** | 日志落盘路径优先复用公用访问日志策略文件 `path`(取目录);若为空回退 `EDGE_LOG_DIR`,再回退默认 `/var/log/edge/edge-node`;生成 `access.log`、`waf.log`、`error.log`;内建 lumberjack 轮转(默认 256MB/14份/7天,可按策略调整),仍支持 SIGHUP 重建 writer。 |
|
||||
| **EdgeDNS** | DNS 访问日志落盘路径优先复用公用访问日志策略文件 `path`(取目录);若为空回退 `EDGE_DNS_LOG_DIR`,再回退默认 `/var/log/edge/edge-dns`;生成 `access.log`(JSON Lines),由 Fluent Bit 采集写入 `dns_logs_ingest`。 |
|
||||
| **logrotate** | 使用 `deploy/fluent-bit/logrotate.conf` 示例做轮转,避免磁盘占满。 |
|
||||
| **logrotate** | 可选的历史兼容方案(已非必需);默认建议使用节点内建 lumberjack 轮转。 |
|
||||
| **平台(EdgeAPI)** | 配置 ClickHouse 只读连接(`CLICKHOUSE_HOST`、`CLICKHOUSE_PORT`、`CLICKHOUSE_USER`、`CLICKHOUSE_PASSWORD`、`CLICKHOUSE_DATABASE`);当请求带 `Day` 且已配置 ClickHouse 时,访问日志列表查询走 ClickHouse。 |
|
||||
|
||||
---
|
||||
@@ -411,3 +418,54 @@ sudo systemctl restart fluent-bit
|
||||
```
|
||||
|
||||
回滚后恢复原 HTTP 模式,不影响平台 API/管理端配置。
|
||||
|
||||
---
|
||||
|
||||
## 十、平台托管模式(推荐)
|
||||
|
||||
从 `v1.4.7` 开始,Node/DNS 在线安装流程会由平台托管 Fluent Bit,默认不再要求逐台手改 `/etc/fluent-bit/fluent-bit.conf`。
|
||||
|
||||
### 10.1 托管行为
|
||||
|
||||
- 安装器优先使用发布包内置离线包(不走 `curl | sh`)。
|
||||
- 首次安装后写入:
|
||||
- `/etc/fluent-bit/fluent-bit.conf`
|
||||
- `/etc/fluent-bit/parsers.conf`
|
||||
- `/etc/fluent-bit/.edge-managed.env`
|
||||
- `/etc/fluent-bit/.edge-managed.json`
|
||||
- 配置发生变化时按 `hash` 幂等更新,仅在内容变化时重启服务。
|
||||
- Node 与 DNS 同机安装时会自动合并角色,输出单份配置。
|
||||
|
||||
### 10.2 托管元数据
|
||||
|
||||
平台会维护 `/etc/fluent-bit/.edge-managed.json`,核心字段:
|
||||
|
||||
- `roles`: 当前机器启用角色(`node`/`dns`)
|
||||
- `hash`: 当前托管配置摘要
|
||||
- `sourceVersion`: 平台版本号
|
||||
- `updatedAt`: 最近更新时间戳
|
||||
|
||||
### 10.3 支持矩阵(离线包)
|
||||
|
||||
当前固定支持以下平台键:
|
||||
|
||||
- `ubuntu22.04-amd64`
|
||||
- `ubuntu22.04-arm64`
|
||||
- `amzn2023-amd64`
|
||||
- `amzn2023-arm64`
|
||||
|
||||
构建阶段会校验矩阵包是否齐全,缺失会直接失败并打印期望文件路径。
|
||||
|
||||
### 10.4 手工配置兼容
|
||||
|
||||
- 若现有 `fluent-bit.conf` 不是平台托管文件(不含 `managed-by-edgeapi` 标记),安装器不会强制覆盖,会返回明确错误提示。
|
||||
- 需要切到托管模式时,先备份旧配置,再由平台触发一次安装/更新任务。
|
||||
|
||||
### 10.5 Resource Profile Notes (New)
|
||||
|
||||
- Managed default is now tuned for `2C4G` nodes (conservative and stable).
|
||||
- Additional sample profiles are provided for larger nodes:
|
||||
- `deploy/fluent-bit/fluent-bit-sample-4c8g.conf`
|
||||
- `deploy/fluent-bit/fluent-bit-sample-8c16g.conf`
|
||||
- These sample files are for benchmark/reference only and are not auto-applied by installer.
|
||||
- To use higher profiles in managed mode, sync those parameters into `EdgeAPI/internal/installers/fluent_bit.go` and then trigger node reinstall/upgrade.
|
||||
|
||||
Reference in New Issue
Block a user