Tag: 麋鹿堆栈

在rancher升级后,Fluentd没有得到正确的docker容器名称

想象一下由docker撰写文件指定的一组容器。 这些容器在牧场主的帮助下运行。 容器设置为使用fluentd日志logging驱动程序。 日志驱动程序将消息发送到弹性search,我们使用Kabana来查看我们的日志。 这个设置工作正常,直到我们执行牧场主升级。 在牧场主升级之后,容器名称被设置为容器的UUID值。 这使得debugging变得困难,因为并不是所有的debugging消息都使用容器名称filter,因为UUID将始终不同。 如果堆栈从牧场主中删除,然后重新部署容器的原始名称将被恢复,并且正常恢复日志logging。 为什么容器名称在牧场主升级之后被报告为UUID值? 我们如何确保容器名称在我们的日志中始终正确设置?

Docker – 无法连接到Docker守护进程到rm容器

玩ELK和docker,我需要重新启动每个服务。 docker ps告诉我,我没有任何容器。 docker run -it –rm […] –name es elasticsearch – > Error response from daemon. The name "es" is already use by container […] Error response from daemon. The name "es" is already use by container […] 所以我尝试删除所有容器: docker ps -a -q | xargs docker rm docker ps -a -q | xargs docker […]

Docker – ELK – vm.max_map_count

我正在尝试使用Docker Compose来使用Docker的图像elk-docker ( https://elk-docker.readthedocs.io/ )。 .yml文件就是这样的: elk: image: sebp/elk ports: – "5601:5601" – "9200:9200" – "5044:5044" 当我运行命令:sudo docker-compose up时,控制台显示: * Starting Elasticsearch Server sysctl: setting key "vm.max_map_count": Read-only file system …fail! waiting for Elasticsearch to be up (1/30) waiting for Elasticsearch to be up (2/30) waiting for Elasticsearch to be up (3/30) waiting for Elasticsearch […]

正则expression式string似乎不能在ELK堆栈中工作

我是新来的ELK堆栈,并遇到一些问题,我觉得应该很简单。 我有如下所示的日志数据(从elasticsearch API中检索): { "_index": "filebeat-2017.06.02", "_type": "log", "_id": "AVxqBHFg2ZHUP62Y4ofK", "_version": 1, "found": true, "_source": { SNIPPING stuff I don't think is important here }, "host": "LYNCHC", "source": "C:\\PathToTheFile.log", "message": "\"INFO\",\"mc-1\",\"04\/26\/2017\",\"02:26:55\",\"\",\";Error invoking external process **SNIPPING for brevity**", "type": "log", "tags": [ "beats_input_codec_plain_applied" ] } } 和其他日志,看起来像这样: { "_index": "filebeat-2017.06.02", "_type": "log", "_id": "AVxqBHhd2ZHUP62Y4ofR", "_version": 1, […]

Docker-compose.yml不适用于elasticserch

使用的版本: Docker-compose = 1.3.2 Docker = 1.12.3 Os: Ubuntu-14.04LTS 1:撰写文件内容: 泊坞窗,compose.yml elk: image: elasticsearch:latest ports: – "9200:9200" – "9300:9300" volumes: – ./Elasticsearch/data:/etc/elasticsearch/data – ./Elasticsearch/config/elasticsearch.yml:/etc/elasticsearch/config/elasticsearch.yml command: bash -c "service elasticsearch start" tty : true 2:$正在运行撰写文件: docker-compose up 获得关注: Attaching to elkdockerdir_elk_1 elk_1 | [2016-11-14T06:28:18,458][INFO ][oenNode ] [] initializing … elk_1 | [2016-11-14T06:28:18,573][INFO ][oeeNodeEnvironment ] [UERHECj] using […]

Root用户在Elasticsearch 2.4.0的Docker容器中

我使用Docker运行ELK堆栈以进行日志pipe理,当前configuration为ES 1.7,Logstash 1.5.4和Kibana 4.1.4。 现在我正在尝试将Elasticsearch升级到2.4.0,位于https://download.elastic.co/elasticsearch/release/org/elasticsearch/distribution/tar/elasticsearch/2.4.0/elasticsearch-2.4.0.tar。 gz通过使用tar.gz文件与Docker。 由于ES 2.X不允许以root用户身份运行,所以我使用了 -Des.insecure.allow.root=true 选项,而运行elasticsearch服务,但我的容器不启动。 日志没有提到任何问题。 % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 874 100 874 0 0 874k 0 –:–:– –:–:– –:–:– 853k //opt//log-management//elasticsearch/bin/elasticsearch: line 134: hostname: command not found Scheduler@0.0.0 start /opt/log-management/Scheduler node scheduler-app.js ESExportWrapper@0.0.0 start […]

使用ELK堆栈的最佳Docker日志logging体系结构

最近我试图找出最好的使用ELK堆栈的Docker日志机制。 我有一些关于公司在生产中使用的最佳工作stream程的问题。 我们的系统具有典型的软件堆栈,包括Tomcat,PostgreSQL,MongoDB,Nginx,RabbitMQ,Couchbase等。到目前为止,我们的堆栈运行在CoreOS集群中。 请在下面find我的问题 使用ELK堆栈,做日志转发的最佳方法是什么 – 我应该使用伐木工吗? 我这样问是因为我看到了工作stream,人们使用Syslog / Rsyslog将日志转发到logstash。 由于我们所有的软件都是集装箱的,我应该在所有的容器中包含Log-forwarder吗? 我打算做到这一点,因为我的大部分容器切换节点基于健康,所以我不热衷于从容器挂载到主机的文件系统。 我应该使用redis作为转发日志的代理吗? 如果是,为什么? 编写定义要转发到日志存储的日志格式的日志configuration文件有多困难? 这是一个主观的问题,但我相信这是一个很久以前人们已经解决的问题,我不想重新发明轮子。

连接docker-compose的两个实例

我有一个使用docker-compose运行的几个服务的dockerized应用程序。 我想用ElasticSearch / Logstash / Kibana(ELK)使用另一个docker-compose应用程序docker -elk来连接这个应用程序。 他们两个都在开发中的同一个docker机器上运行。 在生产中,情况可能不会如此。 我如何configuration我的应用程序的docker-compose.yml链接到ELK栈?

ELK从多个dockerimage processing多行日志

我正在运行Docker容器的群集中运行ELK(Elasticsearch,Logstash,Kibana)。 那些容器通过GELF端点将日志发送到Logstash。 docker run –log-driver=gelf –log-opt gelf-address=udp://somehost:12201 -ti my-app:latest 然后我在Logstash中处理日志。 在这里,我想折叠多行消息,并将它们合并成一个事件(在我的例子中是Javaexception)。 我的configuration是: input { gelf {} } filter{ multiline { pattern => "^%{TIMESTAMP_ISO8601}" negate => true what => "previous" source => "short_message" } } output { stdout { codec => rubydebug } } 当我处理来自一个docker集装箱的日志时,它完美的工作,但是对于两个或更多的它不起作用,因为它折叠了两个(或更多)日志stream的消息。 我希望,在input中设置多线可以解决问题 input { gelf { filter{ multiline { pattern => "^%{TIMESTAMP_ISO8601}" […]