将博客搬至CSDN

mkdir -p /srv/volume/fluentd/
cd /srv/volume/fluentd/
mkdir -p plugins/
cat > Dockerfile << 'EOF'
FROM fluent/fluentd:v1.2.5-debian-onbuild

ENV TZ=Asia/Shanghai
RUN apt-get update \
        && apt-get -y install tzdata \
        && apt-get -y install curl \
        && ln -snf /usr/share/zoneinfo/$TZ /etc/localtime \
        && echo $TZ > /etc/timezone

RUN buildDeps="sudo make gcc g++ libc-dev ruby-dev" \
 && apt-get update \
 && apt-get install -y --no-install-recommends $buildDeps \
 && sudo gem install \
        fluent-plugin-elasticsearch \
 && SUDO_FORCE_REMOVE=yes \
    apt-get purge -y --auto-remove \
                  -o APT::AutoRemove::RecommendsImportant=false \
                  $buildDeps \
 && rm -rf /var/lib/apt/lists/* \
           /home/fluent/.gem/ruby/2.3.0/cache/*.gem

COPY fluent.conf /fluentd/etc/fluent.conf
EOF

cat > fluent.conf << 'EOF'
<source>
  @type tcp
  tag windows
  format none
  port 8888
  bind 0.0.0.0
</source>

<source>
  @type forward
  port  24224
  bind 0.0.0.0
</source>

<filter windows.**>
  @type parser
  format json
#  time_format %Y-%m-%dT%H:%M:%S.%L%Z
  key_name message
  reserve_data false
  suppress_parse_error_log true
  ignore_key_not_exist true
  replace_invalid_sequence true
</filter>

<filter docker.**>
  @type parser
  format json
#  time_format %Y-%m-%dT%H:%M:%S.%L%Z
  key_name log
  reserve_data false
  suppress_parse_error_log true
  ignore_key_not_exist true
  replace_invalid_sequence true
</filter>

<filter docker.nginx.**>
  type record_transformer
  enable_ruby true
  <record>
    "@timestamp"  ${Time.now.strftime("%Y-%m-%dT%H:%M:%S.%L%z")}
  </record>
</filter>

<match windows.**>
  @type elasticsearch
  hosts 10.1.1.225:9200
  user elastic
  password 'qwe123!@#'
  
  target_index_key @target_index
  index_name default_index
  type_name fluentd

  include_tag_key true
  tag_key DockerName

  flush_interval 1s
  request_timeout 15s
  reload_connections false
  reconnect_on_error true
  resurrect_after 5s

  buffer_type memory
  num_threads 2
</match>


<match docker.**>
  @type elasticsearch
  hosts 10.1.1.225:9200
  user elastic
  password 'qwe123!@#'

  target_index_key @target_index
  index_name default_index
  type_name fluentd

  include_tag_key true
  tag_key DockerName

  flush_interval 1s
  request_timeout 15s
  reload_connections false
  reconnect_on_error true
  resurrect_after 5s

  buffer_type memory
  num_threads 2
</match>


<match **>
  @type elasticsearch
  hosts 10.1.1.225:9200
  user elastic
  password 'qwe123!@#'
  
  logstash_format true
  logstash_prefix unknown
  logstash_dateformat %Y.%m.%d
  
  time_key_format %Y-%m-%dT%H:%M:%S.%N%z
  
  target_index_key @target_index
  index_name default_index
  type_name fluentd

  include_tag_key true
  tag_key DockerName

  flush_interval 1s
  request_timeout 15s
  reload_connections false
  reconnect_on_error true
  resurrect_after 5s

  buffer_type memory
  num_threads 2
</match>
EOF

docker build --no-cache --pull -t fluentd/yujianbo:20180829 ./

docker rm -f pilipa-inside-fluentd
docker run -d \
        --name pilipa-inside-fluentd \
        --env FLUENTD_CONF=fluent.conf \
        -v /srv/fluentd/fluent.conf:/fluentd/etc/fluent.conf \
        -p 8888:8888 \
        -p 24224:24224 \
fluentd/yujianbo:20180829
posted @ 2018-08-29 09:17  灰色渡鹤影  阅读(364)  评论(0编辑  收藏  举报