Size: a a a

2021 March 20

EM

Evgeniy Mihaylovsky in E.L.K.
Dmitriy
на работе осталось) в понедельник напомни
Окей. Спасибо
источник
2021 March 22

EM

Evgeniy Mihaylovsky in E.L.K.
Dmitriy
на работе осталось) в понедельник напомни
Напоминаю)
источник

D

Dmitriy in E.L.K.
Evgeniy Mihaylovsky
Напоминаю)
LOGSTASH
  if [docker][container][labels][com][docker][swarm][service][name] =~ /mcr-.*/ {
    grok {
      match => {
        "message" => [
          "(?<log_level>\w+)\:\ (?<log_message>.*)"
        ]
      }
    }
  }

FILEBEAT

filebeat.autodiscover:
  providers:
    - type: docker
      templates:
        - condition:
            regexp:
              docker.container.image: ".*"
          config:
            - type: docker
              containers.ids:
                - "${data.docker.container.id}"
              message_key: log
              multiline.pattern: "^ "
              multiline.negate: false
              multiline.match: after
              fields:
                env: dev

output.logstash:
  hosts: ["logstash:24248"]

processors:
  - add_docker_metadata: ~
источник

EM

Evgeniy Mihaylovsky in E.L.K.
Dmitriy
LOGSTASH
  if [docker][container][labels][com][docker][swarm][service][name] =~ /mcr-.*/ {
    grok {
      match => {
        "message" => [
          "(?<log_level>\w+)\:\ (?<log_message>.*)"
        ]
      }
    }
  }

FILEBEAT

filebeat.autodiscover:
  providers:
    - type: docker
      templates:
        - condition:
            regexp:
              docker.container.image: ".*"
          config:
            - type: docker
              containers.ids:
                - "${data.docker.container.id}"
              message_key: log
              multiline.pattern: "^ "
              multiline.negate: false
              multiline.match: after
              fields:
                env: dev

output.logstash:
  hosts: ["logstash:24248"]

processors:
  - add_docker_metadata: ~
Спасибо ❤️
источник

EM

Evgeniy Mihaylovsky in E.L.K.
Dmitriy
LOGSTASH
  if [docker][container][labels][com][docker][swarm][service][name] =~ /mcr-.*/ {
    grok {
      match => {
        "message" => [
          "(?<log_level>\w+)\:\ (?<log_message>.*)"
        ]
      }
    }
  }

FILEBEAT

filebeat.autodiscover:
  providers:
    - type: docker
      templates:
        - condition:
            regexp:
              docker.container.image: ".*"
          config:
            - type: docker
              containers.ids:
                - "${data.docker.container.id}"
              message_key: log
              multiline.pattern: "^ "
              multiline.negate: false
              multiline.match: after
              fields:
                env: dev

output.logstash:
  hosts: ["logstash:24248"]

processors:
  - add_docker_metadata: ~
Я так понял у тебя не последняя версия стека) Вроде как устаревшее решение
источник

D

Dmitriy in E.L.K.
да, но для 7.* работа add_docker_metadata не отличается
источник

EM

Evgeniy Mihaylovsky in E.L.K.
filebeat.autodiscover:
 providers:
 - type: docker
   templates:
     - config:
         - type: container
           paths:
             - /var/lib/docker/containers/${data.docker.container.id}/*.log
           execlude_lines: ["^\\s+[\\-`('.|_]"]
           fields:
             type: swarm
             app: nginx
           fields_under_root: true

Я сейчас использую такое решение. Оно отлично отрабатывает. Так как у нас в этом swarm так же крутится nginx, то требуется вынести nginx-access в отдельный индекс. Но вот в чем ситуация, как мне его словить? Грок по паттерну его не ловит и не словит, потому что log пишется в message
источник
2021 March 23

EM

Evgeniy Mihaylovsky in E.L.K.
Как думаете, это возможно?
источник
2021 March 25

EM

Evgeniy Mihaylovsky in E.L.K.
У меня попадает в индекс логи от докер сворма. Меня интересуют логи access от nginx и я написал паттерн, который отвечает моим требованиям. Но вот в чем не задача, по этому паттерну подходят и другие контейнеры. Подскажите, как можно вывести инфу только от nginx.
Имеется fields container.image.name: nginx:alpine, пытался сделать через if, почему то не попадает в индекс.
источник

EM

Evgeniy Mihaylovsky in E.L.K.
Решил. Нужно было сделать
if [container][image][name] == "nginx:alpine" {}
источник
2021 March 30

ma

maybe a microkotick in E.L.K.
Всем здрасте. Столкнулся с проблемой, что эластик начинает отставать, когда я подключаю к нему реплику.
логи идут по такому пути: докер -> json файл -> filebeat -> logstash -> elastic master -> elastic replica

отключаю реплику - скорость индексирования потихоньку растет и эластик догоняет логи по времени. подключаю реплику - скорость потихоньку падает.

при этом нагрузка на сервер небольшая. я выделил 64гб для кучи эластика и столько же оставил для кэша i/o.
еще смущает тот факт, что при нормальной работе (когда не отстает, с репликой) трафик до эластика 3 мегабита, а от эластика до реплики 30 мегабит.

как, где найти это бутылочное горлышко? на сервере стоят обычные винты, но нагрузка на i/o небольшая, при этом скорость индексации в пике достигает чуть больше 500 индексов в секунду. а с репликой плавно падает до 200
источник