EFK(Elasticsearch+fluentd+Kibana)ログ分析システム構築

    私の EFK 組織は次のとおりです, 合計 39 の VM があります。Fluented は、各サービス (図では APP としてマークされています) から末尾の形式でログを読み取ります。ログを抽出するには、http://fluentular.herokuapp を使用できます。 .com/ website を使用して通常のルールをテストし、ElasticSearch に送信し、Kibana を使用して表示します。EFK はすべて別の Docker コンテナーで実行されます。

 

 

構築手順は次のとおりです

Fluented の構築

1 docker-compose.yml を作成し、2 つのマウント ポイントをマウントします。1 つは fluentd 構成ファイルで、もう 1 つはログが配置されているフォルダーです。

version: '2'
services:
  fluentd:
    build: .
    expose:
      - 24224
    ports:
      - "24224:24224"
    volumes:
      - /data/conf/fluent.conf:/fluentd/etc/fluent.conf
      - /data/logs/nginx:/data/logs/nginx
    restart: always

2 Dockerfile を作成し、elasticsearch プラグインと forward プラグインを追加します

FROM fluent/fluentd:v1.12.0-debian-1.0
USER root
RUN ["gem", "install","fluent-plugin-elasticsearch","--no-document", "--version", "4.3.3"]
RUN ["gem", "install","fluent-plugin-forest","--no-document"]
USER root

3 fluent.confを設定する

<source>
  @type tail
  path /data/logs/nginx/https-access.log
  pos_file /data/logs/nginx/https-access.log.pos
 <parse>
    @type nginx	 
 </parse>
 tag *
</source>
<match *.**>
  @type forest
  subtype copy
    <template>
	  <store>
		@type elasticsearch
		host XX.XX.XX.XX
		port 9200
	  </store>
   </template>
</match>

2 ElasticSearchとKibanaの構成

docker-compose.xml を構成する

version: '2'
services:
  elasticsearch:
    image: docker.elastic.co/elasticsearch/elasticsearch:7.10.2
    environment:
      - "discovery.type=single-node"
    expose:
      - 9200
    ports:
      - "9200:9200"
  kibana:
    image: kibana:7.10.1
    links:
      - "elasticsearch"
    ports:
      - "80:5601"

3 EFKの開始

flentd と EK でそれぞれ docker-compose up --d を実行します。

 docker ps
CONTAINER ID        IMAGE                                                  COMMAND                  CREATED             STATUS              PORTS                                NAMES
4941a0198a4f        fluentd_fluentd                                        "tini -- /bin/entr..."   4 days ago          Up 4 days           5140/tcp, 0.0.0.0:24224->24224/tcp   fluentd_fluentd_1
a33dee4a2bdb        kibana:7.10.1                                          "/usr/local/bin/du..."   7 days ago          Up 6 days           0.0.0.0:80->5601/tcp                 efk_kibana_1
dd05f58e2cbe        docker.elastic.co/elasticsearch/elasticsearch:7.10.2   "/tini -- /usr/loc..."   7 days ago          Up 6 days           0.0.0.0:9200->9200/tcp, 9300/tcp     efk_elasticsearch_1

4 Kibana が配置されているサーバーにアクセスし、インデックスを設定します

Discover で kibana ログ クエリを実行するだけです

おすすめ

転載: blog.csdn.net/baidu_31405631/article/details/114132231