配置故障日志采集
最后于 更新
APO-OneAgent 默认开启故障日志以及全量日志采集,本文档用于配置 APO-OneAgent 的采集故障发生时间段的日志。产品基于 ilogtail 进行二次开发采集了应用产生的日志。
Kubernetes 环境中故障现场日志采集配置
使用《Kubernetes 安装 OneAgent》用户使用本章节配置故障现场日志采集。
- 修改名称为apo-ilogtail-user-config的ConfigMap, 添加新的配置文件
<your-file-name>.yaml
- 参考章节中的配置模版,将内容保存至
<your-file-name>.yaml
- 重启 OneAgent
1. 采集 Kubernetes 标准输出配置文件模版
OneAgent 默认开启 Kubernetes 标准输出采集,没有额外需求,无需手动配置本模版。
容器标准输出使用 service_docker_stdout 插件,参考文档
enable: true
inputs:
- Type: service_docker_stdout
# k8s 标签过滤
ExcludeK8sLabel:
app.kubernetes.io/instance: apo
BeginLineCheckLength: 10
BeginLineRegex: "\\d+.*"
processors:
- Type: processor_log_to_prom_metric
PromPort: ":9499"
- Type: processor_wait_for_signal
ContentsRename:
"__tag__:_container_id_": "_container_id_"
"__tag__:__path__": "_source_"
flushers:
- Type: flusher_otlp
Logs:
# 服务端 vector 接收日志, 替换为真实服务端地址
Endpoint: apo-otel-collector-gateway-svc:4315
2. 采集 Kubernetes 容器内日志文件配置文件 模版
采集文本日志使用 file_log 插件,参考文档
注意
- 采集容器内容日志文件时,不支持采集挂载 PV 的日志文件
- 指定日志目录被监控的最大深度尽量不要过大,否则会超出 ilogtail 监控的文件数量,导致采集失败。可针对不同采集路径,添加不同的配置文件流水线。
enable: true
inputs:
# 文本日志采集插件,根据需要自行调整
- Type: file_log
# 日志目录路径
LogPath: /var/log/nginx/
# 日志目录被监控的最大深度,为0监控当前目录下的文件
MaxDepth: 0
# 日志文件名匹配
FilePattern: "*.log"
# 监控容器内日志文件需要设置为 true
ContainerFile: true
processors:
- Type: processor_log_to_prom_metric
PromPort: ":9499"
- Type: processor_wait_for_signal
ContentsRename:
"__tag__:_container_id_": "_container_id_"
"__tag__:__path__": "_source_"
flushers:
- Type: flusher_otlp
Logs:
# 服务端 vector 接收日志, 替 换为真实服务端地址
Endpoint: apo-otel-collector-gateway-svc:4315
Docker 环境中故障现场日志采集配置
使用《传统服务器安装 OneAgent》用户,根据被监控服务形态使用本章节配置故障现场日志采集。
- 在 OneAgent ilogtail 配置目录
apo-one-agent-compose/config/apo-ilogtail
,添加新的配置文件<your-file-name>.yaml
- 参考章节中的配置模版,将内容保存至
<your-file-name>.yaml
- 重启 OneAgent
1. 采集 Docker 标准输出配置模版
适用于采集传统服务器中的 Docker 容器标准输出。容器标准输出使用 service_docker_stdout 插件,参考文档
enable: true
inputs:
# 日志采集插件,根据需要自行调整
- Type: service_docker_stdout
# 多行日志合并
BeginLineCheckLength: 10
BeginLineRegex: "\\d+.*"
processors:
- Type: processor_log_to_prom_metric
PromPort: ":9499"
- Type: processor_wait_for_signal
ContentsRename:
"__tag__:_container_id_": "_container_id_"
"__tag__:__path__": "_source_"
flushers:
- Type: flusher_otlp
Logs:
# 服务端 vector 接收日志, 替换为真实服务端地址
Endpoint: apo-otel-collector-gateway-svc:4315
2. 采集 Docker 容器日志文件配置模版
采集文本日志使用 file_log 插件,参考文档
注意
指定日志目录被监控的最大深度尽量不要过大,否则会超出 ilogtail 监控的文件数量,导致采集失败。可针对不同采集路径,添加不同的配置文件流水线。
enable: true
inputs:
# 文本日志采集插件,根据需要自行调整
- Type: file_log
# 日志目录路径
LogPath: /var/log/nginx/
# 日志目录被监控的最大深度,为0监控当前目录下的文件
MaxDepth: 0
# 日志文件名匹配
FilePattern: "*.log"
# 监控容器内日志文件需要设置为 true
ContainerFile: true
processors:
- Type: processor_log_to_prom_metric
PromPort: ":9499"
- Type: processor_wait_for_signal
ContentsRename:
"__tag__:_container_id_": "_container_id_"
"__tag__:__path__": "_source_"
flushers:
- Type: flusher_otlp
Logs:
# 服务端 vector 接收日志,替换为真实的服务端地址
Endpoint: apo-otel-collector-gateway-svc:4315