Индексное имя не задается в Filebeat для Elasticsearch - ELK. NET Docker ElasticHQ - PullRequest
0 голосов
/ 10 февраля 2020

Я экспериментирую с некоторыми json, которые были отформатированы в соответствии с Elasticsearch, поэтому я перешел непосредственно с Filebeat на Elasticsearch, а не через Logstash. Используется docker-compose:

version: '2.2'
services:
  elasticsearch:
    container_name: elasticsearch
    image: docker.elastic.co/elasticsearch/elasticsearch:7.5.2
    ports:
      - 9200:9200
      - 9300:9300
    environment:
      - discovery.type=single-node
      - cluster.name=docker-
      - bootstrap.memory_lock=true
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
    ulimits:
      memlock:
        soft: -1
        hard: -1
    networks:
      - esnet
  filebeat:
    container_name: filebeat
    build:
      context: .
      dockerfile: filebeat.Dockerfile
    volumes:
      - ./logs:/var/log
      - ./filebeat/filebeat.yml:/usr/share/filebeat/filebeat.yml
    networks:
      - esnet  
  elastichq:
    container_name: elastichq
    image: elastichq/elasticsearch-hq
    ports:
      - 8080:5000
    environment:
      - HQ_DEFAULT_URL=http://elasticsearch:9200
      - HQ_ENABLE_SSL=False
      - HQ_DEBUG=FALSE
    networks:
      - esnet  
networks:
  esnet: 

Однако, когда я открываю ElasticHQ, имя индекса было помечено как filebeat-7.5.2-2020.02.10-000001 с отметкой даты. Я указал index имя как Sample в моем filebeat.yml. Что-то мне не хватает, или это нормальное поведение?

Вот мой filebeat.yml

filebeat.inputs:
- type: log
  enabled: true
  paths:
    - /var/log/*.json
  json.keys_under_root: true
  json.add_error_key: true 

#----------------------------- Elasticsearch output --------------------------------

output.elasticsearch:
  hosts: ["elasticsearch:9200"]
  index: "sample-%{+YYYY.MM.dd}"


setup.template.name: "sample"
setup.template.pattern: "sample-*"

Было бы более практичным узнать что-то предопределенное, поэтому, если я использую Почтальон в противоположность ElasticHQ, я могу начать запрашивать свои данные без необходимости искать имя index.

1 Ответ

1 голос
/ 21 февраля 2020

Я думаю, Filebeat ILM может занять место вместо настроенного имени индекса.

Начиная с версии 7.0, Filebeat по умолчанию использует управление жизненным циклом индекса при подключении к кластеру, который поддерживает управление жизненным циклом. Filebeat автоматически загружает политику по умолчанию и применяет ее к любым индексам, созданным Filebeat.

И когда включен ilm Filebeat Вывод Elasticsearch Настройки индекса игнорируются

Настройка индекса игнорируется, если включено управление жизненным циклом индекса. Если вы отправляете события в кластер, который поддерживает управление жизненным циклом индекса, см. Раздел Настройка управления жизненным циклом индекса, чтобы узнать, как изменить имя индекса.

Возможно, вам придется отключить ILM или, что еще лучше, настроить желаемое. имя файла с использованием ILM rollover_alias.

...