Tag: elasticsearch docker fluentd

Fluentd – 使用源标签作为索引

我有一个在Docker引擎上运行Fluentd和Elasticsearch的设置。 我有很多我想loginFluentd的服务。 我想要做的是为我运行的每个服务创build一个标签,并使用该标签作为Elasticsearch中的一个索引。 这是我有的设置: <source> @type forward port 24224 bind 0.0.0.0 </source> <match docker.service1> @type elasticsearch host "172.20.0.3" port 9200 index_name service1 type_name fluentd flush_interval 10s </match> <match docker.service2> @type elasticsearch host "172.20.0.3" port 9200 index_name service2 type_name fluentd flush_interval 10s </match> 等等。 这将是恼人的,必须包括一个新的匹配标签为我创build的每一个单一的服务,因为我希望能够添加新的服务,而无需更新我的stream利的configuration。 有没有办法做这样的事情: <source> @type forward port 24224 bind 0.0.0.0 </source> <match docker.**> […]

以正确的顺序获取docker日志stream

我已经尝试了几个日志收集服务,如logspout / papertrail和fluentd / elasticsearch,但是结果并不总是以正确的顺序显示,这可能会使debugging变得困难。 一个例子是Node.js应用程序,一个console.log命令导致多行,或者它的堆栈跟踪错误。 所有的行都显示相同的时间戳,我猜日志收集服务无法知道显示这些命令的顺序。 有没有办法增加毫秒精度? 或者其他方式来确保它们以相同的顺序显示,就像我做了docker logs命令一样? 更新:我没有看到它,但我看到一些关于stream利或elasticsearch支持毫秒+准确性默认情况下在一个新的版本

日志没有通过Fluentd刷新到Elasticsearch容器

我有一个本地设置运行2个conainers – 一个用于Elasticsearch(设置开发详细在这里 – https://www.elastic.co/guide/en/elasticsearch/reference/current/docker.html )。 我按照这篇文章的指示运行 – docker run -p 9200:9200 -e "http.host=0.0.0.0" -e "transport.host=127.0.0.1" docker.elastic.co/elasticsearch/elasticsearch:5.4.1 另一个作为Fluentd聚合器(使用这个基础图像 – https://hub.docker.com/r/fluent/fluentd/ )。 我的fluent.conf用于testing目的如下: <source> @type forward port 24224 </source> <match **> @type elasticsearch host 172.17.0.2 # Verified internal IP address of the ES container port 9200 user elastic password changeme index_name fluentd buffer_type memory flush_interval 60 […]