Transmiteti jurnalele, valorile, indicatorii KPI personalizati utilizand jKool.streaming. Cautati, creati tablouri de bord si analizati-va datele folosind jKool @ https://www.jkoolcloud.com.

Apache V2.0

Cum sa incepeti transmiterea in flux

  • Obtineti jkool-api-access-token inregistrandu-va la jKool https://data.jkoolcloud.com. (GRATUIT)

Transmiteti cu usurinta mesaje simple din linia de comanda

  • Incepeti sa transmiteti rapid apeland jKool / streaming.py din linia de comanda.
  • Specificati ce protocol sa utilizati pentru streaming cu –https sau –mqtt
  • Vedeti utilizarea completa cu optiunea -h.

Exemplu de flux peste https:

python streaming.py „Mesajul dvs. pentru a transmite in flux” –https your-access-token

Exemplu de flux peste mqtt:

python streaming.py “Mesajul dvs. pentru a transmite in flux” –mqtt broker-address-numele-de-utilizator parola-dvs. – python / fluxuri topice

Incorporeaza cu aplicatiile tale Python

  • Creati un HttpHandler utilizand jkool-api-access-token si adresa URL si nivelul de inregistrare optional
    • Adresa URL de streaming implicita este https://data.jkoolcloud.com
    • Nivelul implicit al jurnalului este logging.INFO
  • Adaugati acest handler la jurnalele dvs. python
  • Jurnalele, valorile sunt transmise automat la efectuarea apelurilor.
din jKool import streaming log logging = logging.getLogger (“jKool logger”) hdlr = streaming.HttpHandler (“jkool-api-access-token”) logger.addHandler (hdlr) logger.error (“Test log”)

Streaming prin MQTT

# dictionary with ssl options options = {“ca_certs”: “certificate / ca_certs.crt”, “certfile”: “path-to-certfile”, “keyfile”: “path-to-keyfile”, “cert_reqs”: “ssl .CERT_REQUIRED “,” tls_version “:” ssl.PROTOCOL_TLSv1 “,” ciphers “:” a-cipher “} # optiuni transmise ca dict MqttHandler (” broker-url “, topic =” tnt4py example “, client_id = str (uuid. uuid4 ()), clean_session = False, ** optiuni) # sau specificati fiecare MqttHandler (“broker-url”, ca_certs = “path-to-ca-file”, cert_reqs = ssl.CERT_REQUIRED)

Decorarea fluxului de evenimente

Evenimentele pot fi decorate / imbogatite inainte de streaming in jKool. Utilizati metoda logEvent helper cu decoratiuni definite de utilizator. Parametrii necesari sunt instanta de inregistrare, mesajul de inregistrare si sourcefqn. Numele complet calificat al sursei (fqn) este un nume sursa de eveniment canonic cu urmatoarea conventie TYPE = nume # TYPE = nume .. # TYPE = nume care este citit de la stanga la dreapta si defineste relatia de incinta.

Exemplu: APPL = PythonStreaming # SERVER = PythonServer100 # NETADDR = 11.0.0.2 # DATACENTER = DC1 # GEOADDR = 52.52437,13.41053 interpretat ca aplicatie PythonStreaming care ruleaza pe server PythonServer100 la adresa de retea 11.0.0.2 in datacenter DC1 aflat in geo-locatie 52.524 .

Tipuri acceptate: USER, APPL, PROCES, APPSERVER, SERVER, RUNTIME, VIRTUAL, NETWORK, DEVICE, NETADDR, GEOADDR, DATACENTER, DATASTORE, CACHE, SERVICE, QUEUE

streaming.logEvent (logger, “Acesta este un exemplu”, “APPL = PythonStreaming # SERVER = PythonServer100 # NETADDR = 11.0.0.2 # DATACENTER = DC1 # GEOADDR = 52.52437,13.41053”)

Utilizati parametrii optionali pentru a decora fluxurile de evenimente.

sourcefqn = “APPL = PythonStreaming # SERVER = PythonServer100 # NETADDR = 11.0.0.2 # DATACENTER = DC1 # GEOADDR = 52.52437,13.41053” streaming.logEvent (logger, “Acesta este un exemplu”, sourcefqn, time_usec = int (time.time ( ) * 1000000), corr_id = “identitatea-corelatorului tau”, locatie = “Atlanta, Ga”)

Corelatoarele sunt utilizate pentru a conecta / imbina mai multe evenimente intr-o singura activitate legata. Orice numar de evenimente sunt legate atunci cand impartasesc inca unul sau mai multi corelatori.

Valori definite de utilizator

De asemenea, puteti raporta valori definite de utilizator (de exemplu, CPU, memorie, suma comenzii). Acest lucru se face prin Instantanee si Proprietati in modulul de valori. Un instantaneu contine o colectie de proprietati definite de utilizator, fiecare proprietate este numele, valoarea, imperecherea tipurilor.

Streaming de evenimente cu instantanee si proprietati personalizate

Instantaneele pot fi atasate la un eveniment prin adaugarea unei liste de instantanee la argumentul instantanee.

mySnapshot = Snapshot (“Payment”, category = “Order”) mySnapshot.addProperty (“order-no”, orderNo, “string”) mySnapshot.addProperty (“order-amount”, orderAmount, “integer”) # instantanee argumentul trebuie sa fi o lista care contine unul sau mai multe Instantanee logEvent (logger, „Comanda procesata cu succes”, sourcefqn, instantanee = [mySnapshot])

Instantaneele si proprietatile sunt serializate automat in format JSON.