#logstash
Вопрос:
Может ли кто-нибудь, пожалуйста, указать, возможна ли эта реализация или нет. Я готовлю новый объединенный индекс на основе выше 3 входных индексов. Но я хочу обновить/вставить свой новый индекс на основе любых изменений в индексе 3. Можно ли всегда отслеживать индекс выше 3 и вносить изменения в соответствии с новым индексом с помощью logstash. Я попробовал следующий подход, он работает по расписанию.
- но мне не нужно использовать расписание вместо любой другой опции для его мониторинга(например, триггер в SQL). Потому что я могу пропустить несколько транзакций, если время выполнения в любой момент превысит запланированное время.
- Также, пожалуйста, предложите, если есть какой-либо другой лучший подход, чтобы объединить эти 3 индекса, как я использовал 2 индекса в плагине фильтра. Я не нашел способа объединить индекс в плагине фильтра
Нужен подход только в Logstash
`index1: {index1refId:123, address:"myaddr" index1refId:124, address:"myaddr4" } index2: {refId:123, name:"myname", sal:34.4, date:"2021" refId:125, name:"myname5", sal:345.4, date:"2021" } index3: {ref3Id:123, dob:"2000"} Expecting new joined index: {refID:123, name:"myname", sal:34.4, date:"2021", address:"myaddr",dob:"2000"}
input{ elasticsearch{ hosts =gt; "hostname" index =gt; "index1" query =gt; '{"query": {"match_all":{}}}' docinfo =gt; true user =gt; "uname" password =gt; "pwd" ssl =gt; true schedule =gt; "*/10 * * * *" } } filter{ elasticsearch{ hosts =gt;"hostname" enable_sort =gt; false index =gt; "index2" user =gt; "uname" password =gt; "pwd" query_template =gt; "query_template_forindex.json" fields =gt; { "name" =gt; "name" "sal" =gt; "sal" "date" =gt; "date" } } elasticsearch{ hosts =gt;"hostname" enable_sort =gt; false index =gt; "index3" user =gt; "uname" password =gt; "pwd" query_template =gt; "query_template_forindex3.json" fields =gt; { "dob" =gt; "dob" } } } output{ elasticsearch{ hosts =gt; "hostname" index =gt; "newindex" user =gt; "uname" password =gt; "pwd" doc_as_upsert =gt; true document_id =gt; "%{index1refId}" ssl =gt; true } stdout { codec =gt; rubydebug } }