Puncte:1

Folosești Zabbix pentru a înregistra ieșirea JSON din API-ul REST? este posibil

drapel us

Încerc să folosesc Zabbix (5.0) pentru a captura răspunsul de la un API REST.

Dacă lipesc următoarele într-un browser web (sau wget / curl etc)

http://{nume utilizator}:{parolă}@10.1.2.3:8443/api/metadata/

Primesc răspunsul pe care îl aștept:

{"items":[{"name":"this_is_my_name"}]}

Încerc să surprind valoarea Nume în zabbix.

Am înființat o scenariu web împotriva șablonului meu și în trepte sectiunea am:

Nume: test_name
Adresă URL: http://{nume utilizator}:{parolă}@10.1.2.3:8443/api/metadata/
Date neprelucrate
Mod de recuperare: Corp
Timeout: 15s
Șir necesar: $.items:["nume"]
Cod de stare necesar: 200

Apoi, uitându-mă la cele mai recente date, văd că am un răspuns 200, dar o eroare de:

modelul necesar „$.items:[”name”]” nu a fost găsit pe http://{username}:{parola}@10.1.2.3:8443/api/metadata/

Am încercat tot felul de variații în câmpul String obligatoriu și întotdeauna același rezultat.

Am scăpat ceva sau am înțeles greșit ceva. Zabbix face chiar ceea ce încerc eu să fac?

drapel us
Elementele nu ar trebui să fie accesate ca listă?
Puncte:3
drapel in

Un scenariu web nu poate evalua JSON, poate verifica doar text simplu cu o expresie regulată.

Ai putea seta Șir necesar la acesta este numele meu, dar asta ar verifica doar dacă șirul apare în răspunsul de la server, indiferent de unde. În funcție de restul rezultatului și de cazul dvs. de utilizare, acest lucru ar putea funcționa sau nu.

Dacă doriți să obțineți un anumit câmp din JSON, trebuie să configurați un articol de tip Agent HTTP:

introduceți descrierea imaginii aici

NU verifica Convertiți în JSON, ar putea fi tentant, dar este menit să convertească răspunsurile non-JSON în JSON. Aveți deja JSON, așa că nu aveți nevoie de el.

Apoi, adăugați a pas de preprocesare de tipul JSONPath. Calea corectă pentru exemplul dvs. ar fi:

$.articole[:1].nume

introduceți descrierea imaginii aici

Rezultatul din JSON va fi ["acesta este numele meu"], nu doar acesta este numele meu, deci aveți nevoie de expresia regulată \["(.+)"\] pentru a prelua valoarea simplă din rezultat.

Îl poți testa direct:

introduceți descrierea imaginii aici

Păstrați articolul ca Text, iar apoi îi puteți adăuga un declanșator.

IGGt avatar
drapel us
Perfect. Se pare că am înțeles complet greșit și că mergeam într-o direcție complet greșită. Este exact ceea ce aveam nevoie. noroc.
Reyan Chougle avatar
drapel br
Răspuns complet. Vă mulțumim pentru eforturile dvs. Un alt articol bun este aici pe site-ul oficial Zabbix - https://www.zabbix.com/documentation/5.0/en/manual/config/items/itemtypes/http

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.