LINUX.ORG.RU

kubernetes logs

 , ,


0

1

сейчас на нодах kubernetes стоит filebeat, он отправляет в elasticsearch, а там уже настроена kibana, так вот сейчас логи отправляются в формате json, что не очень удобно смотреть в доке есть разные форматы логов, кто какие использует и вообще кто как анализирует логи kuberenetes?


логи отправляются в формате json, что не очень удобно смотреть

А назачем тебе, пардон, ёлка, что ты в неё логи сырым текстом гонишь? Прекрати забивать микроскопом гвозди и либо включи разбор json на уровне input'а (если у тебя type: log), либо заюзай type: docker.

intelfx ★★★★★ ()
Последнее исправление: intelfx (всего исправлений: 2)
Ответ на: комментарий от intelfx

спасибо, сделал пока так

filebeat.inputs:
- type: docker
  containers.ids:
    - "*"

filebeat.config.modules:
  path: ${path.config}/modules.d/*.yml
  reload.enabled: false

setup.template.settings:
  index.number_of_shards: 3

output.elasticsearch:
  hosts: ["http://elasticsearch:9200"]

логи стали просматриваться в кибане намного понятнее

а кто-то победил filebeat для kubernetes по этой доке?

п.с. у меня были ошибки тема с ошибкой тема2 с ошибкой тема3 с ошибкой

Garcia ()
Ответ на: комментарий от intelfx

может ты еще подскажешь, стояла версия filebeat 6.4.3 все было ок, обновился до последней версии 6.5.0 и логи перестали приходить в кибану

конфиг filebeat.yml

filebeat.inputs:
- type: docker
  containers.ids:
    - "*"

filebeat.config.modules:
  path: ${path.config}/modules.d/*.yml
  reload.enabled: false

setup.template.settings:
  index.number_of_shards: 3

output.logstash:
  hosts: ["logstash_server:5044"]

elk установлен через docker-compose

version: '2'
services:
  elasticsearch:
    image: docker.elastic.co/elasticsearch/elasticsearch-oss:6.5.0
    restart: always
    container_name: elasticsearch
    environment:
      - cluster.name=elk
      - bootstrap.memory_lock=true
      - "ES_JAVA_OPTS=-Xms1g -Xmx1g -Des.scripting.exception_for_missing_value=true"
    ulimits:
      memlock:
        soft: -1
        hard: -1
    mem_limit: 10g
    ports:
      - "127.0.0.1:9200:9200"
    volumes:
      - esdata:/usr/share/elasticsearch/data
    networks:
      - elknet

  kibana:
    image: docker.elastic.co/kibana/kibana-oss:6.5.0
    restart: always
    environment:
      SERVER_NAME: elk.apnot.com
      ELASTICSEARCH_URL: http://elasticsearch:9200
    ports:
      - "127.0.0.1:5601:5601"
        #    volumes:
        #      - /opt/kibana/config/kibana.yml:/usr/share/kibana/config/kibana.yml
    networks:
      - elknet
logstash:
    image: docker.elastic.co/logstash/logstash-oss:6.5.0
    restart: always
    environment:
      PATH_CONFIG: "/usr/share/logstash/pipeline/*.conf"
    networks:
      - elknet
    ports:
      - "5044:5044"
      - "8010:8010"
    volumes:
      - ./logstash/config:/usr/share/logstash/config
      - ./logstash/pipeline:/usr/share/logstash/pipeline

volumes:
  esdata:
    driver: local

networks:
  elknet:

по логам все запущено и отправляется, но индекс в эластике не обновляется, если меняю конфиг filebeat на

filebeat.inputs:
- type: log
  paths:
    - /var/lib/docker/containers/*/*.log

filebeat.config.modules:
  path: ${path.config}/modules.d/*.yml
  reload.enabled: false

setup.template.settings:
  index.number_of_shards: 3

output.logstash:
  hosts: ["logstash_server:5044"]
то логи начинают попадать в кибану, но меня не устраивает формат логов в кибане

Garcia ()