Fórum Root.cz

Hlavní témata => Vývoj => Téma založeno: Jose D 26. 11. 2016, 13:03:36

Název: ELK stack: logstash: expanze číselných rozsahů
Přispěvatel: Jose D 26. 11. 2016, 13:03:36
Ahoj, nema nekdo napad jak v logstashi expandovat ciselne rozsahy, napr. "1-5,7" na "1 2 3 4 5 7" ?

Uz se nad tim zamyslim od vcerejska a zatim me napada ubastlit neco v ruby a prohnat to filterem "ruby", a nebo to pres exec poslat ven, zpracovat vlastni binarkou/skriptem, poslat do souboru, a znovu pres filebeat poslat na vstup logstashe.

edit: Jeste bych poznamenal ze v praxi ty rozsahy budou v radech stovek az tisicu, muzou byt dost fragmentovane, a taky tech zprav bude celkem dost, takze hledam reseni s rozumnou cpu a mem narocnosti..
Název: Re:ELK stack: logstash: expanze ciselnych rozsahu
Přispěvatel: Youda 27. 11. 2016, 11:10:50
Ahoj, nema nekdo napad jak v logstashi expandovat ciselne rozsahy, napr. "1-5,7" na "1 2 3 4 5 7" ?

Uz se nad tim zamyslim od vcerejska a zatim me napada ubastlit neco v ruby a prohnat to filterem "ruby", a nebo to pres exec poslat ven, zpracovat vlastni binarkou/skriptem, poslat do souboru, a znovu pres filebeat poslat na vstup logstashe.

edit: Jeste bych poznamenal ze v praxi ty rozsahy budou v radech stovek az tisicu, muzou byt dost fragmentovane, a taky tech zprav bude celkem dost, takze hledam reseni s rozumnou cpu a mem narocnosti..

No odpovedel sis vicemene sam.
Jako prvni pokus bych zkusil ruby filter. Logstash bezi vicemene cely v ruby, takze to bude pomale, ale tak jako je pomaly cely logstash.

Alternativne si napis vlastni filter plugin do logstashe, neni to nic sloziteho, staci vyjit z nejakeho existujiciho na githubu
Název: Re:ELK stack: logstash: expanze ciselnych rozsahu
Přispěvatel: Jose D 11. 12. 2016, 13:23:25
...Jako prvni pokus bych zkusil ruby filter...

yep, nakonec vyřešeno relativně nečistě, ale z pohledu výkonu celé pipeline to není bottleneck. Přes exec z ruby to sypu do toolu nodeset z projektu clustershell. (https://github.com/cea-hpc/clustershell (https://github.com/cea-hpc/clustershell)).
Tak kdyby někoho v budoucnu google hodil sem, tak:

Kód: [Vybrat]
ruby {
    code => "slurm_nodelist=event.get('slurm_nodelist');expanded_nodelist=`nodeset -e #{slurm_nodelist}`; event.set('nodelist', expanded_nodelist)"
  }