Pse një kujtues VPN 23-orësh aktivizohet për sesionin e gabuar
Një njoftim 23-orësh duhet të ndjekë një sesion, jo llogarinë. Lidhni kohëmatësin me lidhjen që filloi dhe trajtojini gjumin dhe rilidhjen si raste të veçanta.
Njoftimi u shfaq njëzet minuta pas lidhjes. Numëruesi poshtë tij kishte ecur që nga mëngjesi i ditës së kaluar, ose që nga autentikimi i fundit i llogarisë, dhe asgjë në alarm nuk thoshte se cila. Ky është simptomi: një kujtues i lidhur me diçka tjetër, jo me lidhjen para jush.
Zgjidhja nuk është një alarm më i mirë. Është të vendosni cilin orë nënkupton kërkesa, dhe pastaj të lidhni kohëmatësin me një objekt që ekziston në atë orë.
Çfarë u aktivizua dhe çfarë numëronte
Tre burime të mundshme prodhojnë të njëjtin mesazh. Një rregull kalendari ekzekutohet në një orë lokale fikse dhe nuk di asgjë për tunelet. Një numërues në klient grumbullohet sa kohë që çdo lidhje është aktive dhe i mbijeton rilidhjeve. Një politikë e portës skadon sesionin në anën e serverit dhe dërgon fillimisht një paralajmërim.
Vetëm dy të fundit kanë të bëjnë me një sesion, dhe as ata nuk bien dakord. Numëruesi i klientit mat atë që vëzhgoi procesi lokal; porta mat atë që autentikoi dhe kontabilizoi. Gjumi, një ndryshim rrjeti ose një rinisje e vëzhguesit mund t'i ndajnë me orë, dhe për këtë arsye alarmi dhe skadimi i imponuar largohen nga njëri-tjetri.
Tri orë pas një kërkese
Filloni duke shkruar fjalinë që dëshironi vërtet. Të paralajmërosh përpara se porta të përfundojë këtë lidhje nuk është i njëjti kërkesë si të kujtosh pas një dite kohë të lidhur. Nuk është as e njëjta gjë si të raportosh se ky sesion është aktiv prej 23 orësh. Çdo version emërton një ngjarje tjetër, dhe një komponent tjetër duhet t'i përgjigjet asaj.
Pastaj kontrolloni nëse të dhënat ekzistojnë. Një vulë kohore lokale e fillimit ju jep moshën e sesionit pa varësi nga serveri. Një politikë e portës ju jep jetën e mbetur, por vetëm nëse porta e ekspozon atë. Një raport përdorimi ju jep kohëzgjatjen pas faktit, dhe kjo nuk mund të drejtojë një njoftim paraprak.
Lidhni kohëmatësin me sesionin, jo me llogarinë
Zgjidhni fillimisht objektin. Një llogari mund të mbajë disa pajisje dhe disa sesione të njëkohshme, kështu që një kujtues i lidhur me emrin e përdoruesit nuk mund të thotë se cila lidhje arriti moshën. Lidheni me profilin plus atë aktivizim, dhe anuloni njoftimin në pritje kur aktivizimi përfundon.
| Evidence you can read | What it establishes | Where it misleads |
|---|---|---|
| Connection state changes to active | A session started now | Does not carry the gateway's own session identifier |
| Duration reported at disconnect | Total service time for that session | Arrives too late for any advance notice |
| Interim usage update | Time accounted up to that update | Staleness equals the update interval |
| Local timestamp taken at activation | Age of your observation | Resets whenever the observer restarts |
Ajo tabelë është një kontratë për njoftuesin tuaj, jo një përshkrim i API-së së kthimit të thirrjes të ndonjë klienti. Çfarëdo që produkti i instaluar dokumenton për gjendjen e lidhjes, është burimi me të cilin duhet të lidheni; aty ku ekspozon vetëm ngjarje autentikimi, thojeni me zë të lartë dhe pranoni sjelljen më të trashë në vend që të nxirrni një sesion.
Provojeni me një prag të shkurtër
Kurrë mos korrigjoni një kohëmatës njëditor me një pritje njëditore. Shtoni një prag të konfigurueshëm, vendoseni në tridhjetë sekonda dhe ekzekutoni katër kalime me radhë: lidhu, prit, shkëput, rilidhu. Çdo kalim duhet të prodhojë saktësisht një ndryshim gjendjeje, dhe rilidhja duhet të planifikojë një afat të ri në vend që të trashëgojë të vjetrin.
# current connection state and profile identity
nmcli -f GENERAL.STATE,GENERAL.CONNECTION connection show work
# the notifier unit you wrote: does it restart the deadline or resume it?
journalctl --user -u vpn-timer.service --since "-5 min" -o cat
Shikoni vulat kohore, jo formulimin. Një njoftim që vjen me kohën e fillimit të sesionit të mëparshëm ka lidhur objektin e gabuar, dhe një njoftim që vjen dy herë për një afat do të thotë që flamuri i dërguar nuk u ruajt kurrë.
Gjumi, rilidhja dhe dorëzimi i humbur
Gjumi thyen të dyja modelet naive. Një numërim mbrapsht monoton ndalon ndërsa makina fle, një afat sipas orës së murit vazhdon të lëvizë, dhe një kohëmatës që aktivizohet gjatë gjumit dorëzohet vonë ose nuk dorëzohet fare. Vendosni se çfarë sjellje kërkon kërkesa juaj, pastaj vërini makinës në gjumë përtej pragut dhe konfirmojeni.
Dorëzimi meriton të njëjtin kujdes. Nëse njoftimi nuk mund të shfaqet, vendoseni në radhë dhe rikontrolloni që sesioni i synuar ekziston ende përpara se ta shfaqni më në fund; përndryshe përdoruesi paralajmërohet për një lidhje që ka përfunduar tashmë. Shkëputja e detyruar dhe rinovimi i kredencialeve mbeten jashtë kësaj rruge, sepse një kujtues që ndryshon në heshtje fatin e lidhjes është një vendim politike i veshur si njoftim.