📙
iLogtail用户手册
1.8.4
1.8.4
  • 关于
    • 什么是iLogtail
    • 发展历史
    • 产品优势
    • 开源协议
    • 社区版和企业版的对比说明
  • 安装
    • 快速开始
    • Docker使用
    • Kubernetes使用
    • 守护进程
    • 发布记录
    • 支持的操作系统
    • 源代码
      • 下载
      • 编译
      • Docker镜像
      • 编译依赖
    • 镜像站
  • 概念
    • 关键概念
    • 数据流水线
  • 配置
    • 采集配置
    • 系统参数
    • 日志
  • 数据流水线
    • 概览
    • 插件版本管理
    • 输入
      • 文本日志
      • 脚本执行数据
      • 容器标准输出
      • 文本日志(debug)
      • MetricInput示例插件
      • 主机Meta数据
      • Mock数据-Metric
      • eBPF网络调用数据
      • 主机监控数据
      • MySQL Binlog
      • GO Profile
      • GPU数据
      • HTTP数据
      • ServiceInput示例插件
      • Journal数据
      • Kafka
      • Mock数据-Service
      • SqlServer 查询数据
      • OTLP数据
      • PostgreSQL 查询数据
      • Syslog数据
    • 处理
      • 添加字段
      • 添加云资产信息
      • 原始数据
      • 数据脱敏
      • 丢弃字段
      • 字段加密
      • 条件字段处理
      • 日志过滤
      • Go时间格式解析
      • Grok
      • Json
      • 日志转SLS Metric
      • 正则
      • 重命名字段
      • 分隔符
      • 键值对
      • 多行切分
      • 字符串替换
    • 聚合
      • 基础
      • 上下文
      • 按Key分组
      • 按GroupMetadata分组
    • 输出
      • Kafka(Deprecated)
      • kafkaV2
      • ClickHouse
      • ElasticSearch
      • SLS
      • 标准输出/文件
      • OTLP日志
      • Pulsar
      • HTTP
      • Loki
    • 加速
      • 分隔符加速
      • Json加速
      • 正则加速
  • 工作原理
    • 文件发现
    • 插件系统
  • 可观测性
    • 日志
  • 开发者指南
    • 开发环境
    • 日志协议
      • 协议转换
      • 增加新的日志协议
      • 协议
        • sls协议
        • 单条协议
    • 代码风格
    • 数据模型
    • 插件开发
      • 开源插件开发引导
      • Checkpoint接口
      • Logger接口
      • 如何开发Input插件
      • 如何开发Processor插件
      • 如何开发Aggregator插件
      • 如何开发Flusher插件
      • 如何生成插件文档
      • 插件文档规范
      • 纯插件模式启动
    • 测试
      • 单元测试
      • E2E测试
    • 代码检查
      • 检查代码规范
      • 检查文件许可证
      • 检查依赖包许可证
  • 贡献指南
    • 贡献指南
    • 开发者
    • 成就
  • 性能测试
    • 容器场景iLogtail与Filebeat性能对比测试
  • 管控工具
    • 使用介绍
    • 通信协议
    • 开发指南
  • Awesome iLogtail
    • 走近iLogtail社区版
    • iLogtail社区版使用入门
    • iLogtail社区版开发者指南
    • iLogtail社区版使用案例
Powered by GitBook
On this page
  • 使用前提
  • 采集Docker容器日志
  1. 安装

Docker使用

Previous快速开始NextKubernetes使用

Last updated 1 year ago

使用前提

已安装

采集Docker容器日志

1. 准备iLogtail配置目录

新建配置目录user_yaml_config.d目,在目录中创建file_simple.yaml和stdout_simple.yaml。

在file_simple.yaml中配置采集容器中的simple.log到标准输出。

enable: true
inputs:
  - Type: file_log
    LogPath: /root
    FilePattern: simple.log
    DockerFile: true
flushers:
  - Type: flusher_stdout
    OnlyStdout: true

在stdout_simple.yaml中配置采集容器标准输出并输出到simple.stdout文件。

enable: true
inputs:
  - Type: service_docker_stdout # 容器标准输出流输入类型
    Stderr: false               # 不采集标准错误流
    Stdout: true                # 采集标准输出流
flushers:
  - Type: flusher_stdout        # 标准输出流输出类型
    FileName: simple.stdout     # 重定向文件名

您也可以直接从下面的地址下载示例配置。

mkdir user_yaml_config.d && cd user_yaml_config.d
wget https://raw.githubusercontent.com/alibaba/ilogtail/main/example_config/start_with_docker/user_yaml_config.d/file_simple.yaml
wget https://raw.githubusercontent.com/alibaba/ilogtail/main/example_config/start_with_docker/user_yaml_config.d/stdout_simple.yaml
cd -

2. 启动iLogtail容器,并挂载iLogtail配置目录

docker run -d --name docker_ilogtail \
  -v /:/logtail_host:ro \
  -v /var/run:/var/run \
  -v /var/lib/docker_ilogtail/checkpoint:/usr/local/ilogtail/checkpoint \
  -v `pwd`/user_yaml_config.d:/usr/local/ilogtail/user_yaml_config.d \
  sls-opensource-registry.cn-shanghai.cr.aliyuncs.com/ilogtail-community-edition/ilogtail:latest

第1行-d参数表示后台启动iLogtail容器,--name指定容器名称以便引用。 第2行将主机/目录挂载到iLogtail容器中,iLogtail依赖logtail_host路径采集容器日志。 第3行将主机/var/run目录挂载到iLogtail容器中,iLogtail依赖/var/run目录与容器引擎通信。 第4行将主机目录挂载到容器中iLogtail的checkpoint目录,使采集状态在容器重启时可恢复。 第5行将配置目录挂载到iLogtail容器中。

3. 查看ilogtail_docker容器自身标准输出日志

docker logs docker_ilogtail

结果为

delay stop seconds:  0
ilogtail started. pid: 10
register fun v2 0xa34f3c 0xa34f86 0xa34fdc 0xa35576
2022/07/14 16:23:17 DEBUG Now using Go's stdlib log package (via loggers/mappers/stdlib).
load log config /usr/local/ilogtail/plugin_logger.xml
recover stderr
recover stdout

4. 进入iLogtail容器

docker exec -it docker_ilogtail bash

5. 查看采集到的标准输出

cat /usr/local/ilogtail/simple.stdout

结果为

2022-07-14 16:23:20 {"content":"delay stop seconds:  0","_time_":"2022-07-14T16:23:17.704235928Z","_source_":"stdout","_image_name_":"sls-opensource-registry.cn-shanghai.cr.aliyuncs.com/ilogtail-community-edition/ilogtail:1.1.0","_container_name_":"docker_ilogtail","_container_ip_":"172.17.0.2","__time__":"1657815797"}
2022-07-14 16:23:20 {"content":"ilogtail started. pid: 10","_time_":"2022-07-14T16:23:17.704404952Z","_source_":"stdout","_image_name_":"sls-opensource-registry.cn-shanghai.cr.aliyuncs.com/ilogtail-community-edition/ilogtail:1.1.0","_container_name_":"docker_ilogtail","_container_ip_":"172.17.0.2","__time__":"1657815797"}
2022-07-14 16:23:20 {"content":"recover stdout","_time_":"2022-07-14T16:23:17.847939016Z","_source_":"stdout","_image_name_":"sls-opensource-registry.cn-shanghai.cr.aliyuncs.com/ilogtail-community-edition/ilogtail:1.1.0","_container_name_":"docker_ilogtail","_container_ip_":"172.17.0.2","__time__":"1657815797"}

6. 构造示例日志

echo 'Hello, iLogtail!' >> /root/simple.log

7. 查看采集到的容器文件日志

跳出容器,在宿主机上执行

docker logs docker_ilogtail

结果相比第3步的结果,多了

2022-07-14 16:26:20 {"__tag__:__path__":"/root/simple.log","content":"Hello, iLogtail!","__time__":"1657815980"}
docker