Назад | Перейти на главную страницу

Kibana @timestamp отображение и фильтр

Я использую следующую систему / пакет:

$ cat /etc/redhat-release 
CentOS Linux release 7.2.1511 (Core) 
$ rpm -q filebeat
filebeat-1.3.0-1.x86_64
$ 

с участием /etc/filebeat/filebeat.yml:

$ cat /etc/filebeat/filebeat.yml 
filebeat:
  prospectors:
    -
      paths:
        - /var/log/*.log
      input_type: log
  registry_file: /var/lib/filebeat/registry
output:
  elasticsearch:
    hosts: ["localhost:9200"]
shipper:
logging:
  to_syslog: true
  files:
$ 

"message": "8 сентября, 10:20:01 X CROND [11586]: (root) CMD (/ usr / lib64 / sa / sa1 1 1)",

Случай 1. Если у вас есть отметка времени в сообщении как @timestamp, измените ее на корневой уровень, изменив json.keys_under_root: true, затем измените "json.overwrite_keys: true

Случай 2. Добавьте @timestamp в свое приложение, например, если в вашем журнале есть данные как {"@timestamp": "2017-01-18T11: 41: 28.753Z", "message": "Some log"}

Затем измените "json.overwrite_keys: false" на true в filebeat.yml, и теперь @timestamp совпадает

В message Поле - это текст, а не то, что Кибана умеет использовать в качестве метки времени. Вам нужно добавить дополнительный синтаксический анализ, чтобы преобразовать временную метку из вашего файла журнала в date тип данных. Вы можете узнать больше о типах данных Elasticsearch, прочитав соответствующая документация.

Вы настроили Filebeat для вывода непосредственно в Elasticsearch. Чтобы проанализировать метку времени (и, возможно, другие поля) из вашего файла журнала, вам необходимо: настроить Filebeat для вывода в Logstash вместо. Затем Logstash можно использовать для изменения данных журнала, синтаксического анализа отметки времени, а также выполнения других сопоставлений с образцом.

Сказав все это, похоже, вы используете Filebeat для чтения файла системного журнала. Это нормально, но также возможно Logstash для прямого получения данных системного журнала, что может упростить вашу общую настройку.