Анатолий Денисов, Так как я не программист то прошу пояснить в чем суть указанного Вами кода и что с ним делать? Поясню, я не разработчик, использую готовые вещи, в данном случае есть приложение (компонент elasticsearch) с возможностью сделать webhook, вот с помощью него я и отправляю сообщения в телеграмм. То есть куда мне применить Ваш сниппет не понятно. Кроме того в коде я вижу что магия должна происходить в случае превышения 4096 символов, но ведь в приведенном мною примере я не превышаю порог в 4096.
Дѣаволъ, интересно. А как спарсить базу планеты чтобы туда не только точки но и вот такие линии попали?
я планету разбирал с помощью этого софта https://github.com/MorbZ/OsmPoisPbf вот с такими параметрами:
Павел Козлов: Да и сам Магнус в другом форуме сказал мне о том что мультилайн фильтр тут не подойдет из-за того что строки могут быть не по порядку. Рекомендуется взглянуть на https://www.elastic.co/guide/en/logstash/2.3/plugi... и я так понимаю этот вариант мне действительно может подойти, но я совсем не знаю ruby от чего не могу написать грамотно опцию code
Павел Козлов: Так а что мне grok фильтры, я сам себе фильтр напишу из грок паттернов.
"тонкость в правильном наполнении двоеточия перед \[\d+-1\] " в этом и вопрос, я пробовал по разному но результата так и не добился.
Алексей Черемисин: "В некоторых случаях маппинг можно обновить у существующего индекса, перед добавлением нового поля, но не иначе" Как?
"так что обычно просто пересоздают индекс заново." - ну а если у меня уже есть индекс за день в котором приличное количество данных, и тут я обновил шаблон в середине дня, как быть в такой ситуации?
Алексей Черемисин: Спасибо за ссылки, они мне все равно пригодятся. Ничего ночью не крутил, а утром смотрю raw поля появились. И появились они ровно тогда когда индекс weblog-2016.06.20 закончился и начался индекс weblog-2016.06.21, то есть при неизменной конфигурации raw поля появились только после ротации индексов. Значит мой output конфиг правильный. Остается вопрос почему этот конфиг сразу не работал как надо? Может надо было в ручную курлом что-то дернуть в эластике чтоб все заработало как надо не дожидаясь ротации. Есть мысли?
Соответсвенно я их скопировал и заменил строку "template" : "logstash-*", на нужное мне имя то есть должно работать по сути ведь по дефолту raw поля есть.
"Если создаваемый индекс подпадает под определение маппинга, то к нему применяется этот маппинг" ну индексы в output конфиге логсташа я прописал index => "logstash-%{+YYYY.MM.dd}" и index => "weblog-%{+YYYY.MM.dd}" и по факту в эластике они такие и есть. Шаблон я тебе тоже показал и как мне кажется он вполне соответствует индексам моим. Но почему то не срабатывает шаблон, то ли бага то ли фича.
Алексей Черемисин: Добился того что по запросу curl -XGET localhost:9200/_template/?pretty=trye у меня выходит два шаблона один "weblog" : {
"order" : 0,
"template" : "weblog-*",
в котором есть "fields" : {
"raw" : {
"ignore_above" : 256,
"index" : "not_analyzed",
"type" : "string"
}
и
Алексей Черемисин: это я понял. попробовал сделать так
output {
if [Alert_Analyzer_Name] == "ossec" {
elasticsearch {
hosts => "127.0.0.1:9200"
index => "logstash-%{+YYYY.MM.dd}"
template => "/opt/logstash/custom_pattern/elasticsearch-template_logstash.json"
template_name => "logstash"
template_overwrite => "true"
}
}
Где elasticsearch-template_weblog.json и elasticsearch-template_logstash.json это копия /opt/logstash/vendor/bundle/jruby/1.9/gems/logstash-output-elasticsearch-2.7.0-java/lib/logstash/outputs/elasticsearch/elasticsearch-template.json , только для elasticsearch-template_weblog.json исправил "template" : "logstash-*", на "template" : " weblog-*", ,а elasticsearch-template_logstash.json это прям копия. и вот нифига не работает. Почему? Уже несколько дней с этим сижу никак не пойму