Open telemetry protokolünü kullanirken herhangi bir tip backend den veri gelecektir. Ve gelen bu log ve telemetre verisini parse ederken örnegin servise göre ayirmak gerekecektir. Gelen payload icinde bir attribute u bunun icin kullanmak gerekecektir. Eger data-prepper kullaniyorsaniz (ki bence kullanmayin ama …yinede ) icinde nokta olan bir attribute varsa “mailing.testing.environment” gibi data-prepper bunu ancak processor ile bulabilir. Ancak bunu bilmekte yetmez birde (nedendir bilinmez google aramasinda 25nci sirada cikti) attributes/ u bilmek gerekir.
beklenen
processor:
- copy_values:
entries:
- from_key: "mailing.testing.environment"
to_key: environment
Calisan
processor:
- copy_values:
entries:
- from_key: "/attributes/resource.attributes.environment"
to_key: environment
daha sonra bunu sink ile ayrilmis olarak opensearch e gönderebilirsiniz.
sink:
#- stdout:
- opensearch:
hosts: [ "http://opensearch:9200" ]
username: "<user>"
password: "<password>"
index: ${environment}-logs-${serviceAdi}
burada serviceAdi noktasiz attribute olarak geldiginden direk kullanabiliyoruz ama environment e processor gerekiyor. Yoksa aslinda nested variable degil ama !!!!