Построение системы анализа журналов EFK (Elasticsearch+fluentd+Kibana)

    Моя организация EFK выглядит следующим образом, всего 39 виртуальных машин. Fluented читает журналы в виде хвоста от каждой службы (на рисунке отмечены как APP). Чтобы извлечь журналы, вы можете использовать http://fluentular.herokuapp .com/ веб-сайт для проверки обычных правил , затем отправляется в ElasticSearch, а затем отображается с помощью Kibana.Все EFK запускаются в отдельном контейнере докера.

 

 

Этапы строительства следующие:

Строительство Fluented

1. Создайте docker-compose.yml и смонтируйте две точки монтирования: одна — это файл конфигурации fluentd, а другая — папка, в которой находится журнал.

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 и плагин пересылки.

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 Запустите ЭФК

Запустите docker-compose up --d под flentd и EK соответственно.

 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, и установите индекс

Просто выполните запрос журнала Kibana в Discover.

Je suppose que tu aimes

Origine blog.csdn.net/baidu_31405631/article/details/114132231
efk
efk
conseillé
Classement