Puncte:0

Nginx a calculat variabilele de jurnal folosind lua

drapel ng

Încerc să fac ca Nginx (care rulează ca un controler de intrare Kubernetes) să se conecteze în milisecunde și nu în secunde. (Acest lucru este astfel încât să putem ingera jurnalele în sistemul nostru existent Elasticsearch, care are deja alte sisteme de logare în ms)

Bazat pe acest lucru postare pe blog Am încercat următoarele în contextul „http”:

  harta $host $request_time_ms {
    „test” implicit;
  }
  log_by_lua_block { 
    ngx.var.request_time_ms = „foo”
  }

Și apoi în șirul meu de jurnal:

 '{...."duration_ms":"$request_time_ms",....}'

Dar valoarea înregistrată este întotdeauna valoarea implicită a Test mai degrabă decât cea aşteptată din foo.

În cele din urmă, ar trebui să se termine așa:

ngx.var.request_time_ms = math.floor(tonumber(ngx.var.request_time) * 1000)

Dar doar încerc să fac ca situația de bază să funcționeze mai întâi.

Ai idee de ce nu merge asta? E ca și cum log_by_lua_block pur si simplu nu ruleaza.

Puncte:0
drapel gr

Nu vă pot reproduce situația pe propriul meu server (trebuie să spun că nu folosesc kubernetes sau docker pentru teste). Pentru mine, această configurație funcționează conform așteptărilor. Chiar arată ca log_by_lua_block nu rulează deloc pe controlerul dvs. de intrare. Dar puteți folosi următoarea soluție pentru a obține timpul de solicitare în milisecunde și nu în secunde:

harta $request_time $request_time_ms {
    ~^0\.0*(\d+?)$ $1;
    ~(\d+)\.(\d+) $1$2;
}
drapel ng
Se pare că funcționează, dar mi s-au găsit și câteva valori precum: ` "duration":0.112, "duration_ms":"8"` ceea ce este ciudat....
Ivan Shatsky avatar
drapel gr
Chiar arată ciudat, dar nu am un răspuns de ce se întâmplă...

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.