Jak skopiować wartość z jednego pola do drugiego, jeśli pole istnieje, za pomocą przenośnika ingestnode

0

Pytanie

Chcę utworzyć nowe pole o nazwie kubernetes.pod.name jeśli pola nazywają prometeusza.labels.pod istnieje w czasopismach. Odkryłem, że z zainstalowanego procesora mogłem skopiować wartość, która jest obecna w prometheus.tagi.pod nowe pole kubernetes.pod.name ale muszę to zrobić w zawieszeniu, tak jak nazwa modułu wciąż się zmienia.

Jak mam ustawić to warunek, aby, jeśli pole prometeusz.labels.pod istnieje tylko wtedy, kiedy muszę dodać nowe pole o nazwie kubernetes.pod.name (i jedno i drugie ma taką samą wartość)

ctx.prometheus?.labels?.namespace== "name_of_namespace"

można by zrobić to samo, czy możemy zrobić

ctx.prometheus?.labels?.pod== "*"

aby sprawdzić, czy jest to pole, czy nie?

elasticsearch elk kibana
2021-11-18 16:58:25
1

Najlepsza odpowiedź

0

Jeśli tekst jest wiersz, a jeśli chcesz ustawić warunek, że jeśli istnieje, to jest najlepszy sposób-użyć następującego warunku w procesorze zestawu.

ctx.prometheus?.labels?.namespace!=null

Oto jak dodałem wyżej opisany scenariusz z pomocą przenośnika węzłów odbioru.

"set": {
  "field": "kubernetes.pod.name",
  "copy_from": "prometheus.labels.pod",
  "if": "ctx.prometheus?.labels?.pod!=null",
  "ignore_failure": true
}
2021-11-18 17:02:50

Należy również pamiętać, że copy_from obsługiwany jest tylko od ES 7.11 i dalej.
Val

Zgadzam się z tym. Używam najnowszej wersji.
sidharth vijayakumar

W innych językach

Ta strona jest w innych językach

Русский
..................................................................................................................
Italiano
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................