Удержание на экспортере Grok приводит к тому, что прометей сохраняет неправильные значения - PullRequest
0 голосов
/ 03 августа 2020

Я использую Grok Exporter для экспорта метрик Prometheus, которые очищаются с интервалом 15 секунд, а затем сохраняются в InfxDB. Моя конфигурация экспортера Grok выглядит следующим образом:

global:
    config_version: 2
    retention_check_interval: 100ms
input:
    type: file
    fail_on_missing_logfile: false
    path: /logs/*.log  # Specify the location of the your log
    readall: false  # This should be True if you want to read whole log and False if you want to read only new lines.
grok:
    patterns_dir: ./patterns
metrics:
    - type: counter
      name: my_logs
      help: Counter metric example with labels.
      retention: 15s
      match: \[Name:(?<name>(.*)), Code:(?<code>(.*))\]
      labels:
        name: '{{ '{{' }} .name{{ '}}' }}'
        code: '{{ '{{' }} .code{{ '}}' }}'

Предположим, 20 сообщений журнала с одинаковыми значениями меток записываются в течение 20 секунд. В первом цикле прометея через 15 сек мы получаем значение = 14 (совпадают 14 строк). Тогда, в идеале, при следующем цикле мы хотели бы видеть значение = 6 сейчас на Grok, и это сохраняется в infxDb с помощью prometheus. Вместо [14,6] , сохраняемых как записи в потоке, я получаю [14,20] , что не является истинным представителем количества сообщений журнала, полученных во время следующей очистки. .

Кто-нибудь знает, как я могу настроить prometheus и grok для получения правильных показателей, как описано? Любая помощь будет принята с благодарностью. Спасибо.

...