Vyčítání hodnot z ze souboru
ZABBIX 7.0.11 na ROCKY linux 9.5
Jsem v ZABBIXu nový a programování v jakémkoliv prostředí se musím doučit, základní vytváření skriptů celkem zvládám (*.sh, *.cmd atd.) Oceném jakoukoliv pomoc nebo návrh kudy směřovat další mé snažení.
Ahoj mám problém s vyčítáním hodnot ze souboru. V souboru jsou na určitých pozicích hodnoty které potřebuji vyyčícts a převést funkcí na číslo. Umístění souboru "http://172.16.32.125/dataout.htm"
Pozice v souboru 12,11,10,9 odeleno ;
25;05;19;05;07;28;0067436943;SD5-MD1;000;000;000;000;000;061;229;096;066;059;003;01 8;111;069;183;032;164;069;240;229;236;069;163;146; 082;068;226;099;051;068;244;239;174;068;219;051;13 3;000;000;000;
funkce
"retVal=(new Float32Array(new Uint8Array([parseInt(dataArray[POS_PUDO+12]), parseInt(dataArray[POS_PUDO+11]), parseInt(dataArray[POS_PUDO+10]), parseInt(dataArray[POS_PUDO+9])]).buffer)[0])
"
V souboru je 9 sad těchto čísel. Jsou to hodnoty na jednotlivých fázích elektroměru L1,L2,L3 tyto hodnoty potřebuji vyčítat a ukládat.
Jak toto nejefektivněji zařídit?
HOST, Item (HTTP Agent),
25;05;19;05;07;28;0067436943;SD5-MD1;000;000;000;000;000;061;229;096;066;059;003;01 8;111;069;183;032;164;069;240;229;236;069;163;146; 082;068;226;099;051;068;244;239;174;068;219;051;13 3;000;000;000;

Preprocessing (1. CSV to JSON), převod do JSON broběhne bez problémů
[{"1":"25","2":"05","3":"19","4":"05","5":"07"," 6": "28","7":"0067436943","8":"SD5-MD1","9":"000","10":"000","11":"000","12":"000"," 1 3":"000","14":"061","15":"229","16":"096","17": "06 6","18":"059","19":"003","20":"018","21":"111", "22 ":"069","23":"183","24":"032","25":"164","26": "069 ","27":"240","28":"229","29":"236","30":"069", "31" :"163","32":"146","33":"082","34":"068","35":"2 26" ,"36":"099","37":"051","38":"068","39":"244","4 0": "239","41":"174","42":"068","43":"219","44":"0 51", "45":"133","46":"000","47":"000","48":"000","4 9":" "}]
Preprocessing (2. JSONpath $..["13"].first()), včtení jedné hodnoty bez problémů
000
Vyču pouze jednu hodnotu a další už neumím vyčíst.
Otázka: Je vyčítání přes HTTP agenta správný postup? (čtení je někdy potřeba realizovat v 1 sec nebo 2 sec intervalech)
Jak a včem provést zpracování vyčtených hodnot? "retVal=(new Float32Array(new Uint8Array([parseInt(dataArray[POS_PUDO+12]), parseInt(dataArray[POS_PUDO+11]), parseInt(dataArray[POS_PUDO+10]), parseInt(dataArray[POS_PUDO+9])]).buffer)[0])
Je vhodné použít JavaScript?
Pokud ano jak v JavaScriptu adresovat pozice v JSONpath?
TH
ZABBIX 7.0.11 na ROCKY linux 9.5
Jsem v ZABBIXu nový a programování v jakémkoliv prostředí se musím doučit, základní vytváření skriptů celkem zvládám (*.sh, *.cmd atd.) Oceném jakoukoliv pomoc nebo návrh kudy směřovat další mé snažení.
Ahoj mám problém s vyčítáním hodnot ze souboru. V souboru jsou na určitých pozicích hodnoty které potřebuji vyyčícts a převést funkcí na číslo. Umístění souboru "http://172.16.32.125/dataout.htm"
Pozice v souboru 12,11,10,9 odeleno ;
25;05;19;05;07;28;0067436943;SD5-MD1;000;000;000;000;000;061;229;096;066;059;003;01 8;111;069;183;032;164;069;240;229;236;069;163;146; 082;068;226;099;051;068;244;239;174;068;219;051;13 3;000;000;000;
funkce
"retVal=(new Float32Array(new Uint8Array([parseInt(dataArray[POS_PUDO+12]), parseInt(dataArray[POS_PUDO+11]), parseInt(dataArray[POS_PUDO+10]), parseInt(dataArray[POS_PUDO+9])]).buffer)[0])
"
V souboru je 9 sad těchto čísel. Jsou to hodnoty na jednotlivých fázích elektroměru L1,L2,L3 tyto hodnoty potřebuji vyčítat a ukládat.
Jak toto nejefektivněji zařídit?
HOST, Item (HTTP Agent),
25;05;19;05;07;28;0067436943;SD5-MD1;000;000;000;000;000;061;229;096;066;059;003;01 8;111;069;183;032;164;069;240;229;236;069;163;146; 082;068;226;099;051;068;244;239;174;068;219;051;13 3;000;000;000;
Preprocessing (1. CSV to JSON), převod do JSON broběhne bez problémů
[{"1":"25","2":"05","3":"19","4":"05","5":"07"," 6": "28","7":"0067436943","8":"SD5-MD1","9":"000","10":"000","11":"000","12":"000"," 1 3":"000","14":"061","15":"229","16":"096","17": "06 6","18":"059","19":"003","20":"018","21":"111", "22 ":"069","23":"183","24":"032","25":"164","26": "069 ","27":"240","28":"229","29":"236","30":"069", "31" :"163","32":"146","33":"082","34":"068","35":"2 26" ,"36":"099","37":"051","38":"068","39":"244","4 0": "239","41":"174","42":"068","43":"219","44":"0 51", "45":"133","46":"000","47":"000","48":"000","4 9":" "}]
Preprocessing (2. JSONpath $..["13"].first()), včtení jedné hodnoty bez problémů
000
Vyču pouze jednu hodnotu a další už neumím vyčíst.
Otázka: Je vyčítání přes HTTP agenta správný postup? (čtení je někdy potřeba realizovat v 1 sec nebo 2 sec intervalech)
Jak a včem provést zpracování vyčtených hodnot? "retVal=(new Float32Array(new Uint8Array([parseInt(dataArray[POS_PUDO+12]), parseInt(dataArray[POS_PUDO+11]), parseInt(dataArray[POS_PUDO+10]), parseInt(dataArray[POS_PUDO+9])]).buffer)[0])
Je vhodné použít JavaScript?
Pokud ano jak v JavaScriptu adresovat pozice v JSONpath?
TH
Comment