【Docker】使用Fluentd将日志存储在Elasticsearch和Re:dash中进行管理

使用Docker启动Fluentd、Elasticsearch和Re:dash,进行日志收集和分析。

镀金

引入Docker和Docker Compose

如果您使用 CentOS 操作系统,可以参考以下步骤:
在 CentOS 6.5 上安装 docker 和 docker-compose。

前提 tí) – prerequisite
The above phrase can be paraphrased in Chinese as “一个前提” tí) which means “a prerequisite”.

    • ログは行にJSON

 

    Fluentd & Elasticsearchは同じサーバ上に存在

以下是日志示例。

{ "type": "chatlog", "name": "hoge1", "text": "hoge1" }
{ "type": "chatlog", "name": "hoge2", "text": "hoge2" }
{ "type": "chatlog", "name": "hoge3", "text": "hoge3" }
{ "type": "chatlog", "name": "hoge4", "text": "hoge4" }
{ "type": "chatlog", "name": "hoge5", "text": "hoge5" }

Fluentd和Elasticsearch

$ mkdir ~/workspace
$ cd ~/workspace

Fluentd 流畅的日志收集和转发系统。

$ mkdir fluentd
$ cd fluentd
$ mkdir plugins
$ vi Dockerfile
$ vi fluent.conf
FROM fluent/fluentd:latest-onbuild

USER fluent

WORKDIR /home/fluent
ENV PATH /home/fluent/.gem/ruby/2.3.0/bin:$PATH
RUN gem install fluent-plugin-secure-forward
RUN gem install fluent-plugin-elasticsearch

EXPOSE 24284

CMD fluentd -c /fluentd/etc/fluent.conf -p /fluentd/plugins -vv
<source>
  type tail
  path /var/log/hoge/[log file] # 収集するログファイル名を指定
  tag json.hoge
  pos_file /var/log/hoge/[log file].pos # 収集するログファイル名を指定
  format json
</source>

<match json.**>
  type copy

  <store>
    type stdout
  </store>

  <store>
    type elasticsearch
    host localhost   # elasticsearchのホスト
    port 9200        # elasticsearchのポート
    logstash_format true
  </store>
</match>

弹性搜索

$ mkdir elasticsearch
$ cd elasticsearch
$ vi Dockerfile
FROM elasticsearch

RUN bin/plugin install mobz/elasticsearch-head

EXPOSE 9200

CMD ["bin/elasticsearch", "-Des.insecure.allow.root=true"]

开始

$ cd ~/workspace
$ vi docker-compose.yml
elasticsearch:
  build: elasticsearch
  ports:
    - 9200:9200
fluentd:
  build: fluentd
  ports:
    - 24284:24284
  volumes:
    - [log folder]:/var/log/hoge # 収集するログフォルダを指定
$ docker-compose up

Elasticsearch的网页

http://[IP]:9200/_plugin/head/

关于:dash

请参考下文详细说明如何使用docker启动Re:dash。

添加数据源

设置 > 数据源 > 新的数据源

基本URL的样子是这样的

http://[IP]:9200
スクリーンショット 2016-07-22 12.23.42.png
广告
将在 10 秒后关闭
bannerAds