docker容器日志归档工具 log-pilot
作者:会飞的zxl
log-pilot 具有如下特性:
1 一个单独的 log 进程收集机器上所有容器的日志。不需要为每个容器启动一个 log 进程。
2 支持文件日志和 stdout。docker log dirver 亦或 logspout 只能处理 stdout,log-pilot 不仅支持收集 stdout 日志,还可以收集文件日志。
3 声明式配置。当您的容器有日志要收集,只要通过 label 声明要收集的日志文件的路径,无需改动4 其他任何配置,log-pilot 就会自动收集新容器的日志。
4 支持多种日志存储方式。无论是强大的阿里云日志服务,还是比较流行的 elasticsearch 组合,甚至是 graylog,log-pilot 都能把日志投递到正确的地点。
5 开源。log-pilot 完全开源,源码地址
https://github.com/AliyunContainerService/log-pilot?spm=a2c4g.11186623.2.12.33a51b9eyYx06r
官网文档 https://helpcdn.aliyun.com/document_detail/50441.html
操作步骤:
第一步:git clone https://github.com/AliyunContainerService/log-pilot.git
第二步:按照官网文档是构建镜像,此处直接参考es.yaml文件修改生成启动log-pilot的yaml文件
vim log-pilot.yml
version: '2'
services:
pilot:
image: registry.cn-hangzhou.aliyuncs.com/acs/log-pilot:0.9.5-filebeat
volumes:
- /etc/localtime:/etc/localtime
- /var/run/docker.sock:/var/run/docker.sock
- /:/host:ro
cap_add:
- SYS_ADMIN
environment:
LOGGING_OUTPUT: elasticsearch #指定输出的类型
ELASTICSEARCH_HOSTS: elasticsearch:19200 # 指定ES地址和端口
第三步:启动容器
docker-compose -p quickstart -f es.yml up -d
第四步:修改生成docker容器,增加labels标签
vim run.yaml
labels:
aliyun.logs.catalina: stdout
aliyun.logs.test-order-access: /flask_barcode/logs/collection.log
log-pilot 会自动获取日志并实时推送到ES
labels:
aliyun.logs.catalina: stdout
aliyun.logs.test-petro-midware-access: /hft_barcode/logs/collection.*
test-uSmile-access*
test-petro-stock-access*
test-petro-order-access*
test-petro-midware-access*
猜你喜欢
您可能感兴趣的文章:
- 常用属性
- vue.js中使用Export2Excel导出Excel表格
- 移动端css 初始化
- 常用属性
- 滚动banner
- lua lua_package_path attempt to call global 'lua_package_path'
- 1000行MySQL命令,很实用!
- js 获取当前url地址
- safasf
- MySQL ALTER TABLE 添加/修改/删除字段
- php获取ip地址
- ajax The 'Access-Control-Allow-Origin' header contains multiple values '*, *', but only one is allowed.
- jQuery jsonp跨域请求
- nginx lua access_by_lua_file设置变量无变化
- js中的值类型和引用类型的区别
- shell常用脚本变量
- tcpdump 抓包命令
- kubernetes kubect命令总结
- docker run mysql confluence