如何快速上手 log-pilot:容器日志收集的终极指南

【免费下载链接】log-pilot 【免费下载链接】log-pilot 项目地址: https://gitcode.com/gh_mirrors/fl/fluentd-pilot

log-pilot 是一款功能强大的容器日志收集工具,能够帮助开发者轻松从 Docker 主机收集日志并发送到 Elasticsearch、Graylog2 等集中式日志系统。无论是容器标准输出还是内部日志文件,log-pilot 都能高效处理,让日志管理变得简单而高效。

🚀 为什么选择 log-pilot?

log-pilot 作为容器日志收集的利器,具有以下核心优势:

  • 双引擎支持:同时兼容 Fluentd 插件Filebeat 插件,无需为每个容器单独部署日志收集进程
  • 全日志覆盖:不仅支持容器标准输出(stdout),还能收集容器内部日志文件,解决了传统日志驱动只能收集标准输出的局限
  • 声明式配置:只需通过标签声明需要收集的日志,无需复杂配置
  • 多后端支持:可将日志发送到 Elasticsearch、Graylog2、AWSLogs 等多种日志管理系统
  • 灵活标签系统:支持为日志添加自定义标签,便于后续筛选和分析

🔍 log-pilot 工作原理

log-pilot 采用简洁高效的架构设计,能够自动检测容器日志变化并进行收集:

log-pilot 架构图 log-pilot 架构示意图:自动检测容器日志变化并发送到存储和索引系统

其工作流程如下:

  1. 监控 Docker 容器事件,发现新启动的容器
  2. 根据容器标签识别需要收集的日志(标准输出或文件路径)
  3. 实时收集日志并进行处理
  4. 将处理后的日志发送到指定的后端存储系统
  5. 用户通过查询控制台进行日志检索和分析

📦 快速开始:5 分钟上手

前置要求

  • docker-compose >= 1.6
  • Docker Engine >= 1.10

步骤 1:获取 log-pilot 项目

git clone https://gitcode.com/gh_mirrors/fl/fluentd-pilot
cd fluentd-pilot

步骤 2:构建镜像

./build-image.sh

步骤 3:启动 log-pilot

docker run --rm -it \
    -v /var/run/docker.sock:/var/run/docker.sock \
    -v /etc/localtime:/etc/localtime \
    -v /:/host:ro \
    --cap-add SYS_ADMIN \
    registry.cn-hangzhou.aliyuncs.com/acs/log-pilot:0.9.5-filebeat

步骤 4:运行需要收集日志的应用

以 Tomcat 为例,通过标签声明需要收集的日志:

docker run -it --rm  -p 10080:8080 \
    -v /usr/local/tomcat/logs \
    --label aliyun.logs.catalina=stdout \
    --label aliyun.logs.access=/usr/local/tomcat/logs/localhost_access_log.*.txt \
    tomcat

现在查看 log-pilot 的输出,你将看到 Tomcat 的启动日志。当你通过浏览器访问 Tomcat 时,访问日志也会被 log-pilot 捕获并显示。

📊 日志可视化与查询

log-pilot 收集的日志可以通过 Kibana 等工具进行可视化和查询:

配置索引模式

首先在 Kibana 中配置索引模式:

Kibana 索引配置 在 Kibana 中配置索引模式以开始日志分析

查询和分析日志

配置完成后,即可在 Kibana 中查询和分析日志:

Kibana 日志查询 在 Kibana 中查看和分析收集到的 Tomcat 日志

📚 进阶配置

log-pilot 提供了丰富的配置选项,可根据实际需求进行定制。详细配置指南请参考:

💡 使用技巧

  1. 标签命名规范:使用清晰的标签名称,如 aliyun.logs.{log-name}={path|stdout}
  2. 日志轮转:确保容器内部日志文件配置了适当的轮转策略
  3. 资源限制:根据实际需求为 log-pilot 容器设置合理的资源限制
  4. 监控 log-pilot:定期检查 log-pilot 运行状态,确保日志收集服务稳定

🛠️ 部署到 Kubernetes

log-pilot 提供了 Helm Chart 便于在 Kubernetes 环境中部署:

cd helm/log-pilot
helm install --name log-pilot .

详细的 Kubernetes 部署指南请参考 quickstart/kubernetes/README.md

🤝 贡献代码

我们欢迎社区贡献代码和提出建议。如果你有好的想法或发现了问题,请通过 GitHub Issues 或 Pull Requests 与我们联系。


通过本指南,你已经掌握了 log-pilot 的基本使用方法。开始使用 log-pilot,让容器日志收集变得简单高效!如有任何问题,可查阅项目文档或提交 Issue 获取帮助。

【免费下载链接】log-pilot 【免费下载链接】log-pilot 项目地址: https://gitcode.com/gh_mirrors/fl/fluentd-pilot

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐