Sematext logagent - PullRequest
       0

Sematext logagent

0 голосов
/ 16 марта 2020

Я пытаюсь создать индекс еженедельно в поиске c поиск через агент журнала, но logagent не может распознать шаблоны дат, представленные в их документации, когда я начал глубоко отлаживать его и увидел, что logagent принимает только DD / Шаблон MM / YYYY в имени индекса и ничего больше.

https://github.com/sematext/logagent-js/blob/master/lib/plugins/output/elasticsearch.js

function applyDateFormatToIndex (index, data) {
  // support for time-based index patterns
  return index.replace(/YYYY|MM|DD/g, function (match) {
    if (match === 'YYYY') {
      return '' + data['@timestamp'].getFullYear()
    }
    if (match === 'MM') {
      return ('0' + (data['@timestamp'].getMonth() + 1)).substr(-2)
    }
    if (match === 'DD') {
      return ('0' + data['@timestamp'].getDate()).substr(-2)
    }
    return match
  })
}

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

Я могу изменить базовую библиотеку, что не является хорошей практикой. Также есть какой-то другой способ, где в самом файле yml я могу вызвать функцию для динамического создания индекса.

Фрагмент моего файла конфигурации logagent.

output:
  secure-elasticsearch:
    # elasticsearch:
    module: elasticsearch
    url: ${ELASTICSEARCH_URL}

    httpOptions:
      key: /elastic-${LOG_ENV}-client.key
      cert: /elastic-${LOG_ENV}-client.crt
      ca: /elasticsearch.crt
      rejectUnauthorized: false

    # default index to use, for all logs that don't match any other configuration
    index: log-${LOG_ENV}-YYYY.MM.WW
    indices:
      dockerbeat-${LOG_ENV}-YYYY.MM.WW:
        - .*dockbeat\.json

  stdout: pretty

1 Ответ

0 голосов
/ 16 марта 2020

In logsta sh: используйте вместо него YYYY.ww. См. https://www.elastic.co/guide/en/logstash/current/event-dependent-configuration.html#sprintf

В журнале: я думаю, вы можете изменить dateFormats в этом файле. https://github.com/sematext/logagent-js/blob/master/patterns.yml Может быть, это на линии 134.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...