Portál AbcLinuxu, 14. července 2025 18:55


Dotaz: pomoc s perlem / parsovanie json

tralala avatar 2.9.2019 15:51 tralala | skóre: 9 | blog: tralala
pomoc s perlem / parsovanie json
Přečteno: 392×
Odpovědět | Admin

ahoj programovanie zatial nie je pre mna, max najdem nejaky bug a precitam co ma kod asi robit potreboval by som pomoct s sparsovanim json v perl

 

je tu celkom zaujimavy kod na monitoroivanie kubernetes ( najpr bezi autodisvoery - haldaju sa pody v namespace a nasledne kontajnery v pode )

 

dicovery pre kontajnery - riadky 208 - 223

 

https://github.com/objectiveit/zabbix-kubernetes/blob/master/k8s_discovery.pl

 

json file ktory je spracovany - problem zacina na riadku 2037 pre pod ktory ma 2 kontajnery ( meno 1st a 2nd ) - vystupod je len 1st , 2nd chyba ( v podstate by to malo objavit vsetky kontajnery )

 

https://pastebin.com/tTsuTajq

Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

tralala avatar 2.9.2019 15:53 tralala | skóre: 9 | blog: tralala
Rozbalit Rozbalit vše Re: pomoc s perlem / parsovanie json
Odpovědět | | Sbalit | Link | Blokovat | Admin
plus minus ziadany vystup ( bohuzial 2nd v nom chyba )
    {
      "data": [
        {
          "{#NAME}": "etcd-minikube",
          "{#NAMESPACE}": "kube-system",
          "{#CONTAINER}": "etcd"
        },
        {
          "{#CONTAINER}": "coredns",
          "{#NAMESPACE}": "kube-system",
          "{#NAME}": "coredns-5c98db65d4-62sdx"
        },
        {
          "{#NAME}": "mc1",
          "{#NAMESPACE}": "kube-system",
          "{#CONTAINER}": "1st"
        },
        {
          "{#NAME}": "mc1", - missing
          "{#NAMESPACE}": "kube-system", - missing
          "{#CONTAINER}": "2nd" - missing
        },

2.9.2019 16:12 NN
Rozbalit Rozbalit vše Re: pomoc s perlem / parsovanie json
Ten problemovy json vstup vypada jak?
2.9.2019 16:32 gofree
Rozbalit Rozbalit vše Re: pomoc s perlem / parsovanie json
vstup resp json je v tom 2.linku na pastebin
2.9.2019 17:15 NN
Rozbalit Rozbalit vše Re: pomoc s perlem / parsovanie json
Odpovědět | | Sbalit | Link | Blokovat | Admin
Problem dela funkce get_uniq() a jako hruba uprava by melo stacit:
push @{$toZabbix->{data}},values %uniq;
nahradit,
push @{$toZabbix->{data}},values @RESULT;
tralala avatar 2.9.2019 17:20 tralala | skóre: 9 | blog: tralala
Rozbalit Rozbalit vše Re: pomoc s perlem / parsovanie json
Ďakujem, skúsim a odreportujem.

tralala avatar 3.9.2019 08:23 tralala | skóre: 9 | blog: tralala
Rozbalit Rozbalit vše Re: pomoc s perlem / parsovanie json
funguje - teraz sa posielaju rovnako vsetky data ( discovery rules )

dalo by sa to nejako obmedzit aby
push @{$toZabbix->{data}},values @RESULT;
fungovalo len ak
$DISCOVERY eq 'containers'

pre vsetko ine
push @{$toZabbix->{data}},values %uniq;
vdaka

snazil som sa o njekay if else cyklus aleocividne to nie je moja salka kavy :)
3.9.2019 09:06 NN
Rozbalit Rozbalit vše Re: pomoc s perlem / parsovanie json
    if ($DISCOVERY eq 'containers') {
        push @{$toZabbix->{data}},values @RESULT;
    } else {
        push @{$toZabbix->{data}},values %uniq;
    }

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.