在线精品99_中国九九盗摄偷拍偷看_91免费版在线观看_91.app_91高清视频在线_99热最新网站

如何使用开源工具fluentd

153次阅读
没有评论

共计 2912 个字符,预计需要花费 8 分钟才能阅读完成。

本篇内容主要讲解“如何使用开源工具 fluentd-pilot 收集容器日志”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让丸趣 TV 小编来带大家学习“如何使用开源工具 fluentd-pilot 收集容器日志”吧!

fluentd-pilot 简介

fluentd-pilot 是阿里开源的 docker 日志收集工具,Github 项目地址。你可以在每台机器上部署一个 fluentd-pilot 实例,就可以收集机器上所有 Docker 应用日志。

fluentd-pilot 具有如下特性:

一个单独的 fluentd 进程收集机器上所有容器的日志。不需要为每个容器启动一个 fluentd 进程。

支持文件日志和 stdout。docker log dirver 亦或 logspout 只能处理 stdout,fluentd-pilot 不仅支持收集 stdout 日志,还可以收集文件日志。

声明式配置。当您的容器有日志要收集,只要通过 label 声明要收集的日志文件的路径,无需改动其他任何配置,fluentd-pilot 就会自动收集新容器的日志。

支持多种日志存储方式。无论是强大的阿里云日志服务,还是比较流行的 elasticsearch 组合,甚至是 graylog,fluentd-pilot 都能把日志投递到正确的地点。

rancher 使用 fluentd-pilot 收集日志

我们既然要用 fluentd-pilot,就得先把它启动起来。还要有一个日志系统,日志要集中收集,必然要有一个中间服务去收集和存储,所以要先把这种东西准备好。Rancher 中我们要如何做?如图,首先我们选择 Rancher 的应用商店中的 Elasticsearch 和 Kibana。版本没有要求,下面使用 Elasticsearch3.X 和 Kibana4。

其次在 RancherAgent 主机上面部署一个 fluentd-pilot 容器,然后在容器里面启动的时候,我们要声明容器的日志信息,fluentd-pilot 会自动感知所有容器的配置。每次启动容器或者删除容器的时候,它能够看得到,当看到容器有新容器产生之后,它就会自动给新容器按照你的配置生成对应的配置文件,然后去采集,最后采集回来的日志同样也会根据配置发送到后端存储里面去,这里面后端主要指的 elasticsearch 或者是 SLS 这样的系统,接下来你可以在这个系统上面用一些工具来查询等等。

可根据实际情况,在每台 Agent 定义主机标签, 通过主机标签在每台 RancherAgent 主机上跑一个 pilot 容器。用这个命令来部署,其实现在它是一个标准的 Docker 镜像,内部支持一些后端存储,可以通过环境变量来指定日志放到哪儿去,这样的配置方式会把所有的收集到的日志全部都发送到 elasticsearch 里面去,当然两个挂载是需要的,因为它连接 Docker,要感知到 Docker 里面所有容器的变化,它要通过这种方式来访问宿主机的一些信息。在 Rancher 环境下使用以下 docker-compose.yml 应用 —- 添加应用,在可选 docker-compose.yml 中添加一下内容。

version:  2 
services:
 pilot:
 image: registry.cn-hangzhou.aliyuncs.com/acs-sample/fluentd-pilot:0.1
 environment:
 ELASTICSEARCH_HOST: elasticsearch
 ELASTICSEARCH_PORT:  9200 
 FLUENTD_OUTPUT: elasticsearch
 external_links:
 - es-cluster/es-master:elasticsearch
 volumes:
 - /var/run/docker.sock:/var/run/docker.sock
 - /:/host
 labels:
 aliyun.global:  true

配置好之后启动自己的应用(例子:tomcat),我们看应用上面要收集的日志,我该在上面做什么样的声明?关键的配置有两个,一是 label catalina,声明的是要收集容器的日志为什么格式(标准格式等,也可以是文件。),所有的名字都可以;二是声明 access,这也是个名字,都可以用你喜欢的名字。这样一个路径的地址,当你通过这样的配置来去启动 fluentd-pilot 容器之后,它就能够感觉到这样一个容器的启动事件,它会去看容器的配置是什么,要收集这个目录下面的文件日志,然后告诉 fluentd-pilot 去中心配置并且去采集,这里还需要一个卷,实际上跟 Logs 目录是一致的,在容器外面实际上没有一种通用的方式能够获取到容器里面的文件,所有我们主动把目录从宿主机上挂载进来,这样就可以在宿主机上看到目录下面所有的东西。

当你通过部署之后,他会自己在 elasticsearch 创建索引,就可以在 elasticsearch 的 kopf 上面看到会生成两个东西,都是自动创建好的,不用管一些配置,你唯一要做的事是什么呢?就可以在 kibana 上创建日志 index pattern 了。然后到日志搜索界面,可以看到从哪过来的,这条日志的内容是什么,这些信息都已经很快的出现了。

Lable 说明

启动 tomcat 的时候,我们声明了这样下面两个,告诉 fluentd-pilot 这个容器的日志位置。

aliyun.logs.tomcat1-access /opt/apache-tomcat-8.0.14/logs/localhost_access_log.*.txt 
aliyun.logs.catalina stdout

你还可以在应用容器上添加更多的标签

aliyun.logs.$name = $path

变量 name 是日志名称,具体指随便是什么,你高兴就好。只能包含 0 -9a-zA-Z_和 -

变量 path 是要收集的日志路径,必须具体到文件,不能只写目录。文件名部分可以使用通配符。/var/log/he.log 和 /var/log/*.log 都是正确的值,但 /var/log 不行,不能只写到目录。stdout 是一个特殊值,表示标准输出

aliyun.logs.$name.format,日志格式,目前支持

none 无格式纯文本

json: json 格式,每行一个完整的 json 字符串

csv: csv 格式

aliyun.logs.$name.tags: 上报日志的时候,额外增加的字段,格式为 k1=v1,k2=v2,每个 key-value 之间使用逗号分隔,例如

aliyun.logs.access.tags= name=hello,stage=test,上报到存储的日志里就会出现 name 字段和 stage 字段

如果使用 elasticsearch 作为日志存储,target 这个 tag 具有特殊含义,表示 elasticsearch 里对应的 index

到此,相信大家对“如何使用开源工具 fluentd-pilot 收集容器日志”有了更深的了解,不妨来实际操作一番吧!这里是丸趣 TV 网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-08-16发表,共计2912字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)
主站蜘蛛池模板: 欧美激情综合五月色丁香 | 亚洲国产精品yw在线观看 | 亚洲在线视频免费 | 一级毛片在线免费看 | 看国产一级片 | 无套内射无矿码免费看黄 | 秋霞免费手机理论视频在线观看 | 亚洲av成人一区二区三区av | 精品亚洲一区二区三区在线观看 | 亚洲成人免费视频 | 国产成人视屏 | 国产美女福利视频 | 无码日韩精品一区二区人妻 | 伊人色综合网一区二区三区 | 高清久久 | 福利精品 | 国产精品日韩欧美一区二区三区 | 偷妻之寂寞难耐2中文字幕 偷青青国产精品青青在线观看 | 亚洲精品一区二区不卡 | 精品无码一区二区三区电影 | 国产亚州精品女人久久久久久 | 亚洲欧美日韩综合精品网 | 小泽玛利亚国产在线视频 | a在线观看视频 | 国产亚洲av片在线观看18女人 | 国产精品亚洲二线在线播放 | 日本欧美一区二区三区乱码 | 在线免费观看a视频 | 国产精品高潮呻吟av久久4虎 | 亚洲综合一区二区 | 国产精品任我爽爆在线播放66 | 亚洲精品久久久久午夜三 | 久久精品人人爽人人爽 | 久久99国产精一区二区三区 | 欧美专区综合 | 深夜偷偷看视频在线观看 | 中文字幕日产无码 | 欧美亚洲综合另类成人 | 黄色激情视频在线观看 | 国产三级理论 | 午夜影院入口 |