kirjautuminen nginx-miten määrittää sen ja mitä varoa

NGINX on tehokas ja luotettava WWW-palvelin, joka pystyy käsittelemään valtavia määriä liikennettä Internetin vilkkaimmille verkkosivustoille. Kun vianmääritys, sinun täytyy tapa järkeä liikenne-ja NGINX tarjoaa joustava hakkuut ominaisuuksia kaapata arvokasta yksityiskohtia ja auttaa sinua ymmärtämään käyttäytymistä web-palvelin.

NGINX tarjoaa kaksi erilaista tiedostoa arvokkaiden www-palvelintietojen kirjaamiseen., Nämä kaksi tiedostoa ovat error_log ja access_log. access_logia käytetään tietojen tallentamiseen web client requests and error_log stores other unexpected or informative messages.

Konfigurointi access_log

access_log tiedostoon kerää kaikki asiakkaan pyynnöt välittömästi sen jälkeen, kun pyyntö on käsitelty, joka tarjoaa suuren tapa kirjautua millä sivuilla käyttäjät ovat pyynnön web-palvelimelle., Voit valita, missä acess_log tiedot on kirjoitettu käyttäen seuraavia asetustiedoston syntaksi:

access_log path ] ];access_log off;

Specifyingformat avulla voit käyttää mukautettuja muodossa lokit käyttämällä muuttujia, kuten määrä bytessent asiakkaalle ($bytes_sent) tai pyytää pituus ($request_length).

normaalisti NGINX kirjaa kaikki transaktionsa access_logiin. If=condition-parametri tarjoaa powerfulwayn ehdollisen kirjaamisen suorittamiseen, joten se tallentaa lokiviestit, jos jokin ehto on totta., Jos haluat esimerkiksi tallentaa HTTP 404-tilakoodin palauttavia pyyntöjä, voit käyttää seuraavia ohjeita:

map $status $should_log {404 1;default 0;}access_log logs/access.log combined if=$should_log;

tällä muutoksella kaikki pyynnöt, jotka on suoritettu onnistuneesti (2xx), ohjattu toiselle sivulle (3xx) tai kohdattu servererror (5xx), eivät kirjaudu lokeihin/tietoihin.loki – vain404 virheet kirjataan.

Jos sinulla on useampi kuin yksi virtuaalinen isäntä ormultiple http server, tai sijainti directivesthensometimes se on kätevä mahdollisuus poistaa kirjaaminen nykyisen direktiivin tasolla, ja erityinen arvo on luotu tätä tarkoitusta varten.,Seuraava kokoonpano linja osoittaa, miten voit estää NGINX alkaen writingaccess tietoa tahansa access_log targetat nykyinen taso:

access_log off;

kattavamman selityksen configurationoptions, tutustu NGINX access_log asiakirjat.

NGINX Kirjaudu Vakavuus Tasot

NGINX tukee monenlaisia vakavuus levelsto, jotta se on helppo kirjaudu tiedot välität. Kutakin näistä tasoista voidaan käyttää error_log-direktiivillä, jossa vahvistetaan viestien kirjaamisen vähimmäistaso., Tässä ovat supportedlevels alimmassa korkeimmassa järjestyksessä, sekä opas siitä, miten niitä käytetään:

  • Debug – virheenkorjaus viestit, jotka eivät ole hyödyllisiä suurimman osan ajasta.
  • Info – informaatioviestit, jotka voisi olla hyvä tietää.
  • Ilmoitus – Jotain normaalia, mutta merkittävää on tapahtunut, ja se olisi huomattava.
  • varoita – jotain odottamatonta tapahtui, mutta se ei ole syytä huoleen.
  • Error-Something failed.
  • Crit-a kriittinen tila ilmeni.
  • hälytys – välittömiä toimia tarvitaan.
  • Emerg-järjestelmä on käyttökelvoton.,

Error_login

konfigurointi oletusarvoisesti, error_log-tiedosto tallentaa kaikki lokiviestit virheenvakavuustasolla, mikä tarkoittaa sitä, että sitä käytetään lähtökohtaisesti kuolemaan johtavien tai kriittisten viestien ymmärtämiseen auttamiseksitroubleshootingissa. Oletuspaikka error_logis lokit/virhe.kirjaudu. Tapa NGINXstores virheilmoituksia on joustava ja—yhdessä voit kirjoittaa messagesto tiedoston-se tukee myös lähettää error_logmessages stderr tai syslog daemon. Jos käytät nginxopen-lähdettä 1.5.,2 tai uudempi, voit myös lähettää error_log viestejä enemmän kuin yhdessä paikassa kerrallaan specifyingmultiple error_log direktiivien sama kokoonpano tasolla.

Jos haluat kirjautua kaikki viestit tai yli varoittaa log vakavuus tehdä seuraava kokoonpano muuttuu:

error_log logs/error.log warn;

Kirjautumalla Syslog Kanssa NGINX

Sekä access_log ja error_log direktiiveissä tuki lähettää viestejä syslog daemon käyttämällä syslog: string teidän kokoonpano., Seuraava katkelma osoittaa, syntaksi käyttäen joko direktiivien kanssa syslog daemon:

http {error_log syslog:server;…}

esimerkiksi, jos haluat ohjata kaikki error_log viestejä varoittaa tai korkeampi vakavuus syslogdaemon käyttää tämän direktiivin rivi:

error_log syslog:server=192.168.1.1 severity=warn;

Voit mukauttaa syslogconfiguration sopivaksi ympäristöön käyttämällä syslog-parametri tässätuomiossa NGINXsyslog asiakirjat.

Turhautumista-free kirjaudu hallinta. (Se on asia.,)

Aggregaatti, järjestää ja hallita lokit Papertrail

Asioita varoa

joustavuus NGINX hakkuut tarjoaa comesat kustannuksia, ja on olemassa joitakin asioita varoa, kun kirjoitat yourconfiguration-tiedoston avaamiseen. Olemme jo NGINX on kyky ohittaa loggingconfigurations direktiivin tasolla, ja tämä ominaisuus on erittäin hyödyllinen forlogging ylimääräisiä tietoja, kun käyttäjät käyttää erityisiä polkuja, esim., loggingextra liikennetiedot kaikki käyttäjät, jotka käyttävät /yksityinen URI., Kuitenkin, käyttämällä sisäkkäistä pääsy lokit voi nopeasti ollakompleksia ja sinun pitäisi olla varovainen, ettei käytä tätä ominaisuutta liikaa.

liityntä_logentriesin kirjoittaminen levyllä olevaan tiedostoon voi heikentää palvelimen suorituskykyä ja lisätä käyttäjäpyyntöjen latenssia. Web-palvelimet, jotka tarvitsevat ylläpitää tehokas, NGINX tarjoaa tapa kirjoittaa kirjautua viestejä syklinen puskuri inmemory, täysin ohittaen levy. Talteen nämä lokit on enemmän involvedan lukeminen tiedoston, joten sinun pitäisi käyttää tätä vain, jos suorituskyky on kriittinen foryour työmäärä.,

käyttääksesi tätä ominaisuutta, sinun versiosi NGINXISTÄ on määritettävä käyttäen debug—vaihtoehtoa. Voit tarkistaa, jos tämä on tapauksessa näin:

$ nginx -V 2>&1 | grep—‘—with-debug’configure arguments: --with-debug

Sisällä asetustiedosto voit ottaa kirjallisesti lokitiedot muistin kanssa seuraava pätkä:

error_log memory:32m debug;...http {...}

Tämä tulee kirjoittaa kirjautua viestejä debug-tasolla. Lokiviestien irrottamiseen muistista liittyy gdb: n käyttäminen yhteyden muodostamiseen NGINX-prosessiin ja seuraavan komentosarjan kopioimiseen ja liittämiseen kehotteeseen:

set $log = ngx_cycle->logwhile $log->writer != ngx_log_memory_writerset $log = $log->nextendset $buf = (ngx_log_memory_buf_t *) $log->wdatadump binary memory debug_log.txt $buf->start $buf->end

lopeta GDB: n käyttö Ctrl-D: llä., Yllä oleva skriptwill kirjoittaa muistin sisällön debug_logiin.txtfile, jossa voit lukea sen normaalisti.

Conclusion

NGINX mahdollistaa lokien keräämisen bothroutine accesseihin ja odottamattomiin virheisiin erillisiin tiedostoihin myöhempää analysointia ja vianmääritystä varten. Muoto access_logfile voidaan laajasti räätälöidä sisällyttää yksityiskohtaisia tietoja aboutrequests, kuten tavujen lähetetään asiakkaalle tai pyynnön pituus,ja error_log direktiivin allowsyou hallita vähintään vakavuusasteen edellyttämä viestit voidaan kirjautuneena.,Sekä access_log-että error_log-direktiivit voivat lähettää logentriat syslog daemonille, joka voi olla erittäin kätevä kehittäjille, jotka työskentelevät useilla www-palvelimilla.

ja jos kaikki nämä ominaisuudet eivät riitä sinulle, voit jopa kirjoittaa error_logentriesin muistipuskuriin välttääksesi kirjoittamisen levylle ja vähentääksesi suoritusvaikutusta vilkkaille palvelimille.

Leave a Comment