Feat log context (#48)

* Feat: update log-format to log-enrich
This commit is contained in:
ethfoo 2022-04-24 17:07:18 +08:00 committed by GitHub
parent 4838a8f76f
commit a68c4d0fe9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 63 additions and 12 deletions

View File

@ -77,6 +77,15 @@ file source用于日志采集。
}
```
state含义解释
- pipeline: 所在的pipeline名称
- source: 所在的source名称
- filename: 采集的文件名称
- timestamp: 采集时刻的时间戳
- offset: 采集的数据在文件的offset偏移量
- bytes: 采集的数据字节数
- hostname: 所在节点名称
## workerCount
| `字段` | `类型` | `是否必填` | `默认值` | `含义` |

View File

@ -15,7 +15,7 @@
## 格式转换
如果以上的格式不满足需求,可以参考:
- [日志格式转换](../best-practice/log-format.md)
- [日志元信息](../best-practice/log-enrich.md)
## 日志切分
对于原始日志数据的切分与处理,请使用 **normalize interceptor**,请参考:

View File

@ -1,14 +1,12 @@
# 日志格式转换
# 日志增加加元信息
> 建议先了解Loggie内部日志数据[schema设计](../architecture/schema.md)。
日志格式转换主要是对Loggie内置的一些字段进行处理和转换一般会依赖[日志切分处理](log-process.md)。
## 需求场景
Loggie部署在不同的环境中如果需要兼容已有的格式可以参考如下的办法。
Loggie部署在不同的环境中如果需要在原始的日志数据里增加一些元信息同时兼容已有的格式可以参考如下的办法。
### 示例1: 发送原始数据
### 场景1: 发送原始数据
正常情况Loggie仅将原始数据发送给下游。
如果你配置:
@ -38,7 +36,7 @@ sink输出的数据仅为原始数据
}
```
### 示例2: 添加fields自定义元信息
### 场景2: 添加fields自定义元信息
如果我们在source上配置了一些自定义的fields。
@ -88,7 +86,51 @@ sink输出的数据仅为原始数据
}
```
### 示例3: 添加meta系统内置元信息
### 场景3: 添加日志采集file source的状态信息
在我们使用file source时可能希望自动在日志原始数据里增加一些日志采集的状态比如采集的文件名称、采集的文件offsest等file source提供了一个`addonMeta`配置可快速enable。
示例:添加如下`addonMeta`并设置为true。
!!! config "file source"
```yaml
sources:
- type: file
paths:
- /var/log/*.log
addonMeta: true
```
此时采集的event会变成类似如下
!!! example
```json
{
"body": "this is test",
"state": {
"pipeline": "local",
"source": "demo",
"filename": "/var/log/a.log",
"timestamp": "2006-01-02T15:04:05.000Z",
"offset": 1024,
"bytes": 4096,
"hostname": "node-1"
}
}
```
具体字段含义可参考[file source](../../reference/pipelines/source/file.md)
### 场景4: 增加Kubernetes元信息
在Kubernetes的场景中采集的容器日志为了在查询的时候使用namespace/podName等信息进行检索往往需要增加相关的元数据。
我们可以在系统配置的discovery.kubernetes中配置fields字段。
可参考[discovery](../../reference/global/discovery.md)。
### 场景5: 添加meta系统内置元信息
有一些Loggie系统内置的元信息我们也希望发送给下游这个时候需要使用normalize interceptor中的addMeta processors。
@ -163,7 +205,7 @@ sink输出的数据仅为原始数据
```
### 示例4beatsFormat快速转换
### 场景6beatsFormat快速转换
如果你期望的格式为类似:

View File

@ -23,7 +23,7 @@ Loggie和其他的开源日志Agent区别是什么
请看「[Kubernetes](use-in-kubernetes/general-usage.md)」。
如何配置各种不同的日志架构如何接入现有的服务如何配置日志的处理和切分Loggie还提供了哪些有用又好用的功能
请看「[最佳实践](best-practice/log-format.md)」。
请看「[最佳实践](best-practice/log-enrich.md)」。
如何配置整体的监控和报警保证Loggie正常运行如何监控是否采集到ERROR日志
请看「[监控报警](monitor/loggie-monitor.md)」。

View File

@ -31,7 +31,7 @@ nav:
- 采集Kubernetes Events: user-guide/use-in-kubernetes/kube-event-source.md
- 最佳实践:
- 日志格式转换: user-guide/best-practice/log-format.md
- 日志增加元信息: user-guide/best-practice/log-enrich.md
- 日志切分处理: user-guide/best-practice/log-process.md
- 使用Loggie中转机: user-guide/best-practice/aggregator.md
@ -83,7 +83,7 @@ nav:
- Queue:
- channel: reference/pipelines/queue/channel.md
- memeory: reference/pipelines/queue/memory.md
- memory: reference/pipelines/queue/memory.md
- Monitor:
- Overview: reference/monitor/overview.md