Come copiare un valore da un campo all'altro, se è presente un campo utilizzando ingestnode pipeline

0

Domanda

Voglio creare un nuovo campo chiamato kubernetes.pod.nome se i campi chiamato prometeo.le etichette.pod esiste nei registri. Ho scoperto che dal processore potrei copiare il valore che è presente in prometheus.le etichette.contenitore per un nuovo campo kubernetes.pod.nome, ma ho bisogno di fare questo in modo condizionale, come il nome del contenitore in continua evoluzione.

Come faccio a impostare una condizione tale che, se il campo di prometeo.le etichette.pod esiste poi ho solo bisogno di aggiungere un nuovo campo denominato kubernetes.pod.nome (entrambi hanno lo stesso valore)

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

potrebbe essere fare allo stesso modo possiamo fare

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

per verificare se questo campo esiste o non esiste?

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

Migliore risposta

0

Se il testo è una stringa e se richiesto di impostare una condizione che, se esiste, il miglior modo è quello di utilizzare il seguente condizione in set processore.

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

Questo è come ho implementato lo scenario di cui sopra utilizzando ingerire nodo pipeline.

"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

Anche notare che copy_from è supportato solo da ES 7.11 in poi.
Val

Sono d'accordo con questo. Sto utilizzando la versione più recente.
sidharth vijayakumar

In altre lingue

Questa pagina è in altre lingue

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