Как logsta sh из эластичного поиска с указанием c _type - PullRequest
0 голосов
/ 21 апреля 2020

У меня есть файл конфигурации logsta sh (6.8.1), подобный следующему:

input {
  elasticsearch {
    hosts => [ "127.0.0.1:9200" ]
    index => "myindex"
    codec => "json"
    docinfo => true
  }
}

filter {
  mutate {
    remove_field => ["@timestamp", "@version"]
  }
}

output {
  elasticsearch {
    hosts => [ "127.0.0.1:9300" ]
    index => "%{[@metadata][_index]}"
    document_type => "%{[@metadata][_type]}"
    document_id => "%{[@metadata][_id]}"
  }
}

Однако es в порту 9200 - 5.x, а es в порту 9300 - 6. Икс. Более того, у es в порту 9200 есть несколько «типов».

Поскольку у es 6.x есть только один «тип», мне нужно что-то вроде этого:

input {
  elasticsearch {
    hosts => [ "127.0.0.1:9200" ]
    user => ""
    password => ""
    index => "myindex"
    document_type => "mytype"  <--- like this
    codec => "json"
    docinfo => true
  }
}

Как я могу понять это? Большое спасибо за вашу помощь.

1 Ответ

0 голосов
/ 22 апреля 2020

Я предоставляю вам пример конфигурации jenkins logsta sh.

Вы имели в виду это:

input {
  file {
     path => "/var/log/jenkins/*"
     type => "jenkins-server"
     start_position => "beginning"
 } 
}
  filter 
 {
      if [type] == "jenkins-server" {
          mutate {
              add_field => ["@message_type", "jenkins"]
              add_field => ["@message", "%{message}"]
          }
      }
   }
...