Starea serviciului
Această pagină descrie cum vă puteți da seama dacă GPTpostLLM la https://app.oraglegpt.org funcționează, cum clasificăm și comunicăm incidentele și ce promitem și ce nu promitem cu privire la disponibilitate.
Preferăm să publicăm o pagină exactă, fără cifre pe ea, decât una impresionantă pe care nu o putem susține. Așa că poziția onestă este enunțată prima, în secțiunea 1, înaintea oricărui alt lucru.
1. Ce nu oferim
- Nu există niciun acord privind nivelul serviciului pentru disponibilitate. Nu publicăm un procent de disponibilitate, nu oferim credite de serviciu pentru perioadele de indisponibilitate și nicio cifră din documentația noastră sau dintr-o discuție comercială nu constituie un angajament de disponibilitate. Drepturile dumneavoastră în cazul în care Serviciul nu este corespunzător scopului decurg din contractul prevăzut în Termeni și condiții și, pentru consumatori, din legislația română privind protecția consumatorilor, astfel cum este descrisă în Protecția consumatorilor și soluționarea litigiilor.
- Nu există nicio pagină de stare furnizată de un terț. Nu folosim Statuspage, Pingdom, Better Uptime sau vreun furnizor similar, așa încât nu există niciun subdomeniu status.* pe care să îl salvați la favorite, niciun grafic istoric al disponibilității și nicio cronologie a incidentelor găzduită de un furnizor.
- Nu există niciun flux automat de incidente. Niciun flux RSS, niciun webhook, nicio difuzare prin SMS și nicio listă de abonare.
- Nu există notificări prin poșta electronică, pentru nimic. Serviciul nu conține niciun client de poștă electronică și nu trimite absolut niciun mesaj, așa încât nu vă poate alerta atunci când ceva se defectează. Nu construiți un proces operațional care depinde de faptul că veți afla de la noi în mod automat, pentru că nu veți afla.
Incidentele sunt comunicate prin actualizarea paginii de stare de la Starea serviciului și prin răspunsuri la contact@oraglegpt.org. Asta este tot. Dacă aveți nevoie să știți dacă ceva este în neregulă chiar acum, verificați singur punctele de verificare a stării din secțiunea 2 și scrieți la contact@oraglegpt.org dacă răspunsul nu corespunde cu ceea ce constatați.
2. Puncte de verificare a stării pe care le puteți interoga singur
Aplicația expune două puncte de acces. Răspund rapid, nu necesită autentificare și le puteți interoga la un interval rezonabil.
| Punct de acces | Întrebarea la care răspunde | Ce înseamnă un răspuns sănătos |
|---|---|---|
/healthz | Procesul este în viață? | Procesul aplicației a pornit și răspunde la HTTP. Nu spune nimic despre faptul că ar putea efectua vreo operațiune |
/readyz | Poate servi cereri? | Aplicația și-a verificat dependențele, în principal baza de date, și este pregătită să preia trafic |
Diferența contează și este cel mai util lucru de pe această pagină.
GET /healthz -> 200 procesul este pornit
GET /readyz -> 200 procesul este pornit SI poate servi cereri
GET /healthz -> 200
GET /readyz -> 503 procesul este pornit, dar nu poate servi cereri, de
exemplu baza de date este inaccesibila sau o replica
este inca in curs de initializare. Cererile vor esua
chiar daca procesul raspundeUn 200 de la /healthz nu dovedește aproape nimic. Un proces poate răspunde la acel punct de acces fiind în același timp incapabil să citească un singur rând. Dacă vă construiți un sistem de monitorizare, monitorizați /readyz. Tratați un răspuns susținut diferit de 200 de la /readyz drept o pană și anunțați-ne la contact@oraglegpt.org dacă nu am publicat deja ceva aici.
3. Gravitatea incidentelor
Atunci când ceva este în neregulă, clasificăm situația după cum urmează, iar clasificarea determină cât de repede lucrăm și cum o descriem pe această pagină.
| Nivel | Semnificație | Exemplu tipic |
|---|---|---|
| SEV1, critic | Serviciul este indisponibil sau integritatea datelor este pusă în pericol, pentru toți clienții sau pentru majoritatea lor | Aplicație căzută, bază de date inaccesibilă, /readyz eșuând generalizat, un defect care ar putea corupe sau expune date |
| SEV2, major | O funcție esențială este defectă pentru mulți clienți, fără soluție alternativă | Publicarea programată nu rulează, autentificarea eșuează, încărcarea de materiale respinge orice fișier |
| SEV3, minor | O funcție este degradată sau defectă pentru unii clienți ori există o soluție alternativă | Un conector eșuează, pagini care se încarcă lent, un export care trebuie reluat |
| SEV4, cosmetic | Ceva este în neregulă, dar nimic nu este împiedicat | Defect de afișare, etichetă greșită, formatare incorectă a marcajului de timp |
Orice situație de nivel SEV1 sau SEV2 este consemnată pe această pagină în timp ce se produce, nu doar ulterior. SEV3 este consemnat aici atunci când durează mai mult de o zi lucrătoare. SEV4 se remediază în cursul obișnuit al dezvoltării și nu se publică drept incident.
O consemnare publicată a unui incident arată ce este afectat, când a început, care este situația curentă și ce este de făcut între timp. Când incidentul este soluționat spunem acest lucru, iar pentru SEV1 adăugăm o scurtă prezentare a cauzei și a ceea ce s-a schimbat în urma lui.
4. Cum deosebiți o pană a noastră de o pană a platformei
Această distincție creează mai multă confuzie decât orice altceva în produs, așa că merită să fim preciși.
Conectorii sunt exclusiv de publicare și depind în întregime de API-ul platformei de destinație. Când publicați, noi apelăm platforma. Dacă API-ul platformei este căzut, ne limitează frecvența, respinge token-ul sau respinge conținutul, publicarea eșuează. Acea eroare își are originea acolo, nu aici.
Folosiți tabelul de mai jos pentru a stabili unde se află problema:
| Ce constatați | Unde se află probabil problema |
|---|---|
/readyz returnează altceva decât 200, aplicația nu se încarcă, autentificarea eșuează | La noi. Semnalați la contact@oraglegpt.org |
| Aplicația funcționează, dar orice publicare către o singură platformă eșuează, în timp ce celelalte reușesc | La acea platformă sau la conexiunea cu ea. Verificați starea proprie pentru dezvoltatori a platformei și situația contului dumneavoastră acolo |
| Publicarea eșuează pentru un cont de pe o platformă, în timp ce alt cont de pe aceeași platformă funcționează | La acea conexiune. Token-ul a expirat probabil sau a fost revocat. Reconectați contul |
| Platforma a acceptat postarea, postarea este activă, dar cifrele din produs par greșite | Nu este o pană. Nu preluăm niciodată cifre de la vreo platformă. A se vedea secțiunea 5 |
| Platforma v-a restricționat sau v-a suspendat contul de acolo | Între dumneavoastră și platformă. Nu putem contesta și nu îl putem restabili. A se vedea Asistență |
Înregistrăm eroarea returnată de platformă și o afișăm în dreptul postării eșuate, astfel încât mesajul propriu al platformei este ceea ce vedeți, în locul unei erori generice.
Atunci când o pană a unei platforme este suficient de amplă încât să afecteze mulți dintre clienții noștri, o consemnăm pe această pagină ca informare și o etichetăm clar drept o problemă din amonte, iar nu drept un incident al nostru. Nu o controlăm, nu o putem remedia și nu putem oferi o estimare privind soluționarea ei.
5. Ce nu este niciodată o pană
- Lipsa datelor statistice. Nu se preiau niciodată date statistice de la furnizori. Singura cale prin care datele statistice intră în platformă este propria dumneavoastră cerere autentificată către
/api/v1/analytics/observations. Dacă o cifră lipsește, înseamnă că nu a trimis-o nimeni. - Lipsa comentariilor, a mențiunilor, a răspunsurilor sau a mesajelor. Produsul nu are nicio funcție de citire a mesajelor pe niciun conector și nu a avut niciodată. Nu există nimic care să poată fi căzut.
- Imposibilitatea de a șterge sau edita o postare publicată. Niciun conector nu implementează acest lucru. O postare activă poate fi modificată doar pe platforma însăși.
- Faptul că nu primiți un mesaj de poștă electronică de la noi. Serviciul nu trimite niciunul.
- Un conector pe care nu îl puteți conecta. Doar unii furnizori pot fi conectați în această implementare. Dacă un furnizor nu oferă aici o cale de conectare, aceasta este starea lui configurată, nu o defecțiune.
6. Mentenanță planificată
Majoritatea modificărilor sunt implementate fără întrerupere. Atunci când o modificare necesită un interval în care Serviciul este indisponibil sau degradat, de exemplu anumite migrări ale bazei de date:
- Publicăm intervalul în avans pe această pagină. Ne propunem un preaviz de cel puțin 72 de ore pentru o întrerupere planificată și ne propunem să o programăm în afara intervalului 08:00 - 20:00, ora Europe/Bucharest, în zilele lucrătoare.
- Precizăm ce va fi indisponibil și pentru cât timp estimăm că va fi.
- Actualizăm această pagină la începerea și la încheierea lucrărilor.
Postările programate care sunt scadente în timpul unui interval de mentenanță nu sunt abandonate în tăcere. Fluxul de publicare folosește o coadă de ieșire stocată în baza de date, așa încât lucrul scadent în timpul intervalului este preluat atunci când Serviciul revine. O postare poate ieși, prin urmare, mai târziu decât ora programată. Atunci când o platformă de destinație o respinge ca fiind expirată, acea eroare este înregistrată în dreptul postării.
Mentenanța de urgență, de exemplu o remediere de securitate care nu poate aștepta, se efectuează fără preaviz și se publică aici pe măsură ce se desfășoară.
7. Cum este construit Serviciul și ce înseamnă asta pentru modurile de eșec
Transparența privind arhitectura face ca modurile de eșec să fie previzibile.
- PostgreSQL 18 este unica sursă de adevăr, în spatele PgBouncer pentru gestionarea conexiunilor. Dacă baza de date este indisponibilă,
/readyzeșuează, iar Serviciul este căzut. Nu există un regim parțial de funcționare. - Caddy realizează terminarea TLS, cu certificate de la Let's Encrypt.
- Nu există Redis și nici vreun broker de mesaje. Lucrul aflat în coadă se află într-o coadă de ieșire stocată în baza de date. Mai puține componente mobile înseamnă mai puține lucruri independente care se pot defecta și înseamnă că lucrul aflat în coadă supraviețuiește unei reporniri.
- Stocarea de obiecte este găzduită pe serverul nostru propriu, nu într-un compartiment de stocare din norul unui terț. Disponibilitatea ei este în gestiunea noastră și răspundem pentru ea.
- Găzduirea este asigurată de Contabo GmbH, pe servere din Uniunea Europeană, în Franța și în Germania. O defecțiune în rețeaua sau în centrul de date al acelui furnizor se vede aici ca o pană, chiar dacă originea este în amonte. Vom spune acest lucru atunci când situația este aceasta.
- Nu există niciun furnizor de rețea de distribuție a conținutului care să dețină date ale clienților, niciun serviciu terț de analiză a traficului și niciun furnizor terț de poștă electronică, așa încât niciunul dintre acestea nu poate fi sursa unui incident.
Lista completă a persoanelor împuternicite se află în Subîmputerniciți. Postura de securitate este descrisă în Securitate.
8. Semnalarea unei probleme și obținerea unui răspuns
Scrieți la contact@oraglegpt.org. Includeți ora și fusul orar, ce anume făceați, spațiul de lucru, textul exact al erorii, dacă există, și dacă /readyz returna 200 în acel moment. Numai acest ultim detaliu reduce adesea la jumătate timpul necesar pentru a vă răspunde.
Răspundem în timpul programului de lucru, de luni până vineri, în limba română sau în limba engleză. Nu există o linie telefonică de asistență și nici discuții în timp real; +40 753 980 299 este numărul de telefon înregistrat al societății, publicat pentru identificare juridică în temeiul Legii nr. 365/2002 art. 5, iar nu o linie telefonică de asistență. Asistență prezintă integral țintele de răspuns și nivelurile de prioritate și explică faptul că țintele sunt ținte, iar nu garanții.
Dacă sunteți consumator și considerați că Serviciul nu a fost furnizat așa cum ar fi trebuit, Protecția consumatorilor și soluționarea litigiilor explică remediile de care dispuneți și calea Autoritatea Națională pentru Protecția Consumatorilor (ANPC), inclusiv canalul ANPC de soluționare alternativă a litigiilor la https://anpc.ro/sal/ și platforma de reclamații la https://reclamatiisal.anpc.ro.