docs: review Monitor documentation in all seven translations

This commit is contained in:
Jonatan
2026-10-17 15:08:53 +02:00
parent ce1a3de719
commit dace78214a
209 changed files with 43788 additions and 1942 deletions
@@ -0,0 +1,396 @@
{
"meta": {
"title": "Overenie prístupu k panelu Proxmox — 2FA, tokeny API, profil, reverzný proxy | ProxMenux Monitor",
"description": "Prístup a ochrana ProxMenux Monitor: prvé spustenie, heslo s menom a avatarom, profil, TOTP 2FA, tokeny API pre skripty, HTTPS, príklady Nginx/Caddy/Traefik, protokol auditu a voliteľný jail Fail2Ban.",
"ogTitle": "Overenie prístupu k panelu Proxmox — 2FA, tokeny API, reverzný proxy",
"ogDescription": "Zabezpečte ProxMenux Monitor heslom, TOTP 2FA, tokenmi API, HTTPS, príkladmi reverzného proxy a voliteľným jailom Fail2Ban.",
"twitterTitle": "Overenie prístupu k panelu Proxmox | ProxMenux Monitor",
"twitterDescription": "Heslo a TOTP 2FA, tokeny API, HTTPS, príklady Nginx/Caddy/Traefik a protokol auditu."
},
"header": {
"title": "Prístup a overenie",
"description": "Prístup k panelu, prvé spustenie a ochranné vrstvy: heslo a TOTP, relácie JWT, tokeny API, HTTPS, reverzný proxy, Secure Gateway a voliteľný jail Fail2Ban.",
"section": "ProxMenux Monitor"
},
"intro": {
"title": "Overenie prístupu je voliteľné",
"body": "Pri prvom spustení panel zobrazí dialóg <em>„Chrániť panel?“</em> s tlačidlami <strong>Áno, nastaviť heslo</strong> a <strong>Nie, pokračovať bez ochrany</strong>. Druhá možnosť ponechá koncové body API otvorené na TCP 8008: v izolovanej laboratórnej LAN to môže byť prijateľné, inde je to nebezpečné. Dvojfaktorové overenie (2FA) <strong>nie je</strong> súčasťou tejto úvodnej voľby; nastavuje sa až po vytvorení hesla na <strong>karte Zabezpečenie</strong>."
},
"reaching": {
"heading": "Prístup k panelu",
"intro": "ProxMenux Monitor sa viaže na <code>0.0.0.0:8008</code>. Existujú tri bežné spôsoby, ako ju dosiahnuť:",
"outro": "Priamy prístup zodpovedá predvolenej jednotke systemd. Reverzný proxy a Secure Gateway sú opísané nižšie. IP z <code>X-Forwarded-For</code> vyžadujú PROXMENUX_TRUST_PROXY=1 a proxy pod vašou kontrolou. Samotné <code>X-Forwarded-Proto</code> alebo <code>X-Forwarded-Host</code> túto dôveru nezapnú; frontend zostavuje URL API z pôvodu prehliadača."
},
"firstLaunch": {
"heading": "Postup pri prvom spustení",
"intro": "Pri prvom otvorení panelu frontend zavolá <code>GET /api/auth/status</code>. Ak konfigurácia ešte nebola uložená (<code>configured: false</code>), zobrazí sa dialóg <em>„Chrániť panel?“</em> s dvoma možnosťami:",
"imageAlt": "Úvodný dialóg „Chrániť panel?“ s voľbami nastaviť heslo alebo pokračovať bez ochrany",
"imageCaption": "Úvodná voľba ochrany heslom alebo pokračovania bez nej. Zobrazí sa znova po novej inštalácii alebo vypnutí overenia v nastaveniach.",
"headerButton": "Tlačidlo",
"headerWhat": "Čo sa stane?",
"headerApi": "Volanie API",
"rows": [
{
"button": "Áno, nastaviť heslo",
"what": "Otvorí formulár s povinným používateľským menom a heslom, voliteľným <em>zobrazovaným menom</em> a <em>obrázkom avatara</em>. Zapne overenie v <code>auth.json</code> pomocou <code>enabled: true</code> a vráti JWT na prihlásenie. Voliteľné údaje profilu sa uložia následnými volaniami, ako je opísané nižšie.",
"api": "POST /api/auth/setup"
},
{
"button": "Nie, pokračovať bez ochrany",
"what": "Nastaví <code>declined: true</code> v <code>auth.json</code>. Koncové body API zostanú otvorené, kým v nastaveniach nezapnete ochranu.",
"api": "POST /api/auth/skip"
}
],
"twofaCalloutTitle": "2FA je konfigurovaný neskôr, nie tu",
"twofaCalloutBody": "Dialóg pri prvom spustení pokrýva iba rozhodnutie o hesle. <strong>Dvojfaktorové overenie (TOTP)</strong> sa nastaví neskôr z <strong>karty Zabezpečenie</strong>, keď sa prihlásite pomocou hesla. Úplný návod TOTP je nižšie na tejto stránke.",
"createTitle": "Vytvorenie prvého užívateľa",
"createIntro": "<em>Áno, nastaviť heslo</em> otvorí formulár na vytvorenie účtu a voliteľné vyplnenie profilu, aby sa avatar zobrazil hneď po uložení. Polia:",
"headerField": "Pole",
"headerRequired": "Požadované",
"headerNotes": "Poznámky",
"fieldRows": [
{
"field": "Užívateľské meno",
"required": "Áno",
"notes": "Identifikátor na prihlásenie. V rozhraní sa neskôr nedá zmeniť; treba upraviť priamo <code>auth.json</code>."
},
{
"field": "Heslo",
"required": "Áno",
"notes": "Aspoň 10 znakov z aspoň 3 zo 4 kategórií: malé písmená, veľké písmená, číslice a symboly. Jednoduché heslá ako <code>password</code>, <code>12345678</code> a <code>proxmenux</code> sú odmietnuté. Rovnaké pravidlá platia na serveri a volanie curl ich neobíde."
},
{
"field": "Zobrazované meno",
"required": "Nie",
"notes": "Meno v ponuke hlavičky a v profile. Ak chýba, použije sa používateľské meno. Zmeniť ho môžete cez <strong>Avatar → Zobraziť profil</strong>."
},
{
"field": "Obrázok Avatar",
"required": "Nie",
"notes": "PNG, JPEG, WebP alebo GIF až do 2 MB. Vykreslený ako kruh v hlavičke a na stránke profilu. Keď je prázdna, hlavička zobrazuje prvé písmeno zobrazovaného mena (alebo používateľského mena) vo farebnom kruhu. Dá sa nahrať, nahradiť alebo odstrániť neskôr zo stránky profilu."
}
],
"createImageAlt": "Formulár účtu s povinným menom a heslom, voliteľným zobrazovaným menom a nahratím avatara",
"createImageCaption": "Úvodný formulár účtu. Meno profilu a avatar sú voliteľné; bez nich sa účet vytvorí a hlavička zobrazí iniciálu v kruhu.",
"saveCalloutTitle": "Jedno uloženie, až tri volania API",
"saveCalloutBody": "Formulár najprv odošle <code>POST /api/auth/setup</code> s menom a heslom. Nový JWT použije na <code>PUT /api/auth/profile</code> pre meno a <code>POST /api/auth/profile/avatar</code> pre obrázok, ak boli zadané. Chyba profilu nezruší účet; profil môžete dokončiť neskôr.",
"avatarTitle": "Ponuka avatara a stránka profilu",
"avatarBody1": "Po nastavení overenia sa avatar objaví vpravo hore vedľa prepínača témy. Ponuka vedie na profil a Zabezpečenie a obsahuje <strong>Odhlásiť sa</strong>. Reláciu možno ukončiť aj na karte Zabezpečenie.",
"avatarBody2": "Profil zobrazuje avatar, používateľské meno iba na čítanie a upraviteľné zobrazované meno. Nahratie, nahradenie a odstránenie avatara sú atómové; hlavička sa po úspechu aktualizuje bez obnovenia stránky. Úvodný formulár a profil používajú rovnaké koncové body opísané nižšie.",
"profileImageAlt": "Profil s náhľadom avatara, tlačidlami Nahrať / Nahradiť / Odstrániť, menom iba na čítanie a upraviteľným zobrazovaným menom",
"profileImageCaption": "Stránka profilu. Používateľské meno je iba na čítanie; zobrazované meno a avatar možno meniť tu bez otvorenia karty Zabezpečenie.",
"headerEndpoint": "Koncový bod",
"headerEpWhat": "Čo to robí?",
"endpointRows": [
{
"endpoint": "GET /api/auth/profile",
"what": "Vráti používateľské meno, zobrazované meno a stav avatara (<code>has_avatar</code>, <code>avatar_mtime</code>)."
},
{
"endpoint": "PUT /api/auth/profile",
"what": "Aktualizuje zobrazované meno. Telo požiadavky: <code>'{' \"display_name\": \"...\" '}'</code>."
},
{
"endpoint": "GET /api/auth/profile/avatar",
"what": "Vráti obrázok PNG / JPEG / WebP / GIF so správnym typom obsahu. Vyžaduje hlavičku Bearer; frontend stiahne blob a vytvorí miestnu objektovú URL na zobrazenie."
},
{
"endpoint": "POST /api/auth/profile/avatar",
"what": "Nahrá nový avatar (max 2 MB). Typ obsahu musí zodpovedať súboru. Starý avatar je nahradený atómovo."
},
{
"endpoint": "DELETE /api/auth/profile/avatar",
"what": "Odstráni avatar. Hlavička opäť zobrazí iniciálu vo farebnom kruhu."
}
],
"reversibleTitle": "Ochranu môžete zapnúť neskôr",
"reversibleBody": "Po kliknutí na <em>Nie, pokračovať bez ochrany</em> sa už nikdy viac nezobrazí uvítacie dialógové okno. Autentizáciu môžete znova povoliť na <strong>karte Zabezpečenie</strong> na hlavnom paneli alebo úpravou súboru <code>/root/.config/proxmenux-monitor/auth.json</code> a odstránením príznaku <code>declined</code> a reštartovaním služby."
},
"password": {
"heading": "Overenie hesla",
"intro": "Po nastavení ochrany vyžadujú chránené volania API JWT v <code>Authorization: Bearer &lt;token&gt;</code>:",
"items": [
"<strong>Token relácie:</strong> platí 24 hodín, vydáva ho <code>POST /api/auth/login</code>.",
"<strong>Token API pre integrácie:</strong> platí 365 dní, vydáva ho <code>POST /api/auth/generate-api-token</code>. Podrobnosti sú v ďalšej časti."
],
"loginImageAlt": "Prihlasovacia obrazovka po nastavení overenia s poľami mena a hesla",
"loginImageCaption": "Po nastavení overenia sa tu začína prihlásenie. Pri zapnutom 2FA sa po prijatí hesla vyžiada šesťmiestny kód.",
"loginFlowTitle": "Prihlasovací tok",
"twofaIntro": "Pri 2FA prvé volanie vráti <code>requires_totp: true</code>. Zopakujte ho so šesťmiestnym kódom:",
"publicTitle": "Verejný prístup a chránené kontroly",
"publicIntro": "Prihlásenie a stav overenia sú verejné. Účet možno vytvoriť, kým nie sú uložené meno a heslo, aj po odmietnutí ochrany. Pri zapnutej ochrane vyžadujú systémové údaje overenie:",
"publicItems": [
"<code>/api/auth/login</code> a <code>/api/auth/status</code> sú verejné. <code>/api/auth/setup</code> vytvorí prvý účet a odmietne prepísať existujúce prihlasovacie údaje.",
"<code>/api/system-info</code> je verejný endpoint so základnými údajmi systému vrátane <code>health.status</code>. Nevyžaduje token. Aj /api/auth/status je verejný a hodí sa na kontrolu dostupnosti."
],
"cryptoTitle": "Kryptografia a ukladanie",
"cryptoIntro": "ProxMenux Monitor má otvorený zdrojový kód. Táto časť vysvetľuje ochranu prihlasovacích údajov uložených na hostiteľovi, aby ste sa mohli rozhodnúť, či jej dôverujete. Uvedené algoritmy používa <code>scripts/auth_manager.py</code>; ide o opis kódu, nie marketingový sľub.",
"headerAsset": "Údaj",
"headerAlgo": "Algoritmus",
"headerWhere": "Umiestnenie",
"cryptoRows": [
{
"asset": "Heslo",
"algorithm": "PBKDF2-HMAC-SHA256 s náhodnou soľou na heslo a vysokým počtom iterácií (OWASP 2023+ východisková hodnota). Uložené ako <code>pbkdf2_sha256$&lt;iters&gt;$&lt;salt&gt;$&lt;hash&gt;</code>.",
"where": "<code>auth.json</code> → <code>password_hash</code>"
},
{
"asset": "JWT relácie / API",
"algorithm": "Podpis HS256 s tajným kľúčom každej inštalácie, vytvoreným pri prvom spustení (<code>secrets.token_urlsafe</code>, ≥48 bajtov). Tokeny obsahujú <code>iss=proxmenux-monitor</code> a <code>aud=api</code>; každý požiadavok overuje podpis aktuálnym kľúčom.",
"where": "Tajomstvo: <code>auth.json</code> → <code>jwt_secret</code>. JWT sám: len na klienta."
},
{
"asset": "API token metaúdaje",
"algorithm": "Hash SHA-256 JWT sa ukladá s odtlačkom <code>signed_with</code> použitého <code>jwt_secret</code>. Umožňuje zobraziť metadáta a rozpoznať tokeny ovplyvnené výmenou kľúča.",
"where": "<code>auth.json</code> → <code>api_tokens[]</code>"
},
{
"asset": "Tajný kľúč TOTP pre 2FA",
"algorithm": "Štandardný TOTP (RFC 6238) s tajným kľúčom v base32. Osem jednorazových obnovovacích kódov sa ukladá ako hashe SHA-256.",
"where": "<code>auth.json</code> → <code>totp_secret</code> + <code>backup_codes[]</code>"
},
{
"asset": "Zrušenie",
"algorithm": "Pri odvolaní tokenu alebo relácie sa ich SHA-256 pridá do zoznamu zablokovaných hodnôt, ktorý sa kontroluje pri každom overení. Zoznam sa uchováva v pamäti približne 30 s, aby sa pri častých požiadavkách zbytočne nečítal disk.",
"where": "<code>auth.json</code> → <code>revoked_tokens[]</code>"
}
],
"authJsonTitle": "auth.json — obsah a ochrana",
"authJsonBody": "Údaje overenia sú v <code>/root/.config/proxmenux-monitor/auth.json</code>, režim <code>0600</code>, vlastník <code>root</code>. Súbor obsahuje <em>hashe</em> PBKDF2 a <em>tajné kryptografické údaje</em> (<code>jwt_secret</code>, <code>totp_secret</code>), nikdy heslo v otvorenom texte. Cieľ zálohovania alebo replikácie šifrujte a súbor nikdy nepridávajte do systému správy verzií.",
"rotateTitle": "Výmena jwt_secret zneplatní všetky existujúce JWT",
"rotateBody": "Pri novom vytvorení alebo obnove <code>auth.json</code> s iným kľúčom sa zmení <code>jwt_secret</code>. Staré JWT relácií aj API zlyhajú s \"Invalid or expired token\". Rozhranie ich označí <strong>Neplatný — vytvoriť znova</strong>. Zrušte ich a nahraďte aj v Home Assistant, skriptoch a ostatných klientoch.",
"recoverTitle": "Obnovenie strateného hesla",
"recoverIntro": "Obnova hesla vyžaduje prístup k shellu hostiteľa. ProxMenux ponúka sprievodcu resetovaním v konfiguračnej ponuke, aby ste nemuseli ručne upravovať <code>auth.json</code>:",
"survivesTitle": "Čo prežíva reset",
"survivesBody": "Vymaže sa interaktívne prihlásenie, ale <code>jwt_secret</code> a registrované <code>api_tokens</code> zostanú. Home Assistant a ostatné skripty môžu používať pôvodné tokeny. Ak chcete úplný reset s novým kľúčom, odstráňte <code>auth.json</code> a reštartujte službu. Všetky staré tokeny potom prestanú platiť.",
"physicalTitle": "Predpoklad fyzického prístupu",
"physicalBody": "Vyžaduje <strong>shell používateľa root na hostiteľovi</strong>. Kto spustí <code>menu</code> ako root, už ovláda celý systém; reset hesla mu nepridáva práva. Prihlásenie do Monitora preto nechráni pred osobou s prístupom root."
},
"twofa": {
"heading": "Dvojfaktorové overenie (TOTP)",
"intro": "2FA pridáva k heslu šesťmiestny kód, ktorý sa mení každých 30 sekúnd v telefóne alebo správcovi hesiel. Samotné heslo na prihlásenie nestačí. ProxMenux Monitor používa štandardný protokol <strong>TOTP</strong> (RFC 6238), kompatibilný s autentifikačnými aplikáciami.",
"pickTitle": "Vyberte autentifikačnú aplikáciu",
"pickIntro": "Existujúcu aplikáciu TOTP môžete použiť aj tu. Tabuľka uvádza bežné možnosti: niektoré sú zadarmo, iné na predplatné. Líšia sa aj platformy a spôsoby zálohovania.",
"headerApp": "Aplikácie",
"headerPlatforms": "Platformy",
"headerAppNotes": "Poznámky",
"apps": [
{
"name": "Google Authenticator",
"href": "https://safety.google/authentication/",
"platforms": "iOS, Android",
"notes": "Bežná voľba. Voliteľné cloudové zálohovanie cez účet Google."
},
{
"name": "Microsoft Authenticator",
"href": "https://www.microsoft.com/en-us/security/mobile-authenticator-app",
"platforms": "iOS, Android",
"notes": "Zálohovanie cez účet Microsoft. Podporuje aj pracovné push oznámenia Microsoft."
},
{
"name": "Authy",
"href": "https://authy.com/",
"platforms": "iOS, Android",
"notes": "Šifrovaná synchronizácia medzi zariadeniami. Podpora desktopovej aplikácie sa skončila 19. marca 2024."
},
{
"name": "Apple Passwords",
"href": "https://support.apple.com/guide/passwords/welcome/mac",
"platforms": "iOS, iPadOS, macOS, visionOS, Windows (cez iCloud)",
"notes": "Súčasť systémov Apple; samostatná aplikácia Passwords od iOS 18 / macOS Sequoia. Ukladá TOTP pri hesle a synchronizuje cez iCloud Kľúčenku."
},
{
"name": "Bitwarden",
"href": "https://bitwarden.com/",
"platforms": "iOS, Android, desktop, prehliadač",
"notes": "Otvorený zdrojový kód. TOTP možno uložiť pri heslách v trezore. Je to pohodlné, ale neoddeľuje to faktory na dve zariadenia."
},
{
"name": "1Password",
"href": "https://1password.com/",
"platforms": "iOS, Android, desktop, prehliadač",
"notes": "Podobne ako Bitwarden: TOTP v trezore hesiel. Predplatné."
},
{
"name": "Aegis Authenticator",
"href": "https://getaegis.app/",
"platforms": "Android",
"notes": "Otvorený zdrojový kód. Šifrovaný záložný súbor v zariadení máte pod kontrolou. Bez cloudu a účtu."
},
{
"name": "Raivo OTP",
"href": "https://raivo-otp.com/",
"platforms": "iOS, macOS",
"notes": "Otvorený zdrojový kód. Voliteľná synchronizácia iCloud. Alternatíva k Aegis v ekosystéme Apple."
},
{
"name": "Ente Auth",
"href": "https://ente.io/auth/",
"platforms": "iOS, Android, počítač, web",
"notes": "Otvorený zdrojový kód. Cloudová synchronizácia zariadení s koncovým šifrovaním."
},
{
"name": "2FAS",
"href": "https://2fas.com/",
"platforms": "iOS, Android, rozšírenie prehliadača",
"notes": "Otvorený zdrojový kód. Voliteľná šifrovaná cloudová záloha; rozšírenie prehliadača môže automaticky vypĺňať kódy."
},
{
"name": "FreeOTP+",
"href": "https://github.com/helloworld1/FreeOTPPlus",
"platforms": "Android",
"notes": "Odvodená aplikácia FreeOTP s otvoreným kódom pre Android, s importom a exportom. Bez povinného účtu."
}
],
"backupTitle": "Prečo sú zálohy dôležité",
"backupBody": "Pri strate zariadenia použite uložený obnovovací kód alebo obnovte vopred nastavenú zálohu. Cloudová synchronizácia a exporty sa líšia podľa aplikácie; overte, že obnovia aj tajné kľúče TOTP. Prístup root na hostiteľovi umožňuje aj obnovu opísanú nižšie. Uchovajte samostatnú bezpečnú zálohu.",
"setupTitle": "Nastavenie krok za krokom z panelu",
"setupImageAlt": "Nastavovacia obrazovka 2FA s QR kódom a záložnými kódmi",
"setupImageCaption": "Dialóg 2FA zobrazuje QR, tajný kľúč Base32 na ručné zadanie a osem jednorazových obnovovacích kódov. Pred zatvorením ich skopírujte; už sa nezobrazia.",
"setupSteps": [
"<strong>Nainštalujte autentifikačnú aplikáciu do telefónu</strong> alebo otvorte správcu hesiel. Stačí raz; rovnaká aplikácia môže uchovávať kódy pre všetky chránené služby.",
"<strong>Prihláste sa do panelu</strong> menom a heslom.",
"<strong>Otvorte kartu Zabezpečenie</strong> a vyberte <strong>Zapnúť 2FA</strong>. Dialóg zobrazí QR, tajný kľúč Base32 a osem obnovovacích kódov.",
"<strong>Pridajte položku do autentifikačnej aplikácie:</strong>",
"<strong>Uložte obnovovacie kódy.</strong> Všetkých osem bezpečne uložte do správcu hesiel, šifrovanej poznámky alebo na papier. Každý funguje raz, keď aplikácia nie je dostupná.",
"<strong>Potvrďte aktuálnym šesťmiestnym kódom</strong> z aplikácie v poli \"Overovací kód\" a odošlite. Mení sa každých 30 sekúnd; ak počas písania vyprší, použite ďalší.",
"<strong>Hotovo.</strong> 2FA je aktívne. Ďalšie prihlásenie vyžiada najprv heslo a potom aktuálny šesťmiestny kód."
],
"setupStep4Sub": [
"<em>Jednoduchý postup:</em> v aplikácii vyberte <em>Pridať účet</em> → <em>Naskenovať QR kód</em> a nasmerujte fotoaparát na QR. Položka dostane názov napríklad <code>ProxMenux Monitor (your-username)</code> a zobrazí šesťmiestny kód obnovovaný každých 30 sekúnd.",
"<em>Ručná alternatíva</em>, ak nemožno skenovať, napríklad na rovnakom telefóne: <em>Pridať účet</em> → <em>Zadať nastavovací kľúč</em>. Zvoľte názov ako <em>Proxmox Monitor</em>, vložte tajný kľúč Base32, nechajte <em>Typ</em> nastavený na <em>Časový</em> a uložte."
],
"testTitle": "Test pred odhlásením",
"testBody": "Aktuálnu reláciu nechajte otvorenú a <em>hneď</em> po nastavení otestujte nové prihlásenie v súkromnom okne. Ak kód nefunguje, pred odhlásením skontrolujte hodiny servera a telefónu. Ak je prístup už stratený, použite obnovovací kód alebo upravte <code>auth.json</code> zo shellu hostiteľa.",
"lostTitle": "Stratený autentifikátor",
"lostIntro": "Tri spôsoby obnovy, od najmenšieho po najväčší zásah:",
"lostItems": [
"<strong>Použite obnovovací kód.</strong> Jeden z ôsmich zadajte do poľa TOTP. Funguje raz; nepoužité kódy zostanú platné. Po prihlásení nastavte 2FA znova v nastaveniach a získajte osem nových kódov.",
"<strong>Obnovte aplikáciu z cloudu alebo zálohy.</strong> Pri nastavenej synchronizácii ju nainštalujte na nové zariadenie a prihláste sa: Google, Microsoft, Authy, Apple Passwords cez iCloud Kľúčenku, Ente alebo 2FAS. Pri exporte z Aegis, Raivo alebo FreeOTP+ nainštalujte aplikáciu a importujte súbor.",
"<strong>Vypnite 2FA zo shellu hostiteľa.</strong> Ak iné možnosti nie sú dostupné, upravte <code>/root/.config/proxmenux-monitor/auth.json</code> ako root cez SSH alebo konzolu. Nastavte <code>totp_enabled</code> na <code>false</code>, uložte a reštartujte službu:"
],
"lostShellOutro": "Môžete sa prihlásiť iba s užívateľským menom + heslom a potom znovu zapnúť 2FA z Nastavenia.",
"disableTitle": "Vypnúť 2FA",
"disableBody": "Otvorte <strong>Zabezpečenie</strong> a vyberte <strong>Vypnúť 2FA</strong>. <code>POST /api/auth/totp/disable</code> vyžaduje aktuálne heslo a platný TOTP alebo obnovovací kód. Odstráni tajný kľúč aj obnovovacie kódy. Starú položku odstráňte aj z aplikácie.",
"rejectedTitle": "Šesťmiestny kód je vždy odmietnutý",
"rejectedIntro": "TOTP závisí od času. Rozdiel hodín servera a telefónu má byť najviac približne 30 s. Dve kontroly:",
"rejectedItems": [
"<strong>Telefón:</strong> Nastavenia → Dátum a čas → zapnúť automatickú / sieťovú synchronizáciu.",
"<strong>Hostiteľ Proxmox:</strong> <code>timedatectl status</code> má zobraziť \"System clock synchronized: yes\". Inak spustite <code>timedatectl set-ntp true</code> a minútu počkajte."
],
"rejectedOutro": "Po synchronizácii hodín sa kód prijme v nasledujúcom 30-sekundovom intervale."
},
"apiTokens": {
"heading": "API tokeny (dlhodobé)",
"intro": "Relácie prehliadača platia 24 hodín. Pre Homepage, Home Assistant, Grafana či Uptime Kuma vytvorte samostatný <strong>token API</strong> platný 365 dní. JWT používa rovnaký podpisový kľúč; pole <code>token_name</code> umožňuje sledovať a jednotlivo zrušiť token.",
"imageAlt": "Panel tokenov API znázorňujúci zoznam tokenov s názvom, predponou, vytvoreným dátumom a expiráciou",
"imageCaption": "Zoznam tokenov v nastaveniach: názov, predpona s poslednými štyrmi identifikačnými znakmi, dátum vytvorenia a platnosť, možnosť zrušenia.",
"generateTitle": "Generovať token",
"generateIntro": "Z panelu:",
"generateSteps": [
"Otvorte <strong>Zabezpečenie → Prístupové tokeny API</strong>.",
"Zadajte opisný názov, <em>napríklad \"Home Assistant\"</em>.",
"Zadajte svoje heslo. Ak je zapnutá 2FA, aj súčasný 6-miestny kód.",
"Kliknite na <strong>Vytvoriť token</strong>. Zobrazí sa <strong>iba raz</strong>: hneď ho skopírujte."
],
"generateCli": "Z príkazového riadku:",
"useTitle": "Použitie tokenu",
"revokeTitle": "Zrušiť token",
"revokeBody": "Každý riadok má voľbu <strong>Zrušiť</strong>, ktorá pridá hash do <code>revoked_tokens</code> v <code>auth.json</code>. Token sa odmietne pri ďalšej požiadavke.",
"cheatTitle": "Prehľad bezpečnosti tokenov",
"cheatItems": [
"Tokeny uložte do úložiska tajných údajov integrácie: Homepage <code>secrets.yaml</code>, Home Assistant <code>!secret</code> alebo premenné prostredia. Nikdy ich nepridávajte do Gitu.",
"Jeden token pre každú integráciu, pomenovaný podľa nej. Pri odstránení integrácie ho samostatne zrušte.",
"Tokeny vymieňajte každých 6–12 mesiacov. Koniec platnosti je pevný limit."
],
"outro": "Odporúčania a príklady: <apiLink>Referencia API → Správa tokenov</apiLink> a <intLink>Integrácie</intLink>."
},
"https": {
"heading": "HTTPS",
"intro": "Dve cesty k TLS:",
"items": [
"<strong>Odporúčaný reverzný proxy.</strong> Ukončite TLS na Nginx / Caddy / Traefik a posielajte HTTP procesu Flask na port 8008. Príklady sú nižšie.",
"<strong>Priame HTTPS v AppImage.</strong> Certifikát nastavte cez <code>POST /api/ssl/configure</code> (rozhranie: <strong>Nastavenia → SSL</strong>). HTTPS používa <code>gevent.pywsgi</code> so štandardným handlerom; flask-sock obsluhuje WebSocket pre WSS. Cesty certifikátov sa uložia v konfigurácii SSL."
],
"calloutTitle": "Priame obmedzenia HTTPS",
"calloutBody": "Monitor môže použiť certifikát spravovaný Proxmoxom alebo vlastné súbory. Sám certifikáty ACME nevydáva. Na automatické vydávanie a obnovu použite Proxmox ACME alebo proxy Caddy, Traefik či Nginx a zabezpečte načítanie obnovených certifikátov."
},
"gateway": {
"heading": "Zabezpečená brána (Tailscale)",
"intro": "Reverzný proxy umožňuje vzdialený prístup. <strong>Secure Gateway</strong> ponúka prístup bez zverejnenia TCP 8008: vytvorí Alpine LXC s <a>Tailscale</a> ako smerovačom podsiete. Prístup k LAN IP hostiteľa závisí od schválených trás a pravidiel tailnetu.",
"calloutTitle": "Prečo je to pohodlné",
"calloutBody": "Použite LAN URL <code>http://&lt;proxmox-lan-ip&gt;:8008</code> cez schválenú trasu. Smerovače Tailscale štandardne používajú SNAT: Monitor obvykle vidí LAN IP brány, nie adresu klienta <code>100.x.y.z</code>. Protokoly a Fail2Ban tak určia zdrojovú adresu, ktorú hostiteľ skutočne prijme.",
"deployBody": "Celé nasadenie sa nastavuje na jednej obrazovke: vyberte úložisko LXC na hostiteľovi, vložte kľúč Tailscale auth-key vytvorený na <a>login.tailscale.com/admin/settings/keys</a>, určte podsiete, ktoré má brána oznamovať, a kliknite na Nasadiť. Inicializácia LXC trvá približne 30 sekúnd a kontajner sa automaticky zaregistruje do siete tailnet.",
"outro": "Nasadenie, trasy podsietí, ACL Tailscale a režim Exit Node sú opísané v <link>Panel → Zabezpečenie → Secure Gateway</link>, kde je aj sprievodca. Táto stránka opisuje prístup."
},
"proxy": {
"heading": "Príklady konfigurácie reverzného proxy",
"intro": "Použite <strong>samostatný názov hostiteľa</strong>, napríklad <code>monitor.example.com</code>, smerujúci na port 8008 Proxmoxu. Príklady používajú tento postup. Podcesta ako <code>example.com/proxmenux-monitor/</code> potrebuje úpravy frontendu aj proxy; odstránenie predpony nestačí.",
"nginxTitle": "Nginx",
"caddyTitle": "Caddy",
"traefikTitle": "Traefik (štítky — Docker / Kubernetes)",
"subPathTitle": "Pokročilé: nasadenie pod podcestou",
"subPathBody": "Frontend nemá nastavený základ podcesty a zostavuje volania od koreňa cez URL <code>/api/*</code>. Odstrániť predponu ako <code>example.com/proxmenux-monitor/</code> nestačí pre tieto volania ani všetky súbory frontendu. Použite samostatný názov hostiteľa. Podcesta vyžaduje spoločné úpravy a osobitné testovanie."
},
"audit": {
"heading": "Auditný záznam",
"intro": "Neúspešné prihlásenia a upozornenia na limit sa zapisujú po riadkoch do <code>/var/log/proxmenux-auth.log</code>. Tento logger úspešné prihlásenia nezaznamenáva:",
"outro": "Sledujte protokol cez <code>tail -F /var/log/proxmenux-auth.log</code>. Dodatočná konfigurácia <code>logrotate</code> umožní jeho rotáciu; Monitor ju sám nevykonáva."
},
"fail2ban": {
"heading": "Voliteľné: jail Fail2Ban",
"calloutTitle": "Fail2Ban nie je súčasťou Monitora",
"calloutBody": "Fail2Ban <strong>nie je</strong> nainštalovaný samotným ProxMenux Monitor. Nainštalujte ho cez <link>Zabezpečenie → Fail2Ban</link> v menu ProxMenux (alebo pomocou štandardného balíka Debian). Bez toho Monitor stále zapisuje vyššie uvedený protokol auditu – iba automaticky nezablokuje recidivistov.",
"intro": "Integrácia ProxMenux obsahuje jail <code>[proxmenux]</code>, ktorý:",
"items": [
"Číta <code>/var/log/proxmenux-auth.log</code>.",
"Zodpovedá modelu <code>authentication failure; rhost=&lt;ip&gt;</code> s vyhradeným filtrom.",
"Štandardne blokuje príslušnú IP vo firewalle jadra.",
"Hook Flask <code>before_request</code> porovnáva požiadavky so zoznamom blokovaní uloženým v cache na 30 s. Za reverzným proxy vyžaduje blokovanie IP aj PROXMENUX_TRUST_PROXY=1 a riadený proxy nastavujúci dôveryhodné hlavičky."
],
"outro": "Konfigurácia, ladenie času zákazu a procedúry odblokovania sú v <link>Zabezpečenie → Fail2Ban</link>."
},
"troubleshoot": {
"heading": "Riešenie problémov",
"noScreenTitle": "Obrazovka prvého spustenia sa nikdy neobjaví",
"noScreenBody": "Overenie už bolo nastavené (<code>configured: true</code>) alebo ho niekto preskočil. Ak chcete začať znova:",
"noScreenOutro": "Vymaže stav overenia, tajné kľúče TOTP aj tokeny API. Ak ich chcete zachovať, najprv zálohujte <code>auth.json</code>.",
"tokenTitle": "HTTP 401 pri každej požiadavke s predtým funkčným tokenom API",
"tokenBody": "Token vypršal po 365 dňoch alebo je v <code>revoked_tokens</code>. V nastaveniach vytvorte nový a aktualizujte integráciu. Overenie:",
"tokenOutro": "Neplatné alebo zrušené tokeny vrátia <code>'{'\"error\":\"Invalid or expired token\"'}'</code>.",
"no2faTitle": "Po zapnutí 2FA sa nedá prihlásiť a autentifikátor nie je dostupný",
"no2faBody": "Použite záložný kód v TOTP poli. Ak sú preč, editujte <code>/root/.config/proxmenux-monitor/auth.json</code> z hostiteľa, nastavte <code>totp_enabled</code> na <code>false</code>, reštartujte službu.",
"wsTitle": "Reverzný proxy funguje, ale záložka terminálu sa odpojí každú minútu",
"wsBody": "Časový limit nečinnosti WebSocket v proxy. Zvýšte limit čítania (Nginx: <code>proxy_read_timeout 86400s</code>; Traefik: <code>idleTimeout</code> vo vstupnom bode alebo middleware). V Nginx overte <code>proxy_set_header Upgrade $http_upgrade</code> a <code>Connection \"upgrade\"</code>."
},
"whereNext": {
"heading": "Kam ďalej",
"items": [
{
"label": "Referencia API → Správa tokenov",
"href": "/docs/monitor/api",
"tail": " — tvorba, zoznam a zrušenie tokenov API; bezpečnosť a ukladanie tajných údajov."
},
{
"label": "Integrácie",
"href": "/docs/monitor/integrations",
"tail": " — Homepage, Home Assistant, Grafana / Prometheus, Uptime Kuma a všeobecné príklady cURL."
},
{
"label": "Dashboard → Bezpečnosť → Bezpečná brána",
"href": "/docs/monitor/dashboard/security",
"tail": " — nasadenie LXC brány Tailscale krok za krokom: trasy podsietí, ACL a režim Exit Node."
},
{
"label": "Bezpečnosť → Fail2Ban",
"href": "/docs/security/fail2ban",
"tail": " — inštalácia a konfigurácia voliteľného jailu."
},
{
"label": "Nastavenie → ProxMenux Monitor",
"href": "/docs/settings/proxmenux-monitor",
"tail": " — spustenie a zastavenie služby systemd cez TUI ProxMenux."
}
]
}
}
@@ -0,0 +1,342 @@
{
"meta": {
"title": "AI asistent Proxmox — OpenAI, Claude, Gemini, Groq, Ollama | ProxMenux Monitor",
"description": "Voliteľný AI asistent prepisuje oznámenia Proxmox VE do zrozumiteľného jazyka. Šesť poskytovateľov: OpenAI, Anthropic Claude, Google Gemini, Groq, OpenRouter a Ollama. Rozhranie ponúka trinásť jazykov, tri úrovne detailov pre každý kanál, vlastné prompty s komunitnou knižnicou a kontext s dobou behu, opakovaním a údajmi SMART.",
"ogTitle": "AI asistent Proxmox — OpenAI, Claude, Gemini, Groq, Ollama",
"ogDescription": "Prepíšte oznámenia Proxmox VE do zrozumiteľného jazyka pomocou OpenAI, Anthropic Claude, Google Gemini, Groq, OpenRouter alebo lokálneho Ollama.",
"twitterTitle": "AI asistent Proxmox | ProxMenux Monitor",
"twitterDescription": "Prepíšte oznámenia Proxmox VE do zrozumiteľného jazyka pomocou OpenAI, Anthropic, Gemini, Groq, OpenRouter alebo lokálneho Ollama."
},
"header": {
"title": "AI asistent",
"description": "Voliteľný prepis AI mení vhodné šablóny oznámení na zrozumiteľné správy s detailmi podľa kanála, trinástimi jazykmi rozhrania, vlastnými promptmi, verejnou komunitnou knižnicou a doplneným kontextom. Správy <code>backup_complete</code> a <code>backup_fail</code> AI úplne obchádzajú.",
"section": "ProxMenux Monitor"
},
"intro": {
"title": "Predvolene vypnuté, zapnutie jedným prepínačom",
"body": "Prepis AI je predvolene vypnutý. Zapnite ho v <em>Nastavenia → Oznámenia → Pokročilé: vylepšenie AI</em>. Pri chybe doplnenia kontextu alebo prepisu sa odošle pôvodná šablóna. Každý prepis má časový limit 25 sekúnd; po jeho uplynutí sa použije šablóna bez neobmedzeného čakania."
},
"howItWorks": {
"heading": "Ako to funguje",
"intro": "Odosielané udalosti Monitora prechádzajú rovnakým postupom. Prepis AI je voliteľný krok medzi textom zo šablóny a odoslaním do kanála. Udalosť prejde štyrmi krokmi:",
"steps": [
"<strong>Udalosť + šablóna.</strong> Udalosť prichádza od jedného zo šiestich kolektorov a je vykreslená do štruktúrovaného tela s čistým textom pomocou <code>notification_templates.py</code>. Toto je telo, ktoré by kanál poslal, keby bolo prepisovanie AI vypnuté.",
"<strong>Doplnenie kontextu.</strong> Odosielací modul podľa udalosti pridá relevantné údaje: dobu behu systému pri kritických systémových chybách, frekvenciu udalostí, údaje SMART pri diskových udalostiach, zhody z databázy známych chýb a riadky denníka.",
"<strong>Zostavenie promptu.</strong> Systémový prompt tvorí šablóna a nastavenia kanála: jazyk, úroveň detailov, pravidlá emoji z <em>Formátovaných správ</em> a voliteľné návrhy AI. Vlastný prompt úplne nahradí systémový prompt. Používateľská správa obsahuje text šablóny a doplnené kontextové bloky.",
"<strong>Volanie poskytovateľa.</strong> Groq, OpenAI, Anthropic, Gemini, Ollama alebo OpenRouter vráti prepísaný názov a text. Odosielací modul spracuje odpoveď, nahradí tieto údaje pre daný kanál a odovzdá ich jeho adaptéru na doručenie."
],
"notesIntro": "Tri detaily, ktoré stojí za to držať sa pred čítaním zvyšku tejto stránky:",
"notes": [
"<strong>AI nevytvára udalosti.</strong> Každá udalosť vychádza zo skutočného signálu, napríklad kontroly stavu, riadka denníka alebo webhooku PVE. Pred spracovaním AI ju šablóna prevedie na text. AI prekladá a upravuje formát; systém nesleduje.",
"<strong>AI pracuje pre každý kanál samostatne.</strong> Telegram a Discord môžu dostať stručný prepis a e-mail podrobnú správu: tá istá udalosť v rôznom formáte, s jedným volaním poskytovateľa pre každý kanál.",
"<strong>Pri chybe sa použije šablóna.</strong> Ak poskytovateľ vráti chybu 5xx, prekročí časový limit, vráti neplatný výstup alebo odmietne požiadavku, odosielací modul zaznamená chybu a odošle pôvodný text šablóny pre daný kanál."
]
},
"enabling": {
"heading": "Zapnutie panela",
"intro": "Nastavenie AI je v dolnej časti panela Oznámenia na karte Nastavenia, v zbaliteľnom bloku <em>Pokročilé: vylepšenie AI</em>. Rozbaľte ho kliknutím na nadpis:",
"collapsedAlt": "Zbalený nadpis pokročilých nastavení AI s ikonou šípky",
"collapsedCaption": "Predvolene zbalené; jedno kliknutie panel rozbalí.",
"panelAlt": "Rozbalený panel AI s hlavným prepínačom, poskytovateľom Google Gemini, skrytým kľúčom API, modelom gemini-2.5-flash, predvoleným promptom, angličtinou, detailmi pre Telegram, Discord, Gotify a e-mail, návrhmi AI a testom spojenia",
"panelCaption": "Úplný panel AI Enhancement – každý ovládací prvok zdokumentovaný na tejto stránke mapuje na jedno z vyššie uvedených polí.",
"outro": "Zhora nadol: hlavný prepínač <em>Správy vylepšené AI</em>, poskytovateľ s informačným oknom, kľúč API alebo URL Ollama, modely načítané po zadaní kľúča, režim <em>Predvolený</em> / <em>Vlastný</em>, jazyk, detaily podľa kanála, <em>Návrhy AI</em> a tlačidlo <em>Otestovať spojenie</em>, ktoré odošle skúšobnú správu poskytovateľovi na overenie údajov."
},
"context": {
"heading": "Aký kontext dostáva AI",
"intro": "Pred zostavením promptu odosielací modul doplní kontext podľa toho, ktoré údaje sú pre udalosť relevantné. Cieľom je dať LLM dosť informácií na užitočnú správu bez zbytočného obsahu a nákladov. Do používateľskej správy možno pridať päť kontextových blokov:",
"headerBlock": "Blok",
"headerWhen": "Kedy sa pridáva",
"headerWhat": "Čo nesie",
"rows": [
{
"block": "Doba behu systému",
"when": "Iba pri kritických systémových chybách: <code>crash</code>, <code>panic</code>, <code>oom</code>, <code>kernel</code>, <code>split_brain</code>, <code>quorum_lost</code>, <code>node_offline</code>, <code>node_fail</code>, <code>system_fail</code>, <code>boot_fail</code>. Pri diskových chybách, upozorneniach a bežných operáciách sa vynechá, aby bol prompt stručný.",
"what": "Riadok ako <code>System uptime: 14 days (stable system)</code> umožní LLM odlíšiť problémy pri spúšťaní od chýb počas dlhšej prevádzky."
},
{
"block": "Frekvencia udalostí",
"when": "Vždy, keď Monitor už zaznamenal rovnaký identifikátor udalosti.",
"what": "Počet výskytov, čas prvého záznamu a voliteľný vzor: opakovaný, jednorazový alebo nárazový. LLM podľa toho rozlíši opakovaný problém od prvého výskytu."
},
{
"block": "Údaje SMART",
"when": "Len pre udalosti súvisiace s diskom (typ udalosti obsahuje <code>disk</code>, <code>smart</code>, <code>storage</code>, <code>io_error</code> alebo telo spomína <code>/dev/sd</code>, <code>ata</code>, <code>i/o error</code>).",
"what": "Výstup <code>smartctl</code> pre ovplyvnené zariadenie – celkový stav (PASSED / FAILED) plus príslušné atribúty pre režim zlyhania."
},
{
"block": "Databáza známych chýb",
"when": "Keď text alebo kontext denníka zodpovedá vzoru chyby Proxmox dodanému s Monitorom.",
"what": "Blok <code>KNOWN PROXMOX ERROR DETECTED</code> so zistenou príčinou a konkrétnym riešením. Prompt prikazuje verný preklad bez preformulovania odporúčanej opravy."
},
{
"block": "Denníky",
"when": "Keď pôvodný zberný modul zachytil riadky denníka pre udalosť, najmä sledovanie denníka a úloh.",
"what": "Pôvodné výňatky z <code>journalctl</code>. Prompt prikazuje LLM vybrať ID, časové údaje a náznaky hlavnej príčiny a ignorovať nesúvisiace záznamy."
}
],
"afterBlocks": "Po pripojení týchto blokov má užívateľská správa odoslaná do LLM tento tvar:",
"calloutTitle": "Žiadna telemetria mimo samotnej udalosti",
"calloutBody": "Monitor posiela len údaje dostupné pre aktuálnu udalosť, nie celkovú telemetriu systému, historické časové rady metrík ani výpisy inventára. Päť blokov vyššie predstavuje hornú hranicu údajov odoslaných pri jednom prepise AI."
},
"tokens": {
"heading": "Tokeny – čo sú a ako sa spotrebúvajú",
"intro1": "Komerční poskytovatelia účtujú za <em>token</em>. Token zodpovedá približne štyrom znakom anglického textu alebo trom štvrtinám slova. Anglická veta <em>\"Backup completed on storage local-bak\"</em> má približne osem tokenov. Desať riadkov denníka môže podľa technického obsahu zabrať 200–400 tokenov.",
"intro2": "Pri každom hovore sú fakturované dve veci:",
"items": [
"<strong>Vstupné tokeny</strong> zahŕňajú systémový prompt a používateľskú správu: závažnosť, názov, text šablóny a doplnený kontext. Počet závisí od skutočného promptu a udalosti. Každý prepisovaný kanál môže spotrebovať vlastné vstupné tokeny; správy o dokončení alebo zlyhaní zálohy AI obchádzajú.",
"<strong>Výstupné tokeny</strong> – čo model odpíše. Monitor to uzatvára pomocou <code>max_tokens</code> (pozri tabuľku nižšie). Limit je <em>limit</em>, nie poplatok: ak model vyrába 250 tokeny s limitom 1500, zaplatíte za 250."
],
"capsIntro": "Toto sú skutočné limity, ktoré používa dispečer, prevzaté priamo z <code>AI_DETAIL_TOKENS</code> v <code>notification_templates.py</code>:",
"headerLevel": "Úroveň podrobnosti",
"headerCap": "Limit výstupu (tokeny)",
"headerConsumption": "Typická skutočná spotreba",
"capRows": [
{
"level": "stručný",
"cap": "500",
"consumption": "50–200 výstupných tokenov pri krátkych udalostiach."
},
{
"level": "štandardná",
"cap": "1500",
"consumption": "200–700 výstupných tokenov pri bežných udalostiach s menším množstvom kontextu."
},
{
"level": "podrobné",
"cap": "3000",
"consumption": "500–2000 výstupných tokenov pri úplných e-mailových správach s denníkmi a tabuľkami SMART."
}
],
"customNote": "Režim vlastného promptu má pevný limit 500 výstupných tokenov bez ohľadu na úroveň detailov. Prompt ovládate vy a limit bráni neprimerane dlhým odpovediam.",
"sizingTitle": "Praktická veľkosť",
"sizingBody": "Spotrebu odhadnite ako prepísané udalosti × kanály AI × vstupné a výstupné tokeny na volanie. Napríklad 50 udalostí × jeden kanál × (500 vstupných + 300 výstupných) = 40 000 tokenov denne. Skutočná spotreba a cena závisia od modelu, kontextu, cache a limitov poskytovateľa. Časť <link>Detaily podľa kanála</link> opisuje <code>brief</code> pre chat namiesto <code>standard</code> pri zachovaní podrobných e-mailov."
},
"providers": {
"heading": "Poskytovatelia AI",
"intro": "Monitor podporuje šesť poskytovateľov. Rozbaľovacia ponuka zobrazuje všetkých a informačné tlačidlo vedľa nej otvorí okno s krátkym opisom každého. Nižšie sú adresy na získanie kľúča API, opisy z rozhrania a poznámky zo zdrojového kódu.",
"imageAlt": "Informačné okno šiestich poskytovateľov AI: Groq, OpenAI, Anthropic Claude, Google Gemini, Ollama a OpenRouter, s ikonou, krátkym opisom a poznámkou o API kompatibilných s OpenAI",
"imageCaption": "Modál v aplikácii – šesť kariet, jedna na poskytovateľa, s rovnakými popismi zdokumentovanými nižšie.",
"groq": {
"heading": "Groq",
"tagline": "Veľmi rýchla, veľkorysá voľná úroveň (30 req/min). Ideálne začať.",
"items": [
"Kľúč API: <a>console.groq.com/keys</a>",
"Príklady z dodaného zoznamu modelov: <code>allam-2-7b</code>, <code>qwen/qwen3.8-27b</code>, <code>openai/gpt-oss-20b</code>, <code>groq/compound-mini</code>.",
"Dodané odporúčanie: <strong><code>openai/gpt-oss-20b</code></strong>. Dostupnosť pre svoj účet overte výberom poskytovateľa a testom spojenia."
]
},
"openai": {
"heading": "OpenAI",
"tagline": "Priemyselná norma. Veľmi presné a široko používané.",
"items": [
"Kľúč API: <a>platform.openai.com/api-keys</a>",
"Príklady z dodaného zoznamu modelov: <code>gpt-4.1-nano</code>, <code>gpt-4.1-mini</code>, <code>gpt-4o-mini</code>, <code>gpt-4.1</code>, <code>gpt-4o</code>, <code>gpt-5-nano</code>.",
"Dodané odporúčanie: <strong><code>gpt-4.1-nano</code></strong>. Adaptér spracúva aj osobitné požiadavky modelov uvažovania; zoznam obsahuje gpt-5-nano, takže tieto modely nie sú všeobecne vylúčené."
],
"baseUrlTitle": "Základné URL kompatibilné s OpenAI",
"baseUrlBody": "Poskytovateľ OpenAI prijíma vlastnú <em>Základnú URL</em> pre kompatibilné služby, napríklad <strong>BytePlus / ByteDance (Kimi K2.5)</strong>, <strong>LocalAI</strong>, <strong>LM Studio</strong>, <strong>vLLM</strong>, <strong>Together AI</strong> a <strong>Fireworks AI</strong>, ktoré používajú formát <code>/v1/chat/completions</code>. URL nastavte na karte OpenAI vedľa kľúča API."
},
"anthropic": {
"heading": "Anthropic (Claude)",
"tagline": "Vynikajúce pre písanie a preklad. Rýchlo a hospodárne.",
"items": [
"Kľúč API: <a>console.anthropic.com/settings/keys</a>",
"Príklady z dodaného zoznamu modelov: <code>claude-haiku-4-5-20251001</code>, <code>claude-sonnet-4-6</code>, <code>claude-opus-4-6</code>.",
"Dodané odporúčanie: <strong><code>claude-haiku-4-5-20251001</code></strong>. Odporúčaná je táto presná verzia; staršie položky Claude 3.5 už v dodanom zozname nie sú."
]
},
"gemini": {
"heading": "Google Gemini",
"tagline": "K dispozícii je bezplatný plán s dobrým pomerom kvality a ceny.",
"items": [
"Kľúč API: <a>aistudio.google.com/app/apikey</a>",
"Príklady z dodaného zoznamu modelov: <code>gemini-2.5-flash-lite</code>, <code>gemini-2.5-flash</code>, <code>gemini-3-flash-preview</code>.",
"Odporúčané: <strong><code>gemini-2.5-flash-lite</code></strong>. Modely flash a flash-lite pravidelne prechádzajú overením. Varianty pro odmietajú nastavenie <code>thinkingBudget=0</code>, ktoré používa Monitor, a sú pre túto úlohu zbytočne náročné."
]
},
"openrouter": {
"heading": "OpenRouter",
"tagline": "Agregácia s prístupom k modelom 100+ pomocou jediného kľúča API. Maximálna flexibilita.",
"items": [
"Kľúč API: <a>openrouter.ai/keys</a>",
"Príklady z dodaného zoznamu modelov: <code>meta-llama/llama-3.3-70b-instruct</code>, <code>meta-llama/llama-3.1-70b-instruct</code>, <code>meta-llama/llama-3.1-8b-instruct</code>, <code>anthropic/claude-haiku-4.5</code>, <code>google/gemini-2.5-flash-lite</code>, <code>openai/gpt-4o-mini</code>, <code>mistralai/mistral-medium-3</code>.",
"Odporúčané: <strong><code>meta-llama/llama-3.3-70b-instruct</code></strong>. Model je smerovaný cez OpenRouter, takže rovnaký kľúč sprístupní všetky uvedené modely."
]
},
"ollama": {
"heading": "Ollama (miestne)",
"tagline": "Používa modely sprístupnené nastaveným serverom Ollama. Lokálne modely bežia na ňom; cloudové modely Ollama posielajú požiadavky cloudovému poskytovateľovi. Lokálna prevádzka nemá poplatok za hostované API, ale využíva vlastný hardvér a elektrinu.",
"items": [
"Kľúč API netreba. Pole <em>Ollama URL</em> nastavte na svoj server, predvolene <code>http://localhost:11434</code>, alebo na hostiteľa s vašou inštanciou Ollama.",
"Modely sa <strong>nefiltrujú.</strong> Monitor načíta modely stiahnuté pomocou <code>ollama pull &lt;model&gt;</code>. Ponuku naplní z <code>GET /api/tags</code> na serveri Ollama.",
"Inštalácia: <a>ollama.com/download</a> — Linux, macOS a Windows. Vyberte model, ktorý sa zmestí do RAM a má dostatočné kontextové okno pre bloky denníka pridávané odosielacím modulom."
]
}
},
"models": {
"heading": "Prečo tieto špecifické modely",
"intro": "Výber komerčných modelov používa dodaný katalóg <code>verified_ai_models.json</code> a kontroly dostupnosti adaptérov. Tie prevedú internú požiadavku <code>system_prompt + user_message + max_tokens</code> do formátu API poskytovateľa. Katalóg obsahuje testované aj ručne pridané položky; nezaručuje aktuálny prístup účtu ani rovnaké overenie každej položky.",
"consequencesIntro": "Treba si uvedomiť dva dôsledky:",
"consequences": [
"<strong>Dodané odporúčanie</strong> je východiskový bod pre oznámenia. Jazykovú kvalitu, latenciu a cenu posúďte podľa vlastných udalostí a účtu; nejde o univerzálny rebríček modelov.",
"<strong>Môžete vybrať iný model zo zoznamu</strong> podľa kvóty alebo preferencií. Dostupnosť overte testom spojenia; uvedenie v zozname nezaručuje aktuálny prístup účtu."
],
"ollamaTitle": "Ollama je výnimka",
"ollamaBody": "Ponuka Ollama sa nefiltruje komerčným katalógom; zobrazuje modely servera Ollama. Na lokálny beh vyberte lokálny model s dostatkom RAM a kontextu pre denníky. Cloudové modely zostávajú vzdialené aj pri prístupe cez lokálny server Ollama."
},
"defaultPrompt": {
"heading": "Predvolený prompt",
"intro": "V režime <em>Predvolený</em> používa Monitor systémový prompt nižšie. Pred volaním nahradí zástupné hodnoty: <code>'{'language'}'</code>, <code>'{'detail_level'}'</code>, <code>'{'emoji_instructions'}'</code>, <code>'{'suggestions_addon'}'</code>. Nasledujú varianty pre formátované a obyčajné kanály a doplnok návrhov AI.",
"showFullSummary": "Zobraziť kompletnú štandardnú systémovú výzvu",
"passagesIntro": "Dva varianty textu sa použijú podľa prepínača <em>Formátované správy</em> daného kanála:",
"passages": [
"<strong>Formátovanie zapnuté</strong> → pridá sa blok povolených emoji, pravidlo zachovania predpony názvu hostiteľa v nadpise a príklady: spustenie a dokončenie zálohy, aktualizácie, spustenie VM a zhoršenie stavu. Tak vznikajú správy s emoji na začiatku v Telegram a Discord.",
"<strong>Formátovanie vypnuté</strong> → krátky blok prikazuje používať iba obyčajné ASCII bez emoji a znakov Unicode. Hodí sa na e-mail a kanály, kde formátovanie zhoršuje pravidlá schránky alebo čitateľnosť."
],
"suggestionsPlaceholder": "Zástupná hodnota <code>'{'suggestions_addon'}'</code> je prázdna, kým nezapnete návrhy AI. Potom sa pridá tento blok:",
"showAddonSummary": "Zobraziť doplnok návrhov AI"
},
"customPrompt": {
"heading": "Vlastný prompt",
"intro": "Režim <em>Vlastný</em> nahradí celý predvolený systémový prompt vaším textom. Uloží sa v nastaveniach SQLite a pri každom volaní AI sa odošle bez zmeny. Môžete tak zvoliť iný tón, štruktúru alebo zameranie.",
"imageAlt": "Vlastný prompt s textovým poľom na pravidlá prekladu, tlačidlami Exportovať a Importovať a odkazom na komunitné prompty",
"imageCaption": "Vlastný prompt vo veľkom textovom poli, tlačidlá <em>Exportovať</em>, <em>Importovať</em> a odkaz na komunitnú galériu na GitHub.",
"changesTitle": "Čo sa zmení vo vlastnom režime",
"changes": [
"<strong>Predvolený prompt sa úplne nahradí.</strong> Mapovanie Proxmox, pravidlá spracovania kontextu a pokyny pre emoji sa už nepridávajú. Ak ich chcete zachovať, vložte ich do vlastného promptu. Dodaný <code>EXAMPLE_CUSTOM_PROMPT</code> nižšie je východiskový príklad.",
"<strong>Výber jazyka sa ignoruje.</strong> Predvolený prompt má zástupnú hodnotu <code>'{'language'}'</code>, vlastný prompt nie. Jazyk uveďte priamo vo svojom texte, napríklad „Prelož do španielčiny“ alebo „Všetko napíš po francúzsky“.",
"<strong>Vlastný režim má pevný limit 500 tokenov</strong> bez ohľadu na uložené detaily kanála. Predvolený režim používa 500 / 1500 / 3000. Úprava promptu limit nezvýši; žiadajte kratšiu odpoveď alebo zvoľte vhodnú predvolenú úroveň.",
"<strong>Výstupné značky sú naďalej povinné.</strong> Do formátu odpovede zahrňte <code>[TITLE]</code> a <code>[BODY]</code>. Parser z nich vyberie obsah; ak značka chýba, vráti pôvodnú šablónu.",
"<strong>Pravidlá emoji formátovaných správ sa nepridávajú automaticky.</strong> Vo vlastnom prompte výslovne povoľte emoji alebo ich zakážte pre obyčajný text. Prepínač ovláda len predvolené bloky, nie váš text."
],
"starterTitle": "Úvodný prompt",
"starterIntro": "Textové pole <em>Vlastný prompt</em> je predvyplnené jednoduchým príkladom, ktorý môžete upraviť:",
"showStarterSummary": "Zobraziť úvodný vlastný prompt",
"shareTitle": "Zdieľanie podnetov s komunitou",
"shareIntro": "Tlačidlo <em>Exportovať</em> uloží prompt do súboru (<code>.txt</code> / <code>.md</code>) na zálohovanie alebo zdieľanie. <em>Importovať</em> súbor načíta. Tretie tlačidlo otvorí verejnú komunitnú galériu na GitHub:",
"shareLinkLabel": "github.com/MacRimi/ProxMenux/discussions — Zdieľajte vlastné prompty pre oznámenia AI",
"shareOutro": "V diskusii nájdete prompty ďalších správcov: stručné upozornenia, podrobné technické správy aj jazykové varianty. Ak ste s úpravou spokojní, zdieľajte ju s krátkym odsekom o jej účele. Vítaná je aj spätná väzba o tom, čo funguje a čo nie."
},
"suggestions": {
"heading": "Návrhy AI (BETA)",
"intro": "Návrhy AI je voliteľný doplnok, ktorý umožňuje LLM pripojiť <strong>jeden</strong> krátky, použiteľný tip na koniec tela. Aktivuje sa iba vtedy, keď je režim výzvy <em>Predvolený</em>, hlavný prepínač AI je zapnutý a prepínač <em>Návrhy AI</em> je prehodený – a aj vtedy výzva dáva modelu pokyn, aby preskočil tip, ak príčina alebo riešenie nie je jasné.",
"formatIntro": "Pridaný tip má tento presný formát:",
"rulesIntro": "Pravidlá doplnku zobrazené v rozbaliteľnom bloku časti Predvolený prompt:",
"rules": [
"Tip sa pridá <em>iba</em> vtedy, keď denníky alebo databáza známych chýb jasne poukazujú na konkrétnu opravu.",
"Prompt žiada tip kratší než 100 znakov; parser túto dĺžku samostatne nekontroluje.",
"Prompt vyžaduje konkrétny príkaz alebo cestu a prikazuje vyhnúť sa všeobecným radám.",
"Ak známa chyba poskytuje riešenie, LLM musí použiť toto riešenie, nie vymyslieť nové.",
"Prompt prikazuje vynechať tip, ak vstup nepodporuje konkrétnu opravu."
],
"betaTitle": "Prečo BETA",
"betaBody": "Kvalita tipov závisí od modelu a dostupného kontextu denníkov. Model ako Claude 3.5 Haiku, GPT-4.1 Mini alebo Llama 3.3 70B s údajmi smartctl a denníkmi môže poskytnúť užitočný tip. Malý lokálny model Ollama s jednoriadkovou udalosťou môže podať slabý výsledok alebo tip vynechať. Ak vám tipy prekážajú, vypnite ich a podľa potreby znova zapnite."
},
"detailLevel": {
"heading": "Úroveň detailov pre každý kanál",
"intro": "Telegram, Discord, Gotify a e-mail majú vlastnú ponuku úrovne detailov. Tri hodnoty určujú limit výstupných tokenov a pokyny predvoleného promptu:",
"headerLevel": "Úroveň",
"headerLabel": "Štítok UI",
"headerCap": "Výstupný strop",
"headerProduce": "Aký výstup prompt požaduje od LLM",
"rows": [
{
"level": "stručný",
"label": "2–3 riadky, iba podstatné",
"cap": "500 tokenov",
"produce": "\"Čo sa stalo + kde.\" Nič iné."
},
{
"level": "štandardná",
"label": "Stručne so základným kontextom",
"cap": "1500 tokenov",
"produce": "3–6 riadkov: čo, kde, príčina a dotknuté zariadenia."
},
{
"level": "podrobné",
"label": "Úplné technické údaje",
"cap": "3000 tokenov",
"produce": "Úplná správa: čo, kde, príčina, dotknuté zariadenia, denníky, údaje SMART a história."
}
],
"defaultsIntro": "Predvolené hodnoty pri prvej inštalácii:",
"defaults": [
"<strong>Telegram, Discord, Gotify</strong> — <code>standard</code>.",
"<strong>E-mail</strong> — <code>detailed</code>. E-mail je kanál, kde zvyčajne chcete úplný obraz pre archív."
],
"emailTitle": "Podrobný e-mail pripája pôvodnú správu",
"emailBody": "Ak formátovač AI vráti výsledok pre e-mail s <code>detailed</code> a pôvodný text má viac než 50 znakov, pripojí ho za 40 pomlčiek a označenie <code>Original message:</code>. Údaje tak zostanú dostupné na neskoršie vyhľadávanie. Pri obídení alebo chybe AI sa môže odoslať len pôvodná šablóna."
},
"language": {
"heading": "Jazyk",
"intro": "Výber v rozhraní ponúka trinásť jazykov. Uloží <code>ai_language</code>, ktorý predvolený prompt používa v <em>\"translate alerts into '{'language'}'\"</em>. Zoznam:",
"list": "Angličtina (<code>en</code>), slovenčina (<code>sk</code>), španielčina (<code>es</code>), francúzština (<code>fr</code>), nemčina (<code>de</code>), portugalčina (<code>pt</code>), taliančina (<code>it</code>), ruština (<code>ru</code>), švédčina (<code>sv</code>), nórčina (<code>no</code>), japončina (<code>ja</code>), čínština (<code>zh</code>), holandčina (<code>nl</code>).",
"rulesIntro": "Dve dôležité pravidlá priamo z promptu:",
"rules": [
"<strong>Prekladať</strong>: označenia, opisy, stavové slová a jednotky, napríklad GB → Go vo francúzštine.",
"<strong>Neprekladať</strong>: názvy hostiteľov, adresy IP, cesty, VM/CT, názvy zariadení ako <code>/dev/sdX</code>, technické identifikátory. Tieto zostávajú doslovné bez ohľadu na jazyk."
],
"customNote": "Vlastný prompt <strong>nepoužíva výber jazyka</strong>. Požadovaný jazyk výstupu uveďte priamo vo vlastnom prompte."
},
"templates": {
"heading": "Poznámka k šablónam",
"body1": "AI dostáva text vytvorený zo šablóny, nie surové údaje udalosti. Typy ako <code>vm_start</code>, <code>auth_fail</code> a <code>health_degraded</code> majú šablóny v <code>notification_templates.py</code>. AI prepisuje vhodné výstupy; <code>backup_complete</code> a <code>backup_fail</code> si ponechávajú deterministické správy bez AI.",
"body2": "Názvy hostiteľov a VMID vloží šablóna ešte pred prepisom; AI ich nemusí vymýšľať. Pri vypnutej AI sa odošle priamo text šablóny. Stránka <link>Oznámenia</link> opisuje celý postup odosielania a kroky pred touto vrstvou."
},
"privacy": {
"heading": "Súkromie a tok údajov",
"intro": "Pri zapnutom prepise AI posiela Monitor poskytovateľovi text oznámenia a doplnené kontextové bloky. Môžu obsahovať názvy hostiteľov, IP adresy, používateľské mená, cesty zariadení, riadky denníka a atribúty SMART dotknutého zariadenia. Či opustia hostiteľa, závisí od poskytovateľa:",
"headerProvider": "Poskytovateľ",
"headerDestination": "Miesto určenia údajov",
"rows": [
{
"provider": "Ollama",
"destination": "Lokálne modely bežia na nastavenom hostiteľovi Ollama. Ak je ním uzol Proxmox, požiadavky zostávajú na ňom. Cloudové modely Ollama posielajú požiadavky mimo hostiteľa aj cez lokálny server Ollama."
},
{
"provider": "OpenAI",
"destination": "Predvolene <code>api.openai.com</code> alebo nastavená vlastná základná URL. Platia pravidlá spracovania údajov skutočného prevádzkovateľa koncového bodu."
},
{
"provider": "Anthropic",
"destination": "<code>api.anthropic.com</code>."
},
{
"provider": "Google Gemini",
"destination": "<code>generativelanguage.googleapis.com</code>."
},
{
"provider": "Groq",
"destination": "<code>api.groq.com</code>."
},
{
"provider": "OpenRouter",
"destination": "<code>openrouter.ai</code> prepošle požiadavku poskytovateľovi modelu zvolenému v poli <code>model</code>. Dva kroky namiesto jedného."
}
],
"calloutTitle": "Ak obsah udalostí nemôže opustiť sieť",
"calloutBody": "Použite lokálne hostovaný koncový bod s lokálnym modelom, napríklad Ollama alebo server kompatibilný s OpenAI, alebo AI vypnite. Cloudové modely Ollama nespracúvajú údaje lokálne. Odosielací modul neanonymizuje názvy hostiteľov ani IP adresy; prompt tvorí zo skutočného obsahu udalosti."
},
"whereNext": {
"heading": "Kam ďalej",
"items": [
{
"label": "Oznámenia",
"href": "/docs/monitor/notifications",
"tail": " — postup odosielania, kanály, prepínače udalostí a integrácia webhooku PVE okolo tejto vrstvy."
},
{
"label": "Monitor zdravia",
"href": "/docs/monitor/health-monitor",
"tail": "– najväčší samostatný producent udalostí, ktoré AI nakoniec prepisuje, s vlastným trvaním potlačenia pre jednotlivé kategórie."
},
{
"label": "Architektúra",
"href": "/docs/monitor/architecture",
"tail": "— kde AI Enhancer zapadá do širšieho monitorovacieho procesu (je to modul, nie samostatná služba)."
}
],
"communityLabel": "Komunitné prompty na GitHub",
"communityTail": " — Prechádzať, zdieľať, pýtať."
}
}
@@ -0,0 +1,760 @@
{
"meta": {
"title": "API Proxmox Monitor — Referenčná príručka integrácií | ProxMenux",
"description": "Koncové body HTTP ProxMenux Monitor pre Home Assistant, Homepage, Grafana, Prometheus, n8n a vlastné panely. Čítanie stavu a zdokumentované operácie: ovládanie VM, spustenie záloh, oznámenia a potvrdenie výstrah.",
"ogTitle": "API Proxmox Monitor — Príručka integrácií",
"ogDescription": "Koncové body ProxMenux Monitor pre Home Assistant, Homepage, Grafana, Prometheus, n8n a vlastné panely.",
"twitterTitle": "API monitora Proxmox | ProxMenux",
"twitterDescription": "Koncové body pre Home Assistant, Homepage, Grafana, Prometheus, n8n a vlastné panely."
},
"header": {
"title": "Referenčná príručka API",
"description": "Koncové body HTTP na čítanie stavu a zdokumentované akcie: senzory Home Assistant, karty Homepage, panely Grafana, zber Prometheus, toky n8n a vlastné skripty. Obsahuje kategórie, exportované metriky a príklady curl.",
"section": "ProxMenux Monitor"
},
"intro": {
"title": "Na čo je táto stránka",
"body": "Táto stránka uvádza koncové body integrácií: čítanie údajov, spustenie záloh, vlastné oznámenia a potvrdenie výstrah. API beží v procese Flask panela na TCP <strong>8008</strong>. Adresu počúvania a TLS opisuje <link>Prístup a overenie</link>."
},
"headerEndpoint": "Koncový bod",
"headerMethod": "Metóda",
"headerUse": "Použitie",
"auth": {
"heading": "Prihlásenie",
"intro": "Pri zapnutom overovaní chránené koncové body očakávajú JWT Bearer token v hlavičke požiadavky:",
"tokensIntro": "Dva spôsoby získania tokenu:",
"items": [
"<strong>Tokeny API, odporúčané pre integrácie.</strong> Platia 365 dní a vytvárajú sa v <strong>Zabezpečenie → Tokeny API</strong>. Majú názov a možno ich jednotlivo odvolať. Na údaje použite read_only, full_admin iba na potrebné správcovské akcie.",
"<strong>Prihlásenie, JWT na 24 hodín.</strong> <code>POST /api/auth/login</code> s menom, heslom a TOTP, ak ho vyžaduje 2FA. JWT vyprší po 24 hodinách; skripty sa potom musia prihlásiť znova."
],
"flowLink": "Prihlásenie, heslá, 2FA, audit a TLS opisuje <link>Prístup a overenie</link>.",
"rows": [
{
"endpoint": "/api/auth/login",
"method": "POST",
"use": "Polia tela (schéma): <code>'{'\"username\",\"password\",\"totp_token?\"'}'</code>. Vráti JWT na 24 hodín."
},
{
"endpoint": "/api/auth/api-tokens",
"method": "GET",
"use": "Uveďte API tokeny (iba metadáta — mená, predpony, dátumy; nikdy nie skutočný tajný kód)."
},
{
"endpoint": "/api/auth/generate-api-token",
"method": "POST",
"use": "Vytvorí token API na 365 dní v overenej relácii. Polia: <code>password, token_name?, totp_token?, scope?</code>. Heslo a požadované TOTP sa overia znova. scope je predvolene read_only; full_admin treba zvoliť výslovne. Tajný token sa vráti iba raz."
},
{
"endpoint": "/api/auth/api-tokens/<id>",
"method": "DELETE",
"use": "Zrušte špecifický API token jeho ID."
}
]
},
"conventions": {
"heading": "Konvencie",
"items": [
"Väčšina používa JSON. Niektoré sťahovania vracajú obyčajný text; <code>/api/prometheus</code> používa textový formát Prometheus 0.0.4 namiesto OpenMetrics. Overte typ odpovede konkrétnej cesty.",
"Mnohé zápisy vracajú <code>'{'\"success\": true, ...'}'</code>. Chyby sa líšia; bežný formát je <code>'{'\"success\": false, \"error\": \"'<'reason'>'\"'}'</code>. Kontrolujte stav HTTP aj polia: niektoré výzvy overenia používajú HTTP 200 so success false.",
"Parametre závisia od koncového bodu. <code>limit</code>, <code>offset</code>, <code>since</code> a filtre kategórií použite iba tam, kde sú podporované.",
"Časové formáty sa líšia: Unix čas, reťazce ISO-8601 aj dátumy systemd. Nepredpokladajte rovnakú jednotku ani výslovné časové pásmo vo všetkých poliach."
]
},
"system": {
"heading": "Systém a hardvér",
"rows": [
{
"endpoint": "/api/system",
"method": "GET",
"use": "Aktuálne hodnoty CPU, pamäte, swapu, času prevádzky a záťaže."
},
{
"endpoint": "/api/info",
"method": "GET",
"use": "Statické informácie o hostiteľovi: meno hostiteľa, jadro, verzia PVE, model CPU, distro."
},
{
"endpoint": "/api/system-info",
"method": "GET",
"use": "Rozšírené systémové údaje pre hlavičku panela: celkové metriky a čas spustenia."
},
{
"endpoint": "/api/hardware",
"method": "GET",
"use": "Podrobný hardvérový inventár: zariadenia PCI, GPU a senzory."
},
{
"endpoint": "/api/hardware/live",
"method": "GET",
"use": "Aktuálne hodnoty rýchlo sa meniacich senzorov."
},
{
"endpoint": "/api/temperature/history",
"method": "GET",
"use": "Časové rady teplôt CPU a jeho puzdra."
},
{
"endpoint": "/api/gpu/<slot>/realtime",
"method": "GET",
"use": "Aktuálne metriky GPU NVIDIA, Intel a AMD podľa pozície PCI."
}
]
},
"actions": {
"heading": "Systémové akcie",
"intro": "Tieto asynchrónne systémové akcie používajú dočasné jednotky systemd. Pri zapnutom overovaní ich zápisy vyžadujú <code>full_admin</code>; <code>read_only</code> môže čítať <code>.../status</code>. Prijatý štart vráti HTTP 202 a stav; priebeh sledujte cez <code>.../status</code>. Ovládanie hostí a zálohy majú iné odpovede, opísané nižšie.",
"shapeTitle": "Tvar bežnej odozvy",
"shapeIntro": "Asynchrónne systémové akcie používajú tento objekt stavu JSON. Ovládanie hostí a zálohy majú iné formáty:",
"shapeCode": "{\n \"unit\": \"proxmenux-action-pve-update.service\",\n \"state\": \"idle | running | success | failed | cancelled\",\n \"started_at\": \"Sat 2026-08-01 11:01:32 CEST\",\n \"finished_at\": null,\n \"exit_code\": null,\n \"result\": null\n}",
"concurrencyTitle": "Súbežnosť a zrušenie",
"concurrencyBody": "Ďalší štart tej istej aktívnej akcie vráti HTTP 409. Zrušenie je možné iba s dokumentovanou cestou DELETE, napríklad pri aktualizácii PVE. Stav prejde na <code>cancelled</code> a časy zostanú. Konečné stavy sú v pamäti procesu a po reštarte Monitora sa môžu stratiť.",
"rows": [
{
"endpoint": "/api/system/power/reboot",
"method": "POST",
"use": "Spustí reštart hostiteľa Proxmox. Spojenie HTTP sa môže prerušiť, keď systemd začne vypínanie."
},
{
"endpoint": "/api/system/power/reboot/status",
"method": "GET",
"use": "Stav aktuálneho alebo posledného reštartu."
},
{
"endpoint": "/api/system/power/shutdown",
"method": "POST",
"use": "Vypne hostiteľa Proxmox, napríklad po signáli na vypnutie z UPS."
},
{
"endpoint": "/api/system/power/shutdown/status",
"method": "GET",
"use": "Stav aktuálneho alebo posledného vypínania."
},
{
"endpoint": "/api/system/pve-update/run",
"method": "POST",
"use": "Spustí aktualizáciu PVE používanú voľbou Aktualizovať teraz v Health Monitor aj ponukou shellu; odovzdá ju update-pve-safe.sh."
},
{
"endpoint": "/api/system/pve-update/status",
"method": "GET",
"use": "Stav aktuálnej alebo poslednej aktualizácie PVE."
},
{
"endpoint": "/api/system/pve-update",
"method": "DELETE",
"use": "Zruší prebiehajúcu aktualizáciu PVE signálom SIGTERM."
},
{
"endpoint": "/api/proxmenux/self-update/run",
"method": "POST",
"use": "Aktualizuje ProxMenux inštalátorom nastaveného stabilného alebo beta kanála. Vlastná jednotka systemd umožní pokračovať počas reštartu proxmenux-monitor vykonaného inštalátorom."
},
{
"endpoint": "/api/proxmenux/self-update/status",
"method": "GET",
"use": "Stav aktuálnej alebo poslednej aktualizácie ProxMenux."
},
{
"endpoint": "/api/vms/<vmid>/control",
"method": "POST",
"use": "Odošle ovládací príkaz VM alebo LXC. Pole <code>action</code> prijíma <code>start</code>, <code>stop</code>, <code>shutdown</code> alebo <code>reboot</code>. Úspešná odpoveď vracia potvrdenú úlohu PVE, nie potvrdenie dokončenia. Výsledok sledujte cez koncový bod control-task hosťa."
},
{
"endpoint": "/api/vms/<vmid>/backup",
"method": "POST",
"use": "Vytvorí zálohu vzdump VM alebo LXC. Voliteľné polia prispôsobte úložisku: <code>storage</code> (cieľ PVE), <code>mode</code> (<code>snapshot</code>, <code>suspend</code> alebo <code>stop</code>), <code>compress</code> (<code>zstd</code>, <code>lzo</code>, <code>gzip</code> alebo <code>none</code>), <code>protected</code> (<code>true</code> alebo <code>false</code>), <code>notes</code>, <code>notification</code> (<code>auto</code>, <code>always</code>, <code>failure</code> alebo <code>never</code>) a <code>pbs_change_detection</code> (<code>default</code>, <code>legacy</code> alebo <code>data</code>). Vráti UPID úlohy PVE."
},
{
"endpoint": "/api/vms/<vmid>/backups",
"method": "GET",
"use": "Zoznam predchádzajúcich záloh pre VM alebo LXC vo všetkých dosiahnuteľných úložiskách."
}
],
"syncVsAsyncTitle": "Dva typy akcií",
"syncVsAsyncBody": "Napájanie a aktualizácie hostiteľa používajú dočasné jednotky systemd s <code>.../status</code>. Iba aktualizácia PVE tu má cestu <code>DELETE</code> na zrušenie. Ovládanie VM/LXC vráti úlohu na sledovanie; záloha UPID úlohy na pozadí. Prijatie neznamená dokončenie. Overovanie a oprávnenia závisia od cesty.",
"curlTitle": "Príklad curl",
"curlBody": "Spustí aktualizáciu PVE a sleduje ju do dokončenia, ako automatizácia Home Assistant či playbook Ansible.",
"curlCode": "TOKEN=<your full_admin token>\n\ncurl -sSf -X POST \\\n -H \"Authorization: Bearer $TOKEN\" \\\n https://<host>:8008/api/system/pve-update/run\n\nwhile true; do\n state=$(curl -sSf -H \"Authorization: Bearer $TOKEN\" \\\n https://<host>:8008/api/system/pve-update/status | jq -r .state)\n [ \"$state\" != \"running\" ] && break\n sleep 30\ndone\necho \"final state: $state\"",
"haTitle": "Príklad pre Home Assistant",
"haBody": "Senzor <code>rest</code> zisťuje stav a <code>rest_command</code> spustí aktualizáciu. Priraďte ich k tlačidlu panela a potrebným automatizáciám:",
"haCode": "# configuration.yaml\nsensor:\n - platform: rest\n resource: https://pve.local:8008/api/system/pve-update/status\n name: pve_update_state\n value_template: \"{{ value_json.state }}\"\n scan_interval: 60\n headers:\n Authorization: \"Bearer !secret proxmenux_token\"\n\nrest_command:\n pve_update:\n url: https://pve.local:8008/api/system/pve-update/run\n method: POST\n headers:\n Authorization: \"Bearer !secret proxmenux_token\"\n\n # Start VM 100 (works for LXC too — same endpoint)\n vm_100_start:\n url: https://pve.local:8008/api/vms/100/control\n method: POST\n content_type: 'application/json'\n payload: '{\"action\": \"start\"}'\n headers:\n Authorization: \"Bearer !secret proxmenux_token\"\n\n # Backup VM 100 to the 'pbs-main' storage\n vm_100_backup:\n url: https://pve.local:8008/api/vms/100/backup\n method: POST\n content_type: 'application/json'\n payload: '{\"storage\": \"pbs-main\", \"mode\": \"snapshot\", \"compress\": \"zstd\"}'\n headers:\n Authorization: \"Bearer !secret proxmenux_token\""
},
"health": {
"heading": "Monitor zdravia",
"rows": [
{
"endpoint": "/api/health",
"method": "GET",
"use": "Ľahká kontrola vracajúca JSON s <code>status</code>, <code>timestamp</code> a <code>version</code>. Vhodná na kontrolu kľúčových slov Uptime Kuma; pri zapnutom overovaní klient posiela hlavičku Bearer."
},
{
"endpoint": "/api/health/status",
"method": "GET",
"use": "Celkový stav: úroveň závažnosti a zhrnutie."
},
{
"endpoint": "/api/health/details",
"method": "GET",
"use": "Všetkých desať kategórií so stavom a štruktúrovanými údajmi jednotlivých kontrol."
},
{
"endpoint": "/api/health/full",
"method": "GET",
"use": "Úplné údaje: kategórie, aktívne chyby, potlačené výstrahy a nastavenia potlačenia. Používa výsledky na pozadí mladšie než šesť minút; inak alebo pri vynútenej obnove spustí novú kontrolu."
},
{
"endpoint": "/api/health/active-errors",
"method": "GET",
"use": "Aktívny zoznam, filtrovateľný <code>?category=&lt;name&gt;</code>."
},
{
"endpoint": "/api/health/dismissed",
"method": "GET",
"use": "Potlačené výstrahy so zostávajúcimi hodinami stíšenia."
},
{
"endpoint": "/api/health/settings",
"method": "GET",
"use": "Nastavené trvanie potlačenia pre každú kategóriu."
},
{
"endpoint": "/api/health/remote-storages",
"method": "GET",
"use": "Inventár vzdialených úložísk definovaných Proxmoxom s online stavom."
},
{
"endpoint": "/api/health/interfaces",
"method": "GET",
"use": "Sieťové rozhrania s typom (most / agregácia / fyzické), IP a rýchlosťou spojenia."
},
{
"endpoint": "/api/health/acknowledge",
"method": "POST",
"use": "Telo: <code>'{'\"error_key\":\"smart_sdh\"'}'</code>. Potlačí výstrahu na čas nastavený pre jej kategóriu."
},
{
"endpoint": "/api/health/cleanup-orphans",
"method": "POST",
"use": "Ručne vyčistí chyby odstránených zariadení alebo VM. Opakované spustenie je neškodné."
}
],
"outro": "Formáty odpovedí a kategórie opisuje <link>Health Monitor</link>."
},
"storage": {
"heading": "Úložisko",
"rows": [
{
"endpoint": "/api/storage",
"method": "GET",
"use": "Disky viditeľné pre hostiteľa: blokové zariadenia, fondy ZFS a LVM."
},
{
"endpoint": "/api/storage/summary",
"method": "GET",
"use": "Kompaktné zhrnutie pre karty panela."
},
{
"endpoint": "/api/proxmox-storage",
"method": "GET",
"use": "Proxmox-definované úložiská z <code>/etc/pve/storage.cfg</code> s online stavom a voľným priestorom."
},
{
"endpoint": "/api/storage/observations",
"method": "GET",
"use": "Trvalá história pozorovaní: výstrahy SMART, chyby I/O a udalosti ZFS. Zachová sa aj po automatickom vyriešení výstrahy."
},
{
"endpoint": "/api/storage/smart/<disk>",
"method": "GET",
"use": "Aktuálne atribúty SMART pre jeden disk."
},
{
"endpoint": "/api/storage/smart/<disk>/latest",
"method": "GET",
"use": "Posledný autotest SMART pre disk."
},
{
"endpoint": "/api/storage/smart/<disk>/history",
"method": "GET",
"use": "Zoznam uložených správ SMART pre disk."
},
{
"endpoint": "/api/storage/smart/<disk>/history/<file>",
"method": "GET",
"use": "Prečítajte si konkrétny uložený SMART report."
},
{
"endpoint": "/api/storage/smart/<disk>/test",
"method": "POST",
"use": "Spustí autotest SMART. Schéma tela: <code>'{'\"type\":\"short\"|\"long\"'}'</code>."
},
{
"endpoint": "/api/storage/smart/schedules",
"method": "GET",
"use": "Zoznam aktuálne naplánovaných testov SMART."
},
{
"endpoint": "/api/storage/smart/tools",
"method": "GET",
"use": "Overí, či sú nainštalované <code>smartctl</code> a súvisiace nástroje."
}
]
},
"network": {
"heading": "Sieť",
"rows": [
{
"endpoint": "/api/network",
"method": "GET",
"use": "Všetky rozhrania so stavom spojenia a adresami."
},
{
"endpoint": "/api/network/summary",
"method": "GET",
"use": "Kompaktný prehľad pre panel."
},
{
"endpoint": "/api/network/<iface>/metrics",
"method": "GET",
"use": "RX/TX pre každé rozhranie, počítadlá chýb a časové rady RRD."
},
{
"endpoint": "/api/network/latency/current",
"method": "GET",
"use": "Posledné meranie latencie k bráne."
},
{
"endpoint": "/api/network/latency/history",
"method": "GET",
"use": "Časový rad latencie brány."
}
]
},
"vms": {
"heading": "VM a kontajnery",
"rows": [
{
"endpoint": "/api/vms",
"method": "GET",
"use": "VM a CT na lokálnom uzle so stavom, vmid a názvom."
},
{
"endpoint": "/api/vms/<vmid>",
"method": "GET",
"use": "Celý detail pre jedného hosťa (config, sieť, disky)."
},
{
"endpoint": "/api/vms/<vmid>/metrics",
"method": "GET",
"use": "CPU / pamäť / disk I/O časový rad pre jedného hosťa (RRD)."
},
{
"endpoint": "/api/vms/<vmid>/logs",
"method": "GET",
"use": "Protokoly nedávnych úloh tohto hosťa."
},
{
"endpoint": "/api/vms/<vmid>/backups",
"method": "GET",
"use": "Zálohy uložené pre tohto hosťa."
},
{
"endpoint": "/api/vms/<vmid>/control",
"method": "POST",
"use": "Vyberte jednu akciu zo schémy: <code>'{'\"action\":\"start|stop|reboot|shutdown\"'}'</code>. Ovláda napájanie hosťa."
},
{
"endpoint": "/api/vms/<vmid>/backup",
"method": "POST",
"use": "Spustí <code>vzdump</code> pre hosťa. Telo určuje úložisko a režim (<code>snapshot</code> / <code>suspend</code> / <code>stop</code>)."
},
{
"endpoint": "/api/vms/<vmid>/config",
"method": "PUT",
"use": "Upraví pole popisu (poznámky) VM alebo CT. Ostatné konfiguračné kľúče tento koncový bod nemení."
},
{
"endpoint": "/api/node/metrics",
"method": "GET",
"use": "Súhrnné metriky uzla v časových radoch RRD."
}
]
},
"backups": {
"heading": "Zálohy",
"rows": [
{
"endpoint": "/api/backups",
"method": "GET",
"use": "Zálohy nájdené na úložiskách dir, NFS, CIFS a PBS zisťovaných cez lokálny uzol. Nejde o úplnú kontrolu všetkých uzlov klastra."
},
{
"endpoint": "/api/backup-storages",
"method": "GET",
"use": "Úložiská označené ako ciele záloh s voľným miestom."
}
]
},
"logs": {
"heading": "Logy, úlohy, udalosti",
"rows": [
{
"endpoint": "/api/logs",
"method": "GET",
"use": "Filtrované záznamy systémového denníka. Parametre: <code>?level=&service=&limit=</code>."
},
{
"endpoint": "/api/logs/download",
"method": "GET",
"use": "Exportuje filtrovaný rozsah ako obyčajný text."
},
{
"endpoint": "/api/events",
"method": "GET",
"use": "Interný tok udalostí používaný aj na oznámenia."
},
{
"endpoint": "/api/task-log/<upid>",
"method": "GET",
"use": "Úplný protokol úlohy Proxmox v obyčajnom texte podľa UPID."
}
]
},
"notifications": {
"heading": "Oznámenia a AI",
"intro": "Odosielanie, kanály a preformulovanie AI opisujú <notifLink>Oznámenia</notifLink> a <aiLink>Asistent AI</aiLink>.",
"rows": [
{
"endpoint": "/api/notifications",
"method": "GET",
"use": "Nedávne oznámenia zobrazené na paneli."
},
{
"endpoint": "/api/notifications/download",
"method": "GET",
"use": "Exportuje oznámenia ako text."
},
{
"endpoint": "/api/notifications/status",
"method": "GET",
"use": "Stav odosielania: aktívny proces na pozadí, dĺžka radu a posledné odoslanie."
},
{
"endpoint": "/api/notifications/settings",
"method": "GET",
"use": "Číta nastavenia oznámení: kanály, prepínače udalostí, preformulovanie AI a zobrazované meno."
},
{
"endpoint": "/api/notifications/history",
"method": "GET",
"use": "História odosielania. Parametre: <code>?limit=&offset=&severity=&channel=</code>."
},
{
"endpoint": "/api/notifications/history",
"method": "DELETE",
"use": "Vyprázdni tabuľku histórie odosielania."
},
{
"endpoint": "/api/notifications/test",
"method": "POST",
"use": "Odošle skúšobné oznámenie do kanála. Telo: <code>'{'\"channel\":\"telegram\"'}'</code>."
},
{
"endpoint": "/api/notifications/send",
"method": "POST",
"use": "Vytvorí vlastnú udalosť. Telo: <code>'{'\"event_type\":\"custom\",\"severity\":\"WARNING\",\"title\":\"...\",\"body\":\"...\",\"data\":'{''}''}'</code>."
},
{
"endpoint": "/api/notifications/test-ai",
"method": "POST",
"use": "Overí spojenie s poskytovateľom AI. Polia tela (schéma): <code>'{'\"provider\",\"api_key\",\"model\",\"ollama_url?\"'}'</code>."
},
{
"endpoint": "/api/notifications/provider-models",
"method": "POST",
"use": "Zoznam dostupných modelov pre vybraného poskytovateľa AI."
},
{
"endpoint": "/api/notifications/proxmox/setup-webhook",
"method": "POST",
"use": "Zaregistrujte monitor ako cieľ webhook v <code>/etc/pve/notifications.cfg</code>."
},
{
"endpoint": "/api/notifications/proxmox/cleanup-webhook",
"method": "POST",
"use": "Odstráni cieľ Monitora z konfigurácie oznámení PVE."
},
{
"endpoint": "/api/notifications/proxmox/read-cfg",
"method": "GET",
"use": "Prečítajte si aktuálne PVE <code>notifications.cfg</code> ako to vidí PVE."
}
]
},
"security": {
"heading": "Bezpečnosť (čítanie)",
"rows": [
{
"endpoint": "/api/security/firewall/status",
"method": "GET",
"use": "Stav firewallu PVE a aktívne pravidlá."
},
{
"endpoint": "/api/security/fail2ban/details",
"method": "GET",
"use": "Stav jailu Fail2Ban; vyžaduje nainštalovaný voliteľný komponent."
},
{
"endpoint": "/api/security/fail2ban/activity",
"method": "GET",
"use": "Nedávne udalosti Fail2Ban: blokovania, odblokovania a spustenia jailu."
},
{
"endpoint": "/api/security/lynis/status",
"method": "GET",
"use": "Stav Lynis: inštalácia a čas poslednej kontroly."
},
{
"endpoint": "/api/security/lynis/report",
"method": "GET",
"use": "Posledná správa Lynis: výstrahy, návrhy a index zabezpečenia."
},
{
"endpoint": "/api/security/tools",
"method": "GET",
"use": "Detekovať, ktoré voliteľné bezpečnostné nástroje (Fail2Ban, Lynis) sú nainštalované."
}
]
},
"proxmenuxIntegration": {
"heading": "Integrácia ProxMenux",
"rows": [
{
"endpoint": "/api/proxmenux/update-status",
"method": "GET",
"use": "Dostupnosť aktualizácie ProxMenux Monitor, nainštalovaná a najnovšia verzia."
},
{
"endpoint": "/api/proxmenux/installed-tools",
"method": "GET",
"use": "Zoznam optimalizácií ProxMenux po inštalácii zaznamenaných na hostiteľovi (z <code>/usr/local/share/proxmenux/installed_tools.json</code>)."
},
{
"endpoint": "/api/proxmenux/tool-source/<key>",
"method": "GET",
"use": "Kód priradenej funkcie po inštalácii z aktuálnych skriptov hostiteľa alebo zachovaného staršieho kódu. Nezaručuje presnú snímku pôvodne spusteného kódu."
}
]
},
"prometheus": {
"heading": "Metriky Prometheus",
"intro": "Overený koncový bod <code>GET /api/prometheus</code> vracia textový formát Prometheus 0.0.4. Každá metrika obsahuje <code>node=\"&lt;hostname&gt;\"</code> a časovú pečiatku. Zber zabezpečí Prometheus alebo kompatibilná databáza časových radov.",
"exportedTitle": "Exportované metriky",
"headerGroup": "Skupina",
"headerMetric": "Metrika",
"headerDesc": "Popis",
"groups": [
{
"group": "Systém",
"metrics": [
{
"metric": "proxmox_cpu_usage",
"desc": "Percento využitia CPU, metrika typu gauge."
},
{
"metric": "proxmox_memory_total_bytes",
"desc": "Úplná fyzická pamäť v bajtoch."
},
{
"metric": "proxmox_memory_used_bytes",
"desc": "Použitá pamäť v bajtoch."
},
{
"metric": "proxmox_memory_usage_percent",
"desc": "Percento využitia pamäte."
},
{
"metric": "proxmox_load_average",
"desc": "Priemerná systémová záťaž. Štítok <code>period=\"1m\" | \"5m\" | \"15m\"</code>."
}
]
},
{
"group": "Čas prevádzky",
"metrics": [
{
"metric": "proxmox_uptime_seconds",
"desc": "Sekundy od posledného spustenia."
}
]
},
{
"group": "Hardvér",
"metrics": [
{
"metric": "proxmox_cpu_temperature_celsius",
"desc": "Teplota puzdra CPU."
},
{
"metric": "proxmox_disk_temperature_celsius",
"desc": "Teplota každého disku. Štítok <code>disk</code>."
},
{
"metric": "proxmox_fan_speed_rpm",
"desc": "Otáčky ventilátorov. Štítok <code>fan</code>."
}
]
},
{
"group": "Priestor na disku",
"metrics": [
{
"metric": "proxmox_disk_total_bytes",
"desc": "Celková kapacita každého exportovaného záznamu disku. Štítok <code>disk</code>."
},
{
"metric": "proxmox_disk_used_bytes",
"desc": "Použitá kapacita každého exportovaného záznamu disku."
},
{
"metric": "proxmox_disk_usage_percent",
"desc": "Percento použitej kapacity každého exportovaného záznamu disku."
}
]
},
{
"group": "Sieť",
"metrics": [
{
"metric": "proxmox_network_bytes_sent_total",
"desc": "Celkový počet odoslaných bajtov, metrika typu counter."
},
{
"metric": "proxmox_network_bytes_received_total",
"desc": "Celkový počet prijatých bajtov, metrika typu counter."
},
{
"metric": "proxmox_interface_bytes_sent_total",
"desc": "Bajty odoslané cez každé rozhranie. Štítok <code>interface</code>."
},
{
"metric": "proxmox_interface_bytes_received_total",
"desc": "Bajty prijaté cez každé rozhranie."
}
]
},
{
"group": "VMs / CTs",
"metrics": [
{
"metric": "proxmox_vms_total",
"desc": "Celkový počet VM a LXC."
},
{
"metric": "proxmox_vms_running",
"desc": "Počet spustených hostí."
},
{
"metric": "proxmox_vms_stopped",
"desc": "Počet zastavených hostí."
},
{
"metric": "proxmox_vm_status",
"desc": "Stav VM/CT: 1 spustený, 0 iný stav. Štítky <code>node</code>, <code>vmid</code> a <code>name</code>."
},
{
"metric": "proxmox_vm_cpu_usage",
"desc": "Využitie CPU pre každú VM/CT s rovnakými štítkami."
},
{
"metric": "proxmox_vm_memory_used_bytes / _max_bytes",
"desc": "Použitá pamäť a nastavené maximum každej VM/CT."
}
]
},
{
"group": "GPU",
"metrics": [
{
"metric": "proxmox_gpu_temperature_celsius",
"desc": "Teplota GPU. Štítky <code>slot</code> a <code>vendor</code>; gpu obsahuje aj názov GPU."
},
{
"metric": "proxmox_gpu_utilization_percent",
"desc": "Percento využitia GPU."
},
{
"metric": "proxmox_gpu_memory_total_bytes",
"desc": "Celková pamäť GPU."
},
{
"metric": "proxmox_gpu_power_draw_watts",
"desc": "Príkon GPU vo wattoch."
},
{
"metric": "proxmox_gpu_clock_speed_mhz",
"desc": "Takt jadra GPU."
},
{
"metric": "proxmox_gpu_memory_clock_mhz",
"desc": "Takt pamäte GPU."
}
]
},
{
"group": "UPS",
"metrics": [
{
"metric": "proxmox_ups_battery_charge_percent",
"desc": "Percento nabitia batérie."
},
{
"metric": "proxmox_ups_load_percent",
"desc": "Aktuálne zaťaženie UPS."
},
{
"metric": "proxmox_ups_runtime_seconds",
"desc": "Odhadovaná výdrž na batériu."
},
{
"metric": "proxmox_ups_input_voltage_volts",
"desc": "Vstupné napätie."
}
]
}
],
"scrapeTitle": "Konfigurácia zberu Prometheus",
"scrapeIntro": "Pri zapnutom overovaní zadajte token API do hlavičky Bearer v konfigurácii zberu Prometheus:",
"perHostTitle": "Zber pre každého hostiteľa",
"perHostBody": "Každá inštancia exportuje metriky svojho hostiteľa. V klastri nastavte Prometheus na zber z každého uzla. Štítok <code>node</code> rozlišuje rady v Grafane (<code>proxmox_vms_running'{'node=\"pve01\"'}'</code>)."
},
"puttingItTogether": {
"heading": "Prepojenie integrácií",
"body": "Pozrite <link>Integrácie</link> na prepojenie koncových bodov so senzormi Home Assistant, kartami Homepage, panelmi Grafana, tokmi n8n a ďalšími nástrojmi. Obsahuje bežné konfigurácie na kopírovanie. Táto stránka uvádza katalóg koncových bodov."
},
"whereNext": {
"heading": "Kam ďalej",
"items": [
{
"label": "Prístup a overenie",
"href": "/docs/monitor/access-auth",
"tail": " — vytváranie tokenov, auditný protokol, voliteľný jail Fail2Ban a TLS."
},
{
"label": "Oznámenia",
"href": "/docs/monitor/notifications",
"tailRich": " — obsah <code>data</code> pre každú udalosť pri volaní <code>/api/notifications/send</code>."
},
{
"label": "AI asistent",
"href": "/docs/monitor/ai-assistant",
"tailRich": " — fungovanie <code>/api/notifications/test-ai</code> a <code>/api/notifications/provider-models</code>."
},
{
"label": "Monitor zdravia",
"href": "/docs/monitor/health-monitor",
"tailRich": " — formát odpovedí <code>/api/health/*</code> a význam desiatich kategórií."
}
]
}
}
@@ -0,0 +1,303 @@
{
"meta": {
"title": "Architektúra ProxMenux Monitor — AppImage, Flask, SQLite, WebSocket | ProxMenux",
"description": "Ako je postavený ProxMenux Monitor: štruktúra AppImage, blueprinty Flask, úlohy na pozadí, údaje psutil, pvesh, smartctl a journalctl, ukladanie SQLite, terminál WebSocket, poskytovatelia AI, kanály oznámení, reverzný proxy a voliteľný Fail2Ban.",
"ogTitle": "Architektúra ProxMenux Monitor",
"ogDescription": "Vnútri ProxMenux Monitor: AppImage, blueprinty Flask, úlohy na pozadí, SQLite, WebSocket, poskytovatelia AI a kanály oznámení.",
"twitterTitle": "Architektúra ProxMenux Monitor",
"twitterDescription": "AppImage, Flask, SQLite, WebSocket, poskytovatelia AI a kanály oznámení vo vnútri Monitora."
},
"header": {
"title": "Architektúra",
"description": "Ako sa distribuuje ProxMenux Monitor, čo obsahuje AppImage a ako požiadavky prehliadača prechádzajú cez Flask k nástrojom hostiteľa a úložisku SQLite.",
"section": "ProxMenux Monitor"
},
"intro": {
"title": "Jeden proces, veľa povinností",
"body": "Proces Python počúva na TCP 8008. Poskytuje statický web Next.js a REST API, spravuje terminál WebSocket, spúšťa Health Monitor a posiela oznámenia. Nepotrebuje samostatný webový server, sprostredkovateľa správ ani externú databázu."
},
"requestFlow": {
"heading": "Priebeh požiadavky",
"intro": "Typická požiadavka na údaje prechádza touto cestou; nastavenia prehliadača sa môžu spracovať lokálne:",
"diagramCaption": "Chránené cesty overujú JWT pri zapnutom overovaní. Hlavné cesty a blueprinty vracajú údaje z cache alebo čerstvého zberu. Voliteľná kontrola Fail2Ban používa zoznam blokovaní z cache. Preposlaným IP hlavičkám dôveruje iba pri PROXMENUX_TRUST_PROXY=1; inak použije adresu spojenia. Trvalý stav zahŕňa SQLite aj JSON súbory, napríklad auth.json.",
"diagramArrowLabel": "HTTP / WS",
"nodes": {
"clientLabel": "Klient",
"clientDetail": "Prehliadač alebo PWA\n+ voliteľný proxy\nNginx / Caddy /\nTraefik",
"flaskLabel": "Flask :8008",
"flaskDetail": "Blueprinty\nMiddleware JWT\nKontrola Fail2Ban\n(ak je nainštalovaný)",
"hostLabel": "Hostiteľské nástroje",
"hostDetail": "psutil\npvesh\nsmartctl\njournalctl",
"stateLabel": "Lokálny stav",
"stateDetail": "SQLite DB\n+ auth.json"
},
"threadsIntro": "Proces spúšťa aj <strong>vlákna na pozadí</strong>. Tieto príklady zbierajú údaje, aktualizujú cache a SQLite a posielajú oznámenia. Existujú aj ďalšie úlohy; odosielanie musí byť zapnuté:",
"headerThread": "Vlákno",
"headerCadence": "Interval",
"headerJob": "Plánovaná úloha",
"rows": [
{
"thread": "_temperature_collector_loop",
"cadence": "60 s",
"job": "Ukladá teplotu CPU a vzorky latencie do databázy histórie, aby mali grafy údaje aj bez pripojeného prehliadača."
},
{
"thread": "_health_collector_loop",
"cadence": "5 min",
"job": "Spúšťa cyklus Health Monitor s desiatimi kategóriami, ukladá chyby a pozorovania diskov, zohľadňuje potlačenia a odovzdáva nové udalosti oznamovaciemu systému."
},
{
"thread": "_vital_signs_sampler",
"cadence": "CPU 5 s; teplota 15 s; pamäť 30 s",
"job": "Vzorkuje využitie CPU, pamäť a teplotu CPU pre ukazovatele a trvalé podmienky, nezávisle od päťminútovej celkovej kontroly."
},
{
"thread": "notification_manager.start()",
"cadence": "riadené udalosťami",
"job": "Spustí sledovanie denníka, úloh a hookov (<code>JournalWatcher</code>, <code>TaskWatcher</code>, <code>ProxmoxHookWatcher</code>) a odosiela do nastavených kanálov s voliteľným preformulovaním AI."
}
]
},
"systemd": {
"heading": "Jednotka systemd",
"intro": "Inštalátor vytvorí jednotku <code>/etc/systemd/system/proxmenux-monitor.service</code>. Predvolená konfigurácia:",
"items": [
"<strong><code>User=root</code></strong>: služba používa oprávnenia root na SMART, <code>pvesh</code> a správu ZFS. Procesy webového terminálu dedia tieto oprávnenia.",
"<strong><code>Restart=on-failure</code></strong> s odstupom desať sekúnd: po chybovom ukončení sa služba automaticky reštartuje.",
"<strong><code>After=network.target</code></strong>: zaradí štart po tomto cieli; nezaručuje pridelenú IP, DNS ani vonkajšie spojenie."
],
"inspectTitle": "Kontrola aktuálnej jednotky"
},
"appimage": {
"heading": "Čo AppImage obsahuje",
"intro": "AppImage obsahuje súborový systém pripojený pri spustení. <code>AppRun</code> v koreni pripraví prostredie a spustí <code>flask_server.py</code>:",
"consequencesIntro": "Dva dôsledky tohto usporiadania:",
"consequences": [
"<strong>Pribalené prostredie Python.</strong> Interpret a balíky sú v AppImage, bez inštalácie do systémového Pythonu. Aplikácia naďalej používa rozhrania jadra a externé nástroje hostiteľa.",
"<strong>Pribalení klienti hardvéru.</strong> Obsahuje <code>ipmitool</code>, <code>lm-sensors</code> a <code>upsc</code>. Merania vyžadujú podporovaný hardvér, prístup k senzorom a pre UPS nastavený server NUT."
]
},
"flask": {
"heading": "Štruktúra aplikácie Flask",
"intro": "<code>flask_server.py</code> vytvorí inštanciu <code>Flask(__name__)</code> s obmedzeným CORS, priamo registruje deväť blueprintov a inicializuje terminál. Tabuľka uvádza hlavné moduly; registrované sú aj audit, zálohy VM a PBS. Prednačítavanie PVE beží iba na hostiteľoch PVE.",
"headerBlueprint": "Blueprint / modul",
"headerPrefix": "Predpona ciest",
"headerOwns": "Zodpovednosť",
"rows": [
{
"blueprint": "flask_server.py",
"prefix": [
"/api/system",
"/api/storage",
"/api/network",
"/api/vms",
"/api/hardware",
"/api/logs",
"/api/prometheus"
],
"owns": "Hlavné koncové body, statický web a voliteľná kontrola Fail2Ban, ak je na hostiteľovi jail <code>proxmenux</code>."
},
{
"blueprint": "flask_auth_routes.py",
"prefix": [
"/api/auth/*"
],
"owns": "Prihlásenie, vydávanie JWT, nastavenie a overenie TOTP, zmena hesla a tokeny API."
},
{
"blueprint": "flask_health_routes.py",
"prefix": [
"/api/health/*"
],
"owns": "Kontroly stavu, podrobnosti, aktívne a potlačené chyby a nastavenia potlačenia. Chránené cesty vyžadujú overenie, ak je zapnuté."
},
{
"blueprint": "flask_terminal_routes.py",
"prefix": [
"/api/terminal/* + WS"
],
"owns": "Pridelí PTY každej relácii a cez WebSocket ho prepojí s <code>xterm.js</code> v prehliadači."
},
{
"blueprint": "flask_notification_routes.py",
"prefix": [
"/api/notifications/*"
],
"owns": "Vytváranie, čítanie, úprava a odstránenie kanálov; testy, AI, história a ručné odosielanie."
},
{
"blueprint": "flask_security_routes.py",
"prefix": [
"/api/security/*"
],
"owns": "Zlyhania prihlásenia a pri nainštalovanom Fail2Ban stav jailu, blokovania a ručné odblokovanie."
},
{
"blueprint": "flask_proxmenux_routes.py",
"prefix": [
"/api/proxmenux/*"
],
"owns": "Číta optimalizácie ProxMenux zaznamenané na hostiteľovi."
},
{
"blueprint": "flask_oci_routes.py",
"prefix": [
"/api/oci/*"
],
"owns": "Funkcie nasadenia aplikácií OCI a kontajnerov na Proxmox VE 9.1+."
}
],
"endpointsLink": "Koncové body integrácií a ich formáty opisuje <link>Referenčná príručka API</link>."
},
"dataSources": {
"heading": "Zdroje údajov",
"intro": "Údaje hostiteľa pochádzajú najmä zo štandardných knižníc, súborov a správcovských príkazov. Niektoré údaje hostí vyžadujú aj QEMU Guest Agent alebo príkazy v CT:",
"headerSource": "Zdroj",
"headerUsedFor": "Používa sa na",
"rows": [
{
"source": "psutil",
"usedFor": "Záťaž CPU, pamäť, swap, využitie pripojených systémov, sieťové počítadlá a procesy."
},
{
"source": "pvesh / qm / pct",
"usedFor": "Informácie uzla Proxmox, inventár a konfigurácia VM/CT, úložiská a história úloh."
},
{
"source": "smartctl",
"usedFor": "Atribúty SATA/NVMe, stav SMART, opotrebenie, životnosť, model a sériové číslo."
},
{
"source": "zpool / zfs",
"usedFor": "Stav fondu (ONLINE / DEGRADED / FAULTED / UNAVAIL), priebeh kontroly scrub a využitie datasetov."
},
{
"source": "journalctl",
"usedFor": "Systémové protokoly, procesy ukončené pre OOM, chyby ATA/NVMe/dm, bezpečnostné udalosti a vlastné jednotky služieb."
},
{
"source": "ip / iproute2",
"usedFor": "Rozhrania, adresy, mosty, agregácie spojení a zariadenia spravované OVS."
},
{
"source": "nvidia-smi · intel_gpu_top",
"usedFor": "Dostupné údaje GPU o využití, VRAM, teplote a kódovaní/dekódovaní. Polia závisia od výrobcu, nástroja a ovládača."
},
{
"source": "lspci · lscpu · dmidecode",
"usedFor": "Topológia PCIe, model a topológia CPU, základná doska a BIOS."
},
{
"source": "ipmitool · sensors",
"usedFor": "Mimopásmové senzory, ventilátory a teploty základnej dosky, ak ich hardvér podporuje."
},
{
"source": "upsc (NUT)",
"usedFor": "Stav batérie, záťaž a výdrž UPS pri nastavenom serveri NUT."
}
],
"cacheTitle": "Cache obmedzuje požiadavky na hostiteľa",
"cacheBody": "Náročné výsledky <code>smartctl -a</code> a <code>pvesh get</code> sa dočasne ukladajú v procese Flask, čím sa znižuje počet volaní diskov a API klastra. Trvanie závisí od zdroja: sekundy pre metriky a minúty pre SMART."
},
"persistence": {
"heading": "Perzistencia",
"intro": "Viaceré stavové súbory majú odlišný obsah a požiadavky na prístup:",
"headerPath": "Path",
"headerOwner": "Vlastník",
"headerContents": "Obsah",
"rows": [
{
"path": "/usr/local/share/proxmenux/health_monitor.db",
"owner": "root:root",
"contents": "Databáza SQLite. Tabuľky: <code>errors</code>, <code>events</code>, <code>disk_registry</code>, <code>disk_observations</code>, <code>user_settings</code>, <code>notification_history</code>, <code>excluded_storages</code>, <code>excluded_interfaces</code>. Režim denníka WAL."
},
{
"path": "/usr/local/share/proxmenux/.notification_key",
"owner": "root <code>0600</code>",
"contents": "Hlavný 32-bajtový kľúč pre tajné nastavenia oznámení ENC2. Používa náhodnú soľ pre každú hodnotu, odvodené kľúče a MAC. Staré hodnoty XOR podporuje na migráciu."
},
{
"path": "/root/.config/proxmenux-monitor/auth.json",
"owner": "root:root",
"contents": "Konfigurácia prístupu: zapnutie, meno, osolený hash hesla PBKDF2-HMAC-SHA256, tajomstvo TOTP, obnovovacie kódy, kľúč JWT inštalácie, metadáta tokenov API a hashe odvolania. Staré hashe SHA-256 sa migrujú po úspešnom prihlásení."
},
{
"path": "/var/log/proxmenux-auth.log",
"owner": "root:root",
"contents": "Textový protokol overovania nezávislý od Fail2Ban. Ak je jail <code>[proxmenux]</code> nainštalovaný a aktívny, číta ho na detekciu opakovaných zlyhaní prihlásenia. Bez jailu zostáva protokol dostupný na kontrolu."
}
],
"backupTitle": "Zálohujte auth.json pred reinštaláciou",
"backupBody": "Výmena AppImage zvyčajne zachová <code>/root/.config/proxmenux-monitor/auth.json</code> a <code>/usr/local/share/proxmenux/health_monitor.db</code>. Zachovajte <code>auth.json</code> s jwt_secret pre platnosť a metadáta tokenov. Databáza nezávisle ukladá stav a oznámenia. S ňou zálohujte <code>.notification_key</code> na obnovu tajných nastavení kanálov; samotná databáza neobnoví overovanie API."
},
"health": {
"heading": "Cyklus Health Monitor",
"intro": "Približne každých päť minút zberač na pozadí volá <code>health_monitor.py</code> na kontroly desiatich kategórií panela:",
"items": [
"Kritické služby PVE (<code>pveproxy</code>, <code>pvedaemon</code>, <code>pvestatd</code>, <code>pve-cluster</code>).",
"Úložiská Proxmox: <code>pvesh get /storage</code> a dostupnosť každého úložiska.",
"Disky a súborové systémy: SMART, chyby I/O v dmesg, stav ZFS a kapacita pripojených systémov.",
"VM a CT: zlyhania štartu, pády, chyby QMP a zlyhania vypnutia.",
"Sieť: stav mostov a agregácií spojení, stav liniek a latencia k bráne.",
"Aktualizácie: čakajúce balíky a bezpečnostné opravy.",
"Protokoly: trvalé vzory, špičky a kaskády v systémovom denníku.",
"Pamäť: zásahy OOM killer a dlhodobý tlak na RAM.",
"Teplota: hodnoty CPU a diskov sa porovnávajú s monitorovacími prahmi; dostupné senzory závisia od hardvéru.",
"Bezpečnosť: zlyhania prihlásenia, blokovania a stav jailu Fail2Ban."
],
"afterIntro": "Nálezy používajú stabilné <code>error_key</code>, kategóriu a závažnosť. Riadky v <code>errors</code> sa aktualizujú cez <code>last_seen</code> a počty bez duplicít. Odosielanie oznámení má aj vlastné odtlačky a časové odstupy.",
"cycleEnd": "Čistenie môže vyriešiť staré chyby podľa <em>trvania potlačenia</em> kategórie a stavových pravidiel, odstrániť osirelé záznamy zrušených prostriedkov a vymazať <code>events</code> staršie než 30 dní. Kategórie opisuje <link>Panel → Health Monitor</link>."
},
"notifications": {
"heading": "Systém oznámení",
"intro": "<code>notification_manager.py</code> riadi odosielanie: načíta kanály, spravuje rad a poskytuje Python API pre Flask a Health Monitor aj vstup CLI pre hooky <code>.sh</code> ProxMenux.",
"items": [
"<strong>Sledovacie komponenty</strong> vytvárajú udalosti: <code>JournalWatcher</code> sleduje denník, <code>TaskWatcher</code> zisťuje úlohy Proxmox, <code>ProxmoxHookWatcher</code> prijíma hooky záloh, replikácie a snímok a <code>PollingCollector</code> spracúva pomalé zdroje.",
"<strong>Šablóny</strong> prevedú udalosti na názov a text. Nastavený poskytovateľ AI (OpenAI / Anthropic / Gemini / Groq / Ollama / OpenRouter) ich môže preformulovať bežným jazykom. Obe verzie sa ukladajú do <code>notification_history</code>.",
"<strong>Kanály</strong> odosielajú cez služby ako Telegram, Discord, email, Gotify, Pushover a Apprise. Implementácie v <code>notification_channels.py</code> používajú spoločné rozhranie <code>create_channel()</code> / <code>send()</code>.",
"<strong>Šifrovanie.</strong> Citlivé nastavenia (<code>telegram.bot_token</code>, <code>discord.webhook_url</code>, <code>pushover.user_key</code>, <code>pushover.api_token</code>, <code>ai_api_key_*</code>, <code>email.password</code>) sa pred uložením šifrujú kľúčom z <code>.notification_key</code> a v rozhraní sa zobrazujú maskované."
],
"linksFooter": "Prepínače udalostí, nastavenia kanálov a AI opisujú <notifLink>Nastavenia → Oznámenia</notifLink> a <aiLink>Nastavenia → Asistent AI</aiLink>."
},
"websocket": {
"heading": "Terminál WebSocket",
"intro": "Karta <em>Terminál</em> prepája ľahkého klienta <code>xterm.js</code> s PTY servera cez WebSocket. Existujú dva režimy:",
"items": [
"<strong>Režim HTTP, predvolený:</strong> vstavaný server Flask s <code>flask-sock</code> spracúva prechod na protokol WebSocket.",
"<strong>Režim HTTPS / WSS:</strong> používa <code>gevent.pywsgi.WSGIServer</code> s <code>geventwebsocket.handler.WebSocketHandler</code> na spojenia WebSocket cez TLS."
],
"outro": "Procesy terminálu dedia <code>User=root</code>. Pri zapnutom overovaní WebSocket vyžaduje krátkodobý jednorazový lístok získaný z overeného koncového bodu so správcovským oprávnením. Pri vypnutom alebo odmietnutom overovaní spojenie používa tento neoverovaný režim.",
"proxyNote": "Pri reverznom proxy povoľte WebSocket a hlavičky <code>Upgrade</code> a <code>Connection</code>. Terminál potrebuje toto preposielanie."
},
"proxy": {
"heading": "Reverzný proxy a Fail2Ban",
"intro": "Výber IP klienta a voliteľné blokovanie v aplikácii závisia od týchto nastavení a komponentov:",
"items": [
"<strong>Výber IP klienta.</strong> Kontrola <code>before_request</code> a protokol prístupu dôverujú <code>X-Forwarded-For</code> a potom <code>X-Real-IP</code> iba pri PROXMENUX_TRUST_PROXY=1. Inak použijú <code>request.remote_addr</code>. Preposlané hlavičky sa neprijímajú automaticky.",
"<strong>Voliteľný Fail2Ban v aplikácii.</strong> Spojenie cez proxy môže mať IP proxy ako TCP protistranu. Pri dôveryhodnej IP klienta a aktívnom jaile <code>proxmenux</code> Flask odmietne blokované IP stavom HTTP 403. Zoznam je v cache 30 sekúnd a obnoví ho spracovanie požiadavky po vypršaní, nie samostatný časovač."
],
"calloutTitle": "Fail2Ban nie je pribalený",
"calloutBody": "Fail2Ban <strong>nie je</strong> pribalený ani automaticky inštalovaný. Nainštalujete ho v Zabezpečení Monitora alebo cez <link>Zabezpečenie → Fail2Ban</link> v ProxMenux Scripts. Bez <code>fail2ban-client</code> či jailu <code>proxmenux</code> táto kontrola neblokuje požiadavky. Nastavená politika overovania zostáva v platnosti.",
"outro": "Príklady Nginx/Caddy/Traefik a návod na jail sú v <accessLink>Prístup a overenie</accessLink> a <fail2banLink>Zabezpečenie → Fail2Ban</fail2banLink>."
},
"whereNext": {
"heading": "Kam ďalej",
"items": [
{
"label": "Prístup a overenie",
"href": "/docs/monitor/access-auth",
"tail": " — prvé spustenie, heslo a TOTP 2FA, príklady reverzného proxy a jail Fail2Ban."
},
{
"label": "Referenčná príručka API",
"href": "/docs/monitor/api",
"tail": " — koncové body integrácií, správa tokenov a pravidlá overovania."
},
{
"label": "Nastavenie → ProxMenux Monitor",
"href": "/docs/settings/proxmenux-monitor",
"tail": " — ovládanie služby a kontrola stavu v textovej ponuke ProxMenux."
}
]
}
}
@@ -0,0 +1,218 @@
{
"meta": {
"title": "Hodnotenie a inventár | Audit a správy",
"description": "Hodnotenie vo funkcii Audit a správy: profily správ, klasifikácia výsledkov, akceptované riziká, nečitateľné zdroje, Lynis a inventár uzla."
},
"header": {
"title": "Hodnotenie a inventár",
"description": "Hodnotenie kontroluje uzol, uchováva jeho zistenia a odpovedá na rôzne otázky v závislosti od profilu správy.",
"section": "Audit a správy"
},
"sections": [
{
"id": "read-only",
"blocks": [
{
"calloutInfo": {
"title": "Hodnotenie kontroluje; nemení konfiguráciu",
"body": "Číta konfiguráciu a stav hostiteľa. Napíše svoje výsledky, správy a protokoly a kontroly zavádzania môžu na chvíľu pripojiť systémové partície EFI. Konfigurácia, ktorú posudzuje, sa nemení."
}
},
{
"p": "<strong>Spustiť hodnotenie</strong> spustí profil vybraný v položke <strong>Správa</strong>. Zobrazenie ukazuje dátum posledného spustenia a uplynutý čas."
}
]
},
{
"id": "profiles",
"title": "Profily správ",
"intro": "Každý profil odpovedá na inú otázku. Kontroly a oddiely sa vyberú pred zložením dokumentu.",
"blocks": [
{
"table": {
"headers": [
"Profil",
"Čo zahŕňa"
],
"rows": [
[
"Úplný audit",
"Všetky kontroly a celá dostupná štruktúra."
],
[
"Rýchla diagnostika",
"Každá kontrola; výsledok sa otvára kritickými zisteniami, upozorneniami a meraniami, ktoré nebolo možné overiť."
],
[
"Inventár",
"Opis uzla bez kontrol a klasifikácie."
],
[
"Kontrola bezpečnosti",
"Vystavenie útokom, prístup, oprávnenia, certifikáty, aktualizácie, repozitáre a Lynis."
],
[
"Overenie záloh",
"Pokrytie, vek, výsledky, overenie, uchovávanie a obnovenie záloh."
],
[
"Kapacita a opotrebenie",
"Rastové rozpätie, pamäť, využitie priestoru a životnosť diskov."
]
]
}
},
{
"p": "Obsah každého dokumentu je popísaný v <reportsLink>Správy a porovnania</reportsLink>."
}
]
},
{
"id": "results",
"title": "Ako sú výsledky klasifikované",
"blocks": [
{
"table": {
"headers": [
"Zatriedenie",
"Význam"
],
"rows": [
[
"Kritická",
"Zlyhaná podmienka, ktorá má prednosť."
],
[
"Varovanie",
"Podmienka vyžadujúca kontrolu vzhľadom na dôkazy alebo politiku."
],
[
"Poznámka",
"Informácie o uzle, ktorý nie je hlásený ako zlyhanie."
],
[
"Nepodarilo sa overiť",
"Zdroj potrebný na kontrolu sa nepodarilo prečítať. To neznamená, že problém neexistuje."
],
[
"V poriadku",
"Podmienka spĺňa použité kritérium."
],
[
"Netýka sa",
"Nič v rozsahu kontroly neplatí."
],
[
"Prijaté riziko",
"Toto zistenie existuje a rozhodnutie o ňom bolo zaznamenané."
],
[
"Vylúčené politikou",
"Politika vyhlasuje, že prvok je vynechaný z počtu."
]
]
}
},
{
"p": "Zistenia možno filtrovať podľa oblasti: Systém, Úložisko, Sieť, Zabezpečenie, Zálohovanie, Hosťovské systémy a Hardvér. Každé zistenie si zachová dôkazy aj zdroj, z ktorého boli načítané."
}
]
},
{
"id": "unverified",
"title": "Keď zdroj nemožno prečítať",
"blocks": [
{
"table": {
"headers": [
"Prípad",
"Správanie"
],
"rows": [
[
"Nepodarilo sa overiť",
"Kontrola si zachová identitu, v dôkazoch uvedie, ktorý zdroj zlyhal, a nezmení chýbajúce údaje na výsledok potvrdzujúci súlad."
],
[
"Neúplné dôkazy",
"Správa uvádza zdroj a čas zberu, aby bolo možné odlíšiť skutočný problém od nedostatočného načítania."
],
[
"Nové spustenie",
"Po oprave prístupu, balíka alebo služby, ten istý profil beží znova a porovnanie ukazuje, či je výsledok možné overiť."
]
]
}
}
]
},
{
"id": "lynis",
"title": "Lynis",
"blocks": [
{
"p": "Bezpečnostná kontrola používa správu Lynis z hostiteľa. Ak Lynis ešte nebol spustený alebo je správa staršia než povoľuje politika, dialóg ponúkne <strong>Spustiť s Lynis</strong>, čo trvá o niekoľko minút dlhšie, alebo <strong>Spustiť bez Lynis</strong>, čo použije existujúcu správu."
},
{
"figure": {
"src": "/monitor/audit/lynis-dialog.png",
"alt": "Dialóg, ktorý ponúka spustenie hodnotenia s alebo bez Lynis",
"caption": "Lynisov dialóg pred bezpečnostnou previerkou."
}
}
]
},
{
"id": "accept",
"title": "Prijatie rizika",
"blocks": [
{
"p": "<strong>Akceptovať riziko</strong> zaznamená rozhodnutie o zistení. Dôvod je povinný a uloží sa spolu s autorom a dátumom."
},
{
"table": {
"headers": [
"Pole",
"Možnosti"
],
"rows": [
[
"Dôvod",
"Voľný text, požadovaný."
],
[
"Znova preveriť po",
"90 dní, 180 dní, 1 rok alebo nevyprší platnosť. Keď obdobie skončí, nález sa znova stane aktívnym."
],
[
"Pripomenúť kontrolu",
"Pripomenutie, ktoré privádza rozhodnutie späť do pozornosti, kým zostáva v platnosti."
]
]
}
},
{
"p": "Akceptované zistenie zostáva viditeľné s rozhodnutím; <strong>Vrátiť do aktívneho stavu</strong> akceptovanie zruší. Akceptovanie rizika nie je oprava: porovnanie ho uvedie ako akceptované, nie vyriešené."
}
]
},
{
"id": "inventory",
"title": "Inventár",
"blocks": [
{
"list": {
"items": [
"Identita, verzia Proxmox VE, jadro, predplatné a klaster.",
"CPU, pamäť, základná doska, BIOS, radiče a IOMMU.",
"Disky, SMART, hodiny prevádzky a zaznamenané udalosti.",
"Adaptéry, bondy, mosty, latencia a spojenia.",
"Úložisko, hosťovské systémy s ich diskami a rozhraniami a zálohy.",
"PCI passthrough a softvér spravovaný ProxMenux."
]
}
}
]
}
]
}
@@ -0,0 +1,208 @@
{
"meta": {
"title": "Zmeny | Audit a správy",
"description": "Denník zmien funkcie Audit a správy: čo ProxMenux zmenil na hostiteľovi, predchádzajúci stav, rozdiely a možnosť vrátenia zmien."
},
"header": {
"title": "Zmeny",
"description": "Denník operácií ProxMenux na hostiteľovi a, ak bol zachytený, stavu pred každou operáciou a po nej.",
"section": "Audit a správy"
},
"sections": [
{
"id": "purpose",
"blocks": [
{
"calloutInfo": {
"title": "Od spusteného skriptu k vykonanej zmene",
"body": "Dlhá funkcia môže zmeniť iba dva riadky. Denník uchováva každú konkrétnu operáciu so zodpovedným skriptom, funkciou a verziou, dotknutým zdrojom, rozdielom a možnosťou vrátenia."
}
},
{
"flow": {
"nodes": [
{
"label": "Skript",
"detail": "funkcia + verzia"
},
{
"label": "Zachytiť",
"detail": "obsah pred"
},
{
"label": "Operácia",
"detail": "súbor · balík · služba"
},
{
"label": "Denník zmien",
"detail": "Priradenie + rozdiel"
}
],
"caption": "Zachytenie sa vykoná pri operácii a konsoliduje sa, keď Monitor načíta denník."
}
},
{
"figure": {
"src": "/monitor/audit/changes-view.png",
"alt": "Zobrazenie Zmeny vo funkcii Audit a správy so záznamami zoskupenými podľa voľby po inštalácii a skriptu",
"caption": "Zobrazenie zmien s rozdielmi v súbore upravenom ProxMenuxom."
}
}
]
},
{
"id": "types",
"title": "Typy záznamov",
"intro": "Filter hore oddeľuje položky podľa druhu.",
"blocks": [
{
"table": {
"headers": [
"Druh",
"Čo zaznamenáva"
],
"rows": [
[
"Konfigurácia",
"ProxMenux napísal, upravil alebo odstránil súbor, zmenil nastavenie alebo zmenil službu."
],
[
"Inštalácie",
"ProxMenux pridal balíček alebo komponent, a balíky, ktoré sa skutočne objavili, sú zaznamenané."
],
[
"Spustenia",
"ProxMenux spustil príkaz; jeho zmeny závisia od samotného príkazu."
],
[
"Použité",
"Funkcia bola použitá pred vytvorením denníka; predchádzajúci stav nebol zachytený."
]
]
}
}
]
},
{
"id": "groups",
"title": "Ako je zobrazenie usporiadané",
"blocks": [
{
"table": {
"headers": [
"Oddiel",
"Obsah"
],
"rows": [
[
"Optimalizácie po inštalácii",
"Zoskupené podľa voľby po inštalácii, ktorú vybral používateľ."
],
[
"Skripty ProxMenux",
"GPU, Coral, sieť, úložisko, zabezpečenie, nástroje a ďalšie skripty s auditným zaznamenávaním vrátane inštalátora ProxMenux a ProxMenux Monitor."
],
[
"Nainštalované balíky a nástroje",
"Softvér nainštalovaný cez ProxMenux na hostiteľovi."
]
]
}
},
{
"p": "V rámci každej sekcie <strong>Podľa funkcie</strong> zoskupuje položky pod funkciou, ktorá ich vytvorila."
}
]
},
{
"id": "entry",
"title": "Čo každý záznam ukazuje",
"blocks": [
{
"list": {
"items": [
"Skript, funkcia a zodpovedná verzia.",
"Dátum a dotknutý zdroj.",
"Známy stav pred zmenou a po nej.",
"Línie pridané a odstránené.",
"Balíčky, ktoré boli skutočne pridané.",
"Zmena stavu služby.",
"<strong>Vrátenie zmeny</strong>: <em>Obnoví presne predchádzajúci stav</em>, <em>Odstráni súbor (predtým neexistoval)</em>, <em>Balík možno odinštalovať</em>, čiastočné vrátenie alebo <em>Nemožno vrátiť z denníka</em>."
]
}
}
]
},
{
"id": "before",
"title": "Čo znamená predchádzajúci stav",
"blocks": [
{
"p": "Predchádzajúci stav môže byť zachytený obsah, prvýkrát vytvorený súbor alebo neznámy stav. Zmeny pred vytvorením denníka nemožno zrekonštruovať; opätovné spustenie funkcie najprv zachytí stav nájdený v danom okamihu."
}
]
},
{
"id": "limits",
"title": "Rozsah denníka",
"blocks": [
{
"list": {
"items": [
"Ručné zmeny a zmeny vykonané iným softvérom sa nezaznamenávajú.",
"Sú zahrnuté len operácie, ktoré prechádzajú primitívmi auditu ProxMenux.",
"Záznam nikdy neblokuje operáciu, ktorú opisuje: ak nie je možné zápis zapísať, operácia pokračuje.",
"Následné zmeny jedného zdroja sú uvedené ako známy pôvod proti súčasnému stavu."
]
}
}
]
},
{
"id": "retention",
"title": "Uložené dôkazy",
"blocks": [
{
"table": {
"headers": [
"Prvok",
"Správanie"
],
"rows": [
[
"Položky",
"Záznamy sa uchovávajú na hostiteľovi; z denníka sa nič automaticky neodstraňuje."
],
[
"Zachovaný obsah",
"Zachytený objekt sa uchováva, kým sa na neho vzťahuje záznam."
],
[
"Veľkosť zachytenia",
"Obsah nad 1 MiB sa neukladá celý; záznam uvedie, že zachytenie bolo vynechané pre veľkosť."
],
[
"Čítanie",
"Monitor nenačítava uložené objekty väčšie než 2 MiB."
],
[
"Rozdiel",
"Zobrazuje sa najviac 400 riadkov; dlhší rozdiel je označený ako skrátený."
],
[
"Zoznam",
"API predvolene vracia 200 záznamov na požiadavku, najviac 1000."
]
]
}
},
{
"calloutWarning": {
"title": "Uložený obsah neznamená automatické vrátenie zmeny",
"body": "Predchádzajúci obsah možno preskúmať a ručne obnoviť, ale zobrazenie Zmeny nevracia operácie späť. Záznam spustenia uloží príkaz bez znalosti všetkých účinkov spusteného nástroja."
}
}
]
}
]
}
@@ -0,0 +1,136 @@
{
"meta": {
"title": "Audit a správy | ProxMenux Monitor",
"description": "Posúďte uzol Proxmox VE, zaznamenajte zmeny ProxMenux a určte očakávania pre hosťovské systémy a úložisko s možnosťou tlače správ."
},
"header": {
"title": "Audit a správy",
"description": "Posúdenie uzla, denník zmien ProxMenux a deklarované očakávania s dokumentmi, ktoré možno vytlačiť alebo uložiť ako PDF.",
"section": "ProxMenux Monitor"
},
"sections": [
{
"id": "views",
"blocks": [
{
"calloutInfo": {
"title": "Tri zobrazenia, tri otázky",
"body": "Audit a správy oddeľuje fakty o uzle, zásahy ProxMenux a deklarované očakávania. Konfigurácia, ktorú nemožno porovnať s deklarovaným účelom, sa opíše bez označenia za chybu."
}
},
{
"cards": {
"items": [
{
"icon": "shield",
"title": "Hodnotenie — v akom stave je uzol?",
"body": "Spustí kontroly vybraného profilu, zloží inventár a klasifikuje, čo potrebuje pozornosť, s dôkazmi o každom výsledku."
},
{
"icon": "refresh",
"title": "Zmeny — čo urobil ProxMenux?",
"body": "Uvádza súbory, balíky, služby a príkazy zmenené skriptmi ProxMenux s auditným zaznamenávaním, vrátane predchádzajúceho stavu, ak bol zachytený."
},
{
"icon": "fileText",
"title": "Politika — čo sa očakáva?",
"body": "Určuje, ktoré hosťovské systémy potrebujú zálohu alebo sa musia spustiť s hostiteľom, ktoré úložisko je nevyhnutné a aké sú prahové hodnoty kontrol."
}
]
}
},
{
"flow": {
"nodes": [
{
"label": "Hodnotenie",
"detail": "fakty"
},
{
"label": "Politika",
"detail": "kontext"
},
{
"label": "Zmeny",
"detail": "intervencie"
}
],
"caption": "Hodnotenie poskytuje fakty, politika im dáva kontext a denník zaznamenáva zásahy ProxMenux."
}
},
{
"figure": {
"src": "/monitor/audit/assessment-view.png",
"alt": "Audit a správy v ProxMenux Monitor so zobrazeniami Hodnotenie, Zmeny a Politika",
"caption": "Audit a správy s otvoreným zobrazením Hodnotenie."
}
}
]
},
{
"id": "boundaries",
"title": "Tri rôzne funkcie",
"blocks": [
{
"table": {
"headers": [
"Funkcia",
"Čo to robí?"
],
"rows": [
[
"<healthLink>Monitor stavu</healthLink>",
"Nepretržite sleduje metriky a udalosti a môže vytvárať oznámenia."
],
[
"Audit a správy",
"Na požiadanie vykoná hodnotenie, zdokumentuje uzol a porovná jednotlivé spustenia."
],
[
"Denník zmien",
"Zaznamenáva operácie ProxMenux vykonané cez jeho základné auditné funkcie."
]
]
}
}
]
},
{
"id": "pages",
"title": "Strany tejto sekcie",
"blocks": [
{
"next": {
"items": [
{
"label": "Hodnotenie a súpis",
"href": "/docs/monitor/audit-report/assessment",
"tail": "profily, výsledky, akceptované riziká a inventár."
},
{
"label": "Zmeny",
"href": "/docs/monitor/audit-report/changes",
"tail": "denník toho, čo ProxMenux zmenil na hostiteľa."
},
{
"label": "Politika",
"href": "/docs/monitor/audit-report/policy",
"tail": "hosťovské systémy, úložisko a prahové hodnoty."
},
{
"label": "Správy a porovnania",
"href": "/docs/monitor/audit-report/reports",
"tail": "šesť dokumentov a referenčné spustenie."
},
{
"label": "Rozsah pôsobnosti a záruky",
"href": "/docs/monitor/audit-report/scope",
"tail": "zdroje, obmedzenia a uložené údaje."
}
]
}
}
]
}
]
}
@@ -0,0 +1,111 @@
{
"meta": {
"title": "Politika | Audit a správy",
"description": "Politika uzla vo funkcii Audit a správy: zálohovanie, automatický štart a cieľ obnovy každého hosťovského systému, úloha každého úložiska a prahové hodnoty kontrol."
},
"header": {
"title": "Politika",
"description": "Politika určuje to, čo žiadna kontrola nemôže odvodiť: účel každého hosťovského systému a úložiska a prahové hodnoty kontrol.",
"section": "Audit a správy"
},
"sections": [
{
"id": "principle",
"blocks": [
{
"calloutInfo": {
"title": "Bez deklarácie správa opisuje; s deklaráciou hodnotí",
"body": "Hodnotenie vidí, čo robí hostiteľ, nie na čo je. Hosť bez zálohy, ktorého účel nie je deklarovaný, sa vykazuje ako pozorovanie. Ak je jeho záloha vyhlásená za požadovanú, tá istá neprítomnosť sa oznamuje ako varovanie. Nič sa nemusí vyhlásiť."
}
},
{
"figure": {
"src": "/monitor/audit/policy-view.png",
"alt": "Zobrazenie Politika s hosťovskými systémami, úložiskom a prahovými hodnotami uzla",
"caption": "Zobrazenie Politika."
}
}
]
},
{
"id": "guests",
"title": "Hosťovské systémy",
"intro": "Každá VM a LXC na uzle má tri polia. Pole ponechané na predvolenej hodnote preberá všeobecnú hodnotu zobrazenú vedľa neho.",
"blocks": [
{
"table": {
"headers": [
"Pole",
"Hodnoty",
"Vplyv na posúdenie"
],
"rows": [
[
"Zálohovanie",
"vyžaduje sa, nevyžaduje sa, neuvádza sa",
"Chýbajúca záloha je varovanie, keď sa vyžaduje, pozorovanie, ak nie je uvedené, a je vynechané z počtu, keď sa nevyžaduje."
],
[
"Automatický štart",
"vyžaduje sa, nevyžaduje sa, neuvádza sa",
"Či sa hosťovský systém musí spustiť spolu s hostiteľom."
],
[
"Požadovaný vek zálohy",
"Hodiny",
"Maximálny prijateľný vek poslednej zálohy."
]
]
}
}
]
},
{
"id": "storage",
"title": "Úložisko",
"blocks": [
{
"p": "Nedostupné úložisko sa označí ako kritické, ak je deklarované ako nevyhnutné alebo slúži bežiacemu hosťovskému systému; ako varovanie, ak jeho úloha nie je uvedená; a ako pozorovanie, ak je deklarované ako voliteľné."
}
],
"intro": "Každé úložisko uzla sa označí ako Nevyhnutné, Voliteľné alebo Neuvedené."
},
{
"id": "thresholds",
"title": "Prahové hodnoty",
"intro": "Prázdne pole prahovej hodnoty používa dodanú predvolenú hodnotu zobrazenú ako zástupný text.",
"blocks": [
{
"list": {
"items": [
"Kontrola kapacity úložiska (%) a zaplnenia thin poolu (%).",
"Pomer nadmerného prideľovania thin úložiska a nadmerného prideľovania pamäte.",
"Interval kontroly scrub ZFS (dni).",
"Náhradný limit veku zálohy (dni) a tolerancia plánu zálohovania (pomer).",
"Oznámenie o uplynutí platnosti osvedčenia (dni).",
"Životnosť disku (hodiny) a nedávne okno chyby disku (dni).",
"Vek správy Lynis (dni) a indexu balíkov (dni).",
"Využitie systémového denníka vzhľadom na jeho limit (%).",
"Kontrola priestoru (%) a inode (%) súborového systému."
]
}
}
]
},
{
"id": "save",
"title": "Ako sa politika ukladá",
"blocks": [
{
"p": "Deklarácia sa overí a atomicky uloží do <code>/usr/local/share/proxmenux/audit_policy.json</code>. Každé uloženie obsahuje revíziu: ak deklaráciu zmenila iná relácia, návrh sa neuloží a zobrazenie ponúkne načítanie uloženej verzie."
},
{
"calloutWarning": {
"title": "Politika nie je nikdy odvodená",
"body": "ProxMenux nepridáva vlastné požiadavky. Prázdne pole zachová predvolenú hodnotu alebo zostane neuvedené; čiastočná deklarácia ovplyvní iba pomenované prvky."
}
}
]
}
]
}
@@ -0,0 +1,247 @@
{
"meta": {
"title": "Správy a porovnania | Audit a správy",
"description": "Šesť dokumentov funkcie Audit a správy, ich tlač alebo uloženie do PDF a porovnávanie spustení s referenčným spustením."
},
"header": {
"title": "Správy a porovnania",
"description": "Šesť dokumentov pre rôzne otázky a porovnanie každého spustenia s referenčným spustením.",
"section": "Audit a správy"
},
"sections": [
{
"id": "intro",
"blocks": [
{
"calloutInfo": {
"title": "Šesť dokumentov, nie šesť štýlov",
"body": "Motor vyberá kontroly a úseky pred komponovaním dokumentu. Rýchla diagnóza nie je úplný audit s menším počtom strán a inventár neobsahuje žiadne výsledky hodnotenia. Nižšie uvedené vzorové dokumenty používajú fiktívne údaje."
}
}
]
},
{
"id": "documents",
"title": "Šesť dokumentov",
"blocks": [
{
"downloads": {
"items": [
{
"title": "Úplný audit",
"body": "Zdokumentuje celý uzol vo forme technického záznamu.",
"href": "/monitor/audit/sample-audit-full-report.pdf",
"facts": [
{
"label": "Kontroly",
"value": "Všetky dostupné kontroly."
},
{
"label": "Obsah",
"value": "Zhrnutie; identita a klaster; hardvér; sieť a latencia; úložisko; hosťovské systémy; passthrough; aplikácie; zistenia s dôkazmi; zdroje a rozsah."
}
]
},
{
"title": "Rýchla diagnostika",
"body": "Ukazuje, čo potrebuje pozornosť bez kompletného inventára.",
"href": "/monitor/audit/sample-audit-diagnostic-report.pdf",
"facts": [
{
"label": "Kontroly",
"value": "Rovnaké kontroly ako úplný audit."
},
{
"label": "Obsah",
"value": "Minimálna identita; kritické zistenia; varovania; príslušné pozorovania; neoverené údaje a prioritné opatrenia. Diagramy, súpis a dlhé prílohy sú vynechané."
}
]
},
{
"title": "Inventár",
"body": "Opisuje, čo existuje na uzle bez posúdenia.",
"href": "/monitor/audit/sample-audit-inventory-report.pdf",
"facts": [
{
"label": "Kontroly",
"value": "Žiadne; žiadne zistenie sa neklasifikuje."
},
{
"label": "Obsah",
"value": "Identita; klaster; CPU a pamäť; základná doska, BIOS a radiče; sieť; úložisko; VM a LXC; passthrough; aplikácie a prvky spravované ProxMenux."
}
]
},
{
"title": "Kontrola bezpečnosti",
"body": "Zahŕňa vystavenie a kontrolu prístupu k uzlu.",
"href": "/monitor/audit/sample-audit-security-report.pdf",
"facts": [
{
"label": "Kontroly",
"value": "Oblasť zabezpečenia, oprávnenia kontajnerov, aktualizácie, repozitáre a reťazec APT."
},
{
"label": "Obsah",
"value": "Identita a klaster; sieť a latencia; prístup; firewall; 2FA; certifikáty; oprávnenia; aktualizácie; repozitáre; stav a vek správy Lynis."
}
]
},
{
"title": "Overenie záloh",
"body": "Kontrola, či vyhlásená ochrana existuje a či sú jej zálohy použiteľné.",
"href": "/monitor/audit/sample-audit-backup-report.pdf",
"facts": [
{
"label": "Kontroly",
"value": "Oblasť zálohovania, pripojenie k úložisku a doručovanie oznámení."
},
{
"label": "Obsah",
"value": "Pokrytie každého hosťovského systému; deklarovaný cieľ obnovy; vek a výsledok; cieľ; uchovávanie; overenie; zlyhané úlohy; obnova a neúplné zdroje."
}
]
},
{
"title": "Kapacita a opotrebenie",
"body": "Meria mieru rastu a známky vyčerpania alebo starnutia.",
"href": "/monitor/audit/sample-audit-capacity-report.pdf",
"facts": [
{
"label": "Kontroly",
"value": "Oblasti úložiska a hardvéru, pamäť, swap, systémový denník a súborový systém hostiteľa."
},
{
"label": "Obsah",
"value": "Využitie a prahové hodnoty; thin pooly; nadmerné prideľovanie; pamäť; inode; ZFS; teploty; hodiny prevádzky; chyby SMART a životnosť NVMe/SSD."
}
]
}
]
}
},
{
"figure": {
"src": "/monitor/audit/audit-report-preview.png",
"alt": "Prvá strana úplnej audítorskej správy",
"caption": "Každý dokument zdieľa identifikátor správy, očíslované časti, dátum, uzol, profil a pätku."
}
},
{
"p": "Podľa profilu dokument obsahuje identitu uzla a dátum hodnotenia, celkové zhrnutie, zhrnutie podľa oblastí, štruktúru hardvéru, siete a úložiska, ochranu hosťovských systémov, zistenia s dôkazmi, nečitateľné zdroje a použitý rozsah a politiku."
}
]
},
{
"id": "print",
"title": "Tlač alebo uloženie vo formáte PDF",
"blocks": [
{
"steps": {
"items": [
{
"title": "Spustiť",
"body": "Hodnotenie používa profil vybraný v položke <strong>Správa</strong>."
},
{
"title": "Preskúmanie",
"body": "Dokončené spustenie zobrazuje zistenia, zdroje, ktoré sa nepodarilo načítať, a použitú politiku."
},
{
"title": "Vytvoriť správu",
"body": "<strong>Vytvoriť správu</strong> otvorí zobrazenie pripravené ako dokument."
},
{
"title": "Tlač",
"body": "<strong>Vytlačiť alebo uložiť ako PDF</strong> otvorí tlačový dialóg prehliadača na výber tlačiarne alebo možnosti <em>Uložiť ako PDF</em>."
}
]
}
},
{
"calloutTip": {
"title": "Výtlačok je dokument, nie snímka obrazovky",
"body": "Lišta akcií je skrytá, tabuľky pokračujúce na ďalšej strane opakujú hlavičku, bloky sa zbytočne nedelia a každá strana si zachováva identifikáciu a číslovanie."
}
}
]
},
{
"id": "compare",
"title": "Porovnanie s referenčným behom",
"intro": "<strong>Použiť ako referenciu</strong> označí dokončené spustenie. Neskoršie spustenia sa s ním porovnajú a zistenia sa rozdelia na:",
"blocks": [
{
"table": {
"headers": [
"Skupina",
"Význam"
],
"rows": [
[
"Nový",
"Hlásené teraz a nie predtým."
],
[
"Zhoršené",
"Stále sa hlásia, ale sú závažnejšie alebo majú väčší dosah než predtým."
],
[
"Zlepšené",
"Stále sa hlásia, ale sú menej závažné alebo majú menší dosah než predtým."
],
[
"Vyriešené",
"Už sa nehlásia a nikto ich neakceptoval."
],
[
"Prijaté",
"Už sa nepočítalo, pretože riziko bolo prijaté, nie preto, že sa hostiteľ zmenil."
],
[
"Už sa nevyhodnocujú",
"Predtým boli prítomné, ale v tomto spustení chýbajú; nebolo overené, že zanikli."
]
]
}
},
{
"table": {
"headers": [
"Referenčný beh",
"Správanie"
],
"rows": [
[
"Nastavenie",
"Akýkoľvek dokončený beh môže byť označený; žiadny nie je označený automaticky."
],
[
"Zmena",
"Označenie iného spustenia zmení referenciu bez vymazania histórie."
],
[
"Porovnanie",
"Ak nie sú vybrané dve spustenia, porovnanie použije referenčné a vybrané alebo najnovšie spustenie."
],
[
"Uchovávanie spustení",
"Uchováva sa 30 najnovších spustení; referenčné spustenie sa nikdy neodstráni."
],
[
"Bez referencie",
"Zobrazenie uvádza, že ešte nebolo vybrané referenčné spustenie, preto nie je s čím porovnávať."
]
]
}
},
{
"calloutWarning": {
"title": "Správa opisuje jednu chvíľu",
"body": "Hodnotenie nepotvrdzuje celé obdobie. Staršie výsledky prestávajú opisovať aktuálny stav; zobrazenie uvádza vek posledného spustenia a každý zdroj uchováva čas zberu."
}
}
]
}
]
}
@@ -0,0 +1,115 @@
{
"meta": {
"title": "Rozsah a záruky | Audit a správy",
"description": "Pôvod údajov funkcie Audit a správy, hranice jej rozsahu, záruky návrhu a umiestnenie údajov."
},
"header": {
"title": "Rozsah a záruky",
"description": "Odkiaľ pochádzajú údaje hodnotenia, čo zostáva mimo jeho rozsahu a kde Audit a správy ukladá údaje.",
"section": "Audit a správy"
},
"sections": [
{
"id": "sees",
"title": "Čo pozoruje",
"blocks": [
{
"list": {
"items": [
"Konfigurácia a stav miestneho uzla.",
"Deklarovaná konfigurácia VM a LXC.",
"Stav úložiska tak, ako ho pozná Proxmox VE.",
"Dostupná história záloh a overovania.",
"Údaje SMART a udalosti, ktoré Monitor zozbieral.",
"Stav služieb, klastrov, HA a miestnych zdrojov."
]
}
}
]
},
{
"id": "outside",
"title": "Čo je mimo jeho pohľadu",
"blocks": [
{
"list": {
"items": [
"Vnútorný stav hosťovských systémov nad rámec údajov, ktoré poskytujú Proxmox VE.",
"Sieťové vybavenie mimo hostiteľa.",
"Diaľkové závislosti, ktoré uzol nemôže pozorovať.",
"Fyzický stav, ktorý hardvér nevystavuje.",
"Denník zmien nezahŕňa ručné akcie ani akcie iného softvéru."
]
}
},
{
"calloutWarning": {
"title": "Chýbajúce dôkazy nie sú dôkazom neprítomnosti",
"body": "Zdroj, ktorý nemožno prečítať, vedie k neoverenému alebo neúplnému výsledku, nikdy k výsledku potvrdzujúcemu súlad. Správa uvádza zdroje, ktoré neboli dostupné."
}
}
]
},
{
"id": "guarantees",
"title": "Záruky dizajnu",
"blocks": [
{
"list": {
"items": [
"Stabilné identifikátory kontrol.",
"História spustení a zistení.",
"Overená politika uložená atomicky.",
"Viditeľné akceptované riziká s uvedeným dôvodom.",
"Priradenie zmien ku skriptu a funkcii.",
"Zachytenie stavu pred zmenou a po nej, ak je dostupný.",
"Výslovný výsledok, keď niečo nemôže byť merané alebo zachytené."
]
}
}
]
},
{
"id": "storage",
"title": "Kde sa ukladajú údaje",
"blocks": [
{
"table": {
"headers": [
"Údaje",
"Umiestnenie"
],
"rows": [
[
"Politika",
"<code>/usr/local/share/proxmenux/audit_policy.json</code>"
],
[
"Hodnotenie",
"Audítorská databáza monitora"
],
[
"Zachytené objekty",
"<code>/usr/local/share/proxmenux/changes/objects/</code>"
],
[
"Nevybavené záznamy",
"<code>/usr/local/share/proxmenux/changes/spool/</code>"
],
[
"Konsolidovaný denník",
"<code>/usr/local/share/proxmenux/changes.db</code>"
]
]
}
},
{
"calloutInfo": {
"title": "Nástroj na preskúmanie, nie certifikácia",
"body": "Audit a správy kontroluje, porovnáva a dokumentuje uzol. Výsledky sa posudzujú spolu s účelom systému, deklarovanou politikou a dostupnými zdrojmi."
}
}
]
}
]
}
@@ -0,0 +1,174 @@
{
"meta": {
"title": "Panel Apps: jeden spúšťač pre všetky webové odkazy | ProxMenux",
"description": "Pomocou prístrojovej dosky Apps otvorte registrované LXC Webové odkazy a vlastné odkazy, zorganizujte ich podľa kategórie a skočte späť k hosťovi, ktorý vlastní každú službu."
},
"header": {
"title": "Panel: karta Apps",
"description": "Jediný spúšťač pre webové rozhrania, ktoré používate cez uzol, či už pochádzajú z registrovanej aplikácie LXC alebo z vlastného webového odkazu.",
"section": "ProxMenux Monitor · Prehľad"
},
"intro": {
"title": "Spúšťač, nie inštalátor aplikácií",
"body": "Karta <strong>Apps</strong> neinštaluje softvér ani sama nevyhľadáva služby. Zoskupuje uložené odkazy do prehľadávateľnej mriežky. Odkazy LXC sa nastavujú na <appTabLink>karte App</appTabLink> hosťovského systému; vlastné odkazy zahŕňajú služby VM, reverzné proxy a externé panely."
},
"sources": {
"heading": "Čo sa objavuje v Apps",
"intro": "Každá spúšťateľná URL sa stáva vlastnou kartou. Zdroj určuje, kde je karta upravená, ale nie ako vyzerá počas bežného používania.",
"colSource": "Zdroj",
"colAppears": "Čo sa objaví",
"colManagedFrom": "Kde sa spravuje",
"rows": [
{
"source": "Registrovaná aplikácia LXC",
"appears": "Jedna karta pre každý Web Link uložený na zázname aplikácie.",
"managedFrom": "VM a LXC → Okno LXC → Aplikácia"
},
{
"source": "Vlastný odkaz viazaný na hosťa",
"appears": "URL služby spojená so špecifickým VM alebo LXC.",
"managedFrom": "Aplikácie → Upraviť"
},
{
"source": "Vlastný odkaz bez priradenia",
"appears": "Ľubovoľný cieľ HTTP(S) vrátane externej služby alebo služby za reverzným proxy.",
"managedFrom": "Aplikácie → Upraviť"
}
],
"relationshipTitle": "Aplikácie a karta LXC App majú rôzne úlohy",
"relationshipBody": "<appTabLink>Karta App</appTabLink> LXC spravuje identitu aplikácie, webové odkazy a voliteľné sledovanie verzií. Karta <strong>Apps</strong> používa tieto odkazy na rýchle otvorenie. Úprava karty LXC preto otvorí záznam hosťovského systému bez duplikovania konfigurácie."
},
"cards": {
"heading": "Ako používať kartu",
"intro": "Celá karta je cieľ štartu, zatiaľ čo jej menšie kontroly poskytujú kontext bez otvorenia služby.",
"items": [
"Kliknutím na kartu otvoríte jej URL na novej karte prehliadača.",
"Logo najprv používa logo Web Link a v prípade potreby sa vráti k logu aplikácie.",
"Čip kategórie používa rovnakú farbu a označenie ako zodpovedajúci webový odkaz v záložke LXC App.",
"Označenie hosťovského systému určuje priradenú VM alebo LXC. Kliknutie otvorí jeho okno: odkazy LXC otvoria <strong>App</strong>, odkazy VM <strong>Stav</strong>.",
"Fialová šípka hore znamená, že špecifická aplikácia alebo obraz Docker má k dispozícii aktualizáciu. Nie je to všeobecný počet aktualizácií pre celého hosťa."
]
},
"toolbar": {
"heading": "Hľadať, filtrovať a triediť",
"intro": "Nástrojová lišta zužuje veľkú kolekciu aplikácií bez zmeny uložených záznamov.",
"items": [
"Vyhľadávanie zodpovedá názvu aplikácie, menu hosťa, VMID a kategórii.",
"Filter kategórie zobrazuje jednu kategóriu naraz alebo všetky aplikácie.",
"Zoraďte podľa <strong>Názvu</strong>, <strong>ID</strong> alebo <strong>Kategórie</strong>. Triedenie podľa kategórie pridá nadpisy medzi skupiny kariet.",
"Poradie sa zapamätá v tomto prehliadači. Vyhľadávaný text a filter kategórie sa pri návrate na stránku obnovia.",
"Karta Apps zostáva k dispozícii, keď je mriežka prázdna, takže prvý vlastný odkaz môže byť pridaný bez registrácie aplikácie LXC ako prvý."
]
},
"customLinks": {
"heading": "Pridávanie a úprava vlastných webových odkazov",
"intro": "Použite vlastný odkaz, ak služba nie je reprezentovaná registrovanou aplikáciou LXC.",
"steps": [
"Vyberte <strong>Pridať odkaz</strong> na paneli nástrojov alebo v prázdnom zobrazení.",
"Zadajte meno a kompletnú <code>http://</code> alebo <code>https://</code> URL.",
"Voliteľne pridať logo, vybrať alebo vytvoriť kategóriu a pripojiť odkaz na VM alebo LXC.",
"Uložte odkaz. Jeho karta sa ihneď zobrazí v mriežke.",
"Ak chcete upraviť alebo odstrániť vlastný odkaz, vyberte <strong>Upraviť</strong> a ceruzku na karte."
],
"colField": "Pole",
"colRequired": "Požadované",
"colPurpose": "Účel",
"fields": [
{
"field": "Názov",
"required": "Áno",
"purpose": "Názov karty a hľadaný termín."
},
{
"field": "URL",
"required": "Áno",
"purpose": "Úplné miesto určenia HTTP (S) otvorené kartou."
},
{
"field": "URL loga",
"required": "Nie",
"purpose": "Diaľkový obrázok zobrazený na karte."
},
{
"field": "Kategória",
"required": "Nie",
"purpose": "Pridá zdieľaný odznak a umožňuje filtrovanie kategórií."
},
{
"field": "Priradenie hosťovského systému",
"required": "Nie",
"purpose": "Priradí odkaz k VM alebo LXC a umožní skratku k hosťovskému systému."
}
],
"editTitle": "Upraviť zdroj pravdy",
"editBody": "Režim úprav zobrazuje ceruzky iba pri vlastných odkazoch. Kartu aplikácie LXC upravíte na <appTabLink>karte App</appTabLink> hosťovského systému zmenou uloženého odkazu."
},
"categories": {
"heading": "Kategórie a signály aktualizácie",
"intro": "Kategórie usporadúvajú odkazy; indikátory aktualizácií opisujú stav softvéru. Sú zámerne oddelené.",
"items": [
"Registrácia LXC podporovaná katalógom môže predplniť kategóriu, ale zostáva editovateľná.",
"Vlastné názvy kategórií môžu byť vytvorené z rovnakého voliča a následne opätovne použité filtrom.",
"Farby kategórií sú deterministické a prispôsobujú sa svetlej alebo tmavej téme. Fialové a červené odtiene sú vyhradené pre aktualizácie a nebezpečné stavy.",
"Pri Docker odkazoch ProxMenux priradí kartu ku kontajneru alebo obrazu a zobrazí stav aktualizácie daného obrazu. Aktualizácie Docker Engine zostávajú na <updatesLink>karte Aktualizácie</updatesLink> LXC."
]
},
"persistence": {
"heading": "Ukladanie a správanie vyrovnávacej pamäte",
"intro": "Palubná doska je určená na otvorenie z už dostupných dát Monitor, a nie na preskenovanie každého hosťa.",
"items": [
"Vlastné odkazy sa atomicky ukladajú do <code>/etc/proxmenux/custom_links.json</code> a pri štarte Monitora načítajú do pamäte.",
"Registrované odkazy LXC zostávajú súčasťou uloženého záznamu monitora v ich aplikácii; prístrojová doska Apps ich nezdvojuje do vlastného súboru.",
"Vytvorenie, úprava alebo odstránenie vlastného odkazu ihneď obnoví zoznam v pamäti.",
"Predvoľba triedenia je miestna pre tento prehliadač a nesynchronizuje sa medzi zariadeniami ani používateľmi.",
"Pozícia aplikácií na najvyššej úrovni sa ovláda samostatne pomocou <settingsLink>Nastavenia → Poradie navigácie</settingsLink>."
]
},
"troubleshooting": {
"heading": "Bežné situácie",
"colProblem": "Situácia",
"colResolution": "Riešenie",
"rows": [
{
"problem": "Aplikácia LXC je registrovaná, ale nie je zobrazená žiadna karta",
"resolution": "Otvorte záložku App a pridajte aspoň jeden webový odkaz. Samotné sledovanie verzie nevytvára kartu spúšťača."
},
{
"problem": "URL alebo logo je nesprávne",
"resolution": "Upraviť vlastný odkaz v Apps, alebo upraviť webový odkaz vo vlastnej záložke LXC App."
},
{
"problem": "Chýba služba Docker",
"resolution": "Upraviť registrovanú aplikáciu Docker a uložiť webový port služby ako webový odkaz."
},
{
"problem": "Fialová šípka sa vzťahuje na nesprávnu aktualizáciu Docker",
"resolution": "Skontrolujte názov a opis webového odkazu, aby ich bolo možné priradiť k zamýšľanému kontajneru alebo obrazu."
},
{
"problem": "Apps sa otvára pred Prehľadom systému",
"resolution": "Prvá uložená položka v Nastavenia → Poradie navigácie sa stane úvodnou kartou. Obnovte predvolené poradie alebo presuňte Prehľad na prvé miesto."
}
]
},
"whereNext": {
"heading": "Kam ďalej",
"items": [
{
"label": "LXC App záložka",
"href": "/docs/monitor/dashboard/vms-lxcs/app",
"tail": " — registrácia aplikácií, webových odkazov a voliteľného sledovania verzií."
},
{
"label": "Karta Aktualizácie LXC",
"href": "/docs/monitor/dashboard/vms-lxcs/updates",
"tail": " — nastavenie a spustenie aktualizácií aplikácií, Docker Engine a obrazov."
},
{
"label": "Karta Nastavenia",
"href": "/docs/monitor/dashboard/settings#navigation-order",
"tail": " — zmena poradia navigácie a úvodnej karty."
}
]
}
}
@@ -0,0 +1,248 @@
{
"meta": {
"title": "ProxMenux Monitor — Panel: Hardvér | Dokumentácia ProxMenux",
"description": "Na karte Hardvér je inventár fyzického počítača: CPU a základná doska, pamäťové moduly, teplotné senzory, GPU (s monitorovaním jednotlivých slotov v reálnom čase a inštalátorom ovládačov jedným kliknutím), Coral TPU akcelerátory, prehľad úložiska s kontrolou rýchlosti pripojenia, úplný zoznam zariadení PCI a USB, spotreba energie, jednotky PSU, ventilátory a stav UPS."
},
"header": {
"title": "Panel: Hardvér",
"description": "Fyzický stroj na jednej obrazovke: CPU a základná doska, každý pamäťový modul, teplotné snímače všetkých subsystémov, GPU so živým využitím a inštalátorom ovládačov, Coral TPU, každé zariadenie PCI a USB s ovládačom jadra, úplný inventár diskov s dohodnutými rýchlosťami spojenia, príkon, chladenie a UPS.",
"section": "ProxMenux Monitor · Prehľad"
},
"intro": {
"title": "Postavený zo štandardných nástrojov",
"body": "Väčšina z tejto karty je spracovaná z <code>lscpu</code>, <code>dmidecode</code>, <code>lspci</code>, <code>lsusb</code>, <code>lsblk</code>, <code>smartctl</code>, <code>nvme</code>, <code>sensors</code>, <code>nvidia-smi</code>, <code>intel_gpu_top</code>, <code>amdgpu_top</code>, <code>ipmitool</code> a <code>upsc</code>. Sekcie vykresľujú iba vtedy, keď príslušný nástroj vráti dáta, takže hostiteľ bez UPS neukáže kartu UPS a hostiteľ bez IPMI neukáže údaje o výkone mimo pásma."
},
"thresholds": {
"title": "Farby stavu a prahové hodnoty, ktoré sa tu uplatňujú",
"intro": "Každý indikátor a údaj teploty používa rovnakú škálu: <green/> <strong>zelená</strong> pod prahom Upozornenie, <amber/> <strong>jantárová</strong> medzi Upozornenie a Kritické, <red/> <strong>červená</strong> od prahu Kritické vyššie. Odporúčané predvolené hodnoty ProxMenux:",
"items": [
"<strong>Teplota CPU</strong> — upozornenie 80 °C, kritické 90 °C.",
"<strong>Teplota disku</strong> HDD 60/65 °C · SSD 70/75 °C · NVMe 80/85 °C · SAS 55/65 °C (varovanie/kritické)."
],
"outro": "Hodnoty možno nastaviť pre každého hostiteľa. <link>Nastavenia → Prahy monitora stavu</link> sú hlavný zdroj a vysvetľujú ich úpravu."
},
"sections": {
"heading": "Časti",
"intro": "Sekcie sa zobrazujú zhora nadol v tomto poradí. Niektoré vyžadujú príslušný hardvér alebo nástroj a sú označené ako <em>(podmienené)</em>.",
"systemInfoTitle": "Informácie o systéme",
"systemInfoIntro": "Dva bloky vedľa seba, vždy prítomné:",
"systemInfoItems": [
"<strong>CPU</strong> — model, mikroarchitektúra, pätice/jadrá/vlákna, základná a boost frekvencia, príznaky virtualizácie (VT-x / AMD-V) a topológia cache.",
"<strong>Základná doska</strong> — výrobca, model, verzia a dátum BIOS, UUID SMBIOS. Pomáha nájsť správnu stránku výrobcu na stiahnutie firmvéru."
],
"memoryTitle": "Pamäťové moduly",
"memoryBody": "Jeden riadok na obsadený slot podľa <code>dmidecode</code>: označenie, kapacita modulu, typ (DDR4 / DDR5 / varianty ECC), nastavená a menovitá rýchlosť, výrobca, číslo dielu a sériové číslo. Prázdne sloty sú sivé, aby bolo vidieť možnosti rozšírenia.",
"thermalTitle": "Sledovanie teplôt",
"thermalIntro": "Sedem blokov s údajmi z <code>lm-sensors</code>, <code>sysfs</code> a čítačiek pre konkrétne nástroje. Snímače úložiska hwmon sú priradené k fyzickému blokovému zariadeniu, s modelom a cestou <code>/dev/...</code>. Blok sa skryje, ak kategória neobsahuje snímače.",
"thermalItems": [
"<strong>CPU</strong> — teploty puzdra procesora a jednotlivých jadier.",
"<strong>GPU</strong> — snímače samostatnej GPU cez <code>nvidia-smi</code> / <code>amdgpu_top</code> a Intel iGPU. Zahŕňa najteplejší bod a teplotu pamäťového prechodu, ak ich ovládač poskytuje.",
"<strong>NVME</strong> — zložená teplota radiča priradená ku konkrétnemu mennému priestoru NVMe.",
"<strong>HDD</strong> — hodnoty <code>drivetemp</code> pre rotačné blokové zariadenia.",
"<strong>SSD</strong> — hodnoty <code>drivetemp</code> pre nerotačné blokové zariadenia SATA/SAS.",
"<strong>PCI</strong> — senzory, ktoré sa javia ako zariadenia pripojené k PCI (HBA, sieťové karty s internými senzormi).",
"<strong>OTHER</strong> — čipset, VRM, senzory okolia, ktoré sa inde nehodia."
]
},
"graphics": {
"heading": "Grafické karty",
"intro": "Každý radič videa má kartu s výrobcom, modelom, typom (<em>Integrovaný</em> / <em>PCI</em> / BMC), adresou PCI (BDF), ovládačom jadra a modulmi. <strong>Prepnúť režim</strong> mení zdieľanie LXC s natívnym ovládačom na passthrough VM (<code>vfio-pci</code>) a späť. <link>Prepnúť režim GPU (VM ↔ LXC)</link> vysvetľuje zmeny na hostiteľovi.",
"vfioImageAlt": "Grafické karty: integrovaná Matrox G200EH priradená k mgag200, pripravená pre LXC, a NVIDIA Quadro P400 priradená k vfio-pci, pripravená pre passthrough VM",
"vfioImageCaption": "Dve GPU: čip BMC Matrox používa natívny ovládač a je pripravený pre LXC; NVIDIA Quadro P400 je priradená k <code>vfio-pci</code> a pripravená pre passthrough VM.",
"lxcImageAlt": "Grafické karty: Intel UHD Graphics iGPU s i915 a NVIDIA Quadro P1000 s nvidia, obe pripravené pre kontajnery LXC",
"lxcImageCaption": "Rovnaký uzol po vrátení karty NVIDIA k natívnemu ovládaču: obe GPU sú pripravené pre kontajnery LXC.",
"realtimeTitle": "Okno monitorovania v reálnom čase",
"realtimeBody": "Kliknutie otvorí monitorovanie GPU podľa slotu, ktoré každé tri sekundy zisťuje údaje nástrojom výrobcu. Ukazuje výrobcu, typ, slot PCI, ovládač, moduly jadra, využitie jednotiek (Render/3D, Video, Blitter, VideoEnhance), grafické a pamäťové frekvencie, teplotu, dostupnú spotrebu, VRAM a aktívne procesy s ich zaťažením jednotiek. Dáta z <code>/api/gpu/&lt;slot&gt;/realtime</code>.",
"toolsIntro": "Nástroj výrobcu používaný pre každú GPU:",
"headerVendor": "Výrobca",
"headerTool": "Nástroj",
"headerProject": "Projekt",
"tools": [
{
"vendor": "NVIDIA",
"tool": "nvidia-smi",
"projectLabel": "developer.nvidia.com",
"projectHref": "https://developer.nvidia.com/nvidia-system-management-interface"
},
{
"vendor": "Intel iGPU",
"tool": "intel_gpu_top (igt-gpu-tools)",
"projectLabel": "gitlab.freedesktop.org",
"projectHref": "https://gitlab.freedesktop.org/drm/igt-gpu-tools"
},
{
"vendor": "AMD",
"tool": "amdgpu_top",
"projectLabel": "github.com/Umio-Yasuno/amdgpu_top",
"projectHref": "https://github.com/Umio-Yasuno/amdgpu_top"
},
{
"vendor": "Matrox / ASPEED (BMC)",
"tool": "(iba zobrazovanie)",
"projectLabel": "Detekovaný a označený ako BMC; žiadny blok v reálnom čase."
}
],
"nvidiaImageAlt": "Monitorovanie NVIDIA Quadro P1000: výrobca NVIDIA, načítaný ovládač nvidia, grafická frekvencia 1.26 GHz, pamäťová 2.50 GHz, teplota 50 °C, všetky jednotky na 0 %, žiadne aktívne procesy, celková pamäť 4096 MiB",
"nvidiaImageCaption": "NVIDIA Quadro P1000 s proprietárnym ovládačom: frekvencie, teplota, ukazovatele využitia jednotiek a aktívne procesy.",
"intelImageAlt": "Monitorovanie Intel UHD Graphics iGPU s ovládačom i915: spotreba 11.31 W, zaťaženie video jednotky 1 % a proces ffmpeg s využitím 8 MB",
"intelImageCaption": "Intel iGPU s aktívnym <code>i915</code>. Tabuľka Aktívne procesy zobrazuje úlohu ffmpeg používajúcu video jednotku.",
"amdImageAlt": "Monitorovanie integrovanej GPU AMD Lucienne s amdgpu: využitie jednotiek 0 % a amdgpu_top ako aktívny proces",
"amdImageCaption": "AMD iGPU monitorovaná cez <code>amdgpu_top</code>. Samotný nástroj je aktívny proces, pretože získava živé údaje.",
"installTitle": "Inštalácia ovládača NVIDIA z okna",
"installBody": "Pri <code>nouveau</code>/<code>nvidiafb</code> bez proprietárneho ovládača NVIDIA nie sú dostupné frekvencie, spotreba ani zaťaženie procesov. Okno ponúkne <strong>Nainštalovať ovládače NVIDIA</strong> a spustí skript opísaný v <link>Inštalácia ovládačov NVIDIA na hostiteľovi</link>.",
"noDriverAlt": "Monitorovanie NVIDIA Quadro P620 s načítanými nvidiafb a nouveau, oznámením Rozšírené monitorovanie nie je dostupné a modrým tlačidlom Nainštalovať ovládače NVIDIA",
"noDriverCaption": "Proprietárny ovládač ešte nie je nainštalovaný: okno ponúka inštaláciu jedným kliknutím.",
"promptAlt": "Potvrdenie inštalácie ovládača NVIDIA s nájdenými GPU, kontajnermi LXC s passthrough NVIDIA a tlačidlami Áno/Zrušiť",
"promptCaption": "Súhrn pred inštaláciou: nájdené GPU, kontajnery LXC s passthrough NVIDIA a plánované kroky. Bez potvrdenia sa nič nemení.",
"successAlt": "Výstup terminálu zobrazujúci ovládač NVIDIA 580.105.08 nainštalovaný úspešne a nvidia-smi hlásijúci Quadro P620",
"successCaption": "Úspešná inštalácia: NVIDIA <code>.run</code> zostavený cez DKMS, služba perzistencie pripravená a <code>nvidia-smi</code> hlási GPU.",
"warningTitle": "Vyberte si verziu ovládača, ktorú GPU skutočne podporuje",
"warningBody": "Novšie vetvy NVIDIA ukončujú podporu starších rodín GPU, napríklad Maxwell alebo Kepler. Ak po inštalácii <code>nvidia-smi</code> hlási <em>\"No devices were found\"</em> alebo DKMS zlyhá, vetva nemusí GPU podporovať. Zopakujte inštaláciu so staršou vetvou, napríklad legacy 470.x pre Kepler. Kompatibilitu overte na <a>oficiálnej stránke vyhľadávania ovládačov</a>.",
"whereGoIntro": "Kam ísť odtiaľto:",
"whereGoItems": [
"<link1>Inštalácia ovládačov NVIDIA na hostiteľovi</link1> — úplný postup, matica kompatibility jadra, voliteľná oprava NVENC a prenos do LXC.",
"<link2>Prepnúť režim GPU (VM ↔ LXC)</link2> — čo robí ovládanie <em>Prepnúť režim</em> na karte.",
"<link3>Pridať GPU do VM (passthrough)</link3> a <link4>Pridať GPU do LXC</link4> — prvé priradenie neviazanej GPU."
]
},
"coral": {
"heading": "Coral TPU / AI akcelerátory",
"subHeading": "(podmienečné)",
"intro": "Zobrazí sa pri pripojenom Google Coral alebo inom AI akcelerátore. Okno zariadenia uvádza pripojenie (M.2 / mini-PCIe / USB), šírku PCIe, ID výrobcu/produktu, softvérovú podporu (<code>apex</code> v jadre pre PCIe, <code>libedgetpu</code> v používateľskom priestore pre USB), moduly (<code>gasket</code> + <code>apex</code>), uzly (<code>/dev/apex_*</code>), stav runtime Edge TPU, živú teplotu a výstražné prahy firmvéru.",
"imageAlt": "Podrobnosti Coral Edge TPU: pripojenie PCIe/M.2, 5.0 GT/s x1, ID 1ac1:089a, ovládač apex, načítané moduly gasket a apex, /dev/apex_0 prítomný, Edge TPU Runtime nenainštalovaný, 53.5 °C a hardvérové výstražné prahy",
"imageCaption": "Coral M.2 s načítanými modulmi jadra hostiteľa, prítomným uzlom zariadenia a dostupnými výstrahami teploty firmvéru. Indikátor runtime sa zmení na zelený po inštalácii zodpovedajúceho Edge TPU Runtime.",
"pathsIntro": "Dve možnosti inštalácie podľa vyhotovenia:",
"pathsItems": [
"<strong>M.2 / Mini-PCIe</strong> — hostiteľ potrebuje moduly jadra <code>gasket</code> + <code>apex</code> zostavené cez DKMS, aby sa pri štarte objavil uzol <code>/dev/apex_0</code>.",
"<strong>Akcelerátor USB</strong> — hostiteľ potrebuje iba runtime Edge TPU v používateľskom priestore (<code>libedgetpu1-std</code>) z repozitára APT spoločnosti Google."
],
"outro": "<installLink>Inštalovať Coral TPU na hostiteľa</installLink> rozpozná a spravuje oba varianty. Informácie a oficiálny runtime sú na <a>coral.ai/docs</a>. Potom priraďte zariadenie kontajneru cez <lxcLink>Pridať Coral TPU do LXC</lxcLink>."
},
"storage": {
"heading": "Súhrn úložiska",
"intro": "Všetky blokové zariadenia známe jadru, zoskupené podľa typu. Každý disk ukazuje názov (<code>sda</code>, <code>nvme0n1</code>, <code>zram0</code>…), typ (<em>SSD</em>, <em>HDD</em>, <em>NVMe SSD</em>), model a dohodnuté spojenie. Kliknutie otvorí model, sériové číslo, kapacitu, rozhranie a aktuálnu aj maximálnu rýchlosť spojenia.",
"imageAlt": "Súhrn úložiska s jedenástimi blokovými zariadeniami (SSD SATA, HDD SATA, SSD NVMe a zram), modelmi a rýchlosťami spojenia; dva NVMe ukazujú 3.0 x4 so zvýraznenou aktuálnou rýchlosťou",
"imageCaption": "Jedenásť zariadení na tomto uzle. SATA spojenia sa zobrazujú ako <em>SATA &lt;version&gt;, &lt;Gb/s&gt; (current: ...)</em>; NVMe ako <em>&lt;PCIe gen&gt; x&lt;width&gt;</em>.",
"nvmeBody": "Riadok NVMe porovnáva dohodnuté spojenie s podporovaným maximom. Pri rozdiele, napríklad Gen3 x4 SSD na <strong>3.0 x1</strong> v slote zapojenom jednou linkou, je aktuálna hodnota jantárová. Pomáha pri diagnostike pomalých diskov alebo zmenách liniek po aktualizácii BIOS.",
"nvmeModalAlt": "NVMe detail pohonu pre nvme0n1: NVMe typ SSD, kapacita 953.9 GB, súčasná rýchlosť spojenia 3.0 x1 zvýraznená v jantári, maximálna rýchlosť spojenia 3.0 x4, model WDC CL SN720, sériové číslo, rozhranie PCIe/NVMe",
"nvmeModalCaption": "Podrobnosti NVMe s obmedzeným spojením: disk podporuje x4, ale slot je zapojený x1.",
"outro": "Dáta SMART, samotesty, história a správa PDF sú v <storageLink>Panel: Úložisko</storageLink>. Rovnaké dáta používa <smartLink>Stav a testy SMART diskov</smartLink>. Dlhý test zo skriptu zapíše JSON zobrazený v Monitore v <em>Úložisko → História</em>."
},
"pci": {
"heading": "PCI zariadenia",
"intro": "Zariadenia PCI určené pomocou <strong>PCI BDF</strong> (Bus:Device.Function, napríklad <code>03:00.0</code>) a triedy (<em>Radič úložiska</em>, <em>Radič USB</em>, <em>Grafická karta</em>, <em>Sieťový radič</em>, <em>Zvukový radič</em>…). Každá karta zobrazuje výrobcu, názov a <strong>aktuálne priradený ovládač jadra</strong>, užitočné pri diagnostike passthrough, skupín IOMMU či nesprávneho ovládača.",
"imageAlt": "Pätnásť zariadení PCI podľa triedy: radiče úložiska ahci/nvme, USB, grafické karty (jedna s vfio-pci, druhá s natívnym ovládačom), sieť igb/tg3 a zvuk pri GPU odovzdanej VM",
"imageCaption": "Pätnásť zariadení na uzle. GPU aj pridružená zvuková funkcia sú priradené k <code>vfio-pci</code>, teda pripravené pre passthrough VM.",
"bdfTitle": "Čítanie BDF",
"bdfBody": "<code>03:00.0</code> znamená zbernicu PCI <code>03</code>, zariadenie <code>00</code>, funkciu <code>0</code>. Samostatné GPU zvyčajne používajú <code>.0</code> pre GPU a <code>.1</code> pre zvuk HDMI. Obe funkcie sa odovzdávajú VM spolu; preto <link>Prepnúť režim GPU</link> pri odchode z režimu VM vyčistí aj osamotené zvukové priradenia."
},
"usb": {
"heading": "USB zariadenia",
"intro": "Zariadenia USB s výrobcom a produktom, verziou USB, adresou <code>bus:device</code>, ID <code>vendor:product</code> a ovládačom jadra. Sú rozdelené podľa úlohy: <em>Komunikácia</em> (adaptéry Z-Wave / Zigbee), <em>UPS</em>, úložisko alebo HID. Zariadenia tak rozlíšite bez porovnávania ID.",
"imageAlt": "Zariadenia USB: Aeotec Z-Wave Z-Stick, koordinátor Zigbee ConBee II a UPS Ellipse ECO, s verziou USB, adresou, ID vendor:product a priradeným ovládačom",
"imageCaption": "Tri zariadenia USB: dva adaptéry domácej automatizácie cez <code>usbfs</code> a UPS cez <code>usbfs</code>, s ktorým NUT komunikuje cez libusb."
},
"power": {
"heading": "Spotreba energie",
"subHeading": "(podmienečné)",
"intro": "Zobrazí sa, ak hostiteľ poskytuje telemetriu príkonu. Podľa dostupnosti ukazuje dva nezávislé zdroje:",
"items": [
"<strong>Celkový príkon ACPI / IPMI</strong> — príkon celého systému zo snímača základnej dosky alebo BMC. Typické pre serverové dosky.",
"<strong>Príkon puzdra CPU</strong> — počítadlá Intel RAPL alebo ekvivalent AMD. Odlišuje príkon CPU od zvyšku systému na bežných doskách bez celkového snímača."
],
"supplyImageAlt": "Spotreba: 198 W celkovo cez ACPI a dva zdroje so stavom OK a výstupom 185 W a 5 W",
"supplyImageCaption": "Serverová doska s jedným snímačom ACPI a dvoma zdrojmi cez IPMI: druhý je redundantný, v pokoji na 5 W.",
"cpuImageAlt": "Spotreba na bežnej doske: iba príkon CPU 8.7 W cez Intel RAPL",
"cpuImageCaption": "Bežná doska bez celkového snímača: ukazuje iba príkon CPU cez RAPL."
},
"psu": {
"heading": "Napájacie zdroje",
"subHeading": "(podmienečné)",
"body": "Na serverových strojoch s dvojitými zdrojmi ukazuje IPMI prítomnosť (PSU 1 / PSU 2 / …), vstupné napätie, výstupný výkon a stav OK/zlyhanie. Skontrolujte po výpadku napájania na uzle s redundantnými zdrojmi."
},
"fans": {
"heading": "Ventilátory systému",
"subHeading": "(podmienečné)",
"body": "Otáčky každého ventilátora v RPM s minigrafom, ak je podporovaný. Bez jednotlivých údajov ukáže jednu hodnotu ventilátora skrinky."
},
"ups": {
"heading": "Stav UPS",
"subHeading": "(podmienečné)",
"body": "Zobrazí sa pri nastavenom a dostupnom serveri NUT (Network UPS Tools). Ukazuje stav (sieť / batéria / nabíjanie / slabá batéria), nabitie batérie, odhad výdrže, percento zaťaženia, vstupné napätie, model a firmvér. Rovnaké údaje používa <em>Bezpečnosť a certifikáty</em> monitora stavu; prechod na batériu sa hneď zobrazí."
},
"dataCollected": {
"heading": "Spôsob zberu údajov",
"headerSection": "Sekcia karty",
"headerEndpoint": "Koncový bod",
"headerSource": "Zdroj",
"rows": [
{
"section": "Statický inventár (PCI, CPU, BIOS)",
"endpoint": "/api/hardware",
"source": "<code>lspci -vmm</code>, <code>/proc/cpuinfo</code>, <code>dmidecode</code>; vyrovnávacia pamäť počas životnosti procesu."
},
{
"section": "Hodnoty živých snímačov",
"endpoint": "/api/hardware/live",
"source": "<code>sensors</code> (lm-sensors), <code>/sys/class/hwmon</code> a <code>/sys/block</code> identifikujú úložné zariadenia. Teploty zostávajú živé; iba mapovanie hwmon na zariadenia sa uchováva v pamäti 60 sekúnd."
},
{
"section": "História teploty CPU",
"endpoint": "/api/temperature/history",
"source": "Časový rad zaznamenávaný každých 60 sekúnd zberačom teploty a uložený v SQLite."
},
{
"section": "Živé metriky GPU",
"endpoint": "/api/gpu/<slot>/realtime",
"source": "NVIDIA: <code>nvidia-smi --query-gpu=...</code>. Intel: <code>intel_gpu_top</code>. AMD: sysfs <code>/sys/class/drm/cardN</code>."
}
],
"codeComment1": "# Porovnať inventár s pohľadom operačného systému",
"codeComment2": "# Potvrďte kartu GPU ktorú prístrojová doska vidí"
},
"whereNext": {
"heading": "Kam ďalej",
"items": [
{
"label": "Nainštalovať ovládače NVIDIA (host)",
"href": "/docs/hardware/nvidia-host",
"tail": " — skript spustený inštalačným tlačidlom v okne GPU."
},
{
"label": "Prepnúť režim GPU (VM ↔ LXC)",
"href": "/docs/hardware/switch-gpu-mode",
"tail": " — zmeny na hostiteľovi po prepnutí režimu na karte GPU."
},
{
"label": "Inštalovať Coral TPU na hostiteľa",
"href": "/docs/hardware/install-coral-tpu-host",
"tail": " — inštalácia modulu jadra a runtime Coral."
},
{
"label": "SMART Zdravie a test disku",
"href": "/docs/disk-manager/smart-disk-test",
"tail": " — skript poskytujúci dáta SMART v podrobnostiach disku na karte Úložisko."
},
{
"label": "Dashboard: Záložka úložiska",
"href": "/docs/monitor/dashboard/storage",
"tail": " — úplná tabuľka atribútov SMART, história samotestov a správa PDF."
},
{
"label": "Monitor zdravia",
"href": "/docs/monitor/health-monitor",
"tail": " — kategória CPU a teplota, ktorá používa rovnaké snímače."
},
{
"label": "Referenčná príručka API",
"href": "/docs/monitor/api",
"tail": " — koncové body hardvéru a GPU."
},
{
"label": "Index panela",
"href": "/docs/monitor/dashboard",
"tail": " — Ostatné karty."
}
]
}
}
@@ -0,0 +1,101 @@
{
"meta": {
"title": "ProxMenux Monitor — Panel | Dokumentácia ProxMenux",
"description": "Panel je hlavným rozhraním ProxMenux Monitor: desať kariet vrátane spúšťača Apps, spoločná hlavička a nastaviteľné poradie hlavnej navigácie."
},
"header": {
"title": "Panel",
"description": "Každodenný pohľad na ProxMenux Monitor: desať kariet vrátane spúšťača Apps, spoločná hlavička a nastaviteľné poradie hlavnej navigácie.",
"section": "ProxMenux Monitor"
},
"oneHeader": {
"title": "Jedna hlavička, desať kariet",
"body": "Hlavička s logom, názvom uzla, indikátorom stavu, dobou prevádzky, obnovením a témou zostáva viditeľná. Aktívna karta mení celý obsah pod ňou. Farba indikátora zodpovedá najhoršej kategórii <link>monitora stavu</link>; panel zobrazuje ten istý údaj."
},
"tabs": {
"heading": "Desať kariet",
"intro": "Každá karta má svoju vlastnú vyhradenú stránku. Stránky sa pridávajú postupne pri vypĺňaní dokumentácie; nižšie je úplný zoznam a za čo je zodpovedný každý z nich.",
"headerTab": "Karta",
"headerOwns": "Čo pokrýva",
"rows": [
{
"name": "Prehľad systému",
"linksTo": "/docs/monitor/dashboard/system-overview",
"owns": "CPU / widgety pamäte / teploty, aktívny počet VM a LXC, grafy historických metrík, súhrny úložiska a siete. Predvolená vstupná karta, kým sa neprispôsobí poradie navigácie."
},
{
"name": "Aplikácie",
"linksTo": "/docs/monitor/dashboard/apps",
"owns": "Spoločný spúšťač registrovaných webových odkazov LXC a vlastných odkazov s kategóriami, vyhľadávaním, skratkami k hosťovským systémom a indikátormi aktualizácií aplikácií."
},
{
"name": "Úložisko",
"owns": "Proxmox pools, fyzické disky, SMART údaje, ZFS stav, opotrebovanie a životnosť, história pozorovania."
},
{
"name": "Sieť",
"owns": "Fyzické rozhrania, bondy, mosty a OVS, adresy IP/MAC, grafy RX/TX a história RRD každého rozhrania."
},
{
"name": "VM a LXC",
"owns": "Inventár hosťovských systémov, podrobnosti konfigurácie, metrík a denníkov a akcie spustenia, zastavenia, reštartu a vypnutia."
},
{
"name": "Hardvér",
"owns": "Model a topológia CPU, rozloženie pamäte, topológia PCIe a GPU s monitorovaním každého slotu v reálnom čase."
},
{
"name": "Systémové záznamy",
"owns": "Živé <code>journalctl</code> s filtrami, História úloh Proxmox, protokol upozornení, sťahovacie log zväzky."
},
{
"name": "Terminál",
"owns": "Shell hostiteľa alebo ľubovoľnej VM/CT v prehliadači pomocou <code>xterm.js</code> cez WebSockets."
},
{
"name": "Zabezpečenie",
"owns": "Nastavenie overovania, heslo, 2FA a tokeny API, denník auditu, voliteľný panel Fail2Ban a nasadenie Secure Gateway."
},
{
"name": "Nastavenia",
"owns": "Jazyk Monitora, poradie navigácie, kanály oznámení, poskytovateľ AI, prahové hodnoty stavu, výnimky a inventár úprav po inštalácii."
}
]
},
"headerAnatomy": {
"heading": "Anatómia hlavičky",
"items": [
"<strong>Logo + názov produktu</strong> vľavo. Keď sa zistí novšie vydanie monitora, logo sa zmení na variant „dostupná aktualizácia“.",
"<strong>Identita uzla</strong>: názov z <code>pvesh get /nodes</code>, prípadne z <code>hostname</code>.",
"<strong>Indikátor stavu</strong>: V poriadku (zelená), Varovanie (žltá), Kritický (červená). Kliknutie otvorí monitor stavu. Modré označenie <em>info</em> sa zobrazí, ak sú skryté položky ešte v období potlačenia.",
"<strong>Doba prevádzky</strong>: čas behu hostiteľa v čitateľnom formáte.",
"<strong>Tlačidlo Obnoviť</strong>: zopakuje volania API pre živé údaje bez načítania celej stránky.",
"<strong>Výber témy</strong>: svetlá, tmavá alebo systémová. Ukladá sa do <code>localStorage</code>."
]
},
"whereNext": {
"heading": "Kam ďalej",
"items": [
{
"label": "Záložka aplikácií",
"href": "/docs/monitor/dashboard/apps",
"tail": " — spoločný spúšťač webových odkazov a jeho vzťah k registrovaným aplikáciám LXC."
},
{
"label": "Karta Prehľad systému",
"href": "/docs/monitor/dashboard/system-overview",
"tail": " — úvodná karta s úplnou dokumentáciou."
},
{
"label": "Monitor zdravia",
"href": "/docs/monitor/health-monitor",
"tail": " — okno indikátora stavu s podrobnosťami desiatich kategórií."
},
{
"label": "Architektúra",
"href": "/docs/monitor/architecture",
"tail": " — ako panel komunikuje s backendom Flask."
}
]
}
}
@@ -0,0 +1,251 @@
{
"meta": {
"title": "ProxMenux Monitor — Prehľad: karta Sieť | Dokumentácia ProxMenux",
"description": "Karta Sieť uvádza všetky rozhrania hostiteľa: fyzické karty, mosty, bondy, VLAN a virtuálne rozhrania VM/LXC. Detail zobrazuje IP, MAC, stav, členov bondu, prenosy od spustenia a históriu RRD."
},
"header": {
"title": "Prehľad: karta Sieť",
"description": "Rozhrania hlásené jadrom — fyzické karty, mosty, bondy, VLAN a virtuálne porty VM/LXC — sú zoskupené do troch kariet. Kliknutím na riadok otvoríte adresy, počítadlá prenosov a historické údaje RRD.",
"section": "ProxMenux Monitor · Prehľad"
},
"intro": {
"title": "Aktuálne aj historické údaje",
"body": "Aktuálny stav pochádza z <code>psutil.net_if_stats()</code> a <code>ip</code>, história prenosov z úložiska RRD Proxmox cez <code>/api/network/&lt;interface&gt;/metrics</code>. Počítadlá sa obnovujú približne každých 5 sekúnd a údaje RRD pre graf sa načítajú podľa potreby."
},
"topRow": {
"heading": "Horný riadok: štyri štatistické karty",
"headerCard": "Karta",
"headerWhat": "Čo ukazuje",
"rows": [
{
"card": "Sieťové prenosy",
"what": "Agregovaná rýchlosť RX / TX na všetkých rozhraniach, formátovaná v správnej jednotke (bps / Kbps / Mbps / Gbps)."
},
{
"card": "Aktívne rozhrania",
"what": "Dve počítadlá: <em>Physical X / Y</em> a <em>Bridges X / Y</em>, aktívne z celkového počtu. Prvé miesto na kontrolu, keď niečo prestane fungovať."
},
{
"card": "Stav siete",
"what": "Rýchle hodnotenie: V poriadku / Varovanie / Kritické podľa stavu spojenia, dostupnosti brány a integrity mosta. Zodpovedá kategórii <em>Sieťové rozhrania</em> v Health Monitor."
},
{
"card": "Odozva siete",
"what": "Čas odozvy brány s malým grafom. Kliknutie otvorí nižšie opísané <strong>okno Odozva siete</strong>: históriu a test ping na požiadanie voči bráne, Cloudflare alebo Google so správou PDF na stiahnutie."
}
]
},
"flow": {
"heading": "Diagram sieťových tokov",
"intro": "Medzi horným riadkom a tromi kartami zobrazuje <strong>Network Flow</strong> aktuálnu topológiu. Cesty paketov vedú od fyzických kariet cez mosty v strede k VM a kontajnerom. Animované impulzy znázorňujú aktuálne prenosy rx/tx na každom spojení.",
"imageAlt": "Diagram toku siete – NIC vľavo, hostiteľ a mosty v strede, VM a LXC vpravo, s animovanými impulzmi na každom pripojení",
"imageCaption": "Network Flow — farebne odlíšené uzly plus animované kométy, ktorých smer a hrúbka odrážajú živú premávku.",
"elementsTitle": "Čo ukazuje diagram",
"elementsIntro": "Každý uzol predstavuje položku z rovnakého inventára ako karty nižšie. Topologické usporiadanie umožňuje ihneď vidieť ich vzťahy:",
"elements": [
"<strong>Sieťové karty</strong> (oranžové) — fyzické rozhrania s aktívnym spojením; neaktívne sú zobrazené tlmene.",
"<strong>Hostiteľ</strong> (oranžový) — hostiteľ Proxmox medzi sieťovými kartami a mostmi. Pevný bod, na ktorý nemožno kliknúť.",
"<strong>Mosty</strong> (tyrkysové) — mosty Linux a OVS s aspoň jedným aktívnym hosťovským systémom. Nepoužívané mosty sú skryté, aby diagram zvýraznil skutočné prenosy.",
"<strong>LXC</strong> (tyrkysové) — spustené kontajnery pripojené k mostu.",
"<strong>VM</strong> (fialové) — spustené virtuálne stroje pripojené k mostu.",
"Zastavené VM a kontajnery sú skryté."
],
"pulsesTitle": "Čo animácia kóduje",
"pulsesBody": "Animované kométy, ktoré cestujú pozdĺž každého okraja predstavujú živú premávku:",
"pulses": [
"<strong>Smer</strong> — k sieťovej karte znamená <em>tx</em> hosťovského systému, k hosťovi znamená <em>rx</em>.",
"<strong>Hrúbka čiary</strong> rastie s rýchlosťou rx+tx hosťovského systému. Bez prenosov zostáva slabá animovaná čiara, pri veľkom prenose je hrubá.",
"<strong>Žiara hlavy kométy</strong> — teplý odtieň približne pri 1 MB/s, intenzívny od 30 MB/s. Pomáha rozpoznať hosťovský systém, ktorý najviac vyťažuje sieťovú kartu.",
"<strong>Kliknutie</strong> — každý uzol okrem hostiteľa otvorí nižšie opísané okno detailu rozhrania. Kliknutie na hostiteľa nemá žiadny účinok; v tomto zobrazení preň nie je okno."
],
"useTitle": "Keď je to užitočné",
"useBody": "Karty ukazujú, <em>čo</em> existuje; diagram ukazuje, <em>ako je to prepojené</em> a kadiaľ tečú dáta. Odhalí hostí na rovnakom moste, dva vyťažené systémy na jednej karte ako možné úzke miesto alebo VM, ktorá zaplní spojenie, kým ostatné takmer neprenášajú."
},
"groups": {
"heading": "Tri skupiny rozhraní",
"intro": "Tri karty zoskupujú rozhrania podľa úlohy. Hlavička každej uvádza počet aktívnych rozhraní. Farebný štítok označuje <strong>typ</strong> každého rozhrania:",
"badges": [
"Modrá <strong>Fyzická</strong> – skutočné NIC.",
"Zelená <strong>Most</strong> Most Linux alebo most OVS (<code>vmbr*</code>).",
"Fialové <strong>Bond</strong> — agregované rozhranie bond / LACP / active-backup.",
"Tyrkysové <strong>VLAN</strong> — podrozhranie VLAN (<code>vmbr0.10</code>, <code>eno1.42</code>, …)."
],
"clickable": "<strong>Na každý riadok možno kliknúť</strong>: fyzické a virtuálne rozhrania, mosty aj bondy. Nižšie opísaný detail zobrazí základné údaje, IP, počítadlá a históriu RX/TX z úložiska RRD Proxmox.",
"physicalTitle": "Fyzické rozhrania",
"physicalBody": "Fyzické rozhrania rozpoznané jadrom: <code>eno1</code>, <code>enp4s0</code>, <code>eth0</code>, <code>wlp3s0</code> a ďalšie. Každé zariadenie má riadok s modrým štítkom <strong>Physical</strong> a stavom spojenia. Zobrazujú sa aj <em>členovia bondu</em> s odkazom na príslušný bond.",
"bridgeTitle": "Sieťové mosty",
"bridgeBody": "Mosty Linux (<code>vmbr0</code>, <code>vmbr1</code>, …) a OVS spravované Proxmoxom. Každý riadok ukazuje zelený štítok <strong>Bridge</strong>, pri jednom porte fyzické rozhranie a stav mosta. Bondy majú fialový štítok <strong>Bond</strong>, podrozhrania VLAN tyrkysový <strong>VLAN</strong>.",
"vmTitle": "Rozhrania VM / LXC",
"vmBody": "Rozhrania <code>tap*</code> a <code>veth*</code> vytvorené pri spustení hostí, jedno pre každú virtuálnu kartu. Hlavička uvádza <em>X / Y Active</em> a riadky odkazujú na VM/CT v karte VMs a LXCs. Po zastavení hosťa neaktívne záznamy zmiznú pri ďalšom obnovení."
},
"drillIn": {
"heading": "Detail rozhrania",
"intro": "Kliknutím na riadok otvoríte okno s piatimi blokmi:",
"headerBlock": "Blok",
"headerContents": "Obsah",
"rows": [
{
"block": "Základné informácie",
"contents": "Názov, typ (fyzické / most / bond / VLAN / vm), MAC adresa, stav (aktívne / neaktívne), MTU a základné fyzické rozhranie pri virtuálnych typoch."
},
{
"block": "Členovia bondu",
"contents": "Iba pre bondy: každá členská karta s aktívnym alebo chybovým stavom, režim bondu (active-backup / 802.3ad / balance-alb / …) a primárne rozhranie, ak je nastavené."
},
{
"block": "IP adresy",
"contents": "Každá adresa IPv4/IPv6 s dĺžkou predpony. Automaticky nastavené adresy link-local sú uvedené sivou farbou."
},
{
"block": "Historický graf",
"contents": "Rýchlosť RX/TX vo vybranom období (1 hodina / 24 hodín / 7 dní / 30 dní / 1 rok), získaná z <code>/api/network/&lt;interface&gt;/metrics</code> (RRD Proxmox)."
},
{
"block": "Premávka od posledného štartu",
"contents": "Celkový počet bajtov a paketov RX/TX od posledného spustenia hostiteľa a počítadlá chýb a zahodených paketov."
}
],
"inactiveTitle": "Detail neaktívnych rozhraní zostáva dostupný",
"inactiveBody": "Ak je rozhranie <em>neaktívne</em>, okno zobrazí upozornenie „Neaktívne rozhranie“ bez aktuálnych počítadiel. Konfigurácia s adresami a členmi bondu aj história zostanú viditeľné na určenie príčiny a času poruchy."
},
"latency": {
"heading": "Okno Odozva siete",
"intro": "Kliknutím na <em>Odozva siete</em> v hornom riadku otvoríte okno s históriou, testom na požiadanie, tromi cieľmi a správou PDF na stiahnutie.",
"targetsTitle": "Ciele",
"targetsIntro": "Rozbaľovací zoznam hore vyberá cieľ testu ping:",
"targets": [
"<strong>Brána</strong> — smerovač LAN. Testuje iba miestny úsek, aby ste mohli skúmať problémy prepínača alebo kabeláže bez vplyvu WAN.",
"<strong>Cloudflare (1.1.1.1)</strong> — verejný resolver DNS v sieti anycast. Testuje úsek WAN.",
"<strong>Google (8.8.8.8)</strong> — alternatívny verejný cieľ na overenie výsledkov alebo pri regionálnych problémoch Cloudflare."
],
"mode1Title": "Režim 1 — Historické zobrazenie",
"mode1Alt": "Okno odozvy v historickom režime s cieľom Brána, hodinovým intervalom a zobrazenými predchádzajúcimi meraniami",
"mode1Caption": "História odozvy brány za poslednú hodinu. Zberné vlákno teploty a odozvy ukladá merania do databázy každých 60 sekúnd.",
"mode1Body1": "Predvolený režim okna. Druhý zoznam vyberá obdobie (<em>1 hodina / 6 hodín / 24 hodín / 3 dni / 7 dní</em>). Nad grafom sú Aktuálna / Minimum / Priemer / Maximum a stav Výborná / Dobrá / Zvýšená / Zlá podľa prahov uvedených nižšie.",
"mode1Body2": "Zdrojom sú merania, ktorými Health Monitor zisťuje dlhodobé spomalenie siete. Vlákno na pozadí <code>_temperature_collector_loop</code> meria bránu každých 60 sekúnd a ukladá históriu do lokálnej databázy SQLite.",
"mode2Title": "Režim 2 — Test v reálnom čase",
"mode2Alt": "Okno odozvy s priebežným pingom na Cloudflare, priebehom 50 % a pribúdajúcimi meraniami v grafe",
"mode2Caption": "Dvojminútový test voči Cloudflare s meraním každých päť sekúnd, ktoré sa hneď pridá do grafu. <em>Zastaviť</em> ukončí test skôr; <em>Testovať znova</em> pridá merania do rovnakého súboru údajov.",
"mode2Intro": "Prepnutie cieľa na Cloudflare alebo Google spustí na požiadanie ping test. Správanie:",
"mode2Items": [
"<strong>Trvanie</strong> — dve minúty na test s ukazovateľom priebehu a zostávajúcimi sekundami.",
"<strong>Interval</strong> — meranie každých päť sekúnd, 24 meraní na test.",
"<strong>Metóda</strong> — ICMP Echo Request (<code>ping</code>), tri po sebe idúce pingy na meranie s priemernou odozvou.",
"<strong>Zastaviť</strong> — okamžite ukončí test a zachová doterajšie údaje.",
"<strong>Testovať znova</strong> — pridáva merania k existujúcim údajom, aby ste viacerými testami vytvorili dlhšiu históriu.",
"<strong>Ukazovateľ aktuálneho stavu</strong> — prehodnocuje sa po každom meraní podľa rovnakých prahov Výborná / Dobrá / Zvýšená / Zlá."
],
"thresholdsTitle": "Hraničné hodnoty výkonu",
"headerStatus": "Stav",
"headerRange": "Rozsah",
"headerImpact": "Praktický vplyv",
"thresholdRows": [
{
"status": "Výborná",
"range": "< 50 ms",
"impact": "Optimálne pre aplikácie v reálnom čase, herné a video hovory."
},
{
"status": "Dobrá",
"range": "50 – 100 ms",
"impact": "V poriadku pre väčšinu aplikácií, s minimálnym dopadom."
},
{
"status": "Zvýšená",
"range": "100 – 200 ms",
"impact": "Citeľné oneskorenie. Môže ovplyvniť VoIP a interaktívne aplikácie."
},
{
"status": "Zlá",
"range": "> 200 ms",
"impact": "Odozva je výrazne zvýšená. Odporúča sa preveriť sieť."
}
],
"reportTitle": "Správa o latencii siete (PDF)",
"reportIntro": "Oba režimy majú pri výbere cieľa tlačidlo <strong>Správa</strong>. Vytvorí PDF meraní, ktoré môžete priložiť k žiadosti o podporu u poskytovateľa internetu.",
"reportPreviewAlt": "Prvá strana správy PDF o odozve: súhrn, ukazovateľ, štatistiky, graf a vysvetlenie prahov",
"reportPreviewCaption": "Prvá strana obsahuje súhrn, ukazovateľ, hlavné štatistiky, časový priebeh odozvy a vysvetlenie prahov. Od strany 2 nasleduje tabuľka meraní a metodika.",
"downloadLabel": "Stiahnuť príklad správy o odozve (PDF)",
"sectionsIntro": "Správa obsahuje šesť sekcií:",
"sections": [
"<strong>Súhrn</strong> — ukazovateľ od 0 do viac ako 300 ms so zelenou, žltou a červenou zónou; stav Výborná / Dobrá / Zvýšená / Zlá; cieľ, režim, počet meraní a súhrn straty paketov.",
"<strong>Štatistiky odozvy</strong> — štyri ukazovatele pre aktuálnu hodnotu, minimum, priemer a maximum, plus počet meraní, priemerná strata paketov a obdobie testu.",
"<strong>Graf odozvy</strong> — plošný graf meraní počas testu s referenciami minima, priemeru a maxima na zvislej osi.",
"<strong>Prahy výkonu</strong> — rovnaká štvorstupňová škála ako vyššie s farebnou bodkou pre každý stupeň.",
"<strong>Podrobné výsledky</strong> — číslovaná tabuľka s časom, odozvou, stratou paketov a stavom každého merania. Odhalí krátke špičky skryté za priemermi.",
"<strong>Metodika</strong> — ICMP Echo Request, tri po sebe idúce pingy na meranie, názov a IP cieľa a záverečné hodnotenie podľa stavu."
],
"useCaseTitle": "Príklad použitia: podpora poskytovateľa internetu",
"useCaseBody": "Pri spomalení spustite dvojminútový test Cloudflare, predĺžte záznam cez <em>Testovať znova</em> a vyberte <em>Správa</em>. PDF obsahuje všetky merania a metodiku. Môžete ho priložiť k žiadosti o podporu s časmi poruchy; poskytovateľ určuje potrebné dôkazy."
},
"excluding": {
"heading": "Vylúčenie rozhraní z monitorovania",
"body1": "Rozhrania možno vylúčiť z monitorovania, napríklad zámerne vypnuté mosty, testovacie rozhrania alebo odstránené karty, ktoré zostali v konfigurácii. Nastavenie je v <code>excluded_interfaces</code>: Health Monitor pre ne nevytvára varovania ani oznámenia a nezahŕňa ich do celkového stavu.",
"body2": "V kontextovej ponuke vyberte <em>Vylúčiť z monitorovania</em>. Rozhranie zostane viditeľné s fialovým štítkom <strong>vylúčené</strong>. V rovnakej ponuke môžete monitorovanie opäť zapnúť."
},
"dataCollected": {
"heading": "Spôsob zberu údajov",
"headerSection": "Časť karty",
"headerEndpoint": "Koncový bod",
"headerSource": "Zdroj",
"rows": [
{
"section": "Inventár rozhrania",
"endpoint": "/api/network",
"source": "<code>ip -j addr</code> + <code>ip -j link</code> a zisťovanie bondov a mostov."
},
{
"section": "Súhrnné karty",
"endpoint": "/api/network/summary",
"source": "Súhrn inventára a počet aktívnych a neaktívnych rozhraní."
},
{
"section": "História RX/TX jednotlivých rozhraní",
"endpoint": "/api/network/<iface>/metrics",
"source": "Aktuálne počítadlá používajú <code>/proc/net/dev</code>; história grafu pochádza z RRD Proxmox cez pvesh. Rozhrania VM/LXC používajú údaje hosťa, fyzické rozhrania a mosty údaje uzla."
},
{
"section": "Odozva: aktuálna",
"endpoint": "/api/network/latency/current",
"source": "Krátka séria <code>ping</code> na nastavenú bránu alebo cieľ."
},
{
"section": "Odozva: história",
"endpoint": "/api/network/latency/history",
"source": "Merania ukladá zberné vlákno teploty a odozvy na pozadí približne každých 60 sekúnd."
}
],
"codeComment1": "# Overiť stav rozhraní zobrazený v prehľade",
"codeComment2": "# Overiť aktuálne meranie odozvy celej trasy"
},
"whereNext": {
"heading": "Kam ďalej",
"items": [
{
"label": "Monitor zdravia",
"href": "/docs/monitor/health-monitor",
"tail": " — kategória Sieť a prahy histórie odozvy."
},
{
"label": "Referenčná príručka API",
"href": "/docs/monitor/api",
"tail": " — koncové body siete a odozvy."
},
{
"label": "Integrácie",
"href": "/docs/monitor/integrations",
"tail": " — zber Prometheus poskytuje rovnaké sieťové metriky."
},
{
"label": "Index prehľadu",
"href": "/docs/monitor/dashboard",
"tail": " — Ostatné karty."
},
{
"label": "ProxMenux → Sieť",
"href": "/docs/network",
"tail": "— strana akcií: analýza mostov, trvalé názvy rozhraní, zálohovanie a reštart, iperf3."
}
]
}
}
@@ -0,0 +1,246 @@
{
"meta": {
"title": "ProxMenux Monitor — Prehľad: karta Zabezpečenie | Dokumentácia ProxMenux",
"description": "Karta Zabezpečenie združuje ochranné funkcie do dvoch stĺpcov: ProxMenux Monitor (overovanie, SSL/HTTPS, tokeny API, Secure Gateway) a Proxmox VE (firewall, Fail2Ban, audit Lynis). Obsahuje sprievodcu Secure Gateway, postup auditu Lynis a inštaláciu a nastavenie pravidiel Fail2Ban."
},
"header": {
"title": "Prehľad: karta Zabezpečenie",
"description": "Bezpečnostné funkcie sú rozdelené do dvoch blokov: nastavenia samotného Monitora (overovanie, SSL, tokeny, Secure Gateway) a nastavenia sledovaného hostiteľa Proxmox (firewall, Fail2Ban, Lynis).",
"section": "ProxMenux Monitor · Prehľad"
},
"intro": {
"title": "Dve oblasti, jedna karta",
"body": "Karta Zabezpečenie má dve časti: <strong>ProxMenux Monitor</strong> (nastavenia prehľadu) a <strong>Proxmox VE</strong> (nastavenia hostiteľa). Ak Fail2Ban alebo Lynis chýba, jeho karta ponúka inštaláciu; po inštalácii zobrazí ovládacie prvky."
},
"monitor": {
"heading": "ProxMenux Monitor",
"intro": "Štyri karty umožňujú nastaviť prístup k prehľadu a overovanie používateľov."
},
"auth": {
"heading": "Overovanie",
"imageAlt": "Karta overovania so stavom Zapnuté, tlačidlami Odhlásiť sa a Zmeniť heslo, informáciami o dvojfaktorovom overovaní a tlačidlami na jeho zapnutie a vypnutie overovania",
"imageCaption": "Karta so zapnutým overovaním: indikátor stavu, Zmeniť heslo, Zapnúť 2FA a deštruktívna akcia Vypnúť overovanie.",
"intro": "Karta umožňuje spravovať prihlásenie do prehľadu. Prvé spustenie, pravidlá hesiel, nastavenie TOTP a obnovu po strate autentifikátora opisuje časť <link>Prístup a overovanie</link>. Táto karta slúži na každodennú správu týchto nastavení:",
"items": [
"<strong>Stav overovania</strong> — indikátor <em>Zapnuté</em> / <em>Vypnuté</em> / <em>Odmietnuté</em>.",
"<strong>Zmeniť heslo</strong> — aktuálne heslo + nové heslo + potvrdenie.",
"<strong>Zapnúť / Vypnúť dvojfaktorové overovanie</strong> — pri zapnutí otvorí nastavenie s QR kódom, pri vypnutí vyžiada aktuálne heslo.",
"<strong>Vypnúť overovanie</strong> — deštruktívna akcia, ktorá pri ďalšej návšteve znova zobrazí úvodné okno <em>Chrániť prehľad?</em>."
]
},
"ssl": {
"heading": "SSL / HTTPS",
"imageAlt": "Karta SSL/HTTPS so stavom HTTP bez SSL, zisteným certifikátom hostiteľa Proxmox s držiteľom, vydavateľom a platnosťou a možnosťami použiť certifikát Proxmox alebo vlastný certifikát",
"imageCaption": "Karta SSL/HTTPS s vypnutým HTTPS. Monitor zistí certifikát nainštalovaný na hostiteľovi Proxmox a umožní ho použiť jedným kliknutím. Pre vlastné súbory uložené inde je k dispozícii <em>Použiť vlastný certifikát</em>.",
"intro": "Sprístupní prehľad cez HTTPS bez reverzného proxy. Karta zistí certifikát používaný Proxmoxom v <code>/etc/pve/local/</code> a zobrazí držiteľa, vydavateľa a platnosť na kontrolu pred zapnutím. HTTPS možno zapnúť dvoma spôsobmi:",
"items": [
"<strong>Použiť certifikát Proxmox</strong> — Monitor jedným kliknutím použije certifikát hostiteľa. Vhodné, ak PVE aj prehľad používajú rovnaký názov DNS.",
"<strong>Použiť vlastný certifikát</strong> — vložte absolútne cesty k certifikátu <code>.pem</code> a súkromnému kľúču <code>.key</code>. Pred reštartom služby sa overia. Ak načítanie zlyhá, prehľad sa automaticky vráti na HTTP a zostane dostupný."
],
"enabledAlt": "Karta SSL/HTTPS so zapnutým HTTPS, aktívnym certifikátom s cestami k pve-ssl.pem a pve-ssl.key a tlačidlom Vypnúť HTTPS",
"enabledCaption": "HTTPS je zapnuté — karta zobrazuje používaný certifikát, cesty k súborom a akciu <em>Vypnúť HTTPS</em>, ktorá obnoví HTTP na rovnakom porte.",
"acmeTitle": "ACME / Let's Encrypt cez Proxmox",
"acmeBody": "Ak má uzol Proxmox nastavený Let’s Encrypt v <em>Datacenter → Certifikáty → ACME</em>, prehľad po kliknutí na <em>Použiť certifikát Proxmox</em> použije rovnaký certifikát, ktorý hostiteľ poskytuje prehliadačom. Samostatné nastavenie ACME pre Monitor nie je potrebné.",
"walkthroughLink": "Podrobný postup v časti <link>HTTPS pre ProxMenux Monitor</link> vysvetľuje zistenie certifikátu ACME, údaje zapisované na disk a použitie vlastnej dvojice <code>.pem</code> / <code>.key</code>."
},
"apiTokens": {
"heading": "Prístupové tokeny API",
"emptyAlt": "Prázdna karta prístupových tokenov API s informáciami o tokenoch a tlačidlom Vygenerovať nový token API",
"emptyCaption": "Karta tokenov po novej inštalácii. Pole <em>O tokenoch API</em> vysvetľuje platnosť, použitie a vloženie tokenu do hlavičiek <code>Authorization: Bearer</code>.",
"intro": "Tokeny platné jeden rok pre bezobslužné integrácie: widgety Homepage, senzory REST v Home Assistant, zber dát pre Grafana, toky n8n a vlastné skripty. Karta prechádza tromi stavmi: prázdna → formulár → vygenerovaný token.",
"generateBody": "<strong>Vygenerujte token.</strong> Kliknite na <em>Vygenerovať nový token API</em>. Zadajte opisný <em>názov tokenu</em>, aby ste ho neskôr rozpoznali v zozname, a svoje <em>heslo</em> na dodatočné potvrdenie. Pri zapnutom 2FA je potrebný aj aktuálny kód TOTP.",
"generateAlt": "Formulár na vytvorenie tokenu API s poľami Názov tokenu a Heslo a tlačidlami Vygenerovať token a Zrušiť",
"generateCaption": "Formulár na vytvorenie tokenu API: zadajte názov a potvrďte heslom a pri zapnutom 2FA aj kódom TOTP.",
"saveBody": "<strong>Token ihneď uložte.</strong> Celá hodnota tokenu sa po vytvorení zobrazí <strong>iba raz</strong>. Karta na to upozorňuje oranžovým oznámením a tlačidlom kopírovania. Neskôr ju nemožno získať; v zozname aktívnych tokenov uvidíte len predponu.",
"generatedAlt": "Vygenerovaný token API so skrytou hodnotou, tlačidlom kopírovania, pokynmi pre hlavičku Authorization: Bearer a zoznamom aktívnych tokenov s predponami",
"generatedCaption": "Token je vygenerovaný: hodnota sa zobrazí iba raz spolu s tlačidlom kopírovania a presným vzorom <code>Authorization: Bearer</code>. Zoznam aktívnych tokenov nižšie uchováva názov, predponu a dátum vytvorenia, aby ste mohli tokeny jednotlivo odvolať.",
"outro": "Každý aktívny token má tlačidlo <em>Odvolať</em>. Odvolanie ho okamžite zneplatní a integrácie, ktoré ho používajú, prestanú fungovať. Príklady pre Homepage, Home Assistant, n8n a Prometheus sú v časti <link>Integrácie</link>."
},
"gateway": {
"heading": "Secure Gateway",
"cardAlt": "Karta Secure Gateway pred prvým nasadením s tlačidlom Nasadiť Secure Gateway",
"cardCaption": "Karta Secure Gateway po novej inštalácii: jedným tlačidlom spustíte sprievodcu.",
"intro": "Pristupujte k prehľadu, webovému rozhraniu Proxmox a hosťovským systémom odkiaľkoľvek v sieti <a>Tailscale</a> bez sprístupnenia portov na internete. Monitor na hostiteľovi nasadí kontajner LXC Alpine s <code>tailscaled</code> ako smerovačom podsiete. Po schválení v konzole Tailscale môžu vzdialené zariadenia pristupovať k LAN IP hostiteľa odkiaľkoľvek.",
"wizardTitle": "Sprievodca krok za krokom",
"wizardIntro": "Pred kliknutím na <em>Deploy Secure Gateway</em> vygenerujte overovací kľúč v konzole Tailscale. Sprievodca ho vyžiada v kroku 2.",
"step0Title": "0. Vygenerovať overovací kľúč Tailscale",
"step0Body": "Prihláste sa na <a>login.tailscale.com/admin/settings/keys</a> a kliknite na <em>Generate auth key…</em>. Vyberte <em>vopred overený</em> kľúč, aby brána nevyžadovala interaktívne prihlásenie do Tailscale. Hodnotu skopírujte; zobrazí sa iba raz.",
"step0Alt": "Stránka Settings → Keys v konzole Tailscale so zvýrazneným tlačidlom Generate auth key",
"step0Caption": "Konzola Tailscale — <em>Settings → Keys → Generate auth key…</em>. Ak ešte nemáte účet, vytvorte si bezplatný účet Tailscale cez odkaz v sprievodcovi.",
"step1Title": "1. Otvorte sprievodcu",
"step1Body": "Vráťte sa na kartu Zabezpečenie a kliknite na <em>Deploy Secure Gateway</em>. Prvý krok predstavuje funkcie a požiadavky.",
"step1Alt": "Úvod sprievodcu Secure Gateway: prístup cez VPN bez presmerovania portov a s koncovým šifrovaním",
"step1Caption": "Krok 1 — prehľad funkcií Secure Gateway a pripomenutie, že budete potrebovať bezplatný účet Tailscale.",
"step2Title": "2. Overenie v Tailscale",
"step2Body": "Vložte overovací kľúč z kroku 0 a vyberte názov hostiteľa. Pod týmto názvom sa brána zobrazí v konzole Tailscale, zvyčajne <code>proxmox-gateway</code> alebo názov uzla.",
"step2Alt": "Krok sprievodcu Secure Gateway s poľami pre overovací kľúč Tailscale a názov hostiteľa zariadenia a odkazom na vytvorenie kľúča",
"step2Caption": "Krok 2: vložte vopred overený kľúč a vyberte názov hostiteľa. Ak ste vynechali krok 0, odkaz pod poľom otvorí príslušnú stránku Tailscale.",
"step3Title": "3. Rozsah prístupu",
"step3Intro": "Vyberte si, čo môže vaša sieť dosiahnuť cez bránu:",
"step3Items": [
"<strong>Iba Proxmox</strong> — iba rozhranie Proxmox a Monitor. Najmenšia plocha útoku.",
"<strong>Celá lokálna sieť</strong> — celá podsieť LAN, automaticky zistená z hlavného rozhrania hostiteľa. Umožní prístup k NAS, tlačiarňam, VM a ostatným zariadeniam LAN.",
"<strong>Vlastné podsiete</strong> — zadajte konkrétne rozsahy CIDR. Pre prostredia s viacerými VLAN, v ktorých chcete sprístupniť iba vybrané segmenty."
],
"step3Alt": "Krok Rozsah prístupu v sprievodcovi Secure Gateway s možnosťami Iba Proxmox, Celá lokálna sieť a Vlastné podsiete",
"step3Caption": "Krok 3: vyberte rozsah prístupu. <em>Celá lokálna sieť</em> automaticky vyplní zistenú podsieť LAN.",
"step4Title": "4. Pokročilé možnosti (nepovinné)",
"step4Intro": "Dva voliteľné prepínače, oba <strong>predvolene vypnuté</strong>:",
"step4Items": [
"<strong>Výstupný uzol</strong> — po zapnutí a výbere na vzdialenom zariadení odchádza všetka jeho internetová komunikácia cez WAN hostiteľa Proxmox. Pri cestovaní tak telefón využíva vašu domácu internetovú prípojku.",
"<strong>Prijímať trasy</strong> — umožní bráne pristupovať k sieťam oznamovaným <em>inými</em> smerovačmi podsietí v sieti Tailscale, napríklad pri viacerých lokalitách."
],
"step4Alt": "Krok Pokročilé možnosti v sprievodcovi Secure Gateway s políčkami Exit Node a Accept Routes",
"step4Caption": "Krok 4: Exit Node a Accept Routes. Obe možnosti nechajte vypnuté, ak potrebujete iba prístup k prehľadu z telefónu alebo notebooku.",
"step5Title": "5. Skontrolovať a nasadiť",
"step5Body": "Záverečný súhrn pred nasadením. Sprievodca pripomína následný ručný krok v konzole Tailscale: <strong>schváliť trasu podsiete</strong>.",
"step5Alt": "Krok Skontrolovať a nasadiť v Secure Gateway so súhrnom názvu hostiteľa, režimu prístupu, sietí, Exit Node a Accept Routes a tlačidlom Nasadiť bránu",
"step5Caption": "Krok 5 — skontrolujte konfiguráciu a spustite nasadenie. Modré upozornenie dole pripomína čakajúce schválenie trasy.",
"approvalTitle": "Posledný manuálny krok v Tailscale admin",
"approvalBody": "Po nasadení otvorte <a>login.tailscale.com/admin/machines</a> a schváľte trasu podsiete oznamovanú bránou. Dovtedy vzdialené zariadenia v sieti Tailscale nedosiahnu cez bránu na IP adresy LAN. Čakajúce trasy sú v riadku zariadenia označené žltým upozornením. Kliknite na <em>Edit route settings</em> a zaškrtnite trasu."
},
"pve": {
"heading": "Proxmox VE",
"intro": "Ochrana hostiteľa: firewall, prevencia prienikov a bezpečnostný audit. Karty Fail2Ban a Lynis ponúkajú inštaláciu chýbajúcich nástrojov a potom zobrazia ovládanie ich správy."
},
"firewall": {
"heading": "Proxmox Firewall",
"imageAlt": "Karta firewallu Proxmox so stavom klastra a hostiteľa, pravidlami rýchleho prístupu pre Monitor a webové rozhranie Proxmox, počítadlami, zoznamom pravidiel a tlačidlom Pridať pravidlo",
"imageCaption": "Karta firewallu Proxmox: prepínače pre klaster a hostiteľa, bežné porty v časti <em>Pravidlá rýchleho prístupu</em>, počítadlá v časti <em>Prehľad pravidiel</em> a celý zoznam s tlačidlom <em>+ Pridať pravidlo</em>.",
"intro": "Karta spravuje konfiguráciu firewallu Proxmox VE. Klasický backend používa <code>iptables</code>, alternatívny <code>nftables</code>. Nespravuje ľubovoľné pravidlá vytvorené mimo Proxmoxu. Tri bloky:",
"items": [
"<strong>Firewall klastra + firewall hostiteľa</strong> — globálne prepínače. Firewall klastra musí byť zapnutý, aby sa uplatnili pravidlá hostiteľa. Karta túto závislosť uvádza priamo pri nastavení.",
"<strong>Pravidlá rýchleho prístupu</strong> — pripravené riadky pre <code>8008/TCP</code> (Monitor) a <code>8006/TCP</code> (webové rozhranie Proxmox) so stavom povolené, blokované alebo nechránené. Rozhranie Proxmox povoľuje <em>vstavané</em> makro firewallu, ktoré nemožno omylom odstrániť.",
"<strong>Prehľad pravidiel</strong> — počítadlá všetkých pravidiel, pravidiel accept, pravidiel drop/reject a rôznych chránených portov. Údaje sa čítajú z <code>/etc/pve/firewall/cluster.fw</code> a <code>/etc/pve/nodes/&lt;node&gt;/host.fw</code>.",
"<strong>Pravidlá firewallu</strong> — zoznam s akciou, protokolom, portom, zdrojom a úrovňou. <em>+ Pridať pravidlo</em> otvorí editor v karte; ikona koša odstráni pravidlo. Zmeny sa ukladajú do súborov Proxmoxu a zobrazia sa aj v jeho rozhraní (Datacenter / Node → Firewall)."
]
},
"fail2ban": {
"heading": "Fail2Ban",
"subHeading": "(podľa stavu)",
"whatIs": "<strong>Čo to je.</strong> Fail2Ban je služba s otvoreným zdrojovým kódom, ktorá v záznamoch zisťuje opakované neúspešné prihlásenia a blokuje IP adresu pomocou firewallu. Chráni SSH a webové formuláre pred nepretržitými útokmi hrubou silou. ProxMenux nastavuje tri jaily: SSH, webové prihlásenie Proxmox (port 8006) a prihlásenie ProxMenux Monitor (port 8008).",
"notBundled": "Fail2Ban <strong>nie je súčasťou balíka</strong>. Karta zistí, či je nainštalovaný, a prispôsobí sa: ak chýba, ponúkne inštaláciu jedným kliknutím. Po inštalácii zobrazí aktuálny stav jailov a blokované IP adresy a umožní nastaviť počet pokusov aj čas blokovania pre každý jail.",
"notInstalledAlt": "Karta Fail2Ban v stave Nenainštalované s opisom ochrany SSH, webového rozhrania Proxmox a Monitora cez nftables a tlačidlom Nainštalovať a nastaviť Fail2Ban",
"notInstalledCaption": "Karta Fail2Ban pred inštaláciou — modré pole opisuje nastavenia, ktoré inštalácia vykoná.",
"clickBody": "Kliknite na <em>Nainštalovať a nastaviť Fail2Ban</em>. Potvrdzovacie okno vypíše všetky zmeny, ktoré skript vykoná na hostiteľovi:",
"confirmAlt": "Potvrdenie Fail2Ban s agresívnym režimom SSH, ochranou Proxmoxu na porte 8006 a Monitora na porte 8008, zistením nftables, nastavením záznamov journald a zabezpečením SSH MaxAuthTries",
"confirmCaption": "Potvrdenie inštalácie: zoznam jailov, úprava úrovne záznamov journald na čítanie udalostí SSH a dodatočné zabezpečenie SSH (<code>MaxAuthTries=3</code>).",
"confirmIntro": "Po potvrdení panel priebežne zobrazuje inštaláciu: apt, konfiguráciu jailov a testy. Používa rovnaký mechanizmus ako inštalátor CLI ProxMenux.",
"progressAlt": "Panel so záznamom inštalácie Fail2Ban: balík, journald MaxLevelStore pre overovanie, jaily, zistenie nftables, zabezpečenie MaxAuthTries, test komunikácie fail2ban-client a správa o dokončení",
"progressCaption": "Prebieha inštalácia: panel zaznamenáva každý krok. Správa Connection closed na konci označuje ukončenie prenosu.",
"afterInstall": "Po inštalácii karta zobrazuje aktuálny stav: nastavené jaily, blokované IP a posledné blokovania. Karty oddeľujú <em>Jaily a blokované IP</em> od <em>Nedávnej aktivity</em>, ktorá obsahuje posledných N záznamov Fail2Ban.",
"activeAlt": "Aktívna karta Fail2Ban s tromi jailmi (proxmenux, proxmox, sshd), počítadlami blokovaných IP, všetkých blokovaní a neúspešných pokusov a riadkami s pokusmi, dĺžkou blokovania, intervalom a ozubeným kolieskom",
"activeCaption": "Fail2Ban je aktívny: tri predvolené jaily (<code>proxmenux</code>, <code>proxmox</code>, <code>sshd</code>) s nastaveniami počtu pokusov, dĺžky blokovania a intervalu zisťovania.",
"tuneBody": "<strong>Upravte pravidlá jailu.</strong> Ozubeným kolieskom nastavíte <em>Max Retries</em>, <em>Ban Time</em> a <em>Find Time</em>, posuvný interval na počítanie pokusov. Trvalé blokovanie zostáva aktívne až do ručného zrušenia. Formulár vysvetľuje bežné hodnoty.",
"configAlt": "Formulár jailu sshd s Max Retries, Ban Time v sekundách, možnosťou Permanent Ban, Find Time, pomocou pre bežné hodnoty a tlačidlom Uložiť konfiguráciu",
"configCaption": "Úprava jailu sshd: znížte <em>Max Retries</em>, ak SSH používate iba z vlastnej podsiete, alebo predĺžte <em>Ban Time</em> pre prehľad dostupný z internetu.",
"outro": "Návod <em>Inštalácia, nastavenie a odinštalovanie</em> opisuje aj ručnú inštaláciu, zmenu SSH MaxAuthTries a súvislosť so záznamom <code>proxmenux-auth.log</code>. Pozrite <link>ProxMenux → Zabezpečenie → Fail2Ban</link>.",
"calloutTitle": "Bez Fail2Ban tento mechanizmus neblokuje IP adresy",
"calloutBody": "ProxMenux Monitor kontroluje IP adresy blokované Fail2Ban na <em>aplikačnej úrovni</em> pred spracovaním požiadaviek Flask. Volá fail2ban-client a výsledok ukladá do vyrovnávacej pamäte na 30 sekúnd; nečíta tabuľku blokovaní SQL. Bez Fail2Ban sa neúspešné prihlásenia zapisujú do <code>proxmenux-auth.log</code>, ale tento mechanizmus IP adresy neblokuje."
},
"lynis": {
"heading": "Bezpečnostný audit Lynis",
"subHeading": "(podľa stavu)",
"whatIs": "<strong>Čo to je.</strong> Lynis je nástroj bezpečnostného auditu s otvoreným zdrojovým kódom, ktorý vykonáva približne 280 testov hostiteľa: oprávnenia, zabezpečenie jadra, SSH, zraniteľnosti balíkov, kryptografické pravidlá, plánované úlohy, identifikáciu služieb a ďalšie. Vytvorí index zabezpečenia od 0 do 100, varovania a návrhy. Bežne sa používa na hodnotenie serverov založených na Debiane.",
"whyUseful": "<strong>Prečo je to užitočné.</strong> Hodnotiť bezpečnosť čítaním každého konfiguračného súboru je náročné. Lynis odhalí často prehliadané problémy: chýbajúcu ochranu jadra, slabé šifry SSH, netrvalé záznamy alebo <code>NOPASSWD</code> v sudoers pre predvolené účty. Opakovanie kontroly po úpravách ProxMenuxu umožní porovnať zlepšenie pomocou skóre.",
"notInstalledAlt": "Karta Lynis v stave Nenainštalované s tlačidlom Nainštalovať Lynis a funkciami: index zabezpečenia, zisťovanie zraniteľností, kontrola súladu a zdroj na GitHube",
"notInstalledCaption": "Karta Lynis pred inštaláciou — modré pole zhŕňa funkcie nástroja.",
"notBundled": "Ani Lynis <strong>nie je súčasťou balíka</strong>. ProxMenux ho inštaluje priamo z oficiálneho zdrojového kódu GitHub namiesto balíka Debian.",
"confirmAlt": "Potvrdzovacie okno Lynis s funkciami: index zabezpečenia, zisťovanie zraniteľností, analýza konfigurácie, kontrola súladu a zdrojový kód z oficiálneho úložiska GitHub",
"confirmCaption": "Potvrdenie inštalácie výslovne uvádza zdroj na GitHube.",
"progressAlt": "Panel priebehu inštalácie Lynis s inštaláciou najnovšej verzie, potvrdením verzie 3.1.6 a správou o dokončení",
"progressCaption": "Prebieha inštalácia: panel priebežne zobrazuje záznam rovnako ako pri Fail2Ban.",
"afterInstall": "Po inštalácii karta zobrazí verziu a prázdnu históriu auditov. Prvú kontrolu spustíte tlačidlom <em>Spustiť bezpečnostný audit</em>.",
"installedAlt": "Karta Lynis po inštalácii s verziou 3.1.6, časom poslednej kontroly, indexom zabezpečenia 0, varovaniami 0, návrhmi 0, prázdnou správou a tlačidlom Spustiť bezpečnostný audit",
"installedCaption": "Lynis je nainštalovaný, audit ešte neprebehol. Ukazovatele zatiaľ zobrazujú nuly.",
"runningAlt": "Karta Lynis počas auditu so správou o prebiehajúcej kontrole, odhadom 2 až 5 minút a vypnutým tlačidlom Prebieha audit",
"runningCaption": "Prebieha audit: tlačidlo zobrazuje indikátor načítavania a karta upozorňuje, že kontrola môže trvať 2 až 5 minút.",
"finishedBody": "Po dokončení karta zobrazí výsledky: index zabezpečenia, varovania, návrhy a zoznam <em>Správy auditu</em> s predchádzajúcimi kontrolami.",
"resultsAlt": "Karta Lynis s indexom 71, rozdelením Lynis 66 a PVE 71, 3 varovaniami, 40 návrhmi, skóre upraveným pre Proxmox 71 zo 100 v pásme Dobré, správami na stiahnutie v PDF a tlačidlom Spustiť bezpečnostný audit",
"resultsCaption": "Príklad výsledkov: index zabezpečenia <strong>71/100 (Dobré)</strong>. Karta zobrazuje pôvodné skóre Lynis (66) a skóre upravené pre Proxmox (71). Úprava závisí od pôvodného skóre a podielu zistení považovaných za očakávané správanie Proxmox VE; nejde o pevné pripočítanie 11 bodov.",
"scoreTitle": "Pôvodné skóre Lynis a skóre upravené pre Proxmox",
"scoreIntro": "Pravidlá Lynis sú určené pre všeobecné systémy Debian. Proxmox sa od niektorých odlišuje z opodstatnených dôvodov, napríklad služby klastra bežia ako root alebo používajú vlastné nastavenia <code>journald</code>. Karta zobrazuje obe skóre, aby ste mohli:",
"scoreItems": [
"Sledovať <em>pôvodné skóre Lynis</em> rovnako ako externí audítori.",
"Sledovať skóre <em>upravené pre Proxmox</em>, vhodnejšie na porovnávanie uzlov v rovnakom klastri."
],
"reportBody": "<strong>Úplná správa.</strong> Tlačidlo <em>PDF</em> pri každom audite stiahne viacstranovú správu: súhrn pre vedenie, informácie o systéme, stav zabezpečenia, vysvetlené varovania, návrhy zoradené podľa vplyvu a zoznam balíkov. Môžete ju priložiť k bezpečnostnej kontrole.",
"reportAlt": "Príklad prvej strany správy PDF Lynis so súhrnom, indexom 71 zo 100, počtom varovaní a návrhov, názvom hostiteľa, jadrom, verziou Lynis, dátumom a prehľadom zabezpečenia",
"reportCaption": "Prvá strana správy: súhrn pre vedenie, informácie o systéme a stav zabezpečenia. Nasledujú podrobné varovania, návrhy a zoznam nainštalovaných balíkov. Ako referencia je priložený <a>príklad PDF</a>.",
"runPeriodically": "Audit spúšťajte pravidelne: po veľkých aktualizáciách Proxmoxu, po úpravách po inštalácii a pred sprístupnením vzdialeného prístupu. Správy si uchovajte; trend je dôležitejší než jedno skóre.",
"outro": "Návod na <em>inštaláciu, nastavenie a odinštalovanie</em> a rozbor príkladu správy nájdete v časti <link>ProxMenux → Zabezpečenie → Lynis</link>."
},
"dataCollected": {
"heading": "Spôsob zberu údajov",
"headerCard": "Karta",
"headerEndpoint": "Koncový bod",
"headerSource": "Zdroj",
"rows": [
{
"card": "Overenie, 2FA, zmena hesla",
"endpoint": "/api/auth/*",
"source": "Lokálna konfigurácia overovania v ~/.config/proxmenux-monitor/auth.json; JWT vydáva Monitor."
},
{
"card": "SSL / HTTPS",
"endpoint": "/api/auth/ssl/*",
"source": "<code>openssl x509</code> na <code>/etc/pve/local/pve-ssl.pem</code> + <code>/etc/proxmenux/ssl_config.json</code>."
},
{
"card": "Zoznam, vytváranie a odvolávanie tokenov API",
"endpoint": "/api/auth/api-tokens",
"source": "Údaje tokenov sú uložené lokálne; nič neopúšťa hostiteľa."
},
{
"card": "Secure Gateway (nasadenie a stav)",
"endpoint": "/api/oci/*",
"source": "Vytvorí kontajner LXC Alpine s <code>tailscaled</code> pomocou <code>pct create</code> / <code>pct exec</code>."
},
{
"card": "Stav a pravidlá firewallu",
"endpoint": "/api/security/firewall/*",
"source": "<code>pve-firewall</code> + <code>/etc/pve/firewall/&lt;cluster|host&gt;.fw</code>."
},
{
"card": "Fail2Ban (iba po nainštalovaní)",
"endpoint": "/api/security/fail2ban/*",
"source": "<code>fail2ban-client status</code>, <code>/var/log/fail2ban.log</code>, <code>/etc/fail2ban/jail.local</code>."
},
{
"card": "Audit Lynis (iba po nainštalovaní)",
"endpoint": "/api/security/lynis/*",
"source": "Spúšťa <code>lynis audit system</code> v pozadí; správa spracovaná z <code>/var/log/lynis-report.dat</code>."
}
]
},
"whereNext": {
"heading": "Kam ďalej",
"items": [
{
"label": "Prístup a overenie",
"href": "/docs/monitor/access-auth",
"tail": " — celé úvodné nastavenie, výber aplikácie 2FA, obnova po strate autentifikátora a príklady reverzného proxy."
},
{
"label": "Integrácie",
"href": "/docs/monitor/integrations",
"tail": " — príklady použitia tokenov API s Homepage, Home Assistant, Prometheus a n8n a celý postup nastavenia Secure Gateway."
},
{
"label": "Referenčná príručka API",
"href": "/docs/monitor/api",
"tailRich": " — všetky koncové body <code>/api/auth</code>, <code>/api/security</code> a <code>/api/oci</code> s metódou, telom požiadavky a príkladmi curl."
},
{
"label": "ProxMenux → Bezpečnosť → Fail2Ban",
"href": "/docs/security/fail2ban",
"tail": " — postup inštalácie, nastavené jaily a ručná inštalácia."
},
{
"label": "ProxMenux → Bezpečnosť → Lynis",
"href": "/docs/security/lynis",
"tail": " — príklad správy, vysvetlenie skóre a kedy audit zopakovať."
}
]
}
}
@@ -0,0 +1,367 @@
{
"meta": {
"title": "ProxMenux Monitor — Prehľad: karta Nastavenia | Dokumentácia ProxMenux",
"description": "Karta Nastavenia spravuje jazyk, poradie navigácie, predvoľby prehľadu, prahy a vylúčenia monitorovania, oznámenia, AI a inventár úprav po inštalácii."
},
"header": {
"title": "Prehľad: karta Nastavenia",
"description": "Jazyk Monitora, poradie navigácie, predvoľby prehľadu, vylúčenia monitorovania, oznámenia, nastavenia AI a aktuálny inventár optimalizácií ProxMenux.",
"section": "ProxMenux Monitor · Prehľad"
},
"intro": {
"title": "Kde sa ukladá každé nastavenie",
"body": "Nastavenia spájajú zobrazenie prehľadu, monitorovanie Health Monitor, odosielanie výstrah a zmeny už vykonané ProxMenuxom na hostiteľovi. Karty odkazujú na podrobnú dokumentáciu; tu nájdete vstupný bod."
},
"interfaceLanguage": {
"heading": "Jazyk rozhrania",
"intro": "Vyberte jazyk <strong>webového rozhrania Monitora</strong>. Zmena platí ihneď, bez reštartu služby či zmeny jazyka terminálových ponúk ProxMenux.",
"items": [
"ProxMenux Monitor v súčasnosti ponúka angličtinu, nemčinu, španielčinu, francúzštinu, taliančinu, portugalčinu, slovenčinu a švédčinu.",
"Pri prvej návšteve použije jazyk prehliadača, ak je podporovaný; inak angličtinu.",
"Zmena výberu upraví jazyk stránky a zosúladí ostatné otvorené karty rovnakého profilu prehliadača.",
"Ak chýba preklad, iba daný text sa zobrazí v angličtine namiesto chybného kľúča alebo zástupného textu."
],
"scopeTitle": "Lokálna predvoľba prehliadača",
"scopeBody": "Výber je uložený v <code>localStorage</code> pod <code>proxmenux-ui-language</code>. Platí pre tento profil prehliadača a zariadenie, nie pre celý uzol. Každý správca si môže vybrať vlastný jazyk."
},
"navigationOrder": {
"heading": "Poradie navigácie",
"intro": "Usporiadajte sedem hlavných položiek: <strong>Prehľad, Aplikácie, VM a LXC, Uzol, Záloha, Terminál a Správa</strong>. Stlačte <strong>Upraviť</strong>, presuňte riadky a uložte.",
"items": [
"Myšou sa presúvanie začne stlačením. Dotyková obrazovka vyžaduje podržanie 250 ms, aby sa odlíšilo od rolovania.",
"Skupiny <strong>Uzol</strong> a <strong>Správa</strong> sa presúvajú celé; ich vnútorné stránky si zachovajú určené poradie.",
"Mobilná ponuka používa rovnaké uložené poradie.",
"<strong>Obnoviť predvolené</strong> obnoví upravované poradie. Zmenu použijete uložením.",
"Nové hlavné karty budúcich verzií sa pridajú na koniec vlastného poradia a zachovajú vaše usporiadanie."
],
"landingTitle": "Prvá položka sa stane úvodnou kartou",
"landingBody": "Monitor otvorí prvú uloženú položku. Pri <strong>Uzol</strong> otvorí Úložisko, pri <strong>Správa</strong> Systémové záznamy. Poradie je v tomto prehliadači pod <code>proxmenux-nav-order</code>, takže každé zariadenie môže mať vlastné usporiadanie."
},
"networkUnits": {
"heading": "Jednotky siete",
"imageAlt": "Karta Jednotky siete s výberom zobrazenia na Bajty",
"imageCaption": "Vyberte bity alebo bajty za sekundu pre všetky sieťové rýchlosti v prehľade.",
"body": "Zobrazuje priepustnosť v <strong>bitoch za sekundu</strong> (Mbps/Gbps) alebo <strong>bajtoch za sekundu</strong> (MB/s/GB/s). Predvolené sú bity ako v špecifikáciách kariet a poskytovateľov; prenosy súborov často používajú bajty. Grafy, štítky a pomôcky sa zmenia ihneď bez obnovenia."
},
"health": {
"heading": "Monitor zdravia",
"intro": "Karta nastavuje <strong>trvanie potlačenia</strong>: ako dlho čakať pred opätovným oznámením zamietnutej výstrahy. Každá kategória — CPU, pamäť, úložisko, disky, sieť, VM, služby PVE, záznamy, aktualizácie a zabezpečenie — má vlastný zoznam:",
"items": [
"<strong>24 h</strong> Predvolené pre väčšinu prechodných kategórií.",
"<strong>72 h</strong> — na stíšenie týchto udalostí na niekoľko dní.",
"<strong>168 h</strong> (1 týždeň) a <strong>720 h</strong> (1 mesiac) — pravidelné kontroly.",
"<strong>8760 h</strong> (1 rok) — stíšenie na dlhé obdobie.",
"<strong>-1</strong> — trvalé stíšenie až do ručného opätovného zapnutia.",
"<strong>Vlastný počet hodín</strong> — celé číslo pre inú požadovanú hodnotu."
],
"imageAlt": "Nastavenia, karta Health Monitor s trvaním podľa kategórie a aktívnymi potlačeniami",
"imageCaption": "Zoznamy určujú trvanie budúcich potlačení. Dolná časť zobrazuje stíšené výstrahy a umožňuje ich znova zapnúť.",
"editTitle": "Režim úprav",
"editBody": "Karta je najprv iba na čítanie. <strong>Upraviť</strong> vpravo hore zapne zoznamy a tlačidlá obnovenia. <strong>Uložiť</strong> naraz použije čakajúce zmeny trvania a obnovenia; <strong>Zrušiť</strong> ich zahodí. Uložiť sa zapne až pri zmenách.",
"activeTitle": "Aktívne potlačenia",
"activeIntro": "Pod trvaním časť <strong>Aktívne potlačenia</strong> uvádza dočasne stíšené výstrahy —24 h, 7 dní alebo iné obdobie— aj <em>trvalé</em>. Každý riadok zobrazuje:",
"activeItems": [
"Farebný odznak: <strong>Trvalo</strong> v jantárovej farbe alebo odpočet, napríklad <strong>zostáva 24 h</strong> / <strong>zostáva 7 dní</strong>, v modrej.",
"Identifikátor výstrahy v čitateľnej forme (napr. <code>pve_storage_full_PBS-Cloud</code> → <em>Plné úložisko PVE: PBS-Cloud</em>).",
"Kategória, závažnosť a čas zamietnutia výstrahy.",
"Tlačidlo <strong>Znova zapnúť</strong> v režime úprav pripraví zrušenie potlačenia pri uložení."
],
"activeReenableTitle": "Ako znova zapnúť výstrahu",
"activeReenableBody": "<strong>Znova zapnúť</strong> pri úprave označí riadok zeleno a prečiarkne identifikátor, ale zmena ešte neplatí. Opätovné kliknutie umožní <strong>Vrátiť späť</strong>. <strong>Uložiť</strong> odošle súbežne <code>POST /api/health/un-acknowledge</code> pre každé obnovenie a odstráni riadky. Ak problém trvá a kategória povoľuje opakovanie, výstraha sa vráti medzi aktívne pri ďalšej kontrole.",
"activePermanentNote": "Trvalé potlačenia cez <em>Natrvalo</em> alebo predvolené trvanie <code>-1</code> <strong>možno zrušiť iba tu</strong>. Hlavné okno toto tlačidlo nemá; táto časť spája zoznam a obnovenie.",
"activeAutoRefreshTitle": "Automatické obnovenie",
"activeAutoRefreshBody": "Zoznam sa obnoví pri zamietnutí alebo zapnutí výstrahy v Health Monitor, pri návrate na kartu a pri zmene viditeľnosti. Stránku netreba načítať znova.",
"calloutTitle": "Podrobnosti na stránke Health Monitor",
"calloutBody": "Eskaláciu, automatické vyriešenie pri zmiznutí zariadenia a rozdiel medzi zamietnutím a vyriešením opisuje <link>Health Monitor → Zamietnutie výstrah a trvanie potlačenia</link>. Táto karta ponúka zoznamy a aktívne potlačenia."
},
"thresholds": {
"heading": "Prahy Health Monitor",
"intro": "Predchádzajúca karta určuje <em>trvanie stíšenia po potlačení</em>; táto nastavuje <strong>hodnotu spustenia výstrahy</strong>. Väčšina kontrol má nastaviteľný <strong>varovný</strong> a <strong>kritický</strong> prah. Tabuľka vysvetľuje výnimky, napríklad kombinované pravidlo swapu a aktuálny detektor RAM.",
"whatForTitle": "Na čo slúži",
"whatForIntro": "Predvolené hodnoty sú východiskom, ale každé prostredie má vlastné podmienky:",
"whatForItems": [
"Homelab s jediným SSD môže varovať skôr, napríklad pri 75/90 %, aby zostalo miesto na snímky.",
"Prahy pamäte majú vychádzať z meraní a záťaže hostiteľa. Redundancia Ceph sama neodôvodňuje miernejšie varovania a vysoké využitie ARC ZFS neznamená neuvoľniteľnú pracovnú pamäť.",
"Teplotné prahy vyberte podľa špecifikácií disku a skutočných podmienok. Pasívne alebo nútené chladenie samo neurčuje univerzálne nižší či vyšší bezpečný limit.",
"Silne virtualizovaný hostiteľ môže pri zostavovaní dosiahnuť špičky CPU bez výstrahy pri každom 80 % výkyve, ale musí upozorniť na trvalé preťaženie."
],
"whatForOutro": "Podporované zmeny platia <strong>pri ďalšej kontrole</strong>. Health Monitor číta <code>/usr/local/share/proxmenux/health_thresholds.json</code> v každom cykle bez reštartu. Niektoré ukazovatele, napríklad teplota diskov, používajú tieto hodnoty; niektoré kapacitné pruhy majú vlastné hranice. Riadok RAM vysvetľuje aktuálnu výnimku.",
"coloursTitle": "Farby stavov Varovanie a Kritické",
"coloursIntro": "Widgety s nastavenou dvojicou Varovanie/Kritické používajú tri stavy nižšie. Iné ukazovatele, napríklad kapacitné pruhy PVE, majú vlastné hranice; samotná farba nedokazuje výstrahu Health Monitor.",
"headerColour": "Farba",
"headerRange": "Rozsah",
"headerMeaning": "Význam",
"colourRows": [
{
"colour": "Zelená",
"range": "Hodnota < varovný prah",
"meaning": "Normálny rozsah. Nevzniká výstraha."
},
{
"colour": "Oranžová",
"range": "Varovný prah ≤ hodnota < kritický prah",
"meaning": "Varovný stav. Health Monitor vytvorí udalosť WARNING; oznámenia rešpektujú filtre kanála a tiché hodiny."
},
{
"colour": "Červená",
"range": "Hodnota ≥ kritický prah",
"meaning": "Kritický stav. Health Monitor vytvorí udalosť CRITICAL, ktorá obíde tiché hodiny. Nastavenia kategórií a udalostí kanála stále platia; doručenie závisí aj od dostupnosti kanála."
}
],
"sectionsTitle": "Časti a odporúčané predvolené hodnoty",
"sectionsIntro": "Sú to úvodné hodnoty ProxMenux, kým ich nezmeníte. Časti nasledujú <em>výpočtovú záťaž</em>, <em>teplotu</em> a <em>kapacitu úložiska</em>, od aktuálnej záťaže po obsadené miesto.",
"headerSection": "Oddiel",
"headerWarning": "Varovný prah",
"headerCritical": "Kritický prah",
"headerGates": "Riadená kontrola",
"thresholdRows": [
{
"section": "Využitie CPU",
"warning": "85 %",
"critical": "95 %",
"gates": "Výstraha trvalej záťaže, keď priemerné využitie CPU prekročí prah počas kontrolného obdobia."
},
{
"section": "Pamäť",
"warning": "85 %",
"critical": "95 %",
"gates": "Tlak na RAM hostiteľa. Nastavenie uvádza kritický prah 95 %, ale aktuálny detektor používa pevné pravidlo trvalých 90 %; zmena nastavenia teraz nemení túto vetvu."
},
{
"section": "Swap (iba kritická hranica)",
"warning": "—",
"critical": "80 %",
"gates": "Swap CRITICAL vyžaduje súčasne viac než 80 % swapu a menej než 15 % dostupnej RAM počas viacerých meraní. Samotný obsadený swap pravidlo nespustí."
},
{
"section": "Teplota CPU",
"warning": "80 °C",
"critical": "90 °C",
"gates": "Teplota puzdra CPU alebo jadier z <code>lm-sensors</code>."
},
{
"section": "Teplota disku — HDD",
"warning": "60 °C",
"critical": "65 °C",
"gates": "Teplota HDD. Predvolene varovanie pri 60 °C a kritické pri 65 °C. Sú to hodnoty monitorovania, nie univerzálny limit výrobcu; overte špecifikácie modelu."
},
{
"section": "Teplota disku — SSD",
"warning": "70 °C",
"critical": "75 °C",
"gates": "SATA SSD vo formáte 2,5 palca alebo M.2. Táto trieda používa predvolene 70/75 °C; skutočné limity závisia od modelu."
},
{
"section": "Teplota disku NVMe",
"warning": "80 °C",
"critical": "85 °C",
"gates": "Teplota NVMe. Táto trieda používa predvolene 80/85 °C. Teplota obmedzovania radiča závisí od modelu a nie je vždy 85 °C."
},
{
"section": "Teplota disku — SAS",
"warning": "55 °C",
"critical": "65 °C",
"gates": "Teplota SAS. Táto trieda používa varovanie pri 55 °C a kritické pri 65 °C. Sú to <em>predvoľby monitorovania</em>, nie dôkaz poruchy chladenia pri 55 °C ani univerzálny limit výrobcu."
},
{
"section": "Miesto na disku — hostiteľ",
"warning": "85 %",
"critical": "95 %",
"gates": "Kapacita <code>/</code> a každého bodu pripojenia hostiteľa (<code>/var/lib/vz</code>, <code>/mnt/*</code>…)."
},
{
"section": "Miesto na disku LXC rootfs",
"warning": "85 %",
"critical": "95 %",
"gates": "Koreňový disk každého kontajnera, hodnotený podľa veľkosti rootfs z PVE."
},
{
"section": "Prípojné body LXC",
"warning": "85 %",
"critical": "95 %",
"gates": "Kapacita pripojení v spustených CT: mp0, mp1, NFS a bind mount. Bez rootfs."
},
{
"section": "PVE úložisko",
"warning": "85 %",
"critical": "95 %",
"gates": "Úložiská spravované PVE: LVM, LVM-thin, ZFS-pool, RBD/Ceph a PBS. Nie všetky sú blokové úložiská."
},
{
"section": "ZFS pool",
"warning": "85 %",
"critical": "95 %",
"gates": "Fondy ZFS na hostiteľovi, nezávisle od registrácie v PVE."
}
],
"defaultsTitle": "Predvolené hodnoty, zmeny a obnovenie",
"defaultsBody": "Každá časť začína predvolenými hodnotami; ukladáte iba želané zmeny. Karta ukazuje <em>platnú</em> hodnotu: vašu zmenu alebo predvoľbu. <strong>Obnoviť</strong> odstráni všetky zmeny vo všetkých častiach.",
"validationTitle": "Overenie",
"validationBody": "Pri ukladaní sa kontrolujú povolené rozsahy a odmietne sa kritický prah pod varovným. Rozhranie zobrazuje chyby a server pred uložením znovu overí požiadavky API."
},
"lxcDetection": {
"heading": "Kontrola aktualizácií v LXC",
"imageAlt": "Karta zisťovania aktualizácií LXC s prepínačom hľadania balíkov v spustených kontajneroch Debian, Ubuntu a Alpine",
"imageCaption": "Prepínač pravidelnej kontroly cez <code>apt list --upgradable</code> / <code>apk list -u</code> v spustených CT. Predvolene zapnutý. Súvisiaci prepínač v Oznámenia → Služby sa zobrazuje pri zapnutej detekcii.",
"intro": "Prepínač medzi Prahmi a Oznámeniami riadi kontrolu LXC. Zapnutý zisťuje balíky spustených CT; Hardvér zobrazuje výsledky a vstupujú do <code>lxc_updates_available</code>. Vypnutý zastaví volania <code>pct exec</code> a odstráni záznamy LXC z <code>managed_installs.json</code>; <code>/api/managed-installs</code> prestane hlásiť stav bez čakania 24 hodín.",
"whatRunsTitle": "Čo kontrola spúšťa",
"whatRunsIntro": "Pre každý CT v stave <code>running</code> s podporovaným správcom balíkov:",
"whatRunsItems": [
"<strong>Aktuálnosť metadát.</strong> Ak je cache apt/apk staršia než <strong>24 hodín</strong>, pokúsi sa o <code>apt-get update -qq</code> na Debian/Ubuntu alebo <code>apk update</code> na Alpine s limitom 60 s. Pri zlyhaní zoznam použije dostupnú, možno zastaranú cache.",
"<strong>Zoznam.</strong> Spustí <code>apt list --upgradable</code> / <code>apk list -u</code> a získa počet balíkov a niekoľko názvov.",
"<strong>Odstránenie duplicít pre CT.</strong> Odtlačok počtu, bezpečnostných aktualizácií a zoradených názvov zabráni dennému opakovaniu rovnakej sady. Významná zmena vyvolá nové oznámenie."
],
"selfUpdateTitle": "CT aktualizované mimo apt môžu hlásiť 0",
"selfUpdateBody": "Detekcia pokrýva iba správcu balíkov CT. Softvér aktualizovaný mimo apt, napríklad nastavená úloha <code>plexupdate</code> alebo obrazy získané cez <code>docker pull</code>, sa nepočíta. Nula aktualizácií apt nedokazuje aktuálnosť všetkých aplikácií. Balíky základného systému sa naďalej zisťujú.",
"refreshTitle": "Prečo obnovovať metadáta po 24 hodinách",
"refreshBody": "Dlho bežiaci CT môže mať staré metadáta apt, ak nikto nespúšťa <code>apt update</code>. <code>apt list --upgradable</code> potom môže prehliadnuť nové aktualizácie. ProxMenux skúsi obnovu po 24 hodinách a pri novšej cache ju vynechá.",
"toggleTitle": "Prepínač oznámení pri zapnutej detekcii",
"toggleBody": "Prepínač <code>lxc_updates_available</code> pre každý kanál v <strong>Oznámenia → Služby</strong> sa zobrazuje iba pri zapnutej detekcii. Vypnutie skryje riadok vo všetkých kanáloch. Voľba zostáva v databáze a po zapnutí sa obnoví pôvodná hodnota.",
"purgeTitle": "Čo sa odstráni pri vypnutí detekcie",
"purgeBody": "Vypnutie ihneď odstráni záznamy <code>type=lxc</code> z <code>/usr/local/share/proxmenux/managed_installs.json</code>. Po obnovení Hardvér prestane zobrazovať počty aktualizácií LXC. Po zapnutí register naplní ďalší cyklus, prípadne skoršie ručné obnovenie cez API."
},
"storageExclusions": {
"heading": "Vylúčené vzdialené úložiská",
"imageAlt": "Karta vylúčení vzdialených úložísk PBS-Cloud, PBS a PBS2 s prepínačmi Stav a Výstrahy pre každý riadok",
"imageCaption": "Prepínače <em>Stav</em> a <em>Výstrahy</em> pre každé úložisko. Ak sú oba vypnuté, úložisko sa nehodnotí v Health Monitor a neposiela oznámenia. Na karte Úložisko zostáva viditeľné ako vylúčené.",
"intro": "Úložiská spravované Proxmoxom (NFS / CIFS / PBS / Ceph / iSCSI / atď.) môžete vylúčiť dvoma nezávislými prepínačmi:",
"items": [
"<strong>Stav</strong> — vypnutie prepínača vyradí úložisko z kategórie Úložisko v Health Monitor. Užitočné pre zväzky archívu, ktoré bývajú offline, alebo vzdialené ciele záloh zapínané iba podľa plánu.",
"<strong>Výstrahy</strong> — vypnutie zastaví oznámenia o tomto úložisku cez nastavené kanály, aj pri zapnutých kontrolách stavu. Užitočné, ak chcete sledovať stav na paneli bez oznámení."
],
"outro": "Vylúčené úložiská zostávajú na <link>karte Úložisko</link> s fialovým odznakom <em>vylúčené</em>, aby nezmizli z inventára. Stav sa ukladá do tabuľky SQLite <code>excluded_storages</code>."
},
"interfaceExclusions": {
"heading": "Vylúčené sieťové rozhrania",
"imageAlt": "Karta vylúčení rozhraní vmbr0, vmbr1, vmbr2, bond0 a eno1 s prepínačmi Stav a Výstrahy pre každé rozhranie",
"imageCaption": "Rovnako ako pri úložisku má každé rozhranie prepínače <em>Stav</em> a <em>Výstrahy</em>. Riadok zobrazuje názov, typ (most / agregácia / fyzické), IP a rýchlosť spojenia.",
"intro": "Rovnaký princíp platí pre rozhrania: každé možno vylúčiť z kontrol stavu, oznámení alebo oboch. Bežné príklady:",
"items": [
"Zámerne vypnutý záložný most.",
"Fyzicky odstránená sieťová karta, ktorá zostáva uvedená v <code>/etc/network/interfaces</code>.",
"Podrozhranie VLAN používané iba počas údržby.",
"Správcovský most so známymi opakovanými zmenami stavu spojenia počas údržby."
],
"outro": "Stav sa ukladá do tabuľky SQLite <code>excluded_interfaces</code>. Fialový odznak <em>vylúčené</em> na <link>karte Sieť</link> ponechá vylúčené rozhrania viditeľné."
},
"notifications": {
"heading": "Oznámenia a AI",
"body1": "Tu zapnete oznámenia ProxMenux Monitor a preformulovanie pomocou AI. <em>Zapnúť oznámenia</em> spustí odosielanie na pozadí, zaregistruje cieľ webhooku Proxmox VE na príjem jeho udalostí a otvorí nastavenia kanálov Telegram, Discord, email, Gotify a ďalších. AI je v rozbaľovacej rozšírenej časti toho istého panela.",
"body2": "Možnosti vysvetľujú samostatné stránky: kanály, prepínače udalostí, formátované správy, zobrazované meno, odosielanie s odstránením duplicít, odstupom, zoskupením a tichým časom, webhook PVE, poskytovatelia AI a režimy pokynov:",
"items": [
"<notifLink>Oznámenia</notifLink>: nastavenie kanálov (Telegram, Discord, Gotify, email a heslá aplikácií Gmail / Microsoft, ntfy, Slack, Teams a všeobecný webhook), kategórie udalostí, formátované správy, zobrazované meno, odosielanie, webhook PVE, história a API.",
"<aiLink>Asistent AI</aiLink>: poskytovatelia (OpenAI, Anthropic, Gemini, Groq, OpenRouter, Ollama), modely, predvolené alebo vlastné pokyny, jazyk výstupu, podrobnosť pre kanály a návrhy AI."
]
},
"optimizations": {
"heading": "Optimalizácie ProxMenux",
"intro": "Inventár optimalizácií po inštalácii zaznamenaných ProxMenuxom na hostiteľovi. Voľby z <autoLink>Automatizované úpravy po inštalácii</autoLink> a <customLink>Prispôsobiteľné úpravy po inštalácii</customLink> zaznamenajú použitie v <code>/usr/local/share/proxmenux/installed_tools.json</code>. Monitor číta tento register. Záznam znovu nekontroluje, či všetky nastavenia zostali nezmenené.",
"imageAlt": "Karta optimalizácií ProxMenux so 14 záznamami: farebná bodka, názov a verzia. Obsahuje APT IPv4 Force, Bashrc Customization, Fastfetch, Log2ram SSD Protection, Memory Settings Optimization, Setting persistent network interfaces, System Limits Increase, APT Language Skip, Entropy Generation haveged s Legacy, Kernel Panic Configuration, Logrotate Optimization, Network Optimizations, Subscription Banner Removal a VFIO IOMMU Passthrough.",
"imageCaption": "Každá optimalizácia zobrazuje názov, verziu a farebnú bodku. Vpravo hore je oranžový počet <em>14 aktívnych</em>. Nástroje s dostupným zdrojovým kódom možno otvoriť.",
"dotsTitle": "Čo znamenajú bodky",
"dotsItems": [
"<green/> <strong>Zelená bodka</strong>: zaznamenaná optimalizácia bez označenia Legacy a dostupnej aktualizácie. Kliknite na riadok, ak je dostupný zdrojový kód.",
"<amber/> <strong>Jantárová bodka a odznak <em>legacy</em></strong>: zaznamenaná optimalizácia, ktorej skript bol premenovaný alebo nahradený. Zachovaný kód sa otvorí v režime Legacy s jantárovým zvýraznením. Aktuálnu konfiguráciu hostiteľa znovu neoveruje."
],
"clickTitle": "Otvorenie zdrojového kódu",
"clickBody": "Kliknutie otvorí priradenú funkciu bash a názov skriptu (<code>auto_post_install.sh</code> alebo <code>customizable_post_install.sh</code>). Aktuálne nástroje sa získavajú zo súborov hostiteľa, staršie môžu používať zachovaný kód. Pomáha zvýraznenie syntaxe a Kopírovať. Nejde o zaručenú snímku presného kódu spusteného pri inštalácii.",
"detailAlt": "Okno kódu APT IPv4 Force s funkciou bash force_apt_ipv4 z customizable_post_install.sh verzie 1.0. Zvýraznený kód nastavuje /etc/apt/apt.conf.d/99-force-ipv4 pomocou Acquire ForceIPv4 true, registruje nástroj a zobrazuje preloženú správu o dokončení konfigurácie APT IPv4.",
"detailCaption": "Kód <em>APT IPv4 Force</em>: funkcia <code>force_apt_ipv4()</code> z <code>customizable_post_install.sh v1.0</code> so zvýraznením syntaxe a kopírovaním jedným kliknutím.",
"whyTitle": "Prečo na tom záleží",
"whyBody": "ProxMenux môže meniť parametre jadra, repozitáre, sieť, rotáciu protokolov a odovzdanie GPU. Pred ručnými zmenami si pozrite zaznamenané optimalizácie, najmä ak hostiteľa nastavil iný správca. Karta ukazuje register a dostupný kód; neoveruje všetky aktuálne nastavenia ani neuchováva presnú históriu vykonania.",
"updatesTitle": "Oznam dostupných aktualizácií",
"updatesBody": "Ak je verzia optimalizácie na disku novšia než zaznamenaná na hostiteľovi, zobrazí sa oznam s počtom a <strong>Použiť</strong>. <strong>Použiť</strong> otvorí výber optimalizácií, rovnako ako <em>Použiť dostupné aktualizácie</em> v ponuke po inštalácii. Vyberte aktualizácie; ProxMenux znova spustí funkcie a upraví register. Keď je všetko aktuálne, oznam zmizne.",
"updatesAlt": "Karta optimalizácií ProxMenux s oznamom dostupných aktualizácií, ich počtom a tlačidlom Použiť na otvorenie výberu",
"updatesCaption": "Oznam sa objaví, ak má aspoň jedna optimalizácia novšiu verziu na disku. Pozrite <link>Použiť dostupné aktualizácie</link> pre celý postup a zodpovedajúcu voľbu Path-A v ponuke shellu.",
"revertTitle": "Vrátenie optimalizácie späť",
"revertBody": "Optimalizáciu vrátite späť príslušnou voľbou <link>Odinštalovať optimalizácie</link> v ponuke ProxMenux Scripts. Odinštalovanie odstráni záznam z <code>installed_tools.json</code> a pri ďalšom obnovení zmizne z karty."
},
"dataCollected": {
"heading": "Spôsob zberu údajov",
"headerCard": "Karta",
"headerEndpoint": "Koncový bod",
"headerSource": "Zdroj",
"rows": [
{
"card": "Jazyk rozhrania",
"endpoint": "localStorage",
"source": "Voľba prehliadača <code>proxmenux-ui-language</code>; ak nie je uložený výber, najprv sa použije jazyk prehliadača."
},
{
"card": "Poradie navigácie",
"endpoint": "localStorage",
"source": "Voľba prehliadača <code>proxmenux-nav-order</code>; určuje aj úvodnú kartu."
},
{
"card": "Jednotky siete",
"endpoint": "/api/settings",
"source": "Uložené v tabuľke nastavení SQLite panela."
},
{
"card": "Trvanie v Health Monitor",
"endpoint": "/api/health/settings",
"source": "Trvanie potlačenia podľa kategórie v databáze Health Monitor."
},
{
"card": "Vylúčenie úložiska / rozhrania",
"endpoint": "/api/storage/exclusions, /api/network/exclusions",
"source": "SQLite tabuľky <code>excluded_storages</code> a <code>excluded_interfaces</code>."
},
{
"card": "Panel Oznámenia a AI",
"endpoint": "/api/notifications/*",
"source": "Pozrite <notifLink>Oznámenia</notifLink> a <aiLink>Asistent AI</aiLink>."
},
{
"card": "Zoznam optimalizácií ProxMenux",
"endpoint": "/api/proxmenux/installed-tools",
"source": "Číta <code>/usr/local/share/proxmenux/installed_tools.json</code>, kam zapisujú volania <code>register_tool</code> v skriptoch po inštalácii."
},
{
"card": "Okno kódu optimalizácie",
"endpoint": "/api/proxmenux/tool-source",
"source": "Získa priradenú funkciu bash z <code>auto_post_install.sh</code> alebo <code>customizable_post_install.sh</code> na hostiteľovi; staršie nástroje môžu používať zachovaný kód."
}
]
},
"whereNext": {
"heading": "Kam ďalej",
"items": [
{
"label": "Záložka aplikácií",
"href": "/docs/monitor/dashboard/apps",
"tail": " — spúšťač, ktorého polohu určíte v poradí navigácie."
},
{
"label": "Oznámenia",
"href": "/docs/monitor/notifications",
"tail": " — kanály, prepínače udalostí, vlastné nastavenia kanálov, história a skúšobné odoslanie."
},
{
"label": "AI asistent",
"href": "/docs/monitor/ai-assistant",
"tail": " — poskytovatelia, modely, režimy pokynov, jazyky a podrobnosť pre kanály."
},
{
"label": "Health Monitor → Potlačenie výstrah a jeho trvanie",
"href": "/docs/monitor/health-monitor#dismissing-alerts-and-the-suppression-duration",
"tail": " — ako fungujú vyššie uvedené zoznamy trvania podľa kategórie."
},
{
"label": "ProxMenux Scripts → Automatizované úpravy po inštalácii",
"href": "/docs/post-install/automated",
"tailRich": " a <customLink>Prispôsobiteľné úpravy po inštalácii</customLink> — skripty, ktoré zapisujú optimalizácie do vyššie uvedeného zoznamu."
},
{
"label": "Odinštalovať optimalizácie",
"href": "/docs/post-install/uninstall",
"tail": " — ako vrátiť späť vyššie zaznamenanú optimalizáciu."
},
{
"label": "Prehľad panela",
"href": "/docs/monitor/dashboard",
"tail": " — späť na prehľad kariet."
}
]
}
}
@@ -0,0 +1,268 @@
{
"meta": {
"title": "ProxMenux Monitor — Prehľad: karta Úložisko | Dokumentácia ProxMenux",
"description": "Karta Úložisko spája štyri zobrazenia: úložiská Proxmox so stavom, pooly ZFS, interné disky so SMART a externé disky USB. Detail disku ukazuje atribúty SMART, opotrebovanie, životnosť a trvalú históriu pozorovaní."
},
"header": {
"title": "Prehľad: karta Úložisko",
"description": "Úložiská hostiteľa na jednej obrazovke: NFS / CIFS / LVM / ZFS / dir Proxmox, stav poolov ZFS, interné disky SATA/NVMe so SMART a externé disky USB. Kliknutím na disk zobrazíte atribúty SMART a históriu pozorovaní.",
"section": "ProxMenux Monitor · Prehľad"
},
"intro": {
"title": "Podporované tromi zdrojmi",
"body": "Úložiská Proxmox pochádzajú z <code>pvesm status</code>, ZFS zo <code>zpool status</code>, disky z <code>lsblk</code> + <code>smartctl</code> a polia NVMe z <code>nvme</code>. Karta sa obnovuje približne každých 60 sekúnd; otvorenie detailu vyžiada načítanie SMART."
},
"thresholds": {
"title": "Farby stavu a prahové hodnoty, ktoré sa tu uplatňujú",
"intro": "Health Monitor hodnotí stav ako <green/> <strong>zelený</strong> pod varovaním, <amber/> <strong>oranžový</strong> medzi varovaním a kritickým prahom a <red/> <strong>červený</strong> od kritického prahu. Nasledujú predvolené hodnoty. Jednotlivé pruhy môžu používať iné farebné hranice opísané nižšie.",
"items": [
"<strong>Kapacita</strong> (disky hostiteľa, úložiská PVE, pooly ZFS, pripojenia LXC) — varovanie 85 %, kritické 95 %.",
"<strong>Teplota disku</strong> HDD 60/65 °C · SSD 70/75 °C · NVMe 80/85 °C · SAS 55/65 °C (varovanie/kritické)."
],
"outro": "Každú hodnotu možno nastaviť pre hostiteľa. <link>Nastavenia → Prahy Health Monitor</link> uvádza rozhodujúce hodnoty a vysvetľuje ich úpravu."
},
"topRow": {
"heading": "Horný riadok: prehľad úložísk",
"intro": "Po otvorení štyri karty zhŕňajú celkovú kapacitu, miestne využitie, vzdialené využitie a zoznam fyzických diskov. Poskytujú rýchle odpovede; karty nižšie obsahujú podrobnosti.",
"imageAlt": "Karta Úložisko so štyrmi kartami: celková kapacita, miestne využitie, vzdialené využitie a fyzické disky",
"imageCaption": "Horný riadok: celková kapacita a počet diskov, miestne a vzdialene použité bajty a fyzické disky podľa typu so súhrnom stavu.",
"headerCard": "Karta",
"headerWhat": "Čo ukazuje",
"totalLabel": "Celková kapacita",
"totalWhat": "Celková hrubá kapacita všetkých fyzických diskov. Päta uvádza počet zistených diskov.",
"localLabel": "Lokálne využité",
"localWhat": "Použité bajty na miestnych úložiskách: LVM / LVM-thin / ZFS / dir na diskoch hostiteľa. Hlavná hodnota ukazuje použité bajty a päta <em>X.XX % z Y TB</em> aj percento zaplnenia.",
"remoteLabel": "Vzdialené využitie",
"remoteWhat": "Rovnaký formát ako miestne využitie pre vzdialené úložiská NFS / CIFS / PBS / Ceph / iSCSI. Počítajú sa oddelene, pretože miestne a vzdialené poruchy majú iný dosah a zdroje sa plánujú a monitorujú odlišne.",
"disksLabel": "Fyzické disky",
"disksIntro": "Dva riadky členenia pre súpis:",
"disksItems": [
"<strong>Podľa typu</strong> — počet NVMe fialovo, SSD a HDD modro. Zobrazujú sa zistené typy; hostiteľ iba s NVMe ukazuje len tento počet.",
"<strong>Podľa stavu</strong> — počet <em>normálnych</em> diskov zeleno, s <em>varovaním</em> žlto a <em>kritických</em> červeno. Bez problémov sa ukáže len „X normálnych“; ďalšie stavy sa zobrazia pri zistení problému."
]
},
"pveStorage": {
"heading": "Skladovacia karta Proxmox",
"intro": "Riadok pre každé úložisko z <code>/etc/pve/storage.cfg</code> s typom (<code>nfs</code> / <code>cifs</code> / <code>zfspool</code> / <code>lvm</code> / <code>lvmthin</code> / <code>dir</code> / <code>pbs</code>), názvom, stavom aktívne/chyba/nemonitorované, percentom využitia a farebným pruhom:",
"items": [
"<strong>Do 75 %</strong> — modrý pruh a hodnota.",
"<strong>Nad 75 % do 90 %</strong> — žltý pruh a hodnota. Farebné hranice sú oddelené od prahov Health Monitor.",
"<strong>> 90 %</strong> — červený pruh a hodnota. Táto farebná hranica je oddelená od eskalácie v Health Monitor.",
"<strong>Chyba</strong> — červený rám riadka, ak je úložisko nastavené, ale nedostupné, napríklad pri výpadku NFS alebo neplatných prihlasovacích údajoch CIFS.",
"<strong>Vylúčené</strong> — fialový rám a štítok „nemonitorované“. Úložiská vylúčené používateľom, napríklad zámerne odpojené archívne zväzky."
],
"calloutTitle": "Vylúčiť úložisko z monitorovania",
"calloutBody": "Ponuka úložiska ho umožňuje označiť ako <em>vylúčené z monitorovania</em>. Nastavenie je v <code>excluded_storages</code> a rešpektuje ho prehľad aj Health Monitor: bez oznámení a vplyvu na celkový stav."
},
"zfs": {
"heading": "ZFS Pools karta",
"intro": "Zobrazuje sa iba s nainštalovaným ZFS a aspoň jedným poolom. Každý riadok ukazuje pool so stavom, veľkosťou, prideleným a voľným miestom a ikonou stavu:",
"items": [
"<strong>ONLINE</strong> — zelená. Všetko zdravé.",
"<strong>DEGRADED</strong> — žltá. Pool poskytuje dáta, ale aspoň jedno zariadenie je nedostupné; treba riešiť jeho výmenu.",
"<strong>FAULTED</strong> / <strong>UNAVAIL</strong> / <strong>SUSPENDED</strong> — červená. Pool neposkytuje dáta a vyžaduje okamžitý zásah."
],
"outro": "Stav ZFS a SMART každého disku vstupuje do kategórie <em>Disky a I/O</em> v <link>Health Monitor</link>."
},
"physical": {
"heading": "Fyzické disky a SMART stav",
"intro": "Interné disky (SATA / NVMe). Každý riadok kondenzuje najužitočnejšie polia na prvý pohľad:",
"items": [
"<strong>Trasa zariadenia</strong> — <code>/dev/sda</code>, <code>/dev/nvme0n1</code>.",
"<strong>Štítok typu</strong> — SATA / NVMe a príslušná ikona.",
"<strong>Systémový štítok</strong> — oranžové označenie diskov rozpoznaných ako disky operačného systému. Detekcia používa pripojenia <code>/</code> a <code>/boot</code> a pridelí štítok <em>System</em>. Chýbajúci štítok nedokazuje, že disk možno bezpečne vymazať alebo použiť inak.",
"<strong>Model</strong> — výrobca a model z <code>smartctl -i</code>.",
"<strong>Kapacita</strong> — zobrazená v zrozumiteľných jednotkách.",
"<strong>Teplota</strong> — aktuálna hodnota v °C s farbou podľa typu disku; NVMe používa vyššie prahy než SATA.",
"<strong>Stav SMART</strong> — úspešný / neúspešný / neznámy.",
"<strong>Štítok pozorovaní</strong> — ak trvalá história <code>disk_observations</code> obsahuje záznamy disku, modrý štítok ukáže ich počet, napríklad <em>3 obs.</em>. Kliknutím na disk ich preskúmate.",
"<strong>Štítok stavu</strong> — V poriadku / Varovanie / Kritické podľa SMART a nedávnych pozorovaní."
],
"clickHint": "Kliknutím na celý riadok otvoríte nižšie opísaný detail disku.",
"warningTitle": "S diskami označenými System zaobchádzajte opatrne",
"warningBody": "Disky s oranžovým štítkom <strong>System</strong> obsahujú bežiaci systém. Štítok pomáha pri identifikácii; <link>ProxMenux → Správca diskov → Formátovať / Vymazať</link> na nich odmieta deštruktívne akcie. Na iné využitie zavádzacieho disku použite záchranné prostredie mimo bežiaceho Proxmoxu."
},
"external": {
"heading": "Externé úložisko (USB)",
"body": "Disky USB majú vlastnú kartu, viditeľnú pri prítomnosti aspoň jedného disku. Ukazuje rovnaké polia ako interné disky a oranžový štítok <strong>USB</strong>. Keďže sa často pripájajú iba na zálohy alebo občasné prenosy, pozorovania zostávajú uložené, ale chyby I/O odpojeného disku USB sa neeskalujú."
},
"drillIn": {
"heading": "Okno detailu disku",
"intro": "Kliknutím na disk otvoríte štyri karty: <strong>Prehľad</strong> · <strong>SMART</strong> · <strong>História</strong> · <strong>Plánovanie</strong>. Hlavička ukazuje cestu, model, kapacitu a prípadne oranžový štítok <em>System</em>.",
"overviewTitle": "Karta 1 — Prehľad",
"overviewImageAlt": "Detail disku, karta Prehľad so stavom, kruhovým ukazovateľom opotrebovania a životnosti a hlavnými atribútmi SMART",
"overviewImageCaption": "Prehľad: identifikácia, stav, zostávajúca životnosť s aktuálnym opotrebovaním a zapísanými dátami a hlavné atribúty SMART.",
"overviewIntro": "Úvodná karta na kontrolu stavu disku bez spustenia testu. Tri bloky:",
"overviewItems": [
"<strong>Identifikácia</strong> — model, sériové číslo, kapacita a stav V poriadku / Varovanie / Kritické.",
"<strong>Opotrebovanie a životnosť</strong> — kruh zostávajúcej životnosti (97 %, 50 %, …) so zdrojovým atribútom (<em>Media Wearout Indicator</em>, <em>Percentage Used</em>, …), pruh spotrebovaného percenta, odhad <em>Odhadovaná životnosť</em> v rokoch a celkové zapísané dáta. NVMe ukazuje aj <em>Available Spare</em>.",
"<strong>Atribúty SMART</strong>: hlavné hodnoty sa zobrazujú v dvoch stĺpcoch: teplota, počet hodín prevádzky s čitateľným trvaním, napríklad <em>3 roky a 116 dní</em>, otáčky alebo <em>SSD</em>, počet zapnutí, stav SMART, prerozdelené sektory, čakajúce sektory a chyby CRC. Úplná tabuľka atribútov je na karte SMART."
],
"smartTitle": "Karta 2 — SMART",
"smartImageAlt": "Detail disku, karta SMART s krátkym a rozšíreným testom, posledným výsledkom a úplnou tabuľkou atribútov",
"smartImageCaption": "Karta SMART: spustite krátky alebo rozšírený test, skontrolujte posledný výsledok a všetky atribúty a otvorte úplnú správu na tlač alebo uloženie do PDF.",
"smartIntro": "Dostupné akcie v troch častiach:",
"smartItems": [
"<strong>Spustiť test SMART</strong> — dve tlačidlá. <em>Krátky test (~2 min)</em> počká na výsledok a zobrazí ho v okne. <em>Rozšírený test (na pozadí)</em> môže na veľkých diskoch trvať hodiny, pokračuje na serveri a po dokončení odošle oznámenie.",
"<strong>Posledný test</strong> — typ, stav (<em>úspešný</em> / <em>neúspešný</em>) a čas posledného spustenia.",
"<strong>Atribúty SMART</strong> — úplná tabuľka s ID, názvom, hodnotou, najhoršou hodnotou a stavom v poriadku, varovanie alebo kritické. SATA/SAS zobrazuje číslovaný zoznam. NVMe používa <code>nvme smart-log</code>: teplotu, dostupnú rezervu, použité percento, prečítané/zapísané jednotky, čítania/zápisy hostiteľa, čas vyťaženia radiča, zapnutia, nebezpečné vypnutia, chyby média, záznamy chýb a čas celkovej teploty vo varovnom/kritickom pásme."
],
"pdfTitle": "Zobraziť úplnú správu SMART (PDF)",
"pdfIntro": "Dole na karte SMART otvorí <strong>Zobraziť úplnú správu SMART</strong> správu na tlač. Tlačovým oknom prehliadača ju uložíte do PDF na archiváciu alebo zdieľanie s podporou pri RMA.",
"pdfPreviewAlt": "Prvá strana správy SMART so súhrnom, ukazovateľom PASSED a informáciami o disku",
"pdfPreviewCaption": "Prvá strana: súhrn, ukazovateľ PASSED a úplné informácie o disku. Príklad PDF obsahuje opotrebovanie SSD, všetky atribúty SMART a históriu testov.",
"pdfDownloadLabel": "Stiahnuť príklad správy SMART (PDF)",
"pdfSectionsIntro": "Správa má šesť hlavných častí:",
"pdfSections": [
"<strong>Súhrn</strong> — stav PASSED/FAILED, zrozumiteľné hodnotenie disku — v poriadku, opotrebovaný alebo zlyhávajúci — a štyri údaje: čas správy, posledný typ testu, výsledok a overené atribúty.",
"<strong>Informácie o disku</strong> — model, sériové číslo, kapacita, typ HDD/SSD/NVMe, rodina, formát, rozhranie (SATA 3.3 · 6.0 Gb/s, …), TRIM, teplota a optimálny prah, hodiny prevádzky, zapnutia, SMART, čakajúce/prerozdelené sektory a chyby CRC.",
"<strong>Opotrebovanie a životnosť SSD</strong> (iba SSD/NVMe) — zostávajúca životnosť, zdrojový atribút, opotrebovanie, zapísané dáta a hodiny prevádzky.",
"<strong>Úplné atribúty SMART</strong> — ID, názov, hodnota, najhoršia hodnota, prah, nespracovaná hodnota a stav každého atribútu. Hlavné — Reallocated Sector Ct, Power On Hours, Reported Uncorrect, UDMA CRC Error Count, Media Wearout Indicator, … — majú pod riadkom stručné vysvetlenie.",
"<strong>Posledný autotest a úplná história</strong> — posledný test s typom, výsledkom, záverečnou správou a vtedajším počtom hodín prevádzky a číslovaná tabuľka všetkých uchovaných testov.",
"<strong>Odporúčania</strong> — kroky podľa výsledku. Pre zdravé disky: <em>disk v poriadku / pravidelné testy / stratégia záloh</em>. Pri atribútoch mimo rozsahu sa pridajú odporúčania na výmenu."
],
"pdfOutro": "Prehliadač vytvorí správu na tlač; Tlačiť aj Uložiť ako PDF otvoria tlačové okno. Vyberte názov ako <code>SMART-&lt;short-id&gt;.pdf</code>. Uchovajte datované kópie na porovnanie zmien alebo zdieľanie s podporou.",
"historyTitle": "Karta 3 — História",
"historyImageAlt": "Detail disku, karta História s predchádzajúcimi testmi SMART a možnosťami stiahnutia a odstránenia",
"historyImageCaption": "História testov SMART disku. Každý riadok ukazuje typ, čas, vek, označenie posledného testu a možnosti stiahnutia výstupu <code>smartctl</code> a odstránenia.",
"historyIntro": "Dokončené a uchované krátke aj rozšírené testy disku. Každý záznam obsahuje pôvodný výstup <code>smartctl</code> a polia spracované Monitorom pre prehľad. Akcie v riadku:",
"historyItems": [
"<strong>Stiahnuť</strong> — uloží snímku JSON s údajmi <code>smartctl -a</code> použitými v správe. Užitočné, ak podpora potrebuje pôvodné diagnostické polia.",
"<strong>Odstrániť</strong> — ručne vymaže test z histórie. Uchovávanie v Plánovaní (<em>posledných 5 / 10 / 20</em>) automaticky maže najstaršie."
],
"scheduleTitle": "Karta 4 — Plánovanie",
"scheduleImageAlt": "Detail disku, karta Plánovanie s prepínačom automatických testov SMART, zoznamom plánov a tlačidlom Pridať plán",
"scheduleImageCaption": "Plánovanie: vyberte typ, frekvenciu a uchovávanie; Monitor nastaví <code>cron</code> na automatické spúšťanie testov.",
"scheduleIntro": "Automatické testy SMART cez cron bez terminálu. Tri oblasti:",
"scheduleItems": [
"<strong>Automatické testy SMART</strong> — spoločný prepínač všetkých plánov disku. Umožní ich pozastaviť počas údržby bez vymazania nastavení.",
"<strong>Nastavené plány</strong> — riadok pre každý plán s typom (<em>krátky</em> / <em>dlhý</em>), čitateľným výrazom cron (<em>„Prvý deň mesiaca o 03:00“</em>, <em>„Každú nedeľu o 02:00“</em>), zahrnutými diskami a uchovávaním.",
"<strong>Pridať / Upraviť plán</strong> — typ (<em>krátky ~2 min</em> / <em>dlhý 1–4 h</em>), frekvencia (<em>denne / týždenne / mesačne</em>), deň mesiaca alebo týždňa, čas a uchované výsledky (<em>posledných 5 / 10 / 20</em>)."
],
"scheduleOutro": "Plán vytvorí na hostiteľovi záznam cron, ktorý volá Monitor. Výsledky sa uložia do histórie SMART na karte 3 a nastavenie uchovávania po novom teste automaticky odstráni najstaršie výsledky.",
"tempTitle": "Okno histórie teploty",
"tempIntro": "Monitor pravidelne meria disky s teplotným senzorom a ukladá hodnoty do lokálnej histórie. Aktuálna hodnota je v Prehľade; kliknutie otvorí detail histórie teploty.",
"tempImageAlt": "História teploty s cestou a modelom, obdobiami 1 hodina, 24 hodín, 7 alebo 30 dní, hodnotami Aktuálna/Minimum/Priemer/Maximum a čiarovým grafom s farbami podľa prahov typu disku",
"tempImageCaption": "Detail teploty otvoríte z Prehľadu, ak senzor vráti nenulovú hodnotu. Graf používa prahy HDD / SSD / NVMe / SAS.",
"tempShowsTitle": "Obsah okna",
"tempShowsItems": [
"<strong>Výber obdobia</strong>: <em>1 hodina</em>, predvolene <em>24 hodín</em>, <em>7 dní</em> alebo <em>30 dní</em>. Každý dopyt prispôsobí rozlíšenie, aby bol graf čitateľný.",
"<strong>Štyri ukazovatele</strong>: <em>Aktuálna</em>, <em>Minimum</em>, <em>Priemer</em> a <em>Maximum</em> za obdobie. <em>Aktuálna</em> používa prahy úložiska a oznámení na rozlíšenie normálnej, zvýšenej a vysokej teploty.",
"<strong>Čiarový graf</strong> teploty v čase s čiarou a plochou zafarbenou podľa typu disku:"
],
"tempDiskTypes": [
"HDD — zvyčajne nižšie teplotné prahy.",
"SSD — stredné teplotné prahy.",
"NVMe Vyššie prahové hodnoty (NVMe beží teplejšie podľa dizajnu).",
"SAS — varovanie pri 55 °C a kritické pri 65 °C; prah varovania sa líši od HDD."
],
"tempConfigurable": "Všetky štyri typy nastavíte v <em>Nastavenia → Prahy Health Monitor</em>.",
"tempWhyTitle": "Prečo je história dôležitá",
"tempWhyItems": [
"<strong>Odhalenie trendov.</strong> Jediné meranie neukáže, že sa disk celé týždne zahrieva, napríklad pre poruchu ventilátora, prach alebo blízky zdroj tepla. Zobrazenia za 7 a 30 dní odhalia vývoj.",
"<strong>Súvislosti špičiek.</strong> Ak záloha alebo obnova krátko zvýšila teplotu nad prah, zobrazenia za 1 a 24 hodín ukážu, či išlo o jednorazovú alebo opakovanú udalosť.",
"<strong>Nastavenie prahov.</strong> Pred zmenou v <em>Nastavenia → Prahy Health Monitor</em> si v 30-dňovom grafe pozrite skutočný prevádzkový rozsah disku."
],
"obsTitle": "História pozorovaní naprieč kartami",
"obsIntro": "Poruchy sa môžu rozvíjať postupne. Disk môže hlásiť SMART <strong>PASSED</strong> a pritom zapisovať chyby čítania do dmesg, strácať spojenia SATA alebo uvádzať občasné čakajúce sektory. ProxMenux uchováva tieto <em>signály</em> a zobrazuje ich v okne spolu s aktuálnym stavom SMART.",
"obsImageAlt": "Prehľad disku s úspešným SMART a nulou prerozdelených/čakajúcich sektorov a chýb CRC, ale s pozorovaním chyby I/O s pôvodnou správou jadra, vysvetlením ATA, prvým a posledným časom a počtom výskytov",
"obsImageCaption": "Disk, ktorý <strong>prešiel SMART</strong>, môže mať staršie pozorovania. Karta dopĺňa aktuálny stav o históriu signálov.",
"obsWhatTitle": "Čo je pozorovanie",
"obsWhatIntro": "ProxMenux zaznamená ako <strong>pozorovanie</strong> udalosti disku z denníka jadra, dmesg alebo SMART, ktoré by samostatne boli príliš podrobné pre oznámenie. Každý riadok zobrazuje:",
"obsWhatItems": [
"<strong>Typ</strong> — chyba I/O, SMART, súborového systému, poolu ZFS alebo spojenia.",
"<strong>Pôvodná správa jadra</strong> z dmesg na skopírovanie do vyhľadávača alebo žiadosti o podporu.",
"<strong>Stručné vysvetlenie</strong> známych kódov ATA: <code>IDNF</code>, adresa sektora sa nenašla, možný chybný sektor alebo kábel; <code>UNC</code>, neopraviteľná chyba čítania, chybný sektor; a ďalšie štandardné kódy.",
"<strong>Prvý a posledný čas</strong> a <strong>počet výskytov</strong> zoskupených podľa podpisu chyby."
],
"obsWhyTitle": "Prečo ich ProxMenux zaznamenáva a zobrazuje",
"obsWhyItems": [
"<strong>Poruchy sa môžu vyvíjať.</strong> Chyby zbernice ATA, sektory UNC alebo chyby média sa môžu objaviť pred stavom SMART <em>FAILED</em>. Pamäť dmesg ich po reštarte neuchová, história pozorovaní áno.",
"<strong>SMART nevylučuje každú poruchu.</strong> Disk môže mať zelené atribúty a pritom problémy. Pozorovania uchovávajú ďalšie príznaky, napríklad ICRC, IDNF, resety spojení SATA alebo zníženie rýchlosti.",
"<strong>Odlišuje aktuálne od nedávneho.</strong> Health Monitor automaticky vyrieši prechodné chyby, ktoré sa už neopakujú. História aj po dňoch ukáže napríklad tri chyby I/O z jednej noci.",
"<strong>Podklad stupňovaných oznámení.</strong> disk_io používa frekvenciu pozorovaní na výber tichého stavu, WARNING alebo CRITICAL v posuvnom 24-hodinovom okne zavedenom vo verzii 1.2.1.2."
],
"obsDedupTitle": "Zoskupovanie duplicít a opakované oznámenia",
"obsDedupBody1": "Pozorovania sa zoskupujú podľa <strong>podpisu</strong>, stabilného odtlačku typu chyby, zariadenia a kľúčových polí správy. Opakovania zvýšia <code>occurrence_count</code> v existujúcom riadku. <strong>Iný podpis</strong> vytvorí ďalšie pozorovanie a pre oznámenia predstavuje novú udalosť.",
"obsDedupBody2": "Aby nevznikla záplava oznámení, prvá kombinácia disku, podpisu a závažnosti upozorní operátora. Rovnaká kombinácia čaká 24 hodín na ďalšie oznámenie aj pri rastúcom počte. Prechod z WARNING na CRITICAL čakanie preruší a oznámi zhoršenie.",
"obsDismissTitle": "Trvalá história a aktívne chyby",
"obsDismissBody1": "Pozorovania nemožno zamietnuť, skryť ani vymazať. Každý podpis má kartu; opakovanie zvýši počet a aktualizuje posledný čas. História sleduje sériové číslo: iný disk začína bez záznamov aj na rovnakom porte a premenovanie jadrom históriu zachová.",
"obsDismissBody2": "Vyriešenie alebo zamietnutie aktívnej chyby v Health Monitor nemení pozorovania. Zostávajú aj po automatickom vyriešení, takže dočasné varovanie z minulého týždňa je stále viditeľné. Aktívne chyby spravuje <link>Health Monitor</link>."
},
"dataCollected": {
"heading": "Spôsob zberu údajov",
"headerSection": "Časť karty",
"headerEndpoint": "Koncový bod",
"headerSource": "Zdroj",
"rows": [
{
"section": "Horné súhrnné karty",
"endpoint": "/api/storage/summary",
"source": "Agregované z <code>lsblk</code>, <code>zpool list</code>, <code>vgs</code> / <code>lvs</code>."
},
{
"section": "Inventár diskov",
"endpoint": "/api/storage",
"source": "<code>lsblk -O</code> + <code>smartctl -i</code> pre zariadenie s vyrovnávacou pamäťou identity vymazanou pri pripojení za chodu."
},
{
"section": "Úložiská Proxmox",
"endpoint": "/api/proxmox-storage",
"source": "<code>pvesh get /nodes/&lt;node&gt;/storage</code> s aktívnym/online stavom každého."
},
{
"section": "Aktuálne hodnoty SMART",
"endpoint": "/api/storage/smart/<disk>",
"source": "<code>smartctl -A &lt;dev&gt;</code> je jeden z dostupných dopytov; detailný koncový bod používa aj úplný SMART JSON a údaje špecifické pre NVMe."
},
{
"section": "História autotestov SMART",
"endpoint": "/api/storage/smart/<disk>/history",
"source": "Uložené v <code>/usr/local/share/proxmenux/smart/&lt;disk&gt;/</code> ako snímky JSON."
},
{
"section": "Trvalé pozorovania",
"endpoint": "/api/storage/observations",
"source": "Tabuľka SQLite aktualizovaná Health Monitor pri každom cykle a uchovaná po vyriešení aktívnych chýb."
}
],
"outro": "Overovanie reťazca zberu na hostiteľovi:",
"codeComment1": "# Získať aktuálny stav zo skriptu",
"codeComment2": "# Porovnať údaje prehľadu s priamym výstupom operačného systému"
},
"whereNext": {
"heading": "Kam ďalej",
"items": [
{
"label": "Monitor zdravia",
"href": "/docs/monitor/health-monitor",
"tail": " — kategória Disky a I/O a pravidlá potláčania."
},
{
"label": "Referenčná príručka API",
"href": "/docs/monitor/api",
"tail": " — koncové body úložísk a SMART."
},
{
"label": "Oznámenia",
"href": "/docs/monitor/notifications",
"tailRich": " — následné akcie spustené udalosťami <code>disk_io_error</code>, <code>storage_unavailable</code> a <code>smart_test_failed</code>."
},
{
"label": "Index prehľadu",
"href": "/docs/monitor/dashboard",
"tail": " — Ostatné karty."
},
{
"label": "ProxMenux → Správca diskov",
"href": "/docs/disk-manager",
"tail": " — akcie TUI: formátovanie, vymazanie, testy SMART a import diskov do VM alebo kontajnerov."
},
{
"label": "ProxMenux → Stav a testy SMART disku",
"href": "/docs/disk-manager/smart-disk-test",
"tail": " — verzia CLI: plánovanie testov SMART, export zobrazeného JSON a podrobnosti o typoch testov a výklade výsledkov."
}
]
}
}
@@ -0,0 +1,120 @@
{
"meta": {
"title": "ProxMenux Monitor — Panel: Systémové záznamy | Dokumentácia ProxMenux",
"description": "Záložka System Logs konsoliduje tri zdroje do jednej obrazovky: živé journalctl s filtrami a downloadom, História úloh Proxmox (UPIDs) a oznamovací protokol, všetky vyhľadávateľné, filtrovateľné podľa závažnosti / časového rozsahu, a sťahovanie ako textové zväzky."
},
"header": {
"title": "Panel: Systémové záznamy",
"description": "Tri podkarty na jednej obrazovke: systémový žurnál (journalctl s filtrami), história úloh Proxmox a záznam oznámení. Vo všetkých možno vyhľadávať, filtrovať a sťahovať údaje ako textové balíky.",
"section": "ProxMenux Monitor · Prehľad"
},
"readOnly": {
"title": "Len na čítanie podľa návrhu",
"body": "Táto karta nemení súbory záznamov. Filtre sa uchovávajú v URL alebo stave rozhrania a súbory na stiahnutie pripravuje server. Panel nikdy neodstraňuje záznamy; na ich údržbu použite na hostiteľovi <code>journalctl --vacuum-time=&lt;N&gt;</code> alebo <code>logrotate</code>."
},
"topRow": {
"heading": "Horný riadok: štyri počítadlá",
"items": [
"<strong>Celkový počet záznamov</strong> — počet položiek v časovom rozsahu aktívneho filtra.",
"<strong>Chyby</strong> — počet záznamov so závažnosťou ≤ 3 (<code>err</code> / <code>crit</code> / <code>alert</code> / <code>emerg</code>).",
"<strong>Upozornenia</strong> — počet záznamov so závažnosťou 4 (<code>warning</code>).",
"<strong>Zálohy</strong> — počet záznamov úloh vzdump / PBS v rovnakom časovom rozsahu."
]
},
"subtabs": {
"heading": "Tri podkarty",
"logsTitle": "Logy",
"logsIntro": "Systémový žurnál, ktorý server načítava cez <code>journalctl</code>. Na paneli nástrojov sú tieto filtre:",
"logsFilters": [
"<strong>Závažnosť</strong> — emerg / alert / crit / err / warning / notice / info / debug alebo ľubovoľná kombinácia.",
"<strong>Časový rozsah</strong> Posledná 5 min/ 15 min/ 1 h / 6 h / 24 h / 7 d / vlastné.",
"<strong>Voľné vyhľadávanie textu</strong> — podreťazec alebo regulárny výraz (<code>journalctl --grep</code>).",
"<strong>Filter jednotky</strong> — obmedzí výsledky na konkrétnu jednotku systemd (<code>pveproxy.service</code>, <code>nginx.service</code>, …)."
],
"logsRowsAfter": "Každý riadok zobrazuje časovú pečiatku, označenie závažnosti, zdrojovú jednotku a správu. Dlhé správy sa zbalia s prepínačom „zobraziť viac“. Akcia <strong>Stiahnuť</strong> vytvorí z aktuálneho filtra jeden súbor <code>.txt</code> cez <code>GET /api/logs/download</code>, vhodný na zdieľanie časti žurnálu s ďalšou osobou.",
"logDetailsModalTitle": "Okno Podrobnosti záznamu",
"logDetailsBody": "Kliknutie na riadok otvorí okno <strong>Podrobnosti záznamu</strong> so všetkými štruktúrovanými poľami, ktoré journald zachytil pre danú položku, rovnako ako príkaz <code>journalctl --output=verbose</code> na hostiteľovi.",
"logDetailsImageAlt": "Okno Podrobnosti záznamu — rozbalená položka žurnálu s úrovňou, službou, časovou pečiatkou, zdrojom, jednotkou systemd, ID procesu, názvom hostiteľa a úplnou správou",
"logDetailsImageCaption": "Podrobnosti záznamu — všetky štruktúrované polia danej položky journald a dole úplná neskrátená správa. Užitočné pri záznamoch cron a služieb, kde záleží na vykonanom príkaze.",
"fieldsIntro": "Zobrazené polia:",
"fields": [
"<strong>Úroveň</strong> — farebné označenie závažnosti (INFO / WARNING / ERROR / CRITICAL).",
"<strong>Služba</strong> — krátky názov jednotky alebo procesu, ktorý vytvoril záznam.",
"<strong>Časová pečiatka</strong> — úplný dátum a čas riadka záznamu.",
"<strong>Zdroj</strong> — pôvod položky (žurnál, jadro, audit, …).",
"<strong>Jednotka systemd</strong> — konkrétna jednotka <code>.service</code> / <code>.timer</code> / <code>.socket</code>, ak bola k záznamu priradená.",
"<strong>ID procesu</strong> — PID procesu, ktorý vytvoril záznam.",
"<strong>Názov hostiteľa</strong> — užitočný pri preposielaní žurnálov medzi uzlami klastra.",
"<strong>Správa</strong> — úplná neskrátená správa v bloku s neproporcionálnym písmom, pripravená na kopírovanie."
],
"maxLevelStoreTitle": "Journald MaxLevelStore",
"maxLevelStoreBody": "Na novej inštalácii Proxmox používa journald predvolene <code>MaxLevelStore=warning</code>, čím zahadzuje správy info. Monitor to pri štarte rozpozná a pridá doplnkovú konfiguráciu (<code>/etc/systemd/journald.conf.d/proxmenux-loglevel.conf</code>) s prahom <code>info</code>, aby sa uchovávali informačné a závažnejšie správy. Správy debug to nezahŕňa.",
"backupsTitle": "Zálohy",
"backupsBody": "História úloh Proxmox obmedzená na zálohovanie. Jeden riadok na úlohu (<code>vzdump</code>, prenosy PBS, čistenie nepoužívaných dát a overenie), so stavom (OK / WARNINGS / ERROR), hosťovským systémom, zdrojovým úložiskom, trvaním a UPID. Kliknutím na riadok načítate úplný záznam úlohy cez <code>GET /api/task-log/&lt;upid&gt;</code> — rovnaké údaje ako v <em>Datacenter → Úlohy</em>, obmedzené na zálohy.",
"notificationsTitle": "Oznámenia",
"notificationsBody1": "Všetky oznámenia odoslané Monitorom: Telegram, Discord, e-mail, Gotify, ntfy, Slack, Teams a webhook. Každý riadok uvádza časovú pečiatku, kanál, typ udalosti, závažnosť, vytvorený názov a telo a pri zapnutej AI prepínač na porovnanie jej prepracovanej verzie s originálom.",
"notificationsBody2": "Na tejto karte overíte doručovanie oznámení cez kanál a porovnáte prepracovanie AI s pôvodnou šablónou. Kanály sa nastavujú na podrobnej stránke <link>Oznámenia</link>."
},
"dataCollected": {
"heading": "Spôsob zberu údajov",
"headerSubtab": "Podkarta",
"headerEndpoint": "Koncový bod",
"headerSource": "Zdroj",
"rows": [
{
"subtab": "Záznamy (živý filter)",
"endpoint": "/api/logs",
"source": "<code>journalctl --output json --since &lt;range&gt;</code> s filtrami závažnosti, jednotky a vyhľadávania použitými na serveri."
},
{
"subtab": "Stiahnuť",
"endpoint": "/api/logs/download",
"source": "Rovnaký dotaz, vrátený ako obyčajný text pre grep / less."
},
{
"subtab": "Zálohy",
"endpoint": "/api/backups",
"source": "História úloh PVE filtrovaná podľa <code>vzdump</code>, prenosov PBS, čistenia nepoužívaných dát a overenia."
},
{
"subtab": "Podrobnosti úlohy zálohovania",
"endpoint": "/api/task-log/&lt;upid&gt;",
"source": "Plný textový záznam úloh čítaný z <code>/var/log/pve/tasks/&lt;index&gt;/&lt;upid&gt;</code>."
},
{
"subtab": "História oznámení",
"endpoint": "/api/notifications/history",
"source": "Tabuľka SQLite <code>notification_history</code>, ktorú plní odosielacia slučka."
}
],
"apiIntro": "Živý filter aj sťahovanie sú dostupné cez API:",
"codeComment1": "# Chyby a závažnejšie udalosti za poslednú hodinu s kľúčovým slovom",
"codeComment2": "# Stiahnuť celý žurnál za posledných 6 hodín ako obyčajný text",
"codeComment3": "# Vyhľadajte úplný výstup konkrétnej úlohy podľa UPID"
},
"whereNext": {
"heading": "Kam ďalej",
"items": [
{
"label": "Monitor zdravia",
"href": "/docs/monitor/health-monitor",
"tail": " — kategória Systémové záznamy, ktorá sleduje pretrvávajúce vzory, náhle nárasty a kaskády."
},
{
"label": "Oznámenia",
"href": "/docs/monitor/notifications",
"tail": " — sledovanie žurnálu číta rovnaký zdroj a premieňa zhody na oznámenia."
},
{
"label": "Referenčná príručka API",
"href": "/docs/monitor/api",
"tail": " — koncové body logs a task-log s parametrami dotazov."
},
{
"label": "Index panela",
"href": "/docs/monitor/dashboard",
"tail": " — Ostatné karty."
}
]
}
}
@@ -0,0 +1,177 @@
{
"meta": {
"title": "ProxMenux Monitor — Panel: Prehľad systému | Dokumentácia ProxMenux",
"description": "Predvolená úvodná karta ProxMenux Monitor: štyri karty (CPU, pamäť, aktívne VM a LXC, teplota) s aktualizáciou naživo a minigrafom trendu, historický graf a súhrny úložiska a siete s odkazmi na podrobné karty."
},
"header": {
"title": "Panel: Prehľad systému",
"description": "Karta, ktorú panel otvorí predvolene: štyri karty živých metrík hore, historický graf v strede a súhrny úložiska a siete dole. Používajú rovnaké API ako príslušné podrobné karty.",
"section": "ProxMenux Monitor · Prehľad"
},
"readOnly": {
"title": "Snímka iba na čítanie",
"body": "Všetky panely tejto karty sú informačné. Akcie sú na prepojených kartách: Úložisko na správu diskov, VM a LXC na spustenie či zastavenie hosťovských systémov a Bezpečnosť na nastavenie overovania."
},
"captureAlt": "Karta Prehľad systému — štyri karty metrík (CPU, pamäť, aktívne VM, teplota), graf metrík uzla a súhrnné karty úložiska a siete",
"captureCaption": "Prehľad systému, predvolená úvodná karta. Štyri karty sa aktualizujú naživo, graf zobrazuje históriu a dve dolné karty sumarizujú úložisko a sieť.",
"topRow": {
"heading": "Horný riadok: živé karty metrík",
"intro": "Štyri karty v mriežke 2×2 na mobile a v jednom riadku na počítači. Každá sa aktualizuje z <code>/api/system</code> každých pár sekúnd.",
"headerCard": "Karta",
"headerWhat": "Čo ukazuje",
"headerSource": "Zdroj",
"rows": [
{
"card": "Využitie CPU",
"what": "Aktuálne percento s ukazovateľom priebehu. Vzorkovač životných funkcií ho aktualizuje každú ~1 s.",
"source": "psutil.cpu_percent()"
},
{
"card": "Využitie pamäte",
"what": "Použité GB, percento a celkové GB. Ukazovateľ zobrazuje percento.",
"source": "psutil.virtual_memory()"
},
{
"card": "Aktívne VM a LXC",
"what": "Počet bežiacich hosťovských systémov s rozdelením Spustené / Zastavené a celkovým počtom VM a LXC v päte.",
"source": "/api/vms (konsolidované)"
},
{
"card": "Teplota",
"what": "Teplota CPU v °C s označením stavu (nízka / zvýšená / vysoká) a minigrafom posledných 5 minút v pozadí. Bez snímača sa zobrazí <em>N/A</em>. Kliknutie otvorí podrobnosti.",
"source": "sensors / coretemp"
}
],
"thresholdsTitle": "Farby stavu a prahové hodnoty, ktoré sa tu uplatňujú",
"thresholdsIntro": "Prstence, ukazovatele a minigrafy používajú rovnakú škálu: <green/> <strong>zelená</strong> pod prahom Upozornenie, <amber/> <strong>jantárová</strong> medzi Upozornenie a Kritické, <red/> <strong>červená</strong> od prahu Kritické vyššie. Odporúčané predvolené hodnoty ProxMenux:",
"thresholdsItems": [
"<strong>Využitie CPU</strong> — upozornenie 85 %, kritické 95 %.",
"<strong>Pamäť</strong> — upozornenie 85 %, kritické 95 %. Swap tiež vyvolá kritický stav pri 5 % využitia; správne fungujúci hostiteľ Proxmox by ho mal používať len zriedka.",
"<strong>Teplota CPU</strong> — upozornenie 80 °C, kritické 90 °C."
],
"thresholdsOutro": "Hodnoty možno nastaviť pre každého hostiteľa. <link>Nastavenia → Prahy monitora stavu</link> sú hlavný zdroj a vysvetľujú ich úpravu.",
"sparklineTitle": "Minigraf ukazuje trend",
"sparklineBody": "Karta teploty zobrazuje pod hodnotou priebeh posledných 5 minút. Farba čiary a prechodu sa riadi uvedenými prahmi Upozornenie/Kritické. Rýchlo tak zistíte, či teplota hostiteľa stúpa, bez otvorenia podrobností."
},
"processes": {
"heading": "Procesy s najvyšším využitím CPU a pamäte",
"intro": "Karty Využitie CPU a Pamäť otvárajú triediteľný zoznam 25 najnáročnejších procesov: podľa využitia CPU pri otvorení z CPU alebo podľa rezidentnej pamäte pri otvorení z Pamäte.",
"listTitle": "Dialóg zoznamu",
"listItems": [
"<strong>Automatické obnovenie</strong> — zoznam sa aktualizuje každých 5 sekúnd, kým je okno otvorené; po zatvorení sa dotazy zastavia.",
"<strong>Filter</strong> — vyhľadávanie obmedzí zoznam podľa príkazu, používateľa alebo PID.",
"<strong>Ukazovateľ v riadku</strong> — stĺpec hlavnej metriky kreslí malý ukazovateľ škálovaný podľa najvyššej hodnoty vo filtrovanom zozname. Poradie zostáva zrejmé, aj keď žiadny proces nie je blízko 100 %.",
"<strong>Mobilné rozloženie</strong> — pod 640 px sa skryjú stĺpce PID a Používateľ, aby sa Príkaz, CPU % a Pamäť zmestili na telefón bez vodorovného posúvania."
],
"captureListAlt": "Okno procesov podľa pamäte — tabuľka zoradená podľa RSS so stĺpcami PID, používateľ, príkaz, CPU % a pamäť",
"captureListCaption": "Karta Pamäť otvorí zoznam podľa RSS (indigová farba). Karta CPU otvorí ten istý zoznam podľa využitia CPU (modrá farba).",
"detailTitle": "Podrobnosti jednotlivého procesu",
"detailIntro": "Kliknutie na riadok otvorí druhé okno so živými údajmi procesu v štyroch sekciách:",
"detailItems": [
"<strong>Prehľad</strong> — stav, nadradený proces, počet vlákien, otvorené deskriptory súborov, používateľ a skupina.",
"<strong>Zdroje</strong> — CPU %, pamäť %, rezidentná pamäť (RSS), virtuálna veľkosť, swap a celkové prečítané a zapísané I/O dáta.",
"<strong>Príkaz</strong> — krátky názov, úplný príkazový riadok, cesta k spustiteľnému súboru a pracovný adresár.",
"<strong>Trvanie</strong> — časová pečiatka spustenia a uplynutý čas behu."
],
"detailRefresh": "Podrobnosti sa aktualizujú každé 3 sekundy. Po ukončení procesu sa dotazy zastavia a objaví sa jantárové oznámenie <em>Tento proces sa skončil</em>. Posledný zachytený stav zostane stlmený na obrazovke, aby bolo vidieť dianie tesne pred koncom.",
"captureDetailAlt": "Podrobnosti procesu — Prehľad, Zdroje, Príkaz a Trvanie pre jedno PID",
"captureDetailCaption": "Podrobnosti procesu otvorené z riadka zoznamu. Farba zodpovedá karte, z ktorej sa otvorili: modrá pre CPU, indigová pre pamäť."
},
"middle": {
"heading": "Stred: grafy metrík uzla",
"body1": "Pod kartami zobrazuje <code>NodeMetricsCharts</code> históriu CPU, pamäte a diskového I/O z úložiska RRD Proxmox cez <code>/api/node/metrics</code>. Volič ponúka <em>1 hodina / 24 hodín / 7 dní / 30 dní / 1 rok</em>. Pri dlhšom období klesá rozlíšenie údajov, aby bol graf plynulý.",
"body2": "Rovnaké grafy ako vo webovom rozhraní Proxmox pre uzol, začlenené do tmavej témy Monitora a zarovnané s ostatnými panelmi."
},
"bottom": {
"heading": "Dolný riadok: Súhrny úložiska a siete",
"storageTitle": "Karta Prehľad úložiska",
"storageIntro": "Kompaktný prehľad stavu úložiska hostiteľa, rozdelený do troch blokov:",
"storageItems": [
"<strong>Celková kapacita uzla</strong> — súčet úložísk VM/LXC a lokálneho systémového úložiska, s ukazovateľom využitého a voľného miesta s farebným prechodom.",
"<strong>Celková kapacita / Fyzické disky</strong> — hrubá kapacita a počet nájdených fyzických diskov.",
"<strong>Úložisko VM/LXC</strong> — využité a voľné miesto a percento úložísk hosťovských systémov, s počítadlom pri viacerých úložiskách.",
"<strong>Lokálne úložisko (systém)</strong> — koreňový alebo systémový prípojný bod hostiteľa, oddelený od fondu hosťovských systémov."
],
"storageDrillIn": "Podrobnosti sú na <link>karte Úložisko</link>: SMART jednotlivých diskov, fondy ZFS, história pozorovaní a ďalšie údaje.",
"networkTitle": "Sieťová prehľadová karta",
"networkBody1": "Hore je počet aktívnych rozhraní, fyzických aj mostov spolu. Pod ním sú dva rady farebných označení rozhraní <code>up</code>: fyzické NIC modrou a mosty druhou farbou. Volič vpravo hore (1 hodina / 24 hodín / 7 dní / 30 dní / 1 rok) ovláda malý graf prevádzky RX / TX.",
"networkBody2": "Podrobnosti rozhraní (IP/MAC, graf RRD, členovia mosta, režim bond a ďalšie) sú na <link>karte Sieť</link>."
},
"refresh": {
"heading": "Model aktualizácie",
"intro": "Každý panel spravuje vlastný stav načítania (<code>loadingStates.cpu</code>, <code>loadingStates.storage</code>, …), aby pomalý zdroj neblokoval ostatné. Pri načítaní zobrazuje pulzujúci zástupný prvok. Zlyhania neblokujú zobrazenie: bez snímača teploty karta ukáže <em>N/A</em> namiesto chyby.",
"items": [
"<strong>Horné karty metrík</strong> — aktualizácia každých ~5 s. CPU a teplota navyše dostávajú údaje každú sekundu zo vzorkovača životných funkcií.",
"<strong>Graf metrík uzla</strong> — načíta sa pri otvorení a zmene obdobia alebo jazyka. V prípade potreby zopakuje požiadavku po 60 s.",
"<strong>Karta úložiska</strong> — aktualizácia každých ~60 s. Dáta SMART sa uchovávajú v pamäti dlhšie; karta Úložisko na požiadanie načíta nové.",
"<strong>Karta siete</strong> — súhrn každých 59 s a graf prevádzky každých 60 s pre aktívne obdobie.",
"<strong>Manuálne obnovenie</strong> — tlačidlo Obnoviť v hlavičke okamžite načíta všetky panely znova."
]
},
"dataCollected": {
"heading": "Spôsob zberu údajov",
"headerCard": "Karta",
"headerEndpoint": "Koncový bod",
"headerSource": "Zdroj",
"rows": [
{
"card": "Indikátor stavu v hlavičke",
"endpoint": "/api/health",
"source": "Celkový stav, ktorý monitor stavu vytvorí pri každom cykle a uloží do vyrovnávacej pamäte."
},
{
"card": "CPU / RAM / Swap / Čas prevádzky",
"endpoint": "/api/system",
"source": "<code>/proc/stat</code>, <code>/proc/meminfo</code>, <code>/proc/uptime</code> s krátkodobým vzorkovaním CPU."
},
{
"card": "Informácie o hostiteľovi (kernel, BIOS, distro)",
"endpoint": "/api/info",
"source": "<code>uname -a</code>, <code>dmidecode</code>, verzia PVE. Uložené vo vyrovnávacej pamäti na úrovni procesu."
},
{
"card": "Karty úložiska, siete a VM",
"endpoint": "/api/storage/summary, /api/network/summary, /api/vms",
"source": "Pozrite si príslušné podrobné karty. Karty v hlavičke zobrazujú kompaktný prehľad z rovnakých koncových bodov."
},
{
"card": "Frekvencia aktualizácie",
"endpoint": "—",
"source": "Systém každých 5 s; úložisko, VM a súhrn siete každých 59 s. Tlačidlo Obnoviť v hlavičke okamžite načíta všetky panely znova."
}
],
"codeComment1": "# Volanie pre indikátor stavu v hlavičke",
"codeComment2": "# verejné, bez tokenu",
"codeComment3": "# Overená snímka použitá kartami"
},
"whereNext": {
"heading": "Kam ďalej",
"items": [
{
"label": "Monitor zdravia",
"href": "/docs/monitor/health-monitor",
"tail": " — okno indikátora stavu v hlavičke: desať kategórií, odmietnutie a potlačenie upozornení."
},
{
"label": "Referenčná príručka API",
"href": "/docs/monitor/api",
"tail": " — koncové body system, info a health."
},
{
"label": "Oznámenia",
"href": "/docs/monitor/notifications",
"tail": "— ako sa rovnaké stavy menia na Telegram / Discord / e-mailové správy."
},
{
"label": "Index panela",
"href": "/docs/monitor/dashboard",
"tail": " — ostatné karty panela v skratke."
},
{
"label": "Architektúra",
"href": "/docs/monitor/architecture",
"tail": " — vlákna na pozadí a API, ktoré poskytujú údaje pre toto zobrazenie."
}
]
}
}
@@ -0,0 +1,174 @@
{
"meta": {
"title": "ProxMenux Monitor — Panel: Terminál | Dokumentácia ProxMenux",
"description": "Shell hostiteľa Proxmox v prehliadači: až 4 terminály v mriežke, tlačidlá klávesnice pre mobilné zariadenia (ESC, TAB, šípky, kombinácie Ctrl), integrovaný prehľad príkazov z cheat.sh a ochrana JWT."
},
"header": {
"title": "Panel: Terminál",
"description": "Skutočná relácia shellu na hostiteľovi Proxmox v prehliadači. Až štyri terminály súčasne, tlačidlá klávesnice pre mobilné zariadenia a integrovaný prehľad príkazov, všetko v rovnakej téme ako zvyšok panela.",
"section": "ProxMenux Monitor · Prehľad"
},
"intro": {
"title": "Skutočná PTY v prehliadači",
"body": "Terminál vytvorí na serveri PTY cez <code>flask_terminal_routes</code>, spojí ho cez WebSocket s <code>xterm.js</code> v prehliadači a beží ako <code>root</code>, používateľ jednotky systemd. Rovnako ako cez <code>ssh root@&lt;host&gt;</code> môžete používať <code>vim</code>, <code>tmux</code>, nástroje ncurses a CLI Proxmox (<code>qm</code>, <code>pct</code>, <code>pvesh</code>, <code>pvecm</code>). Každý PTY exportuje <code>PROXMENUX_TERMINAL=monitor</code>. Všetky podriadené procesy <code>bash</code> vrátane neskoršieho spustenia <code>menu</code> premennú zdedia, aby rozpoznali terminál Monitora."
},
"singleAlt": "ProxMenux Monitor Karta Terminál – jedna terminálová relácia zobrazujúca súhrn systému Fastfetch pri prihlásení",
"singleCaption": "Jeden host terminál otvorený a vyššie uvedený panel nástrojov ukazuje počet (<em>1 / 4 terminály</em>), <em>+ Nové</em>, <em>Hľadať</em>, <em>Vyčistiť</em> a <em>Zavrieť</em>. Pomocníci mobilnej klávesnice sa objavia pod terminálom na dotykových zariadeniach.",
"target": {
"heading": "Cieľ pripojenia",
"body1": "Karta Terminál otvorí shell na <strong>samotnom hostiteľovi Proxmox</strong>, rovnako ako prihlásenie cez SSH. Každá karta otvorí nový terminál hostiteľa.",
"body2": "Na prístup do <strong>kontajnera LXC</strong> použite tlačidlo <em>Konzola</em> na karte každého spusteného CT v <link>karte VM a LXC</link>. Otvorí okno, ktoré spustí <code>pct enter &lt;vmid&gt;</code> a použije rovnaký mobilný panel nástrojov opísaný nižšie."
},
"menuGuard": {
"heading": "Ochrana pri samoaktualizácii menu v tomto termináli",
"body1": "Po potvrdení <code>menu</code> nahradí vlastný strom skriptov a znovu sa načíta. Cez SSH alebo konzolu Proxmox to funguje, ale v prehliadači by sa ukončil PTY shellu a prerušil WebSocket. Preto <code>check_updates_stable</code>, <code>check_updates_beta</code> a <code>apply_release_channel</code> čítajú <code>PROXMENUX_TERMINAL</code> a rozpoznávajú kontext Monitora.",
"body2": "Dialóg áno/nie sa potom nahradí správou s oficiálnym príkazom inštalátora: <code>bash -c \"$(wget -qLO - https://raw.githubusercontent.com/MacRimi/ProxMenux/main/install_proxmenux.sh)\"</code> pre stable a zodpovedajúcou URL <code>install_proxmenux_beta.sh</code> pre beta. Aktualizáciu vykonajte cez SSH alebo konzolu hostiteľa Proxmox; terminál prehliadača slúži iba na prečítanie a potvrdenie správy."
},
"fourTerminals": {
"heading": "Až štyri terminály naraz",
"intro": "Môžete otvoriť až štyri terminály hostiteľa súčasne. Každý má vlastný PTY aj WebSocket a ide o úplne nezávislé relácie. Ikony vedľa tlačidla „Nový“ prepínajú dve rozloženia:",
"items": [
"<strong>Zobrazenie kariet</strong> — viditeľný je jeden terminál, ostatné sú pomenované karty hore (<em>Terminál 1</em>, <em>Terminál 2</em>…). Vhodné na jednu úlohu, kým ostatné bežia na pozadí.",
"<strong>Zobrazenie mriežky</strong> — všetky otvorené terminály v mriežke 2×2. Môžete sledovať <code>htop</code> v jednom, <code>iftop</code> v druhom a upravovať v treťom bez prepínania kariet."
],
"outro": "Panel nástrojov uvádza počet (<em>1/4 terminálov</em>, <em>4/4 terminálov</em>). <strong>+ Nový</strong> otvorí kartu; malé <code>×</code> v jej hlavičke ju zatvorí. Veľké červené tlačidlo <strong>Zavrieť</strong> hore ukončí všetky terminály."
},
"gridAlt": "Karta Terminál ProxMenux Monitor — mriežka štyroch terminálov hostiteľa s ls, konfiguráciou siete, iftop a hlavnou ponukou ProxMenux vedľa seba",
"gridCaption": "Zobrazenie mriežky (4 / 4 terminály) — štyri nezávislé PTY súčasne: zoznam adresára, <code>/etc/network/interfaces</code>, <code>iftop</code> a hlavná ponuka ProxMenux. Prepínač rozloženia na paneli nástrojov mení mriežku a karty.",
"keyboard": {
"heading": "Tlačidlá klávesnice pre mobilné zariadenia",
"intro": "Klávesnice telefónov a tabletov zvyčajne nemajú ESC, TAB, šípky ani kombinácie s modifikátormi. Tieto klávesy sú potrebné pre <code>vim</code>, <code>nano</code>, <code>htop</code> a ponuky TUI. Terminál preto na malých alebo dotykových zariadeniach zobrazuje pod terminálom rad dotykových tlačidiel:",
"headerButton": "Tlačidlo",
"headerSends": "Posiela",
"headerUse": "Typické použitie",
"rows": [
{
"button": "ESC",
"sends": "\\x1b",
"use": "Ukončí režim vkladania v <code>vim</code>, zruší dialóg TUI alebo ukončí vyhľadávanie."
},
{
"button": "TAB",
"sends": "\\t",
"use": "Automatické dopĺňanie ciest a prechod medzi poľami v dialog/whiptail."
},
{
"button": "↑ ↓ ← →",
"sends": "\\x1bO[ABCD]",
"use": "História shellu, pohyb kurzora a navigácia ponúk."
},
{
"button": "↵ Enter",
"sends": "\\r",
"use": "Potvrdenie. Niektoré klávesnice nahrádzajú Enter tlačidlami Prejsť/Hotovo; toto tlačidlo je jednoznačné."
},
{
"button": "Ctrl ▾",
"sends": "Rozbaľovací zoznam",
"useRich": true
}
],
"ctrlIntro": "Tri kontrolné sekvencie:",
"ctrlItems": [
"<code>Ctrl+C</code> — zruší alebo preruší bežiaci príkaz (<code>\\x03</code>).",
"<code>Ctrl+X</code> — ukončí <code>nano</code> (<code>\\x18</code>).",
"<code>Ctrl+R</code> — spätné vyhľadávanie v histórii bash (<code>\\x12</code>)."
],
"modalTitle": "Rovnaký panel nástrojov v okne konzoly LXC",
"modalBody": "Konzola otvorená cez <link>VM a LXC → Konzola</link> zobrazuje rovnaké tlačidlá klávesnice pod oknom. Pri pripojení automaticky zadá <code>pct enter &lt;vmid&gt;</code>, čím vstúpite priamo do kontajnera."
},
"lxcAlt": "Okno konzoly LXC ProxMenux Monitor — Terminal: ubuntu (ID: 103), s rovnakým mobilným panelom nástrojov (ESC, TAB, šípky, Enter, Ctrl) pod terminálom",
"lxcCaption": "Konzola LXC otvorená cez <em>VM a LXC → Konzola</em>. Hlavička uvádza cieľový kontajner (<em>Terminal: ubuntu (ID: 103)</em>) a pod terminálom sa zobrazuje rovnaký dotykový panel nástrojov.",
"search": {
"heading": "Vyhľadávanie príkazov — integrovaný prehľad",
"intro": "Modré tlačidlo <strong>Hľadať</strong> otvorí približné vyhľadávanie príkazov. Zadajte niekoľko písmen príkazu Linux alebo Proxmox (<code>ls</code>, <code>tar</code>, <code>qm</code>, <code>pct</code>, <code>zpool</code>, <code>systemctl</code>…) a zobrazia sa príklady s voľbou <em>Odoslať do aktívneho terminálu</em> jedným dotykom. Voľbu príkazu tak nájdete bez prepínania karty prehliadača.",
"modalAlt": "Okno Vyhľadávanie príkazov ProxMenux Monitor — približné vyhľadávanie príkazov Linux a Proxmox cez cheat.sh s príkladmi ls",
"modalCaption": "Vyhľadávanie <code>ls</code> — každý výsledok zobrazuje príkaz, opis a malú šípku na odoslanie do aktívneho terminálu. Vpravo dole je uvedený zdroj údajov (<em>Údaje z cheat.sh</em>).",
"aboutLabel": "O cheat.sh:",
"aboutBody": "je open-source prehľad spravovaný komunitou s krátkymi praktickými príkladmi stoviek príkazov Linux, nástrojov správy a programovacích jazykov. Pôvodne bol navrhnutý na použitie cez <code>curl cheat.sh/&lt;command&gt;</code>, ale je dostupný aj v prehliadači. ProxMenux Monitor posiela dotazy cez proxy na serveri, aby okno používalo rovnaký pôvod ako panel.",
"headerSource": "Zdroj",
"headerWhen": "Keď sa použije",
"headerWhat": "Čo vidíš",
"onlineLabel": "(online)",
"onlineWhen": "Keď má hostiteľ prístup na internet a cheat.sh proxy odpovedá.",
"onlineWhat": "Niekoľko praktických príkladov na príkaz s opisom nad nimi. Stavová bodka v hlavičke je <green>zelená</green>.",
"fallbackLabel": "Miestna záložná možnosť",
"fallbackWhen": "Keď cheat.sh je nedostupný (offline hostiteľ, obmedzujúci firewall, cheat.sh výpadok).",
"fallbackWhat": "Pribalený zoznam bežných príkazov Linux a Proxmox. Menší katalóg, ale vždy dostupný. Stavová bodka je <red>červená</red>.",
"sendingNote": "<strong>Ako funguje odosielanie</strong>: šípka vedľa výsledku odošle text do aktívneho terminálu (vybraná karta alebo posledný terminál, na ktorý ste klikli v mriežke). Okno sa automaticky zatvorí, aby ste mohli stlačiť Enter."
},
"auth": {
"heading": "Prihlásenie",
"items": [
"Prehliadač najprv požiada o jednorazový lístok cez <code>POST /api/terminal/ticket</code> s JWT v hlavičke <code>Authorization</code>. Lístok následne odošle pri otvorení WebSocketu. Platí 5 sekúnd; pri zapnutom overovaní chýbajúci alebo neplatný lístok ukončí spojenie pred vytvorením PTY.",
"Ak je Monitor za reverzným proxy, proxy musí posielať požiadavky na upgrade WebSocket. Príklady pre Nginx / Caddy / Traefik sú na stránke <link>Prístup a overenie</link>."
]
},
"clipboard": {
"heading": "Schránka, história výstupu a zmena veľkosti",
"items": [
"<strong>Kopírovanie a prilepenie</strong> — používa schránku prehliadača. Vyberte text myšou alebo trackpadom a použite systémovú skratku (<code>Cmd+C</code> na macOS, <code>Ctrl+Shift+C</code> na Linux/Windows). Prostredia Linux podporujú aj prilepenie prostredným tlačidlom.",
"<strong>História výstupu</strong> — posúvanie kolieskom alebo dvoma prstami. xterm.js uchováva v pamäti posledných niekoľko tisíc riadkov.",
"<strong>Zmena veľkosti</strong> — pri zmene veľkosti panela terminál prispôsobí okno PTY, aby sa <code>htop</code> a <code>vim</code> zobrazovali správne.",
"<strong>Opätovné pripojenie po návrate na kartu</strong> — prepnutie aplikácie v telefóne alebo tablete, najmä iPade, môže prerušiť WebSocket. Terminál zistí zmenu viditeľnosti a po návrate sa pripojí, s časovým limitom 15 sekúnd pre pomalé VPN."
]
},
"disconnect": {
"heading": "Príčiny odpojenia",
"intro": "Najčastejšie príčiny ukončenia relácie a ich riešenia:",
"headerCause": "Príčina",
"headerFix": "Riešenie",
"rows": [
{
"cause": "JWT relácie vypršal pri otváraní alebo opätovnom pripájaní terminálu (platnosť 24 h).",
"fix": "Obnovte stránku a prihláste sa znova. Terminál nie je určený na bezobslužné relácie; platnosť JWT je rovnaká ako pri bežnom prihlásení do panela."
},
{
"cause": "Časový limit nečinnosti reverzného proxy.",
"fix": "Zvýšte <code>proxy_read_timeout</code> v Nginx alebo ekvivalent v Caddy / Traefik (príklady na stránke Prístup a overenie)."
},
{
"cause": "Telefón alebo tablet v režime spánku.",
"fix": "Po prebudení zariadenia sa karta automaticky pripojí (časový limit 15 s pre VPN). Ak nie, obnovte ju."
},
{
"cause": "Reštart služby na hostiteľovi.",
"fix": "Každý reštart <code>proxmenux-monitor.service</code> ukončí všetky PTY. Nové terminály otvorte po dokončení načítania panela."
}
]
},
"warning": {
"title": "Terminál je shell root na hostiteľovi",
"body": "Terminál zdedí používateľa jednotky systemd (<code>root</code>) a má plné oprávnenia na hostiteľovi Proxmox. Pred sprístupnením mimo miestnej siete nastavte meno, heslo a 2FA v <authLink>Prístup a overenie</authLink>. Pri vypnutom overovaní môže každý s prístupom k portu 8008 otvoriť shell root bez ďalších potvrdení či prihlasovacích údajov SSH. Na prístup zvonka použite <gatewayLink>Secure Gateway</gatewayLink> (Tailscale) alebo reverzný proxy s HTTPS namiesto zverejnenia portu na internete."
},
"whereNext": {
"heading": "Kam ďalej",
"items": [
{
"label": "Prístup a overenie",
"href": "/docs/monitor/access-auth",
"tail": " — príklady reverzného proxy s riadkami na upgrade WebSocket potrebnými pre terminál."
},
{
"label": "Architektúra",
"href": "/docs/monitor/architecture",
"tail": " — prenos WebSocket (HTTP cez flask-sock a HTTPS / WSS cez gevent)."
},
{
"label": "Referenčná príručka API",
"href": "/docs/monitor/api",
"tail": " — koncové body WebSocket /ws/terminal a /ws/script/<sid> spolu so zvyškom API."
},
{
"label": "Integrácia → Bezpečná brána",
"href": "/docs/monitor/integrations",
"tail": " — prístup k terminálu mimo LAN bez sprístupnenia portu 8008."
},
{
"label": "Index panela",
"href": "/docs/monitor/dashboard",
"tail": " — Ostatné karty."
}
]
}
}
@@ -10,7 +10,9 @@
"intro": {
"p1": "Karta <strong>App</strong> zaznamenáva, ktoré aplikácie patria do LXC. Záznam môže obsahovať iba názov a webový odkaz alebo aj detektor nainštalovanej verzie a zdroj dostupnej verzie.",
"p2": "Postup, ktorý mení softvér, sa nastavuje samostatne na <link>karte Aktualizácie</link>. Uloženie aplikácie nikdy nespúšťa inštalátor ani aktualizátor.",
"callout": "Registrácia, sledovanie verzie a aktualizácia sú tri nezávislé možnosti. Každú možno používať bez ostatných dvoch."
"callout": "Registrácia, sledovanie verzie a aktualizácia sú tri nezávislé možnosti. Každú možno používať bez ostatných dvoch.",
"dashboardTitle": "Od registrácie k spúšťaču aplikácií",
"dashboard": "Každý webový odkaz uložený tu sa zobrazí aj ako karta na hlavnej <appsLink>karte Apps</appsLink>. Táto stránka LXC zostáva hlavným zdrojom názvu aplikácie, loga, odkazov a sledovania verzie."
},
"overview": {
"heading": "Čo môže obsahovať záznam aplikácie",
@@ -29,7 +31,7 @@
"lead": "Návrhy aplikácií sú súčasťou vyrovnávacej pamäte modálneho okna každého LXC. Úvodné skenovanie ich pripraví na pozadí, takže karta App môže okamžite zobraziť uložené výsledky.",
"items": [
"Otvorenie karty App <strong>nespustí</strong> nové skenovanie katalógu ani opakované dotazy do LXC.",
"<strong>Hľadať aplikácie</strong> výslovne spustí nové zisťovanie iba pre daný LXC. Používa sa po inštalácii softvéru počas behu ProxMenux.",
"<strong>Hľadať aplikácie</strong> výslovne spustí nové zisťovanie pre daný LXC. Použite po inštalácii softvéru počas behu ProxMenux.",
"Predchádzajúci zoznam zostáva počas hľadania viditeľný. Nové zhody sa pridajú po dokončení.",
"Ak sa nenájde nová zhoda, výsledok sa zobrazí pri akciách a <strong>Registrovať aplikáciu</strong> zostáva dostupné pre manuálne zadanie.",
"Uloženie, odstránenie alebo obnovenie aplikácie okamžite aktualizuje rovnakú pamäť. Štart alebo obnova LXC aktualizuje iba daný systém cez existujúcu udalosť životného cyklu."
@@ -40,10 +42,10 @@
"heading": "Registrácia aplikácie",
"lead": "Zistený návrh aj manuálny záznam používajú rovnaký editor:",
"steps": [
"Stlačte <strong>Registrovať</strong> pri návrhu alebo <strong>Registrovať aplikáciu</strong> a vyberte položku katalógu alebo zadajte vlastný názov.",
"Stlačte <strong>Registrovať</strong> pri návrhu alebo <strong>Registrovať aplikáciu</strong> a vyberte z katalógu či zadajte vlastný názov.",
"Skontrolujte názov a logo navrhnuté katalógom.",
"Pridajte potrebné webové odkazy. Zistené otvorené porty sa ponúknu ako skratky, ale neuložia sa automaticky.",
"Pre záznam iba s odkazom nechajte <strong>Sledovať dostupnú verziu</strong> vypnuté alebo ho zapnite a skontrolujte detektor a zdroj verzie.",
"Pre záznam iba s odkazom nechajte <strong>Sledovať dostupnú verziu</strong> vypnuté alebo ho zapnite a skontrolujte detektor nainštalovanej verzie a zdroj dostupnej verzie.",
"Pri zapnutom sledovaní použite <strong>Otestovať detektor</strong> a potom záznam uložte.",
"Po úpravách stlačte <strong>Hotovo</strong>. Karty App a Aktualizácie použijú aktualizovaný záznam z pamäte."
]
@@ -88,23 +90,48 @@
"colMethod": "Metóda nainštalovanej verzie",
"colUse": "Použitie",
"detectorRows": [
{ "method": "dpkg / apk", "use": "Číta verziu nainštalovaného balíka z metadát Debianu, Ubuntu alebo Alpine." },
{ "method": "binary", "use": "Spustí absolútnu cestu binárneho súboru alebo názov príkazu s parametrami verzie." },
{ "method": "file + regex", "use": "Číta skutočný súbor a extrahuje verziu pomocou jednej zachytávacej skupiny." },
{ "method": "docker label / docker exec", "use": "Číta OCI značku verzie alebo spustí príkaz verzie v Docker kontajneri." },
{ "method": "python distribution", "use": "Používa importlib.metadata cez vybraný interpreter Pythonu." },
{ "method": "command", "use": "Spustí pokročilý príkaz vo formáte argv bez shellu a extrahuje verziu z výstupu." },
{ "method": "manual", "use": "Uloží manuálne zadanú verziu; po aktualizácii aplikácie ju treba zmeniť." }
{
"method": "dpkg / apk",
"use": "Číta verziu nainštalovaného balíka z metadát Debianu, Ubuntu alebo Alpine."
},
{
"method": "binary",
"use": "Spustí absolútnu cestu binárneho súboru alebo názov príkazu s parametrami verzie."
},
{
"method": "file + regex",
"use": "Číta skutočný súbor a extrahuje verziu pomocou jednej zachytávacej skupiny."
},
{
"method": "docker label / docker exec",
"use": "Číta OCI značku verzie alebo spustí príkaz verzie v Docker kontajneri."
},
{
"method": "python distribution",
"use": "Používa importlib.metadata cez vybraný interpreter Pythonu."
},
{
"method": "command",
"use": "Spustí pokročilý príkaz vo formáte argv bez shellu a extrahuje verziu z výstupu."
},
{
"method": "manual",
"use": "Uloží manuálne zadanú verziu; po aktualizácii aplikácie ju treba zmeniť."
},
{
"method": "OCI image",
"use": "Pre kontajnery nainštalované cez OCI manager Apps. Číta verzie aplikácie a obrazu z inštalačného záznamu a porovná nainštalovaný digest s digestom z registra. Nevyžaduje nastavenie."
}
],
"sourcesHeading": "Zdroje dostupnej verzie",
"sources": [
"<strong>GitHub repozitár</strong>: najnovšie vydanie alebo značka verejného repozitára <code>vlastník/názov</code>.",
"<strong>GitHub repozitár</strong>: najnovšie vydanie alebo značka verejného repozitára <code>owner/name</code>.",
"<strong>HTTP JSON</strong>: verejný koncový bod a cesta ako <code>data.version</code> alebo <code>releases[0].tag_name</code>.",
"<strong>Docker Hub</strong>: verzované značky filtrované regulárnym výrazom. Živý náhľad pred uložením ukáže skutočné zodpovedajúce značky.",
"Pohyblivé značky ako <code>latest</code>, <code>stable</code> alebo <code>lts</code> neobsahujú verziu. Tieto obrazy sledujte podľa digestu v aktualizáciách Docker obrazov."
],
"regexHeading": "Zachytávací výraz",
"regexLead": "Regulárny výraz detektora musí vrátiť verziu vo svojej <strong>prvej zachytávacej skupine</strong>.",
"regexLead": "Regulárny výraz musí vrátiť verziu v <strong>prvej zachytávacej skupine</strong>.",
"regexRules": [
"Výraz musí zodpovedať textu vybraného binárneho súboru, súboru, príkazu alebo zdroja značiek; nepoužívajte odhadovanú všeobecnú cestu.",
"Doslovné bodky escapujte ako <code>\\.</code>, aby nezodpovedali ľubovoľnému znaku.",
@@ -132,11 +159,31 @@
"colDisplay": "Zobrazenie",
"colMeaning": "Význam",
"rows": [
{ "state": "Dostupná aktualizácia", "display": "Dostupná verzia fialovo s ikonou šípky nahor", "meaning": "Nainštalovaná a dostupná verzia sa líšia." },
{ "state": "Aktuálne", "display": "Nainštalovaná a dostupná verzia bez fialového upozornenia", "meaning": "Posledná kontrola nenašla novšiu verziu." },
{ "state": "Sledovanie čaká", "display": "Stav kontroly alebo čakania", "meaning": "Záznam je nastavený, ale ešte nedokončil obe kontroly." },
{ "state": "Sledovanie vypnuté", "display": "Iba webové odkazy bez porovnania verzií", "meaning": "Záznam zostáva platný a môže mať aktualizátor." },
{ "state": "Chyba kontroly", "display": "Jantárové vysvetlenie na karte", "meaning": "Predchádzajúci uložený stav zostane viditeľný a zobrazí sa chyba detektora alebo zdroja." }
{
"state": "Dostupná aktualizácia",
"display": "Dostupná verzia fialovo s ikonou šípky nahor",
"meaning": "Nainštalovaná a dostupná verzia sa líšia."
},
{
"state": "Aktuálne",
"display": "Nainštalovaná a dostupná verzia bez fialového upozornenia",
"meaning": "Posledná kontrola nenašla novšiu verziu."
},
{
"state": "Sledovanie čaká",
"display": "Stav kontroly alebo čakania",
"meaning": "Záznam je nastavený, ale ešte nedokončil obe kontroly."
},
{
"state": "Sledovanie vypnuté",
"display": "Iba webové odkazy bez porovnania verzií",
"meaning": "Záznam zostáva platný a môže mať aktualizátor."
},
{
"state": "Chyba kontroly",
"display": "Jantárové vysvetlenie na karte",
"meaning": "Predchádzajúci uložený stav zostane viditeľný a zobrazí sa chyba detektora alebo zdroja."
}
]
},
"management": {
@@ -155,11 +202,26 @@
"colProblem": "Situácia",
"colResolution": "Riešenie",
"rows": [
{ "problem": "Softvér bol nainštalovaný po štarte ProxMenux", "resolution": "Stlačte Hľadať aplikácie. Výslovné skenovanie aktualizuje návrhy v pamäti daného LXC." },
{ "problem": "Aplikácia nebola zistená", "resolution": "Zaregistrujte ju manuálne. Stačí názov a jeden webový odkaz; sledovanie možno pridať neskôr." },
{ "problem": "Navrhnutý detektor vracia nesprávnu verziu", "resolution": "Otvorte Upraviť polia, vyberte skutočný balík, binárny súbor alebo súbor a pred uložením otestujte detektor." },
{ "problem": "Služba Dockeru sa neponúka ako aplikácia LXC", "resolution": "Zaregistrujte Docker a pridajte publikované rozhranie služby ako webový odkaz Dockeru. Aktualizácie obrazov zostanú v sekcii Docker." },
{ "problem": "Uložená aplikácia nemá tlačidlo aktualizácie", "resolution": "Otvorte Aktualizácie a nastavte jej metódu. Samotné sledovanie verzie neurčuje, ako sa aktualizácia nainštaluje." }
{
"problem": "Softvér bol nainštalovaný po štarte ProxMenux",
"resolution": "Stlačte Hľadať aplikácie. Výslovné skenovanie aktualizuje návrhy v pamäti daného LXC."
},
{
"problem": "Aplikácia nebola zistená",
"resolution": "Zaregistrujte ju manuálne. Stačí názov a jeden webový odkaz; sledovanie možno pridať neskôr."
},
{
"problem": "Navrhnutý detektor vracia nesprávnu verziu",
"resolution": "Otvorte Upraviť polia, vyberte skutočný balík, binárny súbor alebo súbor a pred uložením otestujte detektor."
},
{
"problem": "Služba Dockeru sa neponúka ako aplikácia LXC",
"resolution": "Zaregistrujte Docker a pridajte publikované rozhranie služby ako webový odkaz Dockeru. Aktualizácie obrazov zostanú v sekcii Docker."
},
{
"problem": "Uložená aplikácia nemá tlačidlo aktualizácie",
"resolution": "Otvorte Aktualizácie a nastavte jej metódu. Samotné sledovanie verzie neurčuje, ako sa aktualizácia nainštaluje."
}
]
},
"figures": {
@@ -56,7 +56,7 @@
"notes": "Stiahne vybraný obraz a znova vytvorí jeho skupinu služieb Compose alebo chránený samostatný kontajner."
}
],
"callout": "Vlastný príkaz <strong>nahrádza</strong> Helper-Scripts pre danú aplikáciu. Ručné, hromadné aj naplánované spustenia rešpektujú uložený výber. Existujúce príkazy a staršie výslovne uložené výbery v plánoch alebo aktívnych naplánovaných úlohách sa zachovajú; starší plán nikdy neaktivuje aktualizátor novo registrovanej aplikácie."
"callout": "Vlastný príkaz <strong>nahrádza</strong> Helper-Scripts pre danú aplikáciu. Ručné, hromadné aj plánované behy rešpektujú uloženú voľbu. Existujúce príkazy a staršie výslovne uložené výbery v hromadných plánoch či aktívnych úlohách sa zachovajú; starý plán nikdy nezahrnie novo registrovanú aplikáciu."
},
"docker": {
"heading": "Docker Engine a Docker obrazy",
@@ -90,7 +90,7 @@
},
{
"state": "Overene aktuálne",
"appearance": "Zelená kontrola a zelená akcia Aktualizované",
"appearance": "Zelená značka a zelená akcia Aktualizované",
"meaning": "Posledná dokončená kontrola potvrdila, že cieľ je aktuálny."
},
{
@@ -110,7 +110,7 @@
"Nepridávajte <code>pct exec</code>; ProxMenux už vstupuje do kontajnera a príkaz spúšťa ako root."
],
"exampleLead": "Príklad úplného postupu v kontajneri:",
"example": "cd /opt/moja-aplikacia && ./update.sh",
"example": "cd /opt/my-app && ./update.sh",
"callout": "Príkaz ako <code>myapp --version</code> iba číta verziu a nič neaktualizuje. Príkazy sa spúšťajú s oprávneniami správcu a musia sa kontrolovať ako príkazy shellu root."
},
"bulk": {
@@ -120,7 +120,7 @@
"Balíky OS sú povinné. Musí byť vybraná aspoň jedna ďalšia aplikácia, Docker Engine alebo jednotka Docker obrazu.",
"Aplikácie a jednotky Dockeru sa vyberajú samostatne. Hlavná služba Compose zobrazuje závislosti, ktoré sa aktualizujú spolu s ňou.",
"Odstránené alebo nedostupné ciele sa označia ako neaktuálne a pred uložením ich treba odstrániť.",
"Tlačidlo <strong>Použiť aktualizácie</strong> je fialové, ak má niektorý vybraný cieľ overenú aktualizáciu, zelené, ak sú všetky overene aktuálne, a neutrálne pri neznámom výsledku.",
"<strong>Použiť aktualizácie</strong> je fialové, ak má niektorý cieľ overenú aktualizáciu, zelené, ak sú všetky overene aktuálne, a neutrálne pri neznámom výsledku.",
"Odstránenie hromadnej konfigurácie neodstráni samostatné metódy ani plánovanie."
],
"callout": "Hromadná aktualizácia nenahrádza samostatné tlačidlá. Je to voliteľná skratka pre výber, ktorý sa má spustiť spolu."
@@ -140,8 +140,11 @@
"items": [
"Vyberte predvoľbu alebo cron výraz a potom presné ciele: balíky OS, jednotlivé aplikácie, Docker Engine, samostatné jednotky Dockeru alebo skupiny služieb Compose.",
"Oneskorenie po vydaní platí iba pre vybrané aplikácie so sledovaním verzie. Aplikácie bez sledovania spustia aktualizátor pri každom termíne.",
"Stav posledného behu rozlišuje úspech, čiastočné dokončenie, zlyhanie, bezpečnostné pozdržanie a stav bez čakajúcich aktualizácií.",
"Zistené externé plány Proxmox VE Helper-Scripts sa zobrazia samostatne, aby bola viditeľná prekrývajúca sa automatizácia."
"Stav posledného behu rozlišuje úspech, čiastočné dokončenie, zlyhanie, bezpečnostné pozastavenie a žiadne čakajúce aktualizácie. Po prvom plánovanom behu otvorí <strong>Aktualizácie → Plánované aktualizácie → Zobraziť záznam</strong> celý výstup aktualizátora a podradených skriptov.",
"Po každom spustení ProxMenux skontroluje štandardnú značku Debianu oznamujúcu potrebu reštartu. Ak je reštart potrebný, karta Aktualizácie aj záverečné upozornenie to oznámia. Varovanie sa zruší pri spustení alebo reštarte daného LXC.",
"Na počítači Proxmox sa v <code>/usr/local/share/proxmenux/logs/lxc-updates/</code> ukladajú záznamy plánovaného priebehu pomocou mena <code>&lt;VMID&gt;-scheduled-&lt;run-id&gt;.log</code>. Posledných desať protokolov je zachovaných na LXC a staršie súbory sú automaticky odstránené.",
"Táto zachovaná história sa vzťahuje na plánované aktualizácie. Manuálna aktualizácia zobrazuje svoj výstup naživo v okne vykonávania monitora a v tomto adresári nevytvára plánovaný záznam.",
"Externé plány na hostiteľovi zistené z Proxmox VE Helper-Scripts sa zobrazujú samostatne, aby bolo vidieť prekrývajúce sa automatizácie."
],
"callout": "Pred zapnutím plánu otestujte každú vybranú metódu manuálne. Plánovaný príkaz nemôže odpovedať na interaktívne otázky."
},
@@ -150,9 +153,10 @@
"lead": "Aktualizácia sa nepovažuje za dokončenú iba preto, že príkaz v termináli skončil.",
"items": [
"Rovnaký beh uloží konečný výsledok a podľa potreby obnoví stav balíkov OS, verzie aplikácií a inventár Dockeru.",
"Vyrovnávacia pamäť LXC sa nahradí overeným stavom po aktualizácii, takže odznaky a tlačidlá nezostanú v starom stave.",
"Po spustení zastaveného alebo obnoveného LXC existujúca udalosť životného cyklu znova obnoví tento LXC. Inventár Dockeru čaká na pripravenosť démona a dočasne prázdny výsledok nepovažuje za konečný.",
"Povolené upozornenia sa odošlú z dokončeného behu vrátane čiastočných zlyhaní a zoskupených výsledkov Docker obrazov."
"Plánované behy uchovávajú výstup terminálu a oznamujú, či je na dokončenie zmien balíkov ešte potrebný reštart.",
"Vyrovnávacia pamäť LXC sa nahradí overeným stavom po aktualizácii, aby označenia a tlačidlá nezostali v pôvodnom stave.",
"Ak sa spustí zastavený alebo obnovený LXC, existujúca udalosť životného cyklu znova obnoví jeho údaje. Inventarizácia Dockeru počká na pripravenosť démona, aby sa prázdny výsledok pri štarte neuložil ako konečný.",
"Zapnuté oznámenia sa odosielajú po dokončení behu vrátane čiastočných zlyhaní a zoskupených výsledkov Docker obrazov."
]
},
"troubleshooting": {
@@ -179,6 +183,10 @@
{
"problem": "Vlastný príkaz zlyhá",
"resolution": "Spustite ho v termináli LXC a skontrolujte cestu, závislosti, neinteraktívne parametre a návratový kód."
},
{
"problem": "Plánovaná aktualizácia hovorí, že je potrebné reštartovať",
"resolution": "Otvorte Zobraziť záznam, skontrolujte dokončený beh a reštartujte daný LXC. ProxMenux vymaže upozornenie, keď udalosť životného cyklu zaznamená nový štart."
}
]
},
@@ -0,0 +1,244 @@
{
"meta": {
"title": "ProxMenux Monitor — Panel: VM a LXC | Dokumentácia ProxMenux",
"description": "Inventár hosťovských systémov so živými údajmi CPU, pamäte a disku. Podrobnosti obsahujú konfiguráciu, zdroje, zálohy, nedávne výsledky záznamu Proxmox, poznámky a Spustiť / Vypnúť / Reštartovať / Vynútiť vypnutie."
},
"header": {
"title": "Panel: VM a LXC",
"description": "Úplný inventár hosťovských systémov uzla: štyri metriky hore, triediteľný zoznam VM a LXC a podrobnosti s konfiguráciou, zdrojmi, zálohami, záznamami a ovládaním Spustiť / Vypnúť / Reštartovať / Vynútiť vypnutie.",
"section": "ProxMenux Monitor · Prehľad"
},
"intro": {
"title": "Ovládanie hosťovských systémov",
"body": "Táto karta ovláda životný cyklus hosťovských systémov. Akcie idú cez <code>POST /api/vms/&lt;vmid&gt;/control</code> s výslovným potvrdením a aktualizujú riadok systému. Nútené vypnutie vyžaduje samostatné tlačidlo Vynútiť vypnutie."
},
"topRow": {
"heading": "Horný riadok: štyri štatistické karty",
"intro": "Štyri karty sumarizujú stav systémov: celkové počty, využitie CPU, pridelenú pamäť oproti kapacite hostiteľa a pridelený diskový priestor.",
"imageAlt": "VMs & LXCs záložka Vrchný rad štyroch stat kariet: Celkom VMs & LXCs, Spolu CPU, celková pamäť, celkový disk",
"imageCaption": "Horný riadok: celkové počty a stavy Spustené / Zastavené, využitie CPU, použitá pamäť / pridelená bežiacim systémom / celkovo pridelená pamäť s označením V rámci limitov a pridelené miesto na disku.",
"headerCard": "Karta",
"headerWhat": "Čo ukazuje",
"totalLabel": "VM a LXC spolu",
"totalWhat": "Celkový počet s dvoma odznakmi <em>X Beh</em> (zelená) a <em>Y zastavená</em> (červená, len ak > 0). Číslo, ktoré pozeráš, keď sa po reštarte niečo nevrátilo.",
"cpuLabel": "CPU celkom",
"cpuWhat": "Celkové živé využitie CPU všetkých systémov ako percento fyzického CPU hostiteľa s textom <em>„Využitie pridelenej CPU“</em>.",
"memoryLabel": "Pamäť spolu",
"memoryIntro": "Tri hodnoty nastavené vertikálne:",
"memoryItems": [
"<strong>Aktuálne použitá</strong> — hlavná hodnota, napríklad <em>15.4 GB</em>, a <em>X.X % z Y GB</em> vzhľadom na RAM hostiteľa. Modrý ukazovateľ zobrazuje percento.",
"<strong>Pridelená bežiacim</strong> + <strong>Celkovo pridelená</strong> — súčet <code>maxmem</code> pre <em>bežiace</em> systémy a pre <em>všetky</em> vrátane zastavených. Prvý je dôležitý teraz, druhý pri spustení všetkých naraz.",
"<strong>V rámci limitov</strong>, zelené, sa zmení na <em>Nadmerne pridelené</em>, ak súčet prekročí RAM hostiteľa. Kontrolované nadmerné prideľovanie môže fungovať s KSM; označenie včas upozorní na malú rezervu."
],
"diskLabel": "Disk spolu",
"diskWhat": "Súčet miesta na disku prideleného všetkým systémom v GB alebo TB s textom <em>„Pridelené miesto na disku“</em>."
},
"inventory": {
"heading": "Zoznam virtuálnych strojov a kontajnerov",
"intro": "Jeden riadok na systém. Zoznam pochádza z <code>/api/vms</code>, ktoré spája <code>qm list</code> + <code>pct list</code> + <code>pvesh /cluster/resources</code> na hostiteľovi.",
"imageAlt": "Virtuálne stroje & Kontajnery Zoznam 1 riadok na hosťa so statusom, typovým odznakom, menom, ID a inline CPU / pamäť / percento disku",
"imageCaption": "Rozloženie inventára optimalizované pre mobilné zariadenia – rovnaké údaje, aké zobrazuje zobrazenie na počítači, preskupené do jedného stĺpca, pričom percentá a indikátory stavu sú kompaktné.",
"rowsIntro": "Každý riadok zobrazuje:",
"rows": [
"<strong>Ikona stavu</strong> — zelený trojuholník pri spustenom systéme alebo červený štvorec pri zastavenom. Zvyšok riadka zastaveného systému sa stlmí.",
"<strong>Typ</strong> — <em>LXC</em> azúrovou pre kontajnery, <em>VM</em> fialovou pre virtuálne stroje.",
"<strong>Názov</strong> — názov hostiteľa alebo zobrazovaný názov hosťovského systému.",
"<strong>VMID</strong> — číselné ID Proxmox pod názvom.",
"<strong>Vložené metriky</strong> 3 percentá s ikonou (CPU %, % pamäte, % disku). Každá ikona sa zmení na oranžovú, keď metrika prekročí prah pozornosti (napr. pamäť nad 90 %), takže rýchly sken vám povie, ktorý hosť je pod tlakom bez otvorenia."
],
"clickHint": "Kliknutie na riadok otvorí podrobnosti, či systém beží alebo je zastavený.",
"mobileTitle": "Zoznam navrhnutý pre mobilné zariadenia",
"mobileBody": "Na telefónoch a v úzkych oknách sa typ, názov, ID a tri percentá ukladajú do jedného stĺpca ako na snímke. Široké zobrazenie ich rozloží vodorovne. V oboch prípadoch celý riadok otvorí podrobnosti."
},
"drillIn": {
"heading": "Okno podrobností hosťovského systému",
"intro": "Detail sa otvorí s názvom hosťovského systému, VMID, typom, stavom a dobou prevádzky. Karty sa prispôsobujú jeho typu: <strong>Stav</strong>, <strong>Aplikácia</strong> a <strong>Aktualizácie</strong> pre správu aplikácií LXC, <strong>Pripojenia</strong> pri LXC s bodmi pripojenia, <strong>Záznamy</strong> pri kontajneroch nainštalovaných cez OCI manager Apps a ďalej <strong>Zálohy</strong> a <strong>Firewall</strong>. Pevný panel akcií sprístupňuje ovládanie prevádzky a terminál LXC na každej karte.",
"statusTitle": "Karta 1 — Stav",
"statusImageAlt": "Podrobnosti systému — Stav so živými údajmi CPU, pamäte a disku, diskovým a sieťovým I/O, logom systému a blokom Zdroje / IP adresy",
"statusImageCaption": "Stav: CPU, pamäť a disk s ukazovateľmi hore; celkové I/O (disk čítanie/zápis, sieť príjem/odoslanie); potom Zdroje s Poznámkami, + Info a zoznamom IP adries.",
"statusIntro": "Predvolená karta na overenie stavu systému. Tri bloky:",
"liveTitle": "1. Riadok živých metrík",
"liveItems": [
"<strong>Využitie CPU (X jadier)</strong> — percento s ukazovateľom. Nastavený počet jadier v hlavičke vysvetľuje, čo znamená 100 %.",
"<strong>Pamäť</strong> — <em>použitá / maximum</em> v GB s ukazovateľom.",
"<strong>Disk</strong> — <em>použité / maximum</em> pre hlavný obraz disku v rovnakom formáte."
],
"ioTitle": "2. I/O celkový počet + logo OS",
"ioItems": [
"<strong>Diskové I/O</strong> — celkové čítanie (↓) a zápis (↑) od štartu. Pomáha odhaliť náhly nárast I/O oproti bežnej aktivite systému.",
"<strong>Sieťové I/O</strong> — celkové prijaté (↓) a odoslané (↑) dáta, na rovnakom princípe.",
"<strong>Logo systému</strong> — ikona Debian / Ubuntu / Alpine / Windows / atď. podľa zisteného systému. Pomáha pri rozlišovaní otvorených okien."
],
"resourcesTitle": "3. Blok zdrojov",
"resourcesIntro": "Konfigurácia podľa Proxmoxu: jadrá CPU, pamäť (nastavené <code>maxmem</code>) a swap. Dve rozbaľovacie sekcie v hlavičke:",
"resourcesItems": [
"<strong>Poznámky</strong> — upraviteľný popis systému. Uloženie zavolá <code>PUT /api/vms/&lt;vmid&gt;/config</code> a zapíše do <code>/etc/pve/qemu-server/&lt;vmid&gt;.conf</code> alebo <code>/etc/pve/lxc/&lt;vmid&gt;.conf</code>.",
"<strong>+ Info</strong> — režim BIOS, typ stroja, stav agenta, položky passthrough hostpci, body pripojenia CT a poradie štartu."
],
"ipsTitle": "4. IP adresy",
"ipsBody": "Každá adresa IPv4 alebo IPv6 má zelené označenie. Zoznam je prázdny pri zastavenom systéme alebo VM bez agenta QEMU; LXC hlásia adresy priamo.",
"appTitle": "Karta 2 — App (iba LXC)",
"appIntro": "Registruje aplikácie LXC, ukladá webové odkazy a voliteľne porovnáva verzie. Návrhy pochádzajú zo štartovacej pamäte; <strong>Hľadať aplikácie</strong> zopakuje zisťovanie v tomto LXC po novej inštalácii.",
"appLinkLead": "Pozrite si",
"appLinkLabel": "vyhradená stránka aplikácie",
"appLinkTail": "pre zisťovanie v pamäti, registráciu s pomocou katalógu, webové odkazy Dockeru a detektory verzie.",
"updatesTitle": "Karta 3 — Aktualizácie (iba LXC)",
"updatesIntro": "Oddeľuje <strong>balíky OS</strong>, aplikácie, <strong>Docker Engine</strong> a Docker obrazy. Každý cieľ sa spúšťa samostatne alebo sa presne vyberie pre hromadnú či plánovanú akciu.",
"updatesLinkLead": "Pozrite si",
"updatesLinkLabel": "podrobná stránka Aktualizácie",
"updatesLinkTail": "pre integrované a vlastné aktualizátory, opätovné vytvorenie Docker kontajnerov, hromadný výber, bezpečnostné možnosti a plánovanie.",
"mountsTitle": "Karta 4 — Pripojenia (iba LXC, ak existujú)",
"mountsImageAlt": "Podrobnosti LXC, Pripojenia: zväzky PVE, bind mounty hostiteľa či úložiska PVE a NFS/CIFS pripojené v CT. Karta obsahuje typ, kapacitu, použité/celkové bajty, možnosti a stav: zelený funkčný, jantárový iba čítanie/odchýlka, červený nedostupný.",
"mountsImageCaption": "Karta Pripojenia sa zobrazuje iba pri kontajneroch LXC s aspoň jedným bodom pripojenia alebo dodatočne pripojeným vzdialeným súborovým systémom. CT bez pripojení túto kartu nemá.",
"mountsIntro": "Proxmox zobrazuje pripojenia nakonfigurované ako <code>mpX</code>, nie však pridané neskôr v CT cez <code>mount.cifs</code>, NFS cez <code>autofs</code> a podobne. Karta spája <strong>oba pohľady</strong>: nakonfigurované pripojenia <strong>a</strong> pripojenia zistené v kontajneri, so stavom a kapacitou, ak ju server vie získať.",
"mountTypesTitle": "Typy zisteného pripojenia",
"mountTypesItems": [
"<strong>Zväzok PVE</strong> — úložisko spravované Proxmoxom, napríklad podzväzok ZFS, adresár alebo Ceph RBD. Kapacita pochádza zo štatistík PVE a zodpovedá Proxmoxu.",
"<strong>Bind z úložiska PVE</strong> — položka <code>mpX</code> smerujúca na cestu úložiska známeho PVE.",
"<strong>Bind z hostiteľa</strong> — položka <code>mpX</code> s ľubovoľnou cestou hostiteľa (<code>/mnt/something</code>). Kapacitu poskytuje <code>df</code> pre túto cestu.",
"<strong>Pripojenie pridané v CT</strong> — existuje <em>iba</em> v mennom priestore kontajnera, napríklad NFS zdieľanie pripojené samotným CT. Kapacita sa číta cez <code>pct exec &lt;vmid&gt; df</code>; <code>/proc/&lt;pid&gt;/root</code> z hostiteľa neukazuje skutočné štatistiky vzdialeného pripojenia."
],
"mountStateTitle": "Bodka na karte a upozornenia",
"mountStateItems": [
"<green/> <strong>Zelená</strong> — pripojenie je funkčné a dostupné.",
"<amber/> <strong>Jantárová</strong> — nastavené, ale nepripojené, iba na čítanie alebo <em>zombie bind</em>. Zdroj na hostiteľovi bol odstránený, ale CT ho stále vidí pripojený, napríklad po odpojení USB disku alebo <code>umount</code> na hostiteľovi.",
"<red/> <strong>Červená</strong> — nedostupné: kontrola sa nedostala k pripojeniu, napríklad NFS zdieľanie s vypnutým serverom."
],
"mountsCalloutTitle": "Ďalšie informácie oproti Proxmoxu",
"mountsCalloutBody": "Prehľad všetkých miest, z ktorých kontajner číta alebo do ktorých zapisuje, vrátane ich kapacity. Zdieľania NFS alebo CIFS pripojené zvnútra CT, ktoré webové rozhranie Proxmox nevidí, sa tu zobrazujú s rovnakým vzhľadom a kontrolou stavu ako nakonfigurované prípojné body. Nefunkčné vzdialené pripojenia a neplatné bind mounty sa označia skôr, než spôsobia problém pri zálohovaní.",
"logsTitle": "Karta 5 — Záznamy (iba kontajnery OCI)",
"logsBody": "Iba pre kontajnery OCI manager Apps. Ukazuje konzolu hlavného procesu obrazu z <code>/var/log/proxmenux/oci/VMID.console.log</code>: posledných 100, 500 alebo 1000 riadkov, živé sledovanie počas behu, filter a stiahnutie. Súbor znovu načíta pri otvorení aj pri zastavenom kontajneri. Podrobnosti: <ociLink>Kontajnery OCI v ProxMenux Monitor</ociLink>.",
"backupsTitle": "Karta 6 — Zálohy",
"backupsImageAlt": "Podrobnosti systému — karta Zálohy so zoznamom dostupných záloh, cieľmi, veľkosťami a tlačidlom Vytvoriť zálohu",
"backupsImageCaption": "Všetky zálohy systému na nastavených úložiskách Proxmox, od najnovšej. Hlavička uvádza ich počet.",
"backupsIntro": "Uvádza zálohy systému na úložiskách Proxmox, od najnovšej. Počítadlo v názve ukazuje, či zálohy existujú. Každý riadok obsahuje:",
"backupsItems": [
"<strong>Časová pečiatka</strong> — dátum a čas behu.",
"<strong>Cieľ</strong> — úložisko (PBS-Cloud, PBS-Local, NFS-Backup, …), farebne podľa stavu.",
"<strong>Veľkosť</strong> — konečná veľkosť zálohy na disku."
],
"backupsOutro": "<strong>+ Vytvoriť zálohu</strong> spustí zálohu na úložisku označenom „Backup target“ v Proxmoxe. Obnova sa vykonáva vo webovom rozhraní Proxmox; Monitor ukazuje nedávne zálohy systému a umožňuje vytvoriť nové.",
"firewallTitle": "Karta 7 — Firewall",
"firewallIntro": "Číta záznam firewallu Proxmox daného systému priamo z hostiteľa, bez ďalšej služby a pravidelných dotazov. Karta je vždy prítomná; obsah závisí od zapnutia firewallu a od toho, či pravidlo zaznamenáva pakety.",
"firewallItems": [
"<strong>Firewall je vypnutý</strong> — oranžové upozornenie ukáže, kde ho zapnúť v Proxmoxe (<em>&lt;Container|VM&gt; → Firewall → Options</em>), a pripomenie, že aspoň jedno pravidlo musí mať <code>log: info</code> alebo vyššiu úroveň, aby sa pakety zobrazovali.",
"<strong>Firewall povolený, zatiaľ žiadne udalosti</strong> — nápoveda v prázdnom stave s rovnakou požiadavkou na protokolovanie, užitočná, keď ste práve zapli bránu firewall.",
"<strong>Udalosti sú dostupné</strong> — posúvateľný panel s neproporcionálnym písmom a pôvodnými položkami podľa akcie: <green>ACCEPT</green> zelená, <orange>REJECT</orange> oranžová, <red>DROP</red> červená. Počítadlo v hlavičke ukazuje počet načítaných položiek."
],
"firewallRefresh": "<em>Obnoviť</em> načíta najnovšie položky na požiadanie. Automatické obnovenie neprebieha; zoznam zachytáva otvorenie alebo posledné obnovenie. Zdroj je <code>/var/log/pve-firewall.log</code>, filtrovaný podľa VMID cez <code>GET /api/vms/&lt;vmid&gt;/firewall/log</code>.",
"firewallCalloutTitle": "Prečo ho tu máme, keď ho už ukazuje UI Proxmox?",
"firewallCalloutBody": "Odpadá prepínanie do Proxmoxu a pohľad zostáva na rovnakom VMID: spustite systém, skontrolujte pripojenia a udalosti firewallu a znova ho zastavte v paneli. Pravidlá sa upravujú v Proxmoxe; Monitor ich nemení.",
"actionBarTitle": "Akčný panel dole",
"actionBarIntro": "Vždy viditeľné dole v okne bez ohľadu na aktívnu kartu:",
"consoleItem": "<strong>Konzola</strong>, iba pre bežiace LXC, otvorí <code>pct enter &lt;vmid&gt;</code> v kontajneri. Používa xterm.js a WebSocket ako <link>karta Terminál</link> s <strong>mobilným panelom nástrojov</strong>: ESC, TAB, šípky, Enter a Ctrl+C / Ctrl+X / Ctrl+R. Funguje z telefónu či tabletu. Pre VM použite konzolu Proxmox noVNC.",
"lifecycleIntro": "Štyri tlačidlá v mriežke 2×2 posielajú <code>POST /api/vms/&lt;vmid&gt;/control</code> s príslušnou <code>action</code>. Dostupnosť závisí od stavu systému.",
"headerButton": "Tlačidlo",
"headerEnabled": "Povolené, keď",
"headerAction": "Akcia zaslaná hostiteľovi",
"lifecycleRows": [
{
"button": "Spustiť",
"color": "green",
"enabled": "Hosť je zastavený.",
"action": "qm start / pct start"
},
{
"button": "Vypnúť",
"color": "blue",
"enabled": "Hosťovský systém beží.",
"action": "qm shutdown / pct shutdown — riadne vypnutie, ACPI"
},
{
"button": "Reštartovať",
"color": "blue",
"enabled": "Hosťovský systém beží.",
"action": "qm reboot / pct reboot — riadny reštart"
},
{
"button": "Vynútiť vypnutie",
"color": "red",
"enabled": "Hosťovský systém beží.",
"action": "qm stop / pct stop — vynútené vypnutie"
}
],
"forceStopTitle": "Vynútené vypnutie okamžite ukončí beh",
"forceStopBody": "<strong>Vynútiť vypnutie</strong> obíde vypínanie ako odpojenie napájania. Použite <strong>Vypnúť</strong>, ak systém reaguje. Vynútenie použite len pri zablokovanom vypínaní a ak prijímate riziko straty dát. Červená farba a označenie bránia náhodnému kliknutiu."
},
"dataCollected": {
"heading": "Spôsob zberu údajov",
"headerSection": "Sekcia karty",
"headerEndpoint": "Koncový bod",
"headerSource": "Zdroj",
"rows": [
{
"section": "Zoznam inventára",
"endpoint": "/api/vms",
"source": "<code>pvesh get /cluster/resources --type vm</code> pre VM a CT."
},
{
"section": "Detailný panel (config, sieť, disky)",
"endpoint": "/api/vms/<vmid>",
"source": "<code>qm config &lt;id&gt;</code> pre VM / <code>pct config &lt;id&gt;</code> pre CT."
},
{
"section": "Graf metrík hosťovského systému",
"endpoint": "/api/vms/<vmid>/metrics",
"source": "Dáta RRD PVE (<code>pvesh get /nodes/&lt;node&gt;/qemu/&lt;id&gt;/rrddata</code>) upravené do formátu pre graf."
},
{
"section": "Nedávne výsledky záznamu Proxmox",
"endpoint": "/api/vms/<vmid>/logs",
"source": "<code>pvesh get /nodes/&lt;node&gt;/&lt;qemu|lxc&gt;/&lt;vmid&gt;/log --start 0 --limit 1000</code>. Pri zlyhaní príkazu vráti prázdny zoznam; nejde o úplné systémové záznamy vnútri hosťovského systému."
},
{
"section": "Zálohy k dispozícii pre hostí",
"endpoint": "/api/vms/<vmid>/backups",
"source": "<code>pvesm list &lt;storage&gt;</code> filtrované VMID."
},
{
"section": "Záznam firewallu hosťovského systému (karta Firewall)",
"endpoint": "/api/vms/<vmid>/firewall/log",
"source": "<code>/var/log/pve-firewall.log</code> filtrované VMID."
},
{
"section": "Ovládanie napájania (Spustiť / Vynútiť vypnutie / Reštartovať / Vypnúť)",
"endpoint": "/api/vms/<vmid>/control",
"source": "ekvivalenty <code>qm start|stop|reboot|shutdown</code> alebo <code>pct</code>."
}
],
"codeComment1": "# Porovnať údaje panela s PVE",
"codeComment2": "# Skontrolovať konfiguráciu systému presne ako v okne podrobností",
"codeComment3": "# VM",
"codeComment4": "# CT"
},
"whereNext": {
"heading": "Kam ďalej",
"items": [
{
"label": "Monitor zdravia",
"href": "/docs/monitor/health-monitor",
"tailRich": " — Kategória VMs & Containers (neúspešné spustenie, timeouty QMP, zlyhania vypnutia CT)."
},
{
"label": "Oznámenia",
"href": "/docs/monitor/notifications",
"tailRich": " — čo následne spúšťajú udalosti <code>vm_*</code>, <code>ct_*</code>, <code>migration_*</code> a <code>backup_*</code>."
},
{
"label": "Referenčná príručka API",
"href": "/docs/monitor/api",
"tailRich": " — koncové body VM a záloh."
},
{
"label": "Index panela",
"href": "/docs/monitor/dashboard",
"tailRich": " — Ostatné karty."
},
{
"label": "ProxMenux → Vytvoriť VM",
"href": "/docs/create-vm",
"tailRich": " — vytváranie systémov: šablóny NAS (Synology a ďalšie), VM Linux/Windows a predvoľby prispôsobené Proxmoxu."
}
]
}
}
@@ -0,0 +1,372 @@
{
"meta": {
"title": "Monitorovanie stavu Proxmox — CPU, pamäť, úložisko, SMART, ZFS, denníky | ProxMenux",
"description": "Proaktívne monitorovanie Proxmox VE: desať kategórií každých päť minút (CPU a teplota, pamäť a swap, úložisko, disky/SMART, sieť, VM, služby, denníky, aktualizácie a bezpečnosť), štyri úrovne závažnosti, potlačenie podľa kategórie, automatické čistenie vyriešených chýb, trvalá história diskov a oznámenia cez Telegram, Discord, Gotify alebo e-mail.",
"ogTitle": "Monitorovanie stavu Proxmox — CPU, pamäť, úložisko, SMART, ZFS, denníky",
"ogDescription": "Proaktívne monitorovanie Proxmox VE v desiatich kategóriách s úrovňami závažnosti, dobou potlačenia a oznámeniami podľa udalostí.",
"twitterTitle": "Proxmox Health Monitor ProxMenux",
"twitterDescription": "Proaktívne monitorovanie Proxmox VE v desiatich kategóriách s úrovňami závažnosti a oznámeniami."
},
"header": {
"title": "Monitor zdravia",
"description": "Priebežná kontrola skúma desať kategórií stavu hostiteľa v päťminútových cykloch, medzi nimi zbiera merania, odstraňuje duplicitné zistenia a z rovnakého zdroja údajov napája panel, oznámenia aj voliteľné prepisovanie pomocou AI.",
"section": "ProxMenux Monitor"
},
"intro": {
"title": "Jeden skener, traja spotrebitelia",
"body": "Vlákno na pozadí každých päť minút vykoná úplný cyklus a uloží každé zistenie do SQLite pod stabilným <code>error_key</code>. Vďaka tomu <strong>(1)</strong> panel zobrazuje aktuálny stav, <strong>(2)</strong> systém oznámení posiela nové udalosti do nastavených kanálov a <strong>(3)</strong> voliteľný AI asistent prepisuje upozornenia do zrozumiteľného jazyka. Jedno nastavenie tak slúži všetkým nadväzujúcim súčastiam."
},
"howItWorks": {
"heading": "Ako to funguje",
"intro": "Monitor používa dve súbežné vlákna. Ľahký <strong>zberač meraní</strong> plní históriu CPU, pamäte a teploty. <strong>Úplný kontrolný cyklus</strong> číta tieto údaje, vyhodnocuje dlhšie trvajúce stavy a približne každých päť minút vykoná ostatné kontroly. Potom uloží zistenia do SQLite pre panel a oznámenia.",
"scannerTitle": "Od vzorky po skladovaný nález",
"scannerCaption": "Zberač medzi cyklami plní históriu: CPU každých 5 s, pamäť každých 30 s a teplota každých 15 s. Sám nevyhodnocuje upozornenia. Úplný cyklus vyhodnotí históriu a vykoná náročnejšie kontroly SMART, ZFS, denníkov a služieb pred uložením zistení do SQLite.",
"scannerArrowLabel": "krok",
"scannerNodes": {
"samplerLabel": "Zberač meraní",
"samplerDetail": "Využitie CPU 5 s\nPamäť 30 s\nTeplota 15 s\n→ história meraní",
"cycleLabel": "Celý cyklus zdravia",
"cycleDetail": "Každých 5 min\nČíta históriu\n+ priame kontroly\n(SMART, ZFS,\nslužby, denníky…)",
"checksLabel": "Kontroly podľa kategórie",
"checksDetail": "Desať kategórií\n(CPU, pamäť,\núložisko, disky,\nsieť, VM,\nslužby, denníky,\naktualizácie, bezpečnosť)",
"sqliteLabel": "SQLite",
"sqliteDetail": "tabuľka errors\n(aktívne +\npotlačené)\n+ disk_observations\n(trvalá história\nkaždého disku)"
},
"notifTitle": "Od uloženého nálezu k užívateľovi",
"notifCaption": "Cesta oznámení. Rovnaká tabuľka chýb napája aj panel so zoznamami aktívnych a potlačených upozornení a čistenie na konci cyklu, ktoré automaticky rieši zastarané záznamy. Obe funkcie pracujú priamo s údajmi bez odosielacieho modulu.",
"notifArrowLabel": "udalosť",
"notifNodes": {
"errorsLabel": "Tabuľka chýb",
"errorsDetail": "Aktívne +\npotlačené riadky\ns kľúčom\nerror_key",
"dispatcherLabel": "Odosielateľ oznámení",
"dispatcherDetail": "Nové + zhoršené\nudalosti vo fronte\nPodľa prepínačov\n+ časového odstupu",
"templatesLabel": "Šablóny + prepis pomocou AI",
"templatesDetail": "Šablóna\npodľa udalosti\n→ voliteľný prepis AI\ndo zrozumiteľného\njazyka",
"channelsLabel": "Kanály",
"channelsDetail": "Telegram\nDiscord\nGotify\nE-mail (SMTP)"
}
},
"categories": {
"heading": "Desať kategórií",
"imageAlt": "Monitor stavu s desiatimi kategóriami a ich aktuálnymi stavmi: CPU, pamäť, úložisko, disky, sieť, VM, služby, denníky, aktualizácie a bezpečnosť",
"imageCaption": "Monitor stavu — desať kategórií s aktuálnym stavom. Na zdravom hostiteľovi majú všetky stav OK; upozornenia a kritické udalosti sa zobrazia priamo pri príslušných riadkoch.",
"intro": "Každý cyklus vykoná desať nezávislých kontrol. Každá vráti jeden zo štyroch stavov (<strong>OK</strong>, <strong>INFO</strong>, <strong>WARNING</strong>, <strong>CRITICAL</strong>) a štruktúrované údaje, napríklad názvy zariadení, úryvky denníkov a presné prahy. Zobrazia sa na paneli aj v oznámení.",
"headerCategory": "Kategória",
"headerChecks": "Čiastkové kontroly",
"headerEvents": "Typické udalosti",
"rows": [
{
"category": "CPU & Teplota",
"checks": "Použitie CPU s hysterézou, teplota snímača",
"events": "Dlhodobo vysoké využitie CPU; upozornenia na teplotu podľa zozbieraných meraní senzorov."
},
{
"category": "Pamäť a swap",
"checks": "Využitie RAM a swapu",
"events": "Dlhodobý nedostatok pamäte; činnosť OOM-killera; vyčerpanie swapu."
},
{
"category": "Úložisko",
"checks": "Proxmox úložiská, koreňový súborový systém",
"events": "Prekročenie nastavených prahov využitia koreňového alebo iného sledovaného súborového systému (predvolene 85% upozornenie / 95% kritický stav); nedostupný export NFS; zlyhanie overenia CIFS; plný pool LVM-thin."
},
{
"category": "Disky & SMART",
"checks": "SMART, dmesg I/O chyby, ZFS pools, LVM, chyby súborového systému",
"events": "Zlyhanie kontroly SMART; realokované alebo čakajúce sektory; chyby I/O ATA; pool ZFS v stave DEGRADED / FAULTED; ext4 znovu pripojený iba na čítanie."
},
{
"category": "Sieť",
"checks": "Prepojenie, stav spojenia, latencia brány",
"events": "Nefunkčný most alebo agregované rozhranie; nedostupná brána; pretrvávajúce výkyvy latencie."
},
{
"category": "VM a kontajnery",
"checks": "QMP komunikácia, spustenie VM, spustenie kontajnera",
"events": "Zlyhalo spustenie VM; zlyhanie vypnutia CT; QMP soket timeout; chýba konfigurácia / disk po klone."
},
{
"category": "Služby PVE",
"checks": "<code>pveproxy</code>, <code>pvedaemon</code>, <code>pvestatd</code>, <code>pve-cluster</code>, režim klastra",
"events": "Pád služby; strata kvóra klastra; zablokovaný <code>pmxcfs</code>."
},
{
"category": "Systémové záznamy",
"checks": "Pretrvávajúce chyby, náhle nárasty chýb, kaskády chýb, kritické správy jadra",
"events": "Opakované rovnaké chyby; náhly výbuch výstrah (kaskádový vzor); <code>BUG:</code> / <code>OOPS:</code> / <code>oom-killer</code> v Dmesgu."
},
{
"category": "Aktualizácie systému",
"checks": "Nevybavené aktualizácie, aktualizácie zabezpečenia, verzia jadra / PVE, systémový vek",
"events": "Čakajúce bezpečnostné aktualizácie alebo aktualizácie používaného jadra; dlho neaktualizovaný systém. Ak sú dostupné aktualizácie, hlavička prehľadu zobrazí <em>Aktualizovať teraz</em>. Tlačidlo spustí celý postup ProxMenux; po zatvorení obnoví stav cez <code>?refresh=1</code> bez čakania na ďalší cyklus."
},
{
"category": "Bezpečnosť a certifikáty",
"checks": "Pokusy o prihlásenie, platnosť certifikátov končí, voliteľný Fail2Ban jail stav",
"events": "Opakované zlyhania overenia cez SSH alebo web; platnosť certifikátu PVE končí o menej než 30 dní; aktívne blokovania Fail2Ban."
}
]
},
"severity": {
"heading": "Model závažnosti",
"headerStatus": "Stav",
"headerColour": "Farba",
"headerMeaning": "Význam",
"headerNotification": "Upozornenie",
"rows": [
{
"status": "OK",
"colour": "Zelená",
"meaning": "Zdravé. Žiadne zistenia v tejto kategórii.",
"notification": "Ticho."
},
{
"status": "INFO",
"colour": "Modrá",
"meaning": "Prechodný alebo už vyriešený stav, ktorý stojí za zmienku. Používa sa aj pre kategórie, v ktorých zostali <em>len</em> zamietnuté položky.",
"notification": "Voliteľné. Každý typ udalosti možno zapnúť alebo vypnúť pre jednotlivé kanály."
},
{
"status": "WARNING",
"colour": "Žltá",
"meaning": "Vyžaduje pozornosť, ale hostiteľ je stále funkčný. Príčina nie je zanedbateľná — prečítajte si podrobnosti.",
"notification": "Odošle sa, ak je daný typ udalosti pre kanál zapnutý."
},
{
"status": "CRITICAL",
"colour": "Červená",
"meaning": "Funkčnosť narušená alebo strata dát možná. Potrebné opatrenia.",
"notification": "Odošle sa, ak je typ udalosti pre kanál zapnutý. Upozornenie na teplotu CPU so závažnosťou CRITICAL sa z bezpečnostných dôvodov obnoví aj po predchádzajúcom potlačení."
}
],
"infoNote": "Kategória so stavom <strong>OK</strong>, ktorá má ešte potlačené udalosti v platnej lehote, sa zobrazí ako <strong>INFO</strong>. Pripomína tak, že niektoré upozornenia sú potlačené.",
"unknownTitle": "UNKNOWN, keď kontrolu nemožno dokončiť",
"unknownBody": "Nedostupná kontrola vráti <code>UNKNOWN</code>; po troch takýchto cykloch za sebou sa uloží trvalé zistenie. Panel ju zobrazí žltou farbou. Celkový stav obmedzuje <code>UNKNOWN</code> na <strong>WARNING</strong>, takže samotná nedostupná kontrola nespôsobí kritický stav hostiteľa."
},
"dashboardView": {
"heading": "Zobrazenie na paneli",
"intro": "Monitor stavu sa nachádza na karte <strong>Prehľad</strong>. Indikátor v hlavičke (V poriadku / Upozornenie / Kritický stav) otvorí okno s dvoma zoznamami:",
"items": [
"<strong>Aktívne</strong> — kategórie s nevyriešeným zistením. Rozbalený riadok zobrazí príslušné kontroly, pôvodný text <code>reason</code>, ID zariadenia alebo VM a prípadný odkaz na Úložisko, Sieť, VM, Denníky alebo Hardvér.",
"<strong>Potlačené</strong> — používateľom potvrdené položky, ktorých lehota potlačenia ešte neuplynula. Riadok ukazuje zostávajúci čas a nastavenú dobu. Po uplynutí zo zoznamu zmizne; ak príčina trvá a kategória to podporuje, vráti sa medzi <em>Aktívne</em>."
],
"pillTitle": "Indikátor zodpovedá najzávažnejšej kategórii",
"pillBody": "Farba hlavičky zodpovedá najvyššej závažnosti: CRITICAL → červená, inak WARNING → žltá, inak INFO → modrá, inak zelená. Rovnaká logika riadi bod vo favikone aj odznak PWA.",
"updateNowTitle": "Aktualizovať teraz tlačidlo v hlavičke Prehľad",
"updateNowBody1": "Ak <em>Aktualizácie systému</em> hlásia čakajúce aktualizácie, pri indikátore sa zobrazí <strong>Aktualizovať teraz</strong>. Okno vykoná postup z <em>ProxMenux → Settings post-install Proxmox → Proxmox System Update</em>: čistenie repozitárov, <code>apt full-upgrade</code> cez <code>update-pve-safe.sh</code>, opätovné zostavenie spravovaných ovládačov DKMS pri novom jadre, autoremove/autoclean a ponuku reštartu pri zmene jadra. Priebeh sa zobrazuje priebežne.",
"updateNowBody2": "Po dokončení zatvorenie okna zavolá <code>GET /api/health/details?refresh=1</code> a zneplatní vyrovnávaciu pamäť koncového bodu. Čakajúce aktualizácie a závažnosť sa prepočítajú podľa nového stavu balíkov. Odznak zmizne bez čakania na ďalší cyklus. Ak je hostiteľ aktuálny, tlačidlo je skryté."
},
"dismiss": {
"heading": "Potlačenie upozornení a jeho trvanie",
"intro": "Niektoré udalosti pretrvávajú, napríklad <em>Aktualizácie systému: dostupné aktualizácie</em>, kým hostiteľa neaktualizujete. Oznámenie každých päť minút nie je potrebné. Tlačidlo <em>Aktualizovať teraz</em> v prehľade tento prípad rieši priamo. Pre ostatné prípady alebo odložené aktualizácie sú dostupné dva prepojené spôsoby potlačenia:",
"step1": "<strong>Potlačiť jednotlivú udalosť</strong> v okne. Ponuka obsahuje <strong>24 hodín</strong>, <strong>7 dní</strong> alebo <strong>Natrvalo</strong> bez ohľadu na predvolenú dobu kategórie. Voľba odošle <code>POST /api/health/acknowledge</code> s <code>error_key</code> a zvolenými <code>suppression_hours</code> (<code>-1</code> pre trvalé potlačenie). Udalosť sa presunie medzi potlačené s časom <code>acknowledged_at</code>.",
"dropdownImageAlt": "Ponuka potlačenia upozornenia: 24 hodín, 7 dní alebo natrvalo",
"dropdownImageCaption": "Zvolená doba platí iba pre toto upozornenie; bez individuálnej voľby sa použije hodnota kategórie. Trvalo potlačené upozornenia majú jantárový odznak <em>Natrvalo</em> a bežne sa neobnovujú. Výnimkou je kritická teplota CPU opísaná nižšie.",
"step2": "<strong>Doba potlačenia podľa kategórie</strong>. V Nastavenia → Monitor stavu alebo cez <code>POST /api/health/settings</code> má každá z desiatich kategórií predvolenú dobu použitú bez individuálnej voľby:",
"imageAlt": "Doby potlačenia podľa kategórie v Nastavenia → Monitor stavu",
"imageCaption": "Jedna ponuka pre každú kategóriu. Pre časté udalosti, napríklad čakajúce aktualizácie, zvoľte dlhšiu dobu; pre rýchle opätovné vyhodnotenie kratšiu. Aktívne potlačenia sú uvedené pod nimi.",
"outro": "Počas potlačenia kontrola pokračuje a aktualizuje <code>last_seen</code> bez nového oznámenia. Po uplynutí lehoty ďalší cyklus príčinu znovu vyhodnotí: upozornenie sa môže obnoviť alebo zmiznúť, ak sa problém vyriešil.",
"activeSuppressionsTitle": "Kontrola a zrušenie aktívnych potlačení",
"activeSuppressionsBody": "Dočasne aj trvalo potlačené upozornenia sú v <strong>Nastavenia → Monitor stavu → Aktívne potlačenia</strong>. Riadok ukazuje identifikátor, kategóriu, závažnosť, čas potvrdenia a zostávajúcu dobu. <strong>Znovu povoliť</strong> zruší potvrdenie pre ďalšiu kontrolu. Tu možno zrušiť trvalé potlačenie aj predčasne ukončiť dočasné. Zapnite <em>Upraviť</em>, vyberte riadky (zelený okraj a prečiarknutie) a uložte. Zrušiť vyprázdni výber.",
"autoTitle": "Automatické potlačenie pri zmene doby",
"autoBody": "Iná doba než predvolených 24 hodín má druhý účinok: <strong>budúce zistenia kategórie sa ukladajú už potvrdené</strong>. Týždeň nastavený pre disky tak platí aj pre nové upozornenia bez individuálneho potláčania. Zobrazia sa priamo medzi potlačenými s danou dobou. Kategórie ponechané na 24 hodinách fungujú pôvodným spôsobom: nové zistenia sú aktívne, kým nezasiahnete.",
"tempTitle": "Výnimka pre teplotu CPU CRITICAL",
"tempBody": "Vrstva uchovávania má osobitné pravidlo pre <strong>Teplota CPU CRITICAL</strong>: takýto záznam obíde predchádzajúce potvrdenie aj automatické potlačenie. Neznamená to, že každá kontrola teploty vytvára kritický záznam pri prekročení nastaveného prahu.",
"nonDismissableTitle": "Ktoré zistenia možno potlačiť?",
"nonDismissableBody": "Okno zobrazí Potlačiť iba vtedy, keď kontrola výslovne vráti dismissable = true. Nepravdivá alebo chýbajúca hodnota tlačidlo skryje. Samotná závažnosť toto oprávnenie neurčuje: viaceré kritické kontroly umožňujú potvrdenie. Príklady opisujú aktuálne údaje; potlačenie upozornenia neopraví príčinu.",
"headerFinding": "Zistenie",
"headerWhy": "Správanie pri potlačení",
"rows": [
{
"finding": "Teplota CPU: upozornenie / kritický stav",
"why": "Upozornenie zo vzoriek teploty výslovne umožňuje potlačenie. Samostatné pravidlo obíde potvrdenie, ak príde záznam teploty CPU so závažnosťou CRITICAL."
},
{
"finding": "Kritické využitie koreňového súborového systému",
"why": "Kontroly priestoru výslovne umožňujú potlačenie aj pri kritickom využití. Potvrdenie neuvoľní miesto ani neodstráni riziko zlyhania zápisu."
},
{
"finding": "ZFS pool DEGRADED / FAULTED",
"why": "Kontroly kapacity poolu ZFS výslovne umožňujú potlačenie. Ostatné zistenia používajú vlastný príznak. Potvrdenie neopraví degradovaný ani chybný pool."
},
{
"finding": "Chyba disku I/O s SMART FAILED",
"why": "Uložené diskové zistenia z denníka môžu umožňovať potlačenie. SMART FAILED stále vyžaduje preskúmanie; tlačidlo závisí od príznaku konkrétnej kontroly, nie iba od textu upozornenia."
},
{
"finding": "Sieťové rozhranie DOWN",
"why": "Uložené kontroly rozhrania DOWN výslovne umožňujú potlačenie. Neobnoví to most, agregované rozhranie, fyzické spojenie ani vzdialený prístup."
},
{
"finding": "I/O udalosti na zdravých diskoch (INFO)",
"why": "Prechodné udalosti ATA alebo dmesg pri zdravom SMART môžu byť informačné a vyriešiť sa samy. Informačné riadky nemusia ponúkať Potlačiť; kontrola určuje, kedy je stav vyriešený."
}
],
"principle": "Použite tlačidlo zobrazené pri konkrétnom zistení; jeho dostupnosť neodvodzujte od kategórie ani závažnosti. Potvrdenie riadi zobrazenie a oznámenia. Kontroly obnovy a história disku zostávajú samostatné."
},
"autoresolve": {
"heading": "Automatické vyriešenie a čistenie",
"intro": "Mnohé upozornenia majú zmiznúť, keď príčina zanikne: VM sa už spúšťa, disk bol odstránený alebo sa teplota vrátila do normálu. Čistenie na konci každého päťminútového cyklu používa tieto pravidlá:",
"headerTrigger": "Podmienka",
"headerAction": "Akcia",
"rows": [
{
"trigger": "Využitie CPU alebo teplota sa vrátia do normálu.",
"action": "Označí sa ako vyriešené a zmizne zo zoznamu Aktívne."
},
{
"trigger": "Pamäťový tlak späť pod prahom varovania po upozornení na OOM / pamäť.",
"action": "Označí sa ako vyriešené."
},
{
"trigger": "VM / CT, na ktoré odkazuje chyba, už neexistuje (<code>qm status</code> / <code>pct status</code> nenulové).",
"action": "Označí sa ako vyriešené, pretože prostriedok bol odstránený."
},
{
"trigger": "Disk referencovaný chybou už nie je prítomný v <code>/dev/</code>.",
"action": "Označí sa ako vyriešené po odstránení zariadenia. História pozorovaní disku zostáva zachovaná."
},
{
"trigger": "Zistenia zo systémového denníka (kategória <code>logs</code>, položky SMART, chyby ATA alebo I/O) po uplynutí lehoty potlačenia.",
"action": "Odstránia sa. Každá kontrola od tohto bodu skúma nové záznamy denníka; rovnaký historický riadok sa znovu nevydá."
},
{
"trigger": "Vyriešené chyby staršie ako sedem dní.",
"action": "Vymažú sa z databázy, aby tabuľka zostala malá. História oznámení je samostatná a uchováva sa dlhšie."
}
],
"permanentTitle": "Trvalé potlačenie nie je to isté ako vyriešené",
"permanentBody": "Doba kategórie <code>-1</code> (<em>natrvalo</em>) potlačí budúce upozornenia potvrdených položiek, ale neobíde automatickú kontrolu vyriešenia. Ak príčina zanikne, napríklad odstránením prostriedku alebo poklesom pod prah, položka sa stále automaticky vyčistí."
},
"observations": {
"heading": "Pozorovania diskov — trvalá história",
"intro": "Udalosti diskov sa oplatí uchovať. Upozornenie SMART na <code>/dev/sdh</code> o 02:14 je dôležité aj po skončení prívalu chýb I/O a automatickom vyriešení: disk už má svoju históriu problémov. Monitor preto vedie samostatnú <strong>trvalú</strong> tabuľku <code>disk_observations</code>.",
"headerProperty": "Vlastnosť",
"headerErrors": "Tabuľka <code>errors</code> (Aktívne)",
"headerObs": "Tabuľka <code>disk_observations</code>",
"rows": [
{
"property": "Účel",
"errors": "Napája zobrazenie <em>aktuálneho</em> stavu a odosielanie oznámení.",
"obs": "Trvalý auditný záznam každého disku."
},
{
"property": "Automatické vyriešenie",
"errors": "Áno — riadky sa odstránia, keď príčina zanikne.",
"obs": "Nie — záznamy zostávajú natrvalo, pokiaľ ich používateľ výslovne neodmietne."
},
{
"property": "Deduplikačný kľúč",
"errors": "<code>error_key</code> (napr. <code>smart_sdh</code>).",
"obs": "<code>(disk_registry_id, error_type, error_signature)</code> so stabilnými podpismi zbavenými prchavých dát."
},
{
"property": "Kde sa zobrazuje",
"errors": "Okno monitora stavu (zoznamy Aktívne / Potlačené).",
"obs": "Detailná karta disku na karte <strong>Úložisko</strong> s odznakom „X obs.“ pre každý disk."
},
{
"property": "Čo zaznamenáva",
"errors": "Čokoľvek v súčasnosti zlyháva.",
"obs": "Upozornenia SMART (sektory, teplota, CRC, neúspešné samotesty), chyby I/O (ATA / NVMe / dm), chyby súborového systému a udalosti poolov ZFS."
}
],
"outro": "Upozornenie môže zmiznúť z panela, hoci incident zostane v histórii disku. Po otvorení disku v Úložisku karta ukáže počet nevybavených pozorovaní, časové pečiatky, závažnosť a pôvodné nespracované správy. Pomáha to pri rozhodovaní o výmene disku.",
"renameTitle": "Zmeny názvov zariadení sa automaticky zlúčia",
"renameBody": "Disky sa môžu najprv objaviť pod dočasnými názvami <code>ata8</code> alebo <code>nvme0n1p3</code>. Pozorovania sa zlučujú podľa známeho sériového čísla: ak je udalosť zaznamenaná ako <code>ata8</code> a disk neskôr identifikovaný ako <code>sdh</code>, staré pozorovania sa pri ďalšom cykle priradia k <code>sdh</code>. História zostane celistvá."
},
"notification": {
"heading": "Od zistenia k oznámeniu",
"intro": "Každá aktívna chyba môže viesť aj k oznámeniu. Postup:",
"items": [
"Kontrola uloží zistenie s kategóriou, závažnosťou a štruktúrovanými údajmi.",
"Ak je typ udalosti <strong>povolený</strong> v globálnych nastaveniach upozornení a kanál túto kategóriu neumlčal, udalosť je zaradená do poradia.",
"Systém šablón vytvorí zo štruktúrovaných údajov nadpis a telo. Ak je prepis AI zapnutý, táto dvojica prejde aj cez nastaveného poskytovateľa na zrozumiteľné preformulovanie.",
"Kanál odošle správu Telegram, vloženú správu Discord, push oznámenie Gotify alebo e-mail. Výsledok sa uloží do <code>notification_history</code>.",
"Potlačenie upozornenia spustí jeho lehotu. Ďalšie zistenia rovnakého <code>error_key</code> počas nej bežne nevytvoria oznámenie ani sa automaticky nezaradia na odoslanie po jej skončení. Výnimka pre kritickú teplotu CPU zostáva."
],
"outro": "Nastavenie kanálov — token bota Telegram, URL webhookov, kľúče AI, prepínače udalostí a úpravy kanálov — opisujú <notifLink>Oznámenia</notifLink> a <aiLink>AI asistent</aiLink>."
},
"rest": {
"heading": "Koncové body REST",
"intro": "Činnosti okna sú dostupné cez API pre skripty, panely či botov. Pri zapnutom overovaní Monitora treba platný Bearer token z prihlásenia alebo obrazovky API tokenov. Zmeny, ako potvrdenie upozornení, uloženie či čistenie osirelých chýb, vyžadujú full_admin; read_only dostane 403. Pri vypnutom alebo odmietnutom overovaní tieto kontroly umožnia prístup bez tokenu.",
"headerEndpoint": "Koncový bod",
"headerMethod": "Metóda",
"headerUse": "Použitie",
"rows": [
{
"endpoint": "/api/health",
"method": "GET",
"use": "Ľahká kontrola vracajúca JSON s <code>status</code>, <code>timestamp</code> a <code>version</code>. Vhodná pre kontroly kľúčových slov Uptime Kuma; pri zapnutom overovaní Monitora musí klient poslať hlavičku Bearer."
},
{
"endpoint": "/api/health/status",
"method": "GET",
"use": "Celkový stav: jedna úroveň závažnosti a súhrnný text. Vyžaduje overenie."
},
{
"endpoint": "/api/health/details",
"method": "GET",
"use": "Všetkých desať kategórií s ich stavmi a štruktúrovanými údajmi, z ktorých vznikli."
},
{
"endpoint": "/api/health/full",
"method": "GET",
"use": "Úplná snímka: kategórie, aktívne a potlačené chyby a vlastné nastavenia potlačenia. Naplní okno jedným volaním a využíva šesťminútovú vyrovnávaciu pamäť na pozadí pre rýchlu odpoveď."
},
{
"endpoint": "/api/health/active-errors",
"method": "GET",
"use": "Iba zoznam Aktívne. Možno filtrovať cez <code>?category=&lt;name&gt;</code>."
},
{
"endpoint": "/api/health/dismissed",
"method": "GET",
"use": "Iba zoznam Potlačené so zostávajúcimi hodinami."
},
{
"endpoint": "/api/health/acknowledge",
"method": "POST",
"use": "Telo: <code>'{'\"error_key\":\"smart_sdh\"'}'</code>. Odmietnite upozornenie s nastaveným oknom kategórie."
},
{
"endpoint": "/api/health/settings",
"method": "GET / POST",
"use": "Čítať alebo uložiť dobu potlačenia podľa kategórie."
},
{
"endpoint": "/api/health/cleanup-orphans",
"method": "POST",
"use": "Ručné čistenie chýb po odstránených zariadeniach alebo VM. Idempotentné."
}
],
"codeComment1": "# Získajte snímku aktuálneho stavu pre skript",
"codeComment2": "# Odmietnuť špecifickú chybu",
"codeComment3": "# Nastaviť potlačenie kategórie diskov na týždeň"
},
"whereNext": {
"heading": "Kam ďalej",
"items": [
{
"label": "Panel",
"href": "/docs/monitor/dashboard",
"tail": " — odtiaľ sa v rozhraní otvára okno monitora stavu."
},
{
"label": "Oznámenia",
"href": "/docs/monitor/notifications",
"tail": " — kanály, prepínače udalostí, prepis pomocou AI a história."
},
{
"label": "AI asistent",
"href": "/docs/monitor/ai-assistant",
"tail": " — poskytovateľ (OpenAI / Anthropic / Gemini / Groq / Ollama / OpenRouter), režim promptu, podrobnosť podľa kanála a jazyk."
},
{
"label": "Architektúra",
"href": "/docs/monitor/architecture",
"tailRich": " — schéma SQLite (<code>errors</code>, <code>disk_observations</code>, <code>events</code>) a intervaly vlákien na pozadí."
}
]
}
}
+151
View File
@@ -0,0 +1,151 @@
{
"meta": {
"title": "ProxMenux Monitor — Webový informačný panel s vlastným hosťovaním pre Proxmox VE | ProxMenux",
"description": "ProxMenux Monitor je webový panel pre Proxmox VE na vlastnom hostiteľovi: metriky v reálnom čase, úložisko a SMART, sieť, VM a kontajnery, hardvér, logy, webový terminál, proaktívny Health Monitor, upozornenia Telegram / Discord / e-mail, voliteľný AI asistent, REST API a integrácie ako Homepage a Home Assistant.",
"ogTitle": "ProxMenux Monitor — Webový panel pre Proxmox VE na vlastnom hostiteľovi",
"ogDescription": "Proxmox VE ovládací panel v reálnom čase: metriky hostiteľa, úložisko SMART, sieť, virtuálne počítače a kontajnery, hardvér, denníky, webový terminál, Health Monitor, upozornenia, asistent AI, REST API.",
"twitterTitle": "ProxMenux Monitor | ProxMenux",
"twitterDescription": "Webový panel Proxmox VE na vlastnom hostiteľovi s Health Monitor, upozorneniami, AI asistentom a REST API."
},
"header": {
"title": "ProxMenux Monitor",
"description": "Webový panel Proxmox VE na vlastnom hostiteľovi, dodávaný ako AppImage. Beží ako jediná služba systemd, počúva na TCP porte 8008 a poskytuje API aj rozhranie z jedného procesu.",
"section": "ProxMenux Monitor"
},
"atGlance": {
"title": "Na prvý pohľad",
"body": "Jediný AppImage na hostiteľovi Proxmox → backend Flask (port 8008) zbiera živé dáta cez <code>psutil</code>, <code>pvesh</code>, <code>smartctl</code>, <code>journalctl</code> → panel Next.js poskytovaný z rovnakého procesu. Voliteľné overovanie (heslo + 2FA), AI asistent, upozornenia a REST API pre integrácie."
},
"hero": {
"alt": "Panel ProxMenux Monitor — prehľad systému s CPU, pamäťou, teplotou a dobou prevádzky",
"caption": "Predvolená vstupná obrazovka – prehľad metrík a zdravotného stavu na úrovni hostiteľa."
},
"coverage": {
"heading": "Čo pokrýva informačný panel",
"intro": "Osem prvotriednych sekcií, z ktorých každá je podporovaná svojimi vlastnými koncovými bodmi API:",
"tableSection": "Sekcia",
"tableWhat": "Čo zobrazuje",
"sections": [
{
"name": "Monitor zdravia",
"description": "Aktívne a zrušené výstrahy v rámci CPU, pamäte, úložiska, diskov, siete, služieb, denníkov, virtuálnych počítačov, aktualizácií a zabezpečenia. Poháňa mechanizmus upozornení."
},
{
"name": "Úložisko",
"description": "Úložné pooly Proxmox, fyzické disky (SATA / NVMe / USB), atribúty SMART, stav poolov ZFS, opotrebenie a životnosť, aktivita I/O."
},
{
"name": "Sieť",
"description": "Všetky rozhrania (fyzické, bondy, mosty, OVS), IP/MAC/stav, živé grafy RX/TX a historické dáta RRD pre každé rozhranie."
},
{
"name": "VM a kontajnery",
"description": "Zoznam VM/LXC so stavom, zdrojmi a dobou prevádzky. Detail ukáže konfiguráciu, historické metriky, sťahovanie logov Proxmox a akcie štart/zastavenie/reštart/vypnutie. Dostupnosť logov závisí od endpointu Proxmox; nejde o úplný archív logov hosťovského OS."
},
{
"name": "Hardvér",
"description": "CPU model a topológia, rozloženie pamäte, zariadenia PCIe, zoznam GPU s ovládačom a monitorovaním jednotlivých slotov v reálnom čase (NVIDIA / Intel iGPU)."
},
{
"name": "Denníky a udalosti",
"description": "Živý <code>journalctl</code> s filtrami závažnosti / časového rozsahu / kľúčových slov, históriou úloh Proxmox, denníkom upozornení, balíkmi denníkov na stiahnutie."
},
{
"name": "Terminál",
"description": "Shell hostiteľa a podporované konzoly VM/CT v prehliadači cez <code>xterm.js</code> a WebSockets. Používa nastavený režim overovania: pri vypnutí alebo odmietnutí môžu klienti s prístupom zo siete otvoriť reláciu bez prihlásenia. Neznamená to audit každého príkazu."
},
{
"name": "Zabezpečenie",
"description": "Zlyhania overenia, stav jailov Fail2Ban, nedávne blokovania a integrácia s jailom <code>[proxmenux]</code> hostiteľa."
}
],
"footer": "Každá sekcia má vlastnú dokumentačnú stránku pod <link>Panel</link> na bočnom paneli."
},
"howItRuns": {
"heading": "Ako to beží",
"intro": "ProxMenux Monitor sa dodáva ako samostatný AppImage. Jediná jednotka systemd (<code>proxmenux-monitor.service</code>) spúšťa proces Flask, ktorý:",
"bullets": [
"Počúva na <strong>TCP 8008</strong> na hostiteľovi (HTTP).",
"Poskytuje panel Next.js ako statické súbory pod <code>/</code> a API pod <code>/api/*</code> z jedného procesu.",
"Sťahuje aktuálne údaje pomocou štandardných hostiteľských nástrojov: <code>psutil</code>, <code>pvesh</code>, <code>smartctl</code>, <code>journalctl</code>, <code>zpool</code>, <code>ip</code>, <code>nvidia-smi</code> atď.",
"Ukladá stav do lokálnej databázy SQLite (<code>/usr/local/share/proxmenux/health_monitor.db</code>): skryté upozornenia, pozorovania diskov, nastavenia upozornení a AI. Stav overovania je samostatne v <code>/root/.config/proxmenux-monitor/auth.json</code>."
],
"footer": "Úplný tok požiadaviek, štruktúra súborov a integrácia systemd sú v <link>Architektúra</link>."
},
"noAgent": {
"title": "Žiadny agent na hosťoch",
"body": "Monitor získava všetky údaje z hostiteľa. Do VM ani CT netreba inštalovať agenta: údaje pochádzajú z API Proxmoxu a z informácií, ktoré jadro hostiteľa poskytuje o spustených virtuálnych strojoch a kontajneroch."
},
"access": {
"heading": "Prístup k ovládaciemu panelu",
"intro": "Sú podporované dva prístupové vzory a aplikácia zistí, ktorý z nich sa používa:",
"codeComment1": "# 1) Priamy prístup k hostiteľovi",
"codeComment2": "# 2) Prostredníctvom reverzného proxy (Nginx / Caddy / Traefik)",
"afterCode": "Reverzný proxy má správne nastaviť <code>X-Forwarded-For</code>, <code>X-Forwarded-Proto</code> a <code>X-Forwarded-Host</code> a prepúšťať WebSockets. Na štandardných portoch prehliadač používa aktuálny origin. Backend dôveruje preposlaným IP iba pri výslovnom PROXMENUX_TRUST_PROXY=1; vtedy obmedzte priamy prístup k backendu.",
"footer": "Nastavenie pri prvom spustení, heslo + TOTP 2FA a úryvky reverzného proxy sú zahrnuté v <link>Prístup a overenie</link>."
},
"mobile": {
"heading": "Mobilné používanie a pridanie na domovskú obrazovku",
"intro": "Panel sa prispôsobuje veľkosti obrazovky a dodáva sa ako progresívna webová aplikácia. Súbor <code>public/manifest.json</code> deklaruje <code>display: standalone</code>, názov, ikonu a farbu motívu. Pridanie URL na domovskú obrazovku vytvorí samostatný spúšťač bez adresného riadka, s vlastnou úvodnou obrazovkou a tmavým motívom panela.",
"phoneAlt": "ProxMenux Monitor spustený na telefóne — zobrazenie hlavného panela",
"phoneCaption": "Hlavný panel v telefóne — rozloženie sa prispôsobí malej obrazovke.",
"addHeading": "Pridať na domovskú obrazovku",
"iosLabel": "iOS Safari:",
"iosBody": "tlačidlo zdieľania → <em>Pridať na domovskú obrazovku</em>. Ikona pochádza z <code>/apple-touch-icon.png</code> dodaného v AppImage.",
"androidLabel": "Android Chrome / Edge:",
"androidBody": "ponuka s tromi bodkami → <em>Inštalovať aplikáciu</em> (alebo <em>Pridať na domovskú obrazovku</em> v starších verziách).",
"afterInstall": "Po nainštalovaní sa otvorením ikony spustí ovládací panel v samostatnom režime s vlastnou položkou prepínača úloh.",
"onlineOnlyTitle": "Vyžaduje sieťové pripojenie",
"onlineOnlyBody": "Aplikáciu PWA možno nainštalovať, ale <strong>nefunguje</strong> offline: neobsahuje service worker. Zástupca sa správa ako natívna aplikácia, no na načítanie panela musí zariadenie naďalej dosiahnuť hostiteľa cez TCP 8008, prostredníctvom LAN, VPN alebo HTTPS cez reverzný proxy server."
},
"health": {
"heading": "Monitor zdravia a upozornenia",
"alt": "Obrazovka Monitora zdravia zobrazujúca 10 sledované kategórie (CPU, pamäť, úložisko, disky, sieť, služby, denníky, VM, aktualizácie, zabezpečenie) s aktuálnym stavom",
"caption": "Zobrazenie Monitora zdravia – sledované kategórie 10 s ich aktuálnym stavom. Tu sa zobrazia aktívne a odmietnuté upozornenia, keď systém nejaké vyvolá.",
"body1": "<strong>Health Monitor</strong> priebežne beží na pozadí a vytvára štruktúrované udalosti: vysoká teplota CPU, SMART výstrahy, degradácia poolov ZFS, ukončenia procesov pri OOM, poruchy VM/CT a bezpečnostné incidenty. Každá má kategóriu, závažnosť (INFO / WARNING / CRITICAL) a stabilný <code>error_key</code>, ktorý zlúči duplicity namiesto zahltenia obrazovky.",
"feedsIntro": "Udalosti napájajú tri veci súčasne:",
"feedsHealth": "Pohľad <strong>Health Monitor</strong> na ovládacom paneli (aktívne + zamietnuté zoznamy).",
"feedsChannels": "<strong>Mechanizmus upozornení</strong> — Telegram, Discord, e-mail, Gotify, Pushover a Apprise (viackanálové). Každý kanál sa nastavuje samostatne a kategórie udalostí možno stlmiť.",
"feedsAI": "Voliteľný <strong>AI asistent</strong> cez vybraného poskytovateľa (OpenAI, Anthropic, Gemini, Groq, Ollama alebo OpenRouter) vysvetľuje udalosti zrozumiteľným jazykom a pri zapnutí príslušnej voľby navrhuje ďalšie kroky.",
"suppressionTitle": "Potlačenie namiesto stlmenia všetkých",
"suppressionBody": "Každá kategória má vlastné <em>Trvanie potlačenia</em>. Po skrytí sa rovnaká výstraha stlmí na tento čas (predvolene 24 hodín, nastaviteľné pre kategóriu až natrvalo). Skutočné zhoršenie, napríklad prekročenie kritickej teploty CPU, ju vyvolá znova bez ohľadu na potlačenie."
},
"api": {
"heading": "REST API a integrácie",
"intro": "Endpointy REST poskytujú monitorovacie dáta JSON cez HTTP/HTTPS pre Homepage, Home Assistant, Uptime Kuma a skripty. Grafana môže použiť samostatný textový exportér Prometheus na <code>/api/prometheus</code>. Požiadavky možno posielať cez <code>curl</code>.",
"tokens": "Tokeny API s dlhou životnosťou (365 dni) sa generujú z <strong>Nastavenia → API prístupových tokenov</strong> alebo prostredníctvom <code>POST /api/auth/generate-api-token</code>.",
"bearer": "Tokeny posielajte ako <code>Authorization: Bearer …</code>. Verejný <code>/api/health</code> je vhodný na kontroly dostupnosti bez poverení. Pod <code>/api/auth/*</code> sú verejné trasy nastavenia/prihlásenia/stavu aj chránená správa účtov/tokenov; nie všetky sú anonymné.",
"catalog": "Katalóg endpointov, rotácia tokenov a zabezpečenie sú v <linkApi>Referenčnej príručke API</linkApi>; príklady pre Homepage, Home Assistant, Grafana, Uptime Kuma a cURL sú v <linkIntegrations>Integrácie</linkIntegrations>."
},
"serviceControl": {
"heading": "Ovládanie služby",
"intro": "Každý deň je monitor spravovaný presne ako ktorákoľvek iná služba systemd. Je tiež vystavený ako dva záznamy v ProxMenux TUI pod <em>Nastavenia</em>:",
"codeComment": "# Manuálne ovládanie",
"footer": "Pozrite si <link>Nastavenia → ProxMenux Monitor</link>, kde nájdete postup prepínania a overovania stavu v ponuke."
},
"nextSteps": {
"heading": "Kam ďalej",
"items": [
{
"label": "Architektúra",
"description": "— Flask backend, jednotka systemd, schéma SQLite, poskytovatelia AI, oznamovacie kanály."
},
{
"label": "Prístup a overenie",
"description": "— prvé spustenie, nastavenie hesla, TOTP 2FA, konfigurácia reverzného proxy, integrácia Fail2Ban."
},
{
"label": "Panel",
"description": "— každá sekcia UI, každá jedna strana."
},
{
"label": "Referenčná príručka API",
"description": "— každý koncový bod, tvar žiadosti/odpovede a správa tokenov."
},
{
"label": "Integrácie",
"description": "— Homepage, Home Assistant, Grafana / Prometheus, Uptime Kuma a všeobecný vzor cURL."
}
]
}
}
@@ -0,0 +1,255 @@
{
"meta": {
"title": "Integrácie Proxmox — Homepage, Home Assistant, Grafana, Prometheus | ProxMenux Monitor",
"description": "Príklady na skopírovanie pre pripojenie ProxMenux Monitor k Homepage, Home Assistant, Grafana cez Prometheus a Uptime Kuma. Obsahujú potrebnú konfiguráciu, koncové body API a hlavičku overenia.",
"ogTitle": "Integrácie Proxmox — Homepage, Home Assistant, Grafana, Prometheus",
"ogDescription": "Návody na pripojenie ProxMenux Monitor k Homepage, Home Assistant, Grafana, Prometheus a Uptime Kuma.",
"twitterTitle": "Integrácie Proxmox | ProxMenux Monitor",
"twitterDescription": "Recepty pre Homepage, Home Assistant, Grafana, Prometheus a Uptime Kuma."
},
"header": {
"title": "Integrácie",
"description": "Príklady na skopírovanie pre nástroje vášho homelabu: Homepage, Home Assistant, Grafana cez Prometheus a Uptime Kuma. Každý ukazuje potrebnú konfiguráciu, použitý koncový bod Monitora a hlavičku overenia.",
"section": "ProxMenux Monitor"
},
"intro": {
"title": "Čo môžete vytvoriť z tejto stránky",
"body": "Skopírujte príklad do zvoleného nástroja. Koncové body opisuje <link>Referenčná príručka API</link>; táto stránka ukazuje ich použitie v Homepage, Home Assistant a Grafana. Snímky ukazujú výsledok konfigurácií."
},
"auth": {
"heading": "Overenie: jedna vec, ktorú každý recept potrebuje",
"intro": "Väčšina použitých koncových bodov vyžaduje overenie. Požiadavku možno splniť dvoma spôsobmi.",
"optAtitle": "Možnosť A API token (odporúčané pre integráciu)",
"optAbody1": "Otvorte <strong>Nastavenia → Bezpečnosť → API tokeny</strong>. Kliknite na <em>Generovať token</em>, zadajte názov ako <em>homepage</em>, <em>home-assistant</em> alebo <em>prometheus</em> a skopírujte ho: zobrazí sa <em>iba raz</em>. Predvolene platí rok a možno ho samostatne odvolať. Používajte ho pre klientov mimo prehliadača.",
"optAbody2": "Od tohto bodu je každá žiadosť jednoducho:",
"optBtitle": "Možnosť B — prihlásenie menom a heslom",
"optBbody": "Vhodné pre skripty, ktoré sa overujú ako používateľ. Vrátený token platí krátko; väčšina integrácií by mala použiť možnosť A.",
"outro": "Pole TOTP treba iba pri zapnutom dvojfaktorovom overení. Výmenu a odvolanie tokenov, pravidlá hesiel a auditný denník opisuje <link>Prístup a overenie</link>.",
"httpsTitle": "Používanie HTTPS namiesto HTTP",
"httpsIntro": "Príklady používajú pre stručnosť <code>http://</code>. Ak ste na Monitore zapli TLS (<strong>Nastavenia → Bezpečnosť → SSL/HTTPS</strong>), v každej URL nahraďte <code>http://</code> za <code>https://</code>. Dve poznámky pre konkrétne nástroje:",
"httpsItems": [
"<strong>Certifikáty podpísané vlastným kľúčom.</strong> Integrácia Home Assistant <code>rest:</code> predvolene overuje TLS. Pri takomto certifikáte Monitora pridajte <code>verify_ssl: false</code> do každého bloku REST vedľa <code>scan_interval:</code> alebo importujte CA Monitora medzi dôveryhodné certifikáty. Rovnako postupujú iné nástroje overujúce certifikáty.",
"<strong>Prometheus</strong> má v príklade nižšie pripravené <code>scheme: https</code>. Zapnite alebo ponechajte <code>https</code>, ak je TLS na Monitore zapnuté."
]
},
"homepage": {
"heading": "Homepage",
"headingHref": "https://gethomepage.dev",
"intro": "Homepage je statický prispôsobiteľný panel aplikácií. ProxMenux Monitor sa pripája cez vstavaný widget <code>customapi</code>: vložte službu do <code>services.yaml</code>, reštartujte Homepage a karta zobrazí aktuálne hodnoty.",
"iconCalloutTitle": "Oficiálne logo ProxMenux je na dashboardicons.com",
"iconCalloutBody": "Príklady používajú <code>icon: proxmenux.png</code>. Homepage automaticky vyhľadá jednoduché názvy súborov v <a1>dashboardicons.com</a1>, knižnici ikon pre vlastné panely. Položka ProxMenux je na <a2>dashboardicons.com/icons/external/proxmenux</a2> a načíta sa pri prvom zobrazení. Rovnako fungujú tisíce nástrojov ako Telegram, Discord, Grafana či Tailscale: do služby stačí napísať <code>icon: &lt;name&gt;.png</code>.",
"imageAlt": "Panel Homepage s tromi kartami ProxMenux Monitor (EDGE, VOID, DREAM), ktoré ukazujú čas prevádzky, CPU, RAM a teplotu každého hostiteľa",
"imageCaption": "Tri inštancie ProxMenux Monitor ako karty Homepage: čas prevádzky, CPU, RAM a teplota CPU sa čítajú z <code>/api/system</code> každého hostiteľa každých 10 s.",
"basicTitle": "Základný widget — bez overenia",
"basicIntro": "Použite to, keď je ProxMenux Monitor na dôveryhodnej sieti a ešte ste nezaviedli autentifikáciu na strane monitora. Najjednoduchšia možná položka <code>services.yaml</code>:",
"authedTitle": "Overený grafický prvok",
"authedIntro": "Na Monitore vytvorte token v <strong>Nastavenia → Bezpečnosť → API tokeny</strong>. Skopírujte ho do hlavičky <code>Authorization</code> nižšie: ukážkový token za <code>Bearer</code> nahraďte vlastným.",
"authedOutro": "Reštartujte Homepage a karta zobrazí aktuálne hodnoty. Rovnaký token použite vo widgetoch, ktoré čítajú tú istú inštanciu Monitora.",
"multiTitle": "Nastavenie multi- widgetu Systém, úložisko, sieť",
"multiIntro": "Pre viac podrobností vytvorte tri karty s rôznymi koncovými bodmi: systém, úložisko a sieť. Pre tú istú inštanciu Monitora použite rovnaký token.",
"multiCalloutTitle": "Viac hostiteľov Proxmox",
"multiCalloutBody": "Zopakujte blok pre každého hostiteľa, aby vznikli zobrazené karty. Každá položka používa <code>http://&lt;host&gt;:8008</code> vlastnej inštancie. Vytvorte a uložte token pre každého hostiteľa: oddelené inštalácie majú vlastné podpisové kľúče, preto nemožno predpokladať platnosť tokenu inde."
},
"homeAssistant": {
"heading": "Home Assistant",
"headingHref": "https://www.home-assistant.io",
"intro": "Príklady používajú vstavanú integráciu Home Assistant <code>rest</code>, takže vlastný komponent HACS netreba. Číta body opísané v <link>Referenčnej príručke API</link> a vytvára senzory a atribúty pre automatizácie. Konfigurácia ponúka približne 25 senzorov zdrojov, stavu, VM/CT, úložiska, siete a aktualizácií. Vložte ju do <code>configuration.yaml</code> a znovu načítajte alebo reštartujte HA.",
"imageAlt": "Panel Home Assistant s entitami ProxMenux Monitor: stav, ukazovatele CPU/RAM/teploty, počet VM, využitie úložiska a počet aktívnych chýb",
"imageCaption": "ProxMenux Monitor plne začlenený do Home Assistant so senzormi vytvorenými z príkladu YAML nižšie.",
"step1Title": "1 · Uložiť API token",
"step1Body": "Token uložte do <code>secrets.yaml</code> oddelene od hlavnej konfigurácie. Predponu Bearer a token vložte do jednej hodnoty použiteľnej ako hlavička. Súbor nie je šifrovaný a musí zostať súkromný. Umiestnenie závisí od inštalácie, obvykle <code>/config/secrets.yaml</code> v HA OS alebo Container.",
"step2Title": "2 · Vložiť konfiguráciu REST",
"step2Body": "Šesť blokov REST pokrýva všetky hlavné oblasti Monitora, jeden blok pre každú oblasť. Každý má vhodný <code>scan_interval</code> podľa frekvencie zmien údajov: systémové zdroje každých 30 s, stav každých 60 s a pomaly sa meniaci inventár každých 5–10 minút. Vložte do <code>configuration.yaml</code>:",
"step3Title": "3 · Pridať binárne senzory a pomocné šablóny",
"step3Body": "Dva binárne senzory a niekoľko šablónových senzorov dopĺňajú integráciu – vďaka nim sú automatizácie a podmienené karty Lovelace oveľa čistejšie ako reťazenie Jinja na každom mieste.",
"step4Title": "4 · Znovu načítať a overiť",
"step4Body": "V rozhraní Home Assistant najprv overte syntax cez <em>Vývojárske nástroje → YAML → Skontrolovať konfiguráciu</em>. Potom znovu načítajte <em>Všetku konfiguráciu YAML</em> alebo vykonajte úplný reštart. Po obnovení v časti <em>Nastavenia → Zariadenia a služby → Entity</em> filtrujte podľa <em>proxmenux</em>. Všetkých približne 25 entít by sa malo naplniť počas jedného intervalu načítania.",
"replaceTitle": "Nahradiť skoršiu verziu tohto receptu?",
"replaceBody": "Po staršej verzii môže register uchovať neaktuálne ID a karty hlásiť <em>Entita sa nenašla</em>. Odstráňte staré bloky <code>rest:</code> a <code>template:</code> z <code>configuration.yaml</code> a znovu načítajte. V <em>Nastavenia → Zariadenia a služby → Entity</em> filtrujte podľa <em>proxmenux</em> a vymažte staré obnovené alebo nedostupné položky. Vložte aktuálny YAML a načítajte znova, aby sa zaregistrovali nové.",
"step5Title": "5 · Panel Lovelace",
"step5Body": "YAML vytvorí kartu <strong>vertical-stack</strong> s logom, ukazovateľmi, systémom, VM, úložiskom, sieťou a podmienenými problémami. Otvorte panel, kliknite na ceruzku, <em>Pridať kartu</em> a dole <em>Manuálne</em>, potom vložte:",
"viewTipTitle": "Chcete to namiesto jednej karty ako kompletný pohľad na prístrojovú dosku?",
"viewTipBody": "Otvorte ponuku s troma bodkami → <em>Editor surovej konfigurácie</em> a pridajte zobrazenie s touto hlavičkou nad zoznam <code>cards:</code>:",
"viewTipOutro": "To vám dáva vyhradenú záložku / pohľad na palubnej doske s vlastnou ikonou a názvom, namiesto jednej dlhej karty na existujúcom pohľade.",
"altViewTitle": "Alternatívou je dedikovaný pohľad na prístrojovú dosku",
"altViewIntro": "Ak chcete vlastnú kartu v existujúcom paneli, pridajte zobrazenie s YAML nižšie. Zobrazenie je karta panela, nevytvára novú položku v bočnom paneli. Postup:",
"altViewSteps": [
"Otvorte prístrojovú dosku, kde chcete novú kartu.",
"Vpravo hore kliknite na ceruzku na úpravu panela.",
"Kliknutím na záložku <em>+</em> na konci existujúcich kariet vytvoríte nový pohľad.",
"V pravom hornom rohu okna zvoľte <em>Editor kódu</em> na prepnutie medzi vizuálnym editorom a YAML.",
"Vložte YAML nižšie.",
"Uložte. Zobrazenie <em>ProxMenux Monitor</em> sa objaví ako karta v paneli so svojimi kartami."
],
"twoEditorsTitle": "Dva editory YAML v HA — vyberte správny",
"twoEditorsIntro": "Home Assistant má dva YAML editory, ktoré vyzerajú podobne, ale očakávajú rôzne formáty:",
"twoEditorsItems": [
"<strong>Editor jedného zobrazenia</strong> — cez <em>+</em> alebo <em>Upraviť zobrazenie → Editor kódu</em>. Očakáva jedno zobrazenie s <code>title:</code>, <code>path:</code> a <code>cards:</code> na najvyššej úrovni bez úvodnej pomlčky.",
"<strong>Editor surovej konfigurácie celého panela</strong> — cez ponuku s troma bodkami. Očakáva celý zoznam <code>views:</code>, každé zobrazenie ako položku začínajúcu <code>-</code>."
],
"twoEditorsOutro": "Nesprávny formát môže vytvoriť <em>Nepomenované zobrazenie</em> a <code>cards: []</code>. YAML nižšie patrí do editora jedného zobrazenia; skopírujte ho presne.",
"viewImageAlt": "Home Assistant vykresľovanie vyhradeného zobrazenia ProxMenux Monitor — hlavička obrázkovej entity, kľúčové ukazovatele výkonu a karty entít systému / virtuálnych počítačov / úložiska / siete automaticky rozložené HA vo viacerých stĺpcoch",
"viewImageCaption": "Zobrazenie <em>ProxMenux Monitor</em> na širokej obrazovke. Rozloženie Masonry automaticky usporiada karty do stĺpcov; výsledok závisí od nastaveného typu zobrazenia.",
"twoColTipTitle": "Chcete pevné dvojstĺpcové rozloženie namiesto automatického?",
"twoColTipBody": "Dvojicu kariet, napríklad <em>Systém</em> + <em>VM</em> alebo <em>Úložisko</em> + <em>Sieť</em>, vložte do spoločného <code>horizontal-stack</code>, aby zostali vedľa seba pri každej šírke:",
"twoColTipOutro": "Na mobile zostane riadok stlačený. Automatické rozloženie HA bez horizontal-stack sa lepšie prispôsobí úzkej obrazovke.",
"step6Title": "6 · Automatizácie",
"step6Body": "Tri automatizácie pre najbežnejšie scenáre: nahraďte <code>notify.mobile_app_&lt;your_phone&gt;</code> vlastnou oznamovacou službou.",
"logoTitle": "O logu ProxMenux",
"logoBody": "Karta picture-entity načíta oficiálne logo z <a1>dashboardicons.com</a1>, bezplatnej knižnice pre vlastné panely. Položka je na <a2>dashboardicons.com/icons/external/proxmenux</a2>. Home Assistant načíta SVG cez HTTPS pri prvom zobrazení a uloží ho do vyrovnávacej pamäte.",
"logoBrokenTitle": "Ak logo karta zobrazí rozbitý obrázok",
"logoBrokenIntro": "Niektoré inštalácie, filtrované siete alebo blokátory obsahu bránia prístupu k jsdelivr.net pri zobrazení. Použite lokálnu kópiu:",
"logoBrokenSteps": [
"Stiahnite si SVG z <a>cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/proxmenux.svg</a>.",
"Uložte si to na <code>/config/www/icons/proxmenux.svg</code> na HA hostiteľa.",
"V Lovelace YAML nahraďte <code>image:</code> URL adresu <code>/local/icons/proxmenux.svg</code>. Uložiť a znova načítať – obrázok sa vykreslí z lokálneho súboru, nie je potrebný internet."
],
"scanTipTitle": "Praktické pravidlo pre scan_interval",
"scanTipBody": "Začnite čítaním <code>/api/system</code> každých 30 s. <code>/api/health/full</code> zvyčajne číta výsledok platný až šesť minút; čítanie každých 60 s túto pamäť neobíde. Skúste päť minút pre <code>/api/storage/summary</code> a hodinu pre <code>/api/proxmenux/update-status</code>. Intervaly prispôsobte hardvéru a počtu hostiteľov."
},
"grafana": {
"heading": "Prometheus + Grafana",
"promHref": "https://prometheus.io",
"grafanaHref": "https://grafana.com",
"intro": "ProxMenux Monitor poskytuje <code>GET /api/prometheus</code> v textovom formáte Prometheus 0.0.4. Pri zapnutom overení treba Bearer token. Nastavte Prometheus na zber metrík a Grafana na zobrazenie údajov z databázy časových radov.",
"imageAlt": "Panel Grafana s metrikami ProxMenux: ukazovateľ CPU, vývoj pamäte, počet spustených VM a sieťová priepustnosť",
"imageCaption": "Jednoduchý panel Grafana z metrík ProxMenux zozbieraných cez Prometheus: CPU, pamäť, spustené VM a sieťová priepustnosť. Celý katalóg je v <link>Referenčnej príručke API → Metriky Prometheus</link>.",
"step1Title": "1 · Pridať úlohu zberu do Prometheus",
"step1Body": "API token odovzdajte cez vstavaný blok Prometheus <code>authorization</code>, ktorý umožňuje aj prihlasovacie údaje zo súboru.",
"step1After": "Znovu načítajte Prometheus cez <code>kill -HUP &lt;PID&gt;</code> (PID nahraďte ID jeho procesu), <code>systemctl reload prometheus</code>, ak je podporované, alebo <code>docker compose restart prometheus</code> pre kontajner. V <em>Status → Targets</em> má proxmenux prejsť do UP v jednom intervale. Štítok <code>node=\"&lt;hostname&gt;\"</code> odlišuje hostiteľov.",
"tokenTipTitle": "Token uložte do samostatného súboru",
"tokenTipBody": "V produkcii oddeľte token od konfigurácie. Pomocou <code>credentials_file: /etc/prometheus/secrets/proxmenux.token</code> ho Prometheus načíta zo súboru s oprávneniami 0600.",
"step2Title": "2 · Overiť zber pomocou niekoľkých dopytov",
"step2Body": "Pred konfiguráciou Grafana overte, či Prometheus naozaj má údaje. Otvorte jeho webové rozhranie na <code>http://&lt;prometheus-host&gt;:9090</code>, kliknite na <em>Query</em> a spustite niektorý z týchto dopytov. Mali by sa vrátiť aktuálne číselné údaje z vášho hostiteľa Proxmox:",
"headerQuery": "Dopyt",
"headerConfirms": "Čo potvrdzuje",
"verifyRows": [
{
"query": "up{job=\"proxmenux\"}",
"confirms": "Vráti <code>1</code>, ak Prometheus úspešne zbiera údaje Monitora, inak <code>0</code>. Najrýchlejšia úvodná kontrola."
},
{
"query": "proxmox_cpu_usage",
"confirms": "Aktuálne využitie CPU hostiteľa Proxmox v percentách. Pri opakovaní dopytu o niekoľko sekúnd by sa hodnota mala meniť."
},
{
"query": "proxmox_vms_running",
"confirms": "Počet bežiacich hostí. Porovnaj to s tým, čo vidíš v UI Proxmoxu."
},
{
"query": "proxmox_uptime_seconds / 86400",
"confirms": "Čas prevádzky hostiteľa v dňoch. Má zodpovedať príkazu <code>uptime</code> v termináli Proxmox."
}
],
"calloutTitle": "401 pri priamom otvorení URL koncového bodu môže byť v poriadku",
"calloutBody": "Pri zapnutom overení odkaz v <em>Status → Targets</em> otvorí <code>/api/prometheus</code> v prehliadači bez hlavičky Bearer služby Prometheus. Odpoveď môže obsahovať <code>'{'\"error\":\"Authentication required\"'}'</code>. Skutočný <em>State: UP</em> cieľa potvrdzuje úspešný zber cez Prometheus.",
"step3Title": "3 · Pridať Prometheus ako zdroj údajov Grafana",
"step3Body": "V Grafana otvorte <em>Connections → Data sources → Add new → Prometheus</em>. Zadajte URL, napríklad <code>http://prometheus.lan:9090</code>, uložte a otestujte. Ak Prometheus vyžaduje overenie, nastavte ho tu samostatne. Token Monitora patrí do úlohy zberu Prometheus.",
"step4Title": "4 · Vytvoriť panely pomocou týchto dopytov PromQL",
"step4Body": "Úvodný výber metrík bežne sledovaných na hostiteľovi Proxmox:",
"headerPanel": "Nápad panelu",
"headerPromql": "Dopyt PromQL",
"panelRows": [
{
"panel": "Merač využitia CPU na hostiteľa",
"promql": "proxmox_cpu_usage"
},
{
"panel": "Merač využitia pamäte na hostiteľa",
"promql": "proxmox_memory_usage_percent"
},
{
"panel": "Použitá pamäť vs celková (časové rady)",
"promql": "proxmox_memory_used_bytes / 1024 / 1024 / 1024"
},
{
"panel": "Spustené VM/CT podľa hostiteľa",
"promql": "proxmox_vms_running"
},
{
"panel": "Teplota CPU",
"promql": "proxmox_cpu_temperature_celsius"
},
{
"panel": "Sieťová priepustnosť RX (bajty/s)",
"promql": "rate(proxmox_interface_bytes_received_total[5m])"
},
{
"panel": "Sieťová priepustnosť TX (bytes/s)",
"promql": "rate(proxmox_interface_bytes_sent_total[5m])"
},
{
"panel": "Priemer zaťaženia (1 m)",
"promql": "proxmox_load_average{period=\"1m\"}"
},
{
"panel": "Použitý diskový priestor % na bod pripojenia",
"promql": "proxmox_disk_usage_percent"
},
{
"panel": "Stav nabitia batérie UPS",
"promql": "proxmox_ups_battery_charge_percent"
},
{
"panel": "Teplota GPU na slot",
"promql": "proxmox_gpu_temperature_celsius"
}
],
"outro": "Každý dopyt pridajte ako panel Grafana, s <em>Stat</em> pre hodnoty a <em>Time series</em> pre vývoj, a zoskupte podľa kategórie. Použite <code>node</code> ako premennú panela (<em>Settings → Variables → New → Query → label_values(proxmox_cpu_usage, node)</em>) na filtrovanie podľa hostiteľa."
},
"uptimeKuma": {
"heading": "Uptime Kuma a iné kontroly stavu",
"href": "https://github.com/louislam/uptime-kuma",
"intro": "Na kontrolu kľúčového slova použite <code>GET /api/system-info</code>. Táto cesta nevyžaduje token a vracia názov hostiteľa, čas prevádzky a stav <code>healthy</code>, <code>warning</code> alebo <code>critical</code>. Je verejná, na rozdiel od chránených podrobných koncových bodov.",
"kumaTitle": "Uptime Kuma — HTTP monitor kľúčových slov",
"kumaSteps": [
"V Uptime Kuma, kliknite na <em>+ Pridať nový monitor</em>.",
"Typ monitora: <em>HTTP(s) – kľúčové slovo</em>.",
"Zobrazovaný názov: <em>ProxMenux Monitor — pve01</em>.",
"URL: <code>http://pve01.lan:8008/api/system-info</code>.",
"Kľúčové slovo: <code>healthy</code> (hodnota <code>health.status</code>, keď hostiteľ je OK).",
"Interval kontroly: 60 sekúnd stačí.",
"Uložte. Cesta system-info nevyžaduje hlavičku Bearer."
],
"healthchecksTitle": "healthchecks.io / pingy z úloh cron",
"healthchecksBody": "Úloha cron môže čítať <code>/api/system-info</code> a overiť <code>.health.status == \"healthy\"</code>. Až po úspechu odošle úspešný ping na vlastnú URL Healthchecks.io. Služba prijíma pingy úloh, sama Monitor nekontroluje. Samotné HTTP 2xx nedokazuje dobrý stav hostiteľa.",
"richTitle": "Chcete podrobnejšie údaje o stave?",
"richBody": "Pre úplný stav — desať kategórií, aktívne a potlačené chyby — použite <code>GET /api/health/full</code>. Jedna odpoveď obsahuje údaje okna panela. Pri zapnutom overení treba Bearer token."
},
"workflows": {
"heading": "n8n, Zapier a vlastné skripty",
"intro": "Workflow nástroje a skripty môžu <em>odosielať</em> oznámenia cez POST na <code>/api/notifications/send</code>, napríklad pri zlyhaní CI alebo dlhej úlohe cron. Priame odoslanie obíde front aj časový odstup podľa odtlačku udalosti. Zachová formátovanie kanálov, voliteľnú AI a doručenie. Duplicity musí riešiť volajúci.",
"n8nBody": "V n8n použite uzol <em>HTTP Request</em> s POST, uvedenou URL a rovnakým JSON ako curl. Zvoľte všeobecné údaje Header Auth: názov <em>Authorization</em> a hodnotu <code>Bearer YOUR_API_TOKEN</code>, pričom nahraďte zástupný text. Požiadavku spustí plán, webhook alebo predchádzajúci uzol.",
"severityBody": "Závažnosť používa <code>INFO</code>, <code>WARNING</code> alebo <code>CRITICAL</code> veľkými písmenami. Objekt <code>data</code> poskytuje kontext. AI používa vytvorený nadpis, správu a podporované doplnenia; nie je zaručené, že ľubovoľné polia zahrnie do promptu či výstupu. Pozri <link>Oznámenia → Katalóg udalostí</link>."
},
"pveWebhook": {
"heading": "Natívny webhook Proxmox VE (prichádzajúci)",
"intro1": "Systém oznámení prišiel v PVE 8.1; natívne ciele webhook vyžadujú Proxmox VE 8.3 alebo novší. <em>Zapnúť oznámenia</em> v nastaveniach sa pokúsi zaregistrovať Monitor ako cieľ. Oznámenia PVE smerované sem, napríklad správy záloh či replikácie, vstúpia do jeho odosielacieho postupu. Konfigurácia musí byť dostupná a zapisovateľná.",
"intro2": "Postup, šablónu od PVE, záznamy v <code>/etc/pve/notifications.cfg</code> a správanie v klastri opisuje <link>Oznámenia → Integrácia webhooku PVE</link>."
},
"whereNext": {
"heading": "Kam ďalej",
"items": [
{
"label": "Referenčná príručka API",
"href": "/docs/monitor/api",
"tail": " — koncové body s metódou, cestou a úplným katalógom metrík Prometheus."
},
{
"label": "Oznámenia",
"href": "/docs/monitor/notifications",
"tail": " — zdroje udalostí, kanály, postup odosielania a podrobná integrácia webhooku PVE."
},
{
"label": "AI asistent",
"href": "/docs/monitor/ai-assistant",
"tail": " — voliteľné preformulovanie šablón do zrozumiteľného jazyka pred odoslaním cez Telegram, Discord, e-mail alebo Gotify."
},
{
"label": "Prístup a overenie",
"href": "/docs/monitor/access-auth",
"tail": " — vytváranie a odvolanie API tokenov pre tieto príklady, auditný denník a nastavenie TLS."
}
]
}
}
@@ -0,0 +1,535 @@
{
"meta": {
"title": "Oznámenia Proxmox — Telegram, Discord, e-mail, Gotify, Pushover, Apprise | ProxMenux Monitor",
"description": "Posielajte oznámenia Proxmox VE do Telegram, Discord, e-mailu, Gotify, Pushover a približne 80 služieb cez Apprise. Udalosti z monitora zdravia, denníkov a webhooku PVE spracuje deduplikácia, interval opakovania, zoskupovanie, voliteľná AI a história.",
"ogTitle": "Oznámenia Proxmox — Telegram, Discord, e-mail, Gotify, Pushover, Apprise",
"ogDescription": "Upozornenia Proxmox do Telegram, Discord, e-mailu, Gotify, Pushover a približne 80 služieb cez Apprise, s deduplikáciou, intervalmi opakovania, zoskupovaním a voliteľnou AI.",
"twitterTitle": "Oznámenia Proxmox | ProxMenux Monitor",
"twitterDescription": "Upozornenia Proxmox VE do Telegram, Discord, e-mailu, Gotify, Pushover a približne 80 služieb cez Apprise."
},
"header": {
"title": "Oznámenia",
"description": "Rozosiela udalosti zdrojov Monitora do Telegram, Discord, e-mailu, Gotify, Pushover a približne 80 služieb cez Apprise. Obsahuje deduplikáciu, intervaly opakovania, zoskupovanie, filtre udalostí a kanálov, voliteľnú AI a prehľadnú históriu.",
"section": "ProxMenux Monitor"
},
"intro": {
"title": "Odkiaľ pochádzajú správy",
"body": "Oznámenia spracúvajú výstup existujúcich zdrojov: <link>Monitor zdravia</link>, sledovanie denníka a úloh Proxmox, webhook PVE, pravidelné zisťovanie a priame udalosti skriptov. Každá udalosť prechádza rovnakým odosielacím postupom."
},
"howItWorks": {
"heading": "Ako to funguje",
"intro": "Zdroje vytvárajú štruktúrované udalosti. Spracovanie rozhodne o odoslaní a formáte, voliteľná AI upraví text a výsledok sa doručí nastaveným kanálom.",
"arrowLabel": "udalosť",
"caption": "Prehľad postupu. Každý skutočný úspešný, zoskupený či neúspešný pokus o odoslanie sa zaznamená v SQLite. Udalosti potlačené intervalom opakovania sa nezapisujú.",
"nodes": {
"sourcesLabel": "Zdroje",
"sourcesDetail": "Monitor zdravia\nSledovanie denníka\nSledovanie úloh\nWebhook PVE\nPravidelné zisťovanie\nInterné zdroje",
"dispatchLabel": "Postup odosielania",
"dispatchDetail": "Zoskupovanie nárazových udalostí\nKontrola odtlačku / intervalu\nLimity skupín\nOvládanie jednotlivých kanálov",
"aiLabel": "Prepis pomocou AI (voliteľné)",
"aiDetail": "OpenAI / Anthropic\nGemini / Groq\nOpenRouter / Ollama\n(predvolene vypnuté)",
"channelsLabel": "Kanály",
"channelsDetail": "Telegram\nDiscord\nE-mail (SMTP)\nGotify\nPushover\nApprise (približne 80 služieb)"
}
},
"enabling": {
"heading": "Zapnutie oznámení",
"intro": "Po novej inštalácii karta Oznámenia zobrazuje <em>Vypnuté</em> a tlačidlo <em>Zapnúť oznámenia</em>. Pred kliknutím sa nič neodosiela ani nemení konfigurácia PVE.",
"disabledAlt": "Úvodná karta oznámení so stavom Vypnuté a tlačidlom Zapnúť oznámenia",
"disabledCaption": "Úvodný stav — zapnutie jedným kliknutím.",
"stepsIntro": "Stlačením tlačidla urobíte tri veci v poradí:",
"steps": [
"Prepne stav na <em>Aktívne</em> a zobrazí formulár kanálov.",
"Zaregistruje webhook v <code>/etc/pve/notifications.cfg</code>. Bez HTTPS používa <code>POST http://127.0.0.1:8008/api/notifications/webhook</code>; s HTTPS lokálny HTTP prijímač na porte 8009. Oznámenia PVE vstúpia do spracovania Monitora. Pozrite <pvelink>Integrácia webhooku PVE</pvelink>.",
"Spustí odosielacie vlákno na pozadí, ktoré číta front udalostí a spracúva každú udalosť."
],
"activeAlt": "Aktívna karta oznámení s kanálmi, zobrazovaným názvom a rozbaľovacími nastaveniami AI",
"activeCaption": "Aktívny stav: kanály Telegram / Gotify / Discord / e-mail / Pushover / Apprise, zobrazovaný názov, kategórie kanála a časť <em>Pokročilé: Vylepšenie pomocou AI</em>."
},
"sources": {
"heading": "Zdroje udalostí",
"intro": "Šesť typov zdrojov zahŕňa zberače na pozadí, webhookový prijímač a interné zdroje. Vytvárajú štruktúrované objekty <code>NotificationEvent</code>.",
"headerCollector": "Zberač údajov",
"headerWatches": "Čo sleduje",
"headerEvents": "Typické udalosti",
"rows": [
{
"collector": "Monitor zdravia",
"watches": "Desať kategórií, približne každých 5 minút",
"events": "<code>new_error</code>, <code>error_resolved</code>, <code>error_escalated</code>, <code>health_degraded</code>, <code>health_persistent</code>."
},
{
"collector": "Sledovanie systémového denníka",
"watches": "<code>journalctl --follow</code> s rozpoznávaním zlyhaní SSH/webu, blokovaní Fail2Ban pri nainštalovanom jaili, chýb I/O jadra, OOM a udalostí smartd.",
"events": "<code>auth_fail</code>, <code>ip_block</code>, <code>oom_kill</code>, <code>disk_io_error</code>, <code>service_fail</code>."
},
{
"collector": "Sledovanie úloh",
"watches": "Sleduje <code>/var/log/pve/tasks/index</code> pre nové UPID úloh a ich jednotlivé denníky.",
"events": "<code>backup_start</code>, <code>backup_complete</code>, <code>backup_warning</code>, <code>backup_fail</code>, <code>migration_*</code>, <code>snapshot_complete</code>."
},
{
"collector": "Prijímač webhooku Proxmox",
"watches": "Prijíma <code>POST /api/notifications/webhook</code>. Verzie PVE s podporou cieľov webhook môžu po nastavení posielať oznámenia sem; pozrite <pvelink>nižšie</pvelink>.",
"events": "Oznámenia PVE vrátane HA, replikácie a vzdump z rozhrania, ktoré by Monitor inak nemusel zachytiť."
},
{
"collector": "Pravidelné zisťovanie",
"watches": "Pravidelne porovnáva dostupnosť uzlov klastra, platnosť certifikátov, GPU passthrough a dostupné aktualizácie PVE/ProxMenux.",
"events": "<code>node_disconnect</code>, <code>node_reconnect</code>, <code>pve_update</code>, <code>proxmenux_update</code>, <code>gpu_mode_switch</code>, <code>pci_passthrough_conflict</code>."
},
{
"collector": "Interné zdroje udalostí",
"watches": "Priame volania skriptov ProxMenux a samotného Monitora (<code>notification_manager.emit_event(...)</code>).",
"events": "<code>system_startup</code>, <code>system_shutdown</code>, <code>system_reboot</code>, <code>ai_model_migrated</code>, vlastné testovacie udalosti."
}
],
"after1": "Udalosť nesie <code>event_type</code>, závažnosť <code>severity</code> (<code>INFO</code>, <code>WARNING</code>, <code>CRITICAL</code>), kategóriu <code>category</code> pre ikony a filtre a údaje <code>data</code> pre šablónu (<code>vmid</code>, <code>device</code>, <code>source_ip</code>, <code>reason</code>…).",
"after2": "Pre každý <code>event_type</code> vytvorí šablóna v <code>notification_templates.py</code> text správy. Ten prechádza odosielaním a voliteľnou úpravou AI. Súvislosti vysvetľuje <ailink>stránka Asistent AI</ailink>."
},
"channels": {
"heading": "Nastavenie kanálov",
"intro": "Podporovaných je šesť kanálov: Telegram, Discord, Gotify, e-mail SMTP, Pushover a Apprise. Prvých päť má vlastné polia. Apprise pridáva približne 80 služieb cez URL, napríklad ntfy, Matrix, Slack, Teams, Pushbullet, AWS SNS a Mattermost. Postupy sú nižšie.",
"credsTitle": "Uloženie prihlasovacích údajov",
"credsBody": "Tokeny, kľúče, URL webhookov a heslá SMTP sú v miestnej databáze SQLite pod <code>/usr/local/share/proxmenux/</code>. Citlivé hodnoty sú chránené a v rozhraní maskované; odosielajú sa len príslušným službám. Záloha celého adresára umožní obnoviť kanály."
},
"telegram": {
"heading": "Telegram",
"intro": "Potrebujete <strong>token robota</strong>, použiteľný vo viacerých chatoch, a <strong>ID chatu</strong> pre súkromný chat, skupinu alebo tému superskupiny. Integrovaný návod opisuje nastavenie; tu sú aj oba formáty ID.",
"guideAlt": "Návod Telegram so štyrmi časťami: BotFather, token, ID chatu a skupiny alebo kanály",
"guideCaption": "Odkaz <em>+ návod na nastavenie</em> otvorí štyri kroky na vytvorenie robota a nastavenie kanála približne za dve minúty.",
"step1Title": "1 · Vytvorte robota cez BotFather",
"step1Items": [
"Otvorte Telegram a začnite četovať s <a>@BotFather</a> (s modrým overovacím začiarknutím – kópie sú bežné).",
"Pošlite <code>/newbot</code>.",
"Vyberte zobrazovaný názov (napr. <em>ProxMenux Lab</em>). Môže sa zmeniť neskôr.",
"Vyberte jedinečné meno na Telegrame končiace na <code>bot</code>, napríklad <em>proxmenux_lab_bot</em>.",
"BotFather vráti token v tvare <code>123456789:ABCdef…</code>. Je to token robota; chráňte ho ako heslo."
],
"step2Title": "2 · Získajte ID rozhovoru",
"step2Intro": "ID chatu identifikuje <em>kde</em> robot prispieva. V závislosti od cieľa má jeden z dvoch tvarov.",
"privateLabel": "Súkromný chat (prijímate upozornenia na svoj vlastný účet):",
"privateItems": [
"Začnite chatovať so svojím novým robotom a pošlite akúkoľvek správu (napr. <code>/start</code>).",
"Otvorte chat s <a1>@userinfobot</a1> alebo <a2>@myidbot</a2> a pošlite <code>/start</code>. Kladné číselné ID používateľa v odpovedi je vaše ID súkromného chatu."
],
"privateAlt": "Formulár Telegram s maskovaným tokenom, kladným ID súkromného chatu a prázdnym voliteľným ID témy",
"privateCaption": "Súkromný chat s robotom — ID chatu je vaše kladné používateľské ID.",
"groupLabel": "Skupina alebo superskupina s témami:",
"groupItems": [
"Pridajte robota do skupiny; ak to vyžadujú oprávnenia, nastavte ho ako správcu.",
"Pošlite správu do skupiny.",
"Otvorte <code>https://api.telegram.org/bot&lt;YOUR_TOKEN&gt;/getUpdates</code>. V odpovedi JSON nájdite <code>chat.id</code>: skupiny majú záporné ID, superskupiny začínajú na <code>-100</code>.",
"Pri superskupine so zapnutými <em>Témami</em> zadajte požadovaný <code>message_thread_id</code> do voliteľného poľa <em>ID témy</em>."
],
"groupAlt": "Formulár Telegram s maskovaným tokenom, záporným ID superskupiny začínajúcim na -100 a ID témy 3",
"groupCaption": "Superskupina — ID začína na <code>-100…</code> a voliteľné <em>ID témy</em> vyberá konkrétne vlákno.",
"step3Title": "3 · Uložte a otestujte",
"step3Body": "Vložte token a ID chatu, uložte a vyberte <em>Odoslať test</em>. Správa má prísť do sekundy. Pri chybe História uvedie dôvod, napríklad neplatný token, chýbajúce členstvo v skupine alebo blokovanie používateľom."
},
"discord": {
"heading": "Discord",
"intro": "Discord prijíma správy cez <em>URL webhooku</em> priradenú ku kanálu. Monitor potrebuje túto URL.",
"items": [
"V Discord otvorte <em>Nastavenia servera → Integrácie → Webhooks</em>.",
"Kliknite na <em>Nový Webhook</em>. Pomenujte ho (napr. <em>ProxMenux</em>) a vyberte kanál, na ktorom má uverejňovať. Avatar je voliteľný.",
"Vyberte <em>Kopírovať URL webhooku</em>. Formát: <code>https://discord.com/api/webhooks/&lt;id&gt;/&lt;token&gt;</code>.",
"Vložte ju do poľa Webhook URL karty Discord v paneli upozornení a uložte."
],
"imageAlt": "Formulár kanála Discord s Webhook URL poľom začínajúcim s https://discord.com/api/webhooks/",
"imageCaption": "Discord — vložte URL z <em>Nastavenia servera → Integrácie → Webhooks</em>."
},
"gotify": {
"heading": "Gotify",
"intro": "Gotify je push server na vlastnom hostiteľovi. Potrebujete jeho základnú URL a <em>token aplikácie</em> z administrácie.",
"items": [
"Ak Gotify ešte nemáte, použite <a>oficiálny inštalačný návod</a>.",
"Ako správca otvorte <em>Aplikácie</em> → <em>Vytvoriť aplikáciu</em>, zadajte názov ako <em>ProxMenux</em> a skopírujte token.",
"V Gotify nastavte <em>URL servera</em>, napríklad <code>https://gotify.example.com</code>, a vložte token aplikácie.",
"Uložte a stlačte <em>Odoslať test</em>."
],
"imageAlt": "Formulár Gotify s URL https://gotify.example.com a vzorovou hodnotou tokenu A_valid_gotify_token",
"imageCaption": "Gotify — URL vlastnej inštancie a token aplikácie z administrácie."
},
"email": {
"heading": "E-mail (SMTP)",
"intro": "E-mail je najflexibilnejší kanál a ten s najviac polí. Potrebujete SMTP server, port, režim TLS, prípadne užívateľské meno a heslo, adresu odosielateľa a aspoň jedného príjemcu.",
"imageAlt": "Formulár SMTP: server, port, režim TLS, meno, heslo, odosielateľ, príjemcovia oddelení čiarkami a predpona predmetu",
"imageCaption": "E-mail: SMTP host / port / TLS režim, voliteľné užívateľské meno + heslo, adresa odosielateľa, čiarkovo oddeľovaní príjemcovia a predpona predmetu, aby sa upozornenia dali ľahko filtrovať do schránky.",
"appNote": "Monitor používa SMTP s heslom. Gmail môže vyžadovať <strong>heslo aplikácie</strong>. Pri Microsofte záleží na službe a pravidlách organizácie; heslo aplikácie neobíde zákaz základného overenia. Najprv overte podporu služby.",
"gmailTitle": "Heslo aplikácie Gmail",
"gmailIntro": "Heslá aplikácií Gmail vyžadujú zapnuté <strong>dvojstupňové overenie (2-Step Verification)</strong> v účte Google. Bez neho stránka <em>Heslá aplikácií</em> nebude dostupná.",
"gmailItems": [
"Otvorte <a>myaccount.google.com/security</a> a zapnite <em>2-Step Verification</em> ak ešte nie je zapnutý.",
"Otvorte <a>myaccount.google.com/apppasswords</a>.",
"Zadajte názov ako <em>ProxMenux</em> a vyberte <em>Vytvoriť</em>. Skopírujte 16-znakové heslo.",
"Nastavte <em>Server</em> <code>smtp.gmail.com</code>, <em>Port</em> <code>587</code>, <em>Režim TLS</em> <code>STARTTLS</code>, <em>Meno</em> vašu adresu Gmail a <em>Heslo</em> 16-znakové heslo aplikácie."
],
"outlookTitle": "Microsoft / Outlook heslo aplikácie",
"outlookIntro": "Heslá aplikácií Microsoft vyžadujú <strong>dvojstupňové overenie</strong>, ale nezaručujú kompatibilitu SMTP. Pri požiadavke OAuth2 sa klient Monitora s heslom neprihlási. Použite SMTP relay podporujúci požadované overenie poskytovateľa.",
"outlookItems": [
"Otvorte <a>account.microsoft.com/security</a> a povoľte dvojstupňové overovanie.",
"Ak účet ponúka <em>Rozšírené možnosti zabezpečenia</em> → <em>Heslá aplikácií</em>, vyberte <em>Vytvoriť heslo aplikácie</em>. Samotná voľba nezaručuje podporu SMTP s heslom.",
"Ak Microsoft vytvorí heslo, skopírujte ho a overte jeho prijatie službou SMTP.",
"Len ak poskytovateľ dovoľuje SMTP s heslom, použite schválené hodnoty: <em>Server</em> <code>smtp.office365.com</code> pre Exchange Online, <em>Port</em> <code>587</code>, <em>Režim TLS</em> <code>STARTTLS</code>, <em>Meno</em> adresu schránky a <em>Heslo</em> povolený údaj. Osobné Outlook.com má iné nastavenia a požiadavky."
],
"relayTitle": "SMTP relay na vlastnom serveri",
"relayBody": "Nasmerujte Monitor na vlastný SMTP relay, napríklad Postfix. Ten rieši overenie voči poskytovateľovi. Overenie a TLS Monitora nastavte podľa relaya; miestny relay automaticky nevypína šifrovanie."
},
"pushover": {
"heading": "Pushover",
"intro": "Pushover poskytuje push oznámenia pre iOS, Android aj počítačové prehliadače. Kanál ProxMenux používa priamo <a>API Pushover</a>, bez URL Apprise.",
"stepsTitle": "Nastavenie",
"steps": [
"Vytvorte <a>účet Pushover</a>, nainštalujte aplikáciu do prijímajúcich zariadení a prihláste sa.",
"Skopírujte <em>kľúč používateľa</em> z Pushover. Pre viac príjemcov môžete použiť kľúč skupiny.",
"Otvorte <a>Vytvoriť aplikáciu/token API</a>, vytvorte <em>ProxMenux</em> a skopírujte 30-znakový token API.",
"V <em>Nastavenia → Oznámenia → Pushover</em> vložte kľúč a token API. Zariadenie a zvuk sú voliteľné.",
"Uložte nastavenia a stlačte <em>Odoslať test</em>. Aplikácia Pushover by mala správu dostať okamžite."
],
"priorityTitle": "Prioritné mapovanie",
"priorityBody": "Bežné správy majú prioritu 0. So zapnutou <strong>Vysokou prioritou kritických upozornení</strong> používa CRITICAL prioritu 1 a obíde tiché hodiny Pushover. Núdzová priorita 2 s opakovaním a potvrdením sa nepoužíva.",
"secretTitle": "Chrániť obe hodnoty",
"secretBody": "Kľúč používateľa/skupiny aj token API povoľujú doručenie. Monitor ich chráni a maskuje; nezverejňujte ani jeden na snímkach či v protokoloch podpory."
},
"apprise": {
"heading": "Apprise (generický uzol pre služby ~80)",
"intro": "Apprise podporuje približne 80 služieb cez URL: ntfy, Matrix, Slack, Microsoft Teams, Mattermost, Pushbullet, AWS SNS, Pushsafer, Rocket.Chat, Signal API a ďalšie. Monitor nemusí každú integrovať samostatne. Pushover možno tiež použiť cez Apprise, ale vlastná karta je jednoduchšia pre jeden cieľ.",
"listIntro": "Úplný zoznam podporovaných služieb a presný formát URL pre každú z nich je k dispozícii v oficiálnej dokumentácii Apprise:",
"listItems": [
"<a>Dokumentácia služieb Apprise</a> — úplný zoznam.",
"<a>Základy URL</a> — štruktúra URL Apprise."
],
"stepsTitle": "Kroky",
"steps": [
"Vyberte cieľovú službu na <a>Apprise wiki</a> a skopírujte pre ňu šablónu URL. Každá stránka služby zobrazuje presnú schému, ktorá sa má použiť (<code>ntfy://</code>, <code>matrix://</code>, <code>pover://</code>, <code>slack://</code>…) plus všetky požadované tokeny, kanály alebo názvy hostiteľov.",
"Nahraďte zástupné hodnoty prihlasovacími údajmi. Príklady: ntfy.sh <code>ntfy://ntfy.sh/my-topic</code>, Pushover <code>pover://user@token</code>, Matrix <code>matrix://user:pass@host:port/#room</code>.",
"Prilepte cieľovú webovú adresu do poľa <em>Apprise URL</em> na karte Apprise na paneli Upozornenia a uložte.",
"Vyberte <em>Odoslať test</em> na overenie dostupnosti a prihlasovacích údajov."
],
"deliveredTitle": "Čo dostane doručené",
"deliveredBody": "Apprise dostane názov, text a závažnosť prispôsobenú možnostiam služby, ako ikona, priorita či farba. Formátovanie a AI sa vykonajú pred odoslaním, rovnako ako pri Telegrame či e-maile.",
"fanoutTitle": "Jedno URL na kanál Apprise",
"fanoutBody": "Jeden kanál Apprise má jednu URL. Pre viac služieb, napríklad ntfy.sh a Matrix, použite <a>server Apprise API</a> s označenou konfiguráciou. Rozosiela volanie Monitora na všetky URL danej značky."
},
"rich": {
"heading": "Rozšírené správy, kategórie a filtre kanálov",
"intro": "Každý kanál má <em>Rozšírené správy</em>, jedenásť rozbaľovacích <em>Kategórií oznámení</em> s prepínačmi udalostí a tlačidlo <em>Odoslať test</em>.",
"imageAlt": "Panel kategórií s rozšírenými správami, skupinami VM/CT, záloh, zdrojov, úložiska, siete, bezpečnosti, klastra, služieb, zdravia a aktualizácií, počtami a tlačidlom testu",
"imageCaption": "Šípka označuje <em>Rozšírené správy</em>. Pod nimi je jedenásť kategórií s udalosťami; <em>Odoslať test</em> je dole.",
"richTitle": "Rozšírené správy",
"richIntro": "So zapnutými <em>Rozšírenými správami</em> sa pridá ikona kategórie a formát kanála, napríklad HTML Telegram alebo farebné karty Discord. Pri vypnutí príde rovnaký obsah ako obyčajný text:",
"plainHeader": "Obyčajný text — rozšírené správy vypnuté",
"richHeader": "Formátovaný text — rozšírené správy zapnuté",
"richOutro": "Každý kanál má vlastnú voľbu. E-mail môže zostať obyčajný, Telegram a Discord formátované. Kanály bez príslušného formátu, ako textový e-mail či Gotify, dostanú text.",
"togglesTitle": "Kategórie udalostí",
"togglesIntro": "Každý kanál nezávisle ovláda kategórie a udalosti. Vypnutá kategória potlačí svoje udalosti v danom kanáli. Jednotlivé prepínače platia v zapnutých kategóriách; globálny hlavný filter udalostí v odosielači nie je.",
"togglesItems": [
"<strong>Kategória podľa kanála.</strong> Vypnutie VM/CT potlačí <code>vm_start</code> a podobné udalosti. Ukladá sa ako <code>&lt;channel&gt;.events.&lt;group&gt;</code>.",
"<strong>Udalosť podľa kanála.</strong> V zapnutej kategórii možno <em>posielať <code>backup_complete</code> do Discord, nie do Telegram</em>. Ukladá sa ako <code>&lt;channel&gt;.event.&lt;event_type&gt;</code>."
],
"togglesOutro": "Kategória ukazuje počet <em>zapnutých</em> / <em>všetkých</em> udalostí a prepínač celej skupiny, napríklad záloh <code>info</code> či aktualizácií, bez rozbalenia."
},
"quiet": {
"heading": "Tiché hodiny",
"intro": "Počas tichých hodín kanála prejdú iba udalosti <strong>CRITICAL</strong>. INFO, WARNING a akcie sa uložia na disk a po skončení prídu v súhrne.",
"imageAlt": "Nastavenia kanála: tiché hodiny 22:00–07:00 s náhľadom zmeny a denný súhrn o 09:00 s poznámkou, že tento súhrn nezdrží CRITICAL ani WARNING",
"imageCaption": "Dve nezávislé nastavenia kanála: tiché hodiny hore a denný súhrn pod nimi.",
"purposeTitle": "Načo to je?",
"purposeItems": [
"<strong>Nezobudiť ma o 03:00 kvôli upozorneniu na aktualizáciu.</strong> Zálohy, aktualizácie aplikácií, optimalizácie po inštalácii a ďalšie udalosti na úrovni INFO prestanú v noci pingovať váš telefón.",
"<strong>Kritické udalosti stále prídu.</strong> Tiché hodiny obídu iba udalosti CRITICAL. Samotný názov nestačí: sledovanie denníka vydáva blokovania Fail2Ban aj vypnutie/reštart hostiteľa ako INFO, takže sa môžu zadržať.",
"<strong>Odložené správy sa zachovajú.</strong> Čakajú v SQLite až do konca intervalu."
],
"howTitle": "Ako to funguje",
"howItems": [
"<strong>Voľba podľa kanála.</strong> Telegram môže mlčať od 22:00 do 07:00, zatiaľ čo e-mail dostáva všetko nepretržite.",
"<strong>Začiatok a koniec</strong> v miestnom čase: začiatok sa započítava, koniec nie. Interval môže prejsť cez polnoc, napríklad 22:00–07:00.",
"<strong>Živý náhľad.</strong> Pod poľami je aktuálny stav intervalu a čas ďalšej zmeny.",
"<strong>Počas intervalu:</strong> CRITICAL sa odosiela normálne. INFO a WARNING čakajú v tabuľke SQLite <code>quiet_pending</code>.",
"<strong>Po skončení:</strong> príde chronologický súhrn s riadkom pre každú udalosť. Vyrovnávacia pamäť sa vyprázdni až po potvrdení doručenia, aby odolala dočasným výpadkom Telegram či SMTP.",
"<strong>Prežije reštart.</strong> Údaje zostanú na disku. Nasledujúci cyklus rozpozná čakajúce riadky a podľa potreby odošle obnovovací súhrn."
],
"criticalTitle": "Čo je CRITICAL",
"criticalBody": "Závažnosť určuje zdroj pri vytvorení udalosti. Disk, vypnutie či bezpečnosť automaticky neznamenajú CRITICAL. Sledovanie denníka vydáva ip_block, system_shutdown a system_reboot ako INFO. <link>Katalóg udalostí</link> uvádza typy; skutočnú závažnosť overte v zdroji a prijatej udalosti."
},
"digest": {
"heading": "Denný súhrn informačných udalostí",
"intro1": "Denný súhrn je <strong>voliteľný</strong>. Vhodné INFO, napríklad dostupné aktualizácie, združuje o 09:00 alebo v zvolenom čase. Výsledky záloh a replikácie či priame akcie sú vyňaté. Tiché hodiny naopak zadržia nekritické správy počas intervalu.",
"intro2": "Voľba je pod tichými hodinami na rovnakej karte; pozrite <link>Tiché hodiny</link>. Zapínajú sa samostatne.",
"purposeTitle": "Načo to je?",
"purposeItems": [
"<strong>Ranný prehľad.</strong> Súhrn o 09:00 nahradí napríklad 20 jednotlivých správ z predošlého dňa bez čítania 20 bublín Telegramu.",
"<strong>Rozlíšenie aktivity a naliehavosti.</strong> INFO opisuje dianie; CRITICAL a WARNING signalizujú potrebu zásahu. Vhodné INFO sa zoskupia, ostatné si zachovajú priame doručovanie."
],
"howTitle": "Ako to funguje",
"howItems": [
"<strong>Zapnutie pre každý kanál.</strong> Predvolene vypnuté. Zapnite iba tam, kde chcete súhrn; ostatné kanály nechajte priame.",
"<strong>Čas doručenia</strong> v miestnom čase, predvolene 09:00. Odosielač ho spustí približne do 60 s od danej minúty.",
"<strong>Obsah súhrnu:</strong> vhodné všeobecné udalosti <strong>INFO</strong>, napríklad <em>dostupná aktualizácia aplikácie</em>, <em>dostupná aktualizácia Tailscale</em>, <em>dostupná aktualizácia optimalizácie ProxMenux</em>, <em>čakajúce bezpečnostné aktualizácie APT</em> a <em>oznámenie o limite odosielania</em>. Výsledky záloh a vyňaté akcie zostanú priame.",
"<strong>Čo sa nikdy neodkladá:</strong>",
"<strong>Trvalé uloženie.</strong> Udalosti čakajú v tabuľke SQLite <code>digest_pending</code> do nastaveného času a prežijú reštart.",
"<strong>Bez udalostí nie je súhrn.</strong> Ak nečakajú INFO, prázdna správa sa neposiela."
],
"neverDelayedSub": [
"Udalosti <strong>CRITICAL</strong> prechádzajú bez zdržania denným súhrnom.",
"Udalosti <strong>WARNING</strong> prechádzajú bez zdržania denným súhrnom.",
"Akcie a zlyhania VM/CT, začiatok a výsledky záloh, výsledky replikácie a vypnutie/reštart hostiteľa obídu denný súhrn aj pri INFO. Tiché hodiny môžu nekritické udalosti stále zdržať."
],
"comboTitle": "Kombinovanie tichých hodín a denného súhrnu",
"comboBody": "Kanál môže mať <em>obe</em> voľby: ticho 22:00–07:00 a súhrn o 09:00. Nekritické udalosti intervalu prídu o 07:00; vhodné INFO mimo intervalu idú do denného súhrnu. CRITICAL obíde oboje; WARNING obíde denný súhrn, nie tiché hodiny. Vyberte <em>čas ticha</em>, <em>súhrn v pevnom čase</em> alebo oboje."
},
"displayName": {
"heading": "Zobrazovaný názov",
"intro": "Každé oznámenie nesie <em>Zobrazovaný názov</em> — označenie, ktoré identifikuje, ktorý hostiteľ vytvoril výstrahu. Je to hodnota, ktorú vidíte v spodnej časti vyššie uvedeného príkladu multimediálnych správ (<code>🏠 home-lab</code>) a vo vnútri predpony predmetu e-mailu.",
"imageAlt": "Pole zobrazovaného názvu s príkladom amd; prázdne pole použije systémový názov hostiteľa",
"imageCaption": "Pole Zobrazovaný názov – nechajte prázdne, ak chcete použiť názov hostiteľa systému, alebo ho prepíšte čímkoľvek, čo chcete.",
"outro": "Prázdne pole používa názov systému. Vlastný názov pomáha pri viacerých hostiteľoch v rovnakom chate či schránke: <em>home-lab</em> a <em>office-pve</em> sa čítajú ľahšie než <code>pve01.lan</code> či <code>pmx-prod-01</code>."
},
"dispatch": {
"heading": "Postup odosielania",
"intro": "Tabuľka opisuje tri súvisiace mechanizmy. Skutočné poradie je zoskupovanie, rezervácia doručenia a interval opakovania, limity skupín, vytvorenie textu a riadenie kanálov:",
"headerStage": "Štádium",
"headerWhat": "Čo to robí?",
"headerTunable": "Nastaviteľné?",
"rows": [
{
"stage": "Deduplikácia podľa odtlačku",
"what": "Pre udalosť sa vypočíta odtlačok (<code>event_type + key fields from data</code>). Rovnaké odtlačky v krátkom intervale sa považujú za duplikáty.",
"tunable": "Nie — interná logika odosielača."
},
{
"stage": "Interval opakovania",
"what": "Po úspešnom odoslaní sa opakované odtlačky potlačia; stav je v <code>notification_last_sent</code>. Základ pre <code>CRITICAL</code>, <code>WARNING</code>, <code>INFO</code>, <code>resources</code> a <code>updates</code> je 86400 s. Výnimky: 5 s pre akcie VM/CT a vypnutie/reštart, 10 s pre výsledky záloh/replikácie, 1800–3600 s pre viaceré zdravotné stavy. Výslovné nastavenia udalosti/skupiny majú prednosť.",
"tunable": "Áno — konfiguračné hodnoty pre udalosť či skupinu prepisujú predvolené intervaly."
},
{
"stage": "Zoskupovanie nárazových udalostí",
"what": "Viac rovnakých udalostí v krátkom čase, napríklad útok na SSH, vytvorí správu <code>burst_*</code> s počtom a ukážkou.",
"tunable": "Nie — okno a prah sú pevné pre každý typ udalosti."
}
],
"calloutTitle": "Odosielanie vo vlákne na pozadí",
"calloutBody": "Slučka odoslania beží vo vlastnom vlákne. Požiadavka HTTP, ktorá vysiela udalosť, sa vráti hneď, ako je udalosť zaradená do frontu – nečaká na Telegram, SMTP alebo webhook RTT. Každý výsledok odoslania sa zaznamená do tabuľky histórie na spätnú kontrolu."
},
"aiRewrite": {
"heading": "Nepovinné prepísanie AI",
"body1": "Vhodné udalosti môže prepísať LLM. backup_complete a backup_fail sa neprepisujú. AI je predvolene vypnutá a beží v odosielacom vlákne. Pri chybe alebo časovom limite sa použije pôvodný text.",
"body2": "Podporuje OpenAI, Anthropic, Google Gemini, Groq, OpenRouter a miestne Ollama. Pre kanál: podrobnosť (<code>brief</code>, <code>standard</code>, <code>detailed</code>), jazyk, režim pokynov (<code>default</code> alebo <code>custom</code>) a vlastné pokyny. Návod a príklady sú v <link>Asistent AI</link>.",
"privacyTitle": "Poznámka o ochrane osobných údajov",
"privacyBody": "Požiadavka AI môže obsahovať názov, závažnosť, text, systémové/vlastné pokyny a kontext s názvami hostiteľov, IP, používateľmi, chybami a denníkmi. Posiela sa zvolenému serveru. Ollama zostáva miestne len s miestnym serverom aj modelom; vzdialený server alebo cloudový model odosiela údaje mimo hostiteľa. Ak musia zostať v sieti, vypnite AI alebo použite riadený miestny server a model."
},
"pveWebhook": {
"heading": "Integrácia PVE webhook",
"intro1": "Proxmox používa <em>ciele oznámení</em> sendmail, Gotify, SMTP a pri podporovaných verziách webhook. Monitor zaregistruje cieľ <code>webhook</code>. Oznámenia HA, replikácie a záloh z rozhrania potom vstupujú do rovnakého spracovania.",
"intro2": "Cieľ nájdete v <em>Datacenter → Oznámenia → Ciele oznámení</em>.",
"imageAlt": "Dialóg webhooku Proxmox s cieľom proxmenux-webhook, POST na http://127.0.0.1:8008/api/notifications/webhook a JSON šablónou s funkciami escape pre title, message, severity, timestamp a poľami json",
"imageCaption": "Webhook z pohľadu PVE; rozhranie snímky je v španielčine. Rovnaké polia platia v každom jazyku.",
"registeredIntro": "Čo sa zaregistruje:",
"registeredItems": [
"<strong>Metóda a URL.</strong> <code>POST http://127.0.0.1:8008/api/notifications/webhook</code> bez HTTPS Monitora; s HTTPS samostatný miestny HTTP port 8009. Obe zostávajú na hostiteľovi.",
"<strong>Šablóna správy.</strong> JSON s funkciami Handlebars PVE, uložený v konfigurácii ako base64. Po dekódovaní:",
"<strong>Pravidlo priradenia.</strong> Blok <code>matcher: proxmenux-matcher</code> s <code>mode all</code> posiela všetky oznámenia PVE do cieľa.",
"<strong>Súkromná konfigurácia.</strong> Nastavenie zapíše <code>webhook: proxmenux-webhook</code> do <code>/etc/pve/priv/notifications.cfg</code> so zdieľaným tajomstvom v base64. Verejný cieľ ho použije pre X-Webhook-Secret. Blok nie je prázdny."
],
"securityTitle": "Ako je prijímač zabezpečený",
"securityIntro": "Prijímač webhook na <code>POST /api/notifications/webhook</code> používa rôzne bezpečnostné vrstvy v závislosti od toho, odkiaľ pochádza žiadosť:",
"securityItems": [
"<strong>Miestne zdroje (<code>127.0.0.1</code> / <code>::1</code>).</strong> Platí limit požiadaviek, no preskočia sa vzdialené kontroly tajomstva, času a opakovania. Aj adresy miestnych rozhraní hostiteľa sú miestne. Automatický cieľ PVE používa loopback.",
"<strong>Vzdialené volania.</strong> Okrem limitu sa overí tajomstvo v <code>X-Webhook-Secret</code>, čas v <code>X-ProxMenux-Timestamp</code> alebo JSON, opakovanie a voliteľný zoznam IP. Tajomstvo je v SQLite aj ako kópia base64 v <code>/etc/pve/priv/notifications.cfg</code>, aby PVE odoslal hlavičku."
],
"practiceTitle": "V praxi",
"practiceBody": "PVE používa <code>http://127.0.0.1:8008</code> bez HTTPS, inak HTTP 8009. Vzdialené integrácie na <code>https://&lt;monitor-host&gt;:&lt;port&gt;/api/notifications/webhook</code> musia poslať <code>X-Webhook-Secret</code>, aktuálny čas a splniť kontroly opakovania a IP. Tajomstvo samo nestačí.",
"actionsIntro": "Monitor riadi tento cieľ prostredníctvom troch akcií na karte Nastavenie:",
"actionsItems": [
"<strong>Nastaviť</strong> pri zapnutí vytvorí položku v <code>/etc/pve/notifications.cfg</code>. Zapisujú sa iba zmeny; tri najnovšie zálohy sú v <code>/usr/local/share/proxmenux/backups/pve-notifications/</code>. Bez pripojeného <code>/etc/pve</code> sa nezapisuje; čaká sa na návrat <code>pve-cluster</code>.",
"<strong>Vyčistiť</strong> odstráni položku a ponechá predchádzajúcu zálohu.",
"<strong>Čítať konfiguráciu</strong> zobrazí ciele a pravidlá, aby ste overili viac oznamovacích trás PVE."
],
"clusterTitle": "Uzly klastra",
"clusterBody": "<code>/etc/pve/</code> vrátane URL a tajomstva je zdieľaný v klastri. Každý uzol volá svoj <em>vlastný</em> prijímač: <code>127.0.0.1:8008</code> bez HTTPS, inak HTTP 8009. Spustite Monitor na každom potrebnom uzle a zlaďte spoločný cieľ so všetkými prijímačmi."
},
"catalogue": {
"heading": "Katalóg udalostí",
"intro": "Približne sedemdesiat typov je v jedenástich kategóriách. Každá rozbaľovacia skupina ponúka prepínače udalostí. Predvolene sú zapnuté, pokiaľ nie je uvedené inak.",
"headerGroup": "Skupina",
"headerEvents": "Udalosti",
"rows": [
{
"group": "VM / CT",
"events": "<code>vm_start</code>, <code>vm_start_warning</code>, <code>vm_stop</code>, <code>vm_shutdown</code>, <code>vm_fail</code>, <code>vm_restart</code>, plus ekvivalenty <code>ct_*</code>, <code>migration_start</code>, <code>migration_complete</code>, <code>migration_warning</code>, <code>migration_fail</code>, <code>replication_complete</code>, <code>replication_fail</code>."
},
{
"group": "Zálohy",
"events": "<code>backup_start</code>, <code>backup_complete</code>, <code>backup_warning</code>, <code>backup_fail</code>, <code>snapshot_complete</code>, <code>snapshot_fail</code>."
},
{
"group": "Zdroje",
"events": "<code>cpu_high</code>, <code>ram_high</code>, <code>temp_high</code>, <code>load_high</code>."
},
{
"group": "Úložisko",
"events": "<code>disk_space_low</code>, <code>disk_io_error</code>, <code>storage_unavailable</code>, <code>smart_test_complete</code>, <code>smart_test_failed</code>."
},
{
"group": "Sieť",
"events": "<code>network_down</code>, <code>network_latency</code>."
},
{
"group": "Zabezpečenie",
"events": "<code>auth_fail</code>, <code>ip_block</code>, <code>firewall_issue</code>, <code>user_permission_change</code>."
},
{
"group": "Klaster",
"events": "<code>split_brain</code>, <code>node_disconnect</code>, <code>node_reconnect</code>."
},
{
"group": "Služby",
"events": "<code>system_startup</code>, <code>system_shutdown</code>, <code>system_reboot</code>, <code>system_problem</code>, <code>service_fail</code>, <code>oom_kill</code>, <code>system_mail</code>."
},
{
"group": "Monitor zdravia",
"events": "<code>new_error</code>, <code>error_resolved</code>, <code>error_escalated</code>, <code>health_degraded</code>, <code>health_persistent</code>, <code>health_issue_new</code>, <code>health_issue_resolved</code>."
},
{
"group": "Aktualizácie",
"events": "<code>update_summary</code>, <code>update_available</code>, <code>pve_update</code>, <code>update_complete</code>, <code>proxmenux_update</code>."
},
{
"group": "Hardvér / GPU",
"events": "<code>gpu_mode_switch</code>, <code>gpu_passthrough_blocked</code>, <code>pci_passthrough_conflict</code>, <code>ai_model_migrated</code>."
}
],
"burstNote": "Typy <code>burst_*</code> (<code>burst_auth_fail</code>, <code>burst_ip_block</code>, <code>burst_disk_io</code>, atď.) nahrádzajú nárazové udalosti súhrnom. Nemajú vlastné prepínače v rozhraní a dedia stav zdrojovej udalosti.",
"backupResults": {
"heading": "Výsledky zálohy",
"intro": "Oznámenie o úlohe zálohovania Proxmox uvádza, ako sa úloha skončila. Výsledok sa prečíta zo správy, ktorú Proxmox odošle, a nastaví názov, ikonu zobrazenú so zapnutými <em>Rozšírenými správami</em> a stavový riadok e-mailu.",
"headerIcon": "Icon",
"headerResult": "Výsledok",
"headerWhen": "Kedy",
"rows": [
{
"icon": "💾✅",
"result": "Záloha bola dokončená",
"when": "Zálohovanie všetkých hostí v úlohe sa dokončilo a hlásenie neobsahuje upozornenia."
},
{
"icon": "💾⚠️",
"result": "Záloha skončila s upozorneniami",
"when": "Zálohovanie všetkých hostí sa dokončilo a hlásenie obsahuje aspoň jeden riadok s upozornením."
},
{
"icon": "💾❌",
"result": "Hlásená chyba zálohy",
"when": "Hosť zlyhal alebo úloha skončila chybou."
},
{
"icon": "💾❔",
"result": "Výsledok zálohy nepotvrdený",
"when": "Správa je neúplná alebo neuvádza výsledok pre každého hosťa."
}
],
"items": [
"<strong>Názov identifikuje úlohu.</strong> Uvádza úložisko a pri jednom hosťovi aj jeho typ, meno a ID. Pri zlyhaní pomenuje dotknutého hosťa.",
"<strong>Text uvádza každého hosťa</strong> s výsledkom, veľkosťou, trvaním a archívom, potom súčty úlohy.",
"<strong>Varovania a chyby sa neopakujú.</strong> Duplicitné riadky sú uvedené raz, hlavná príčina prvá. Zobrazí sa najviac osem; ostatné sú spočítané na konci a zostanú v denníku úlohy Proxmox.",
"<strong>Úloha zlyhaná pred prvým hosťom</strong> uvedie príčinu od Proxmoxu, napríklad neexistujúce úložisko.",
"<strong>Súhrny zachovajú výsledok.</strong> Záloha v súhrne tichých hodín si ponechá ikonu výsledku. Výsledky záloh obchádzajú denný súhrn."
]
}
},
"history": {
"heading": "História",
"body1": "Každý skutočný <em>pokus o odoslanie</em> je v <code>notification_history</code>: čas <code>sent_at</code>, kanál, typ, závažnosť, názov, text, <code>success</code> a pri chybe <code>error_message</code>. Zoskupenia majú typ <code>burst_*</code>. Udalosti potlačené intervalom sa nezapisujú.",
"body2": "Nastavenia → Oznámenia obsahuje predvolene zatvorenú <em>Históriu oznámení</em> s poslednými 20 položkami: výsledok, kanál, dátum, chyba a stav denného súhrnu. Stránka neponúka vymazanie; Audit & Report číta rovnaké údaje doručenia.",
"body3": "Rovnaké údaje sú vystavené na <code>GET /api/notifications/history</code> s voliteľnými parametrami dotazu <code>limit</code>, <code>offset</code>, <code>severity</code> a <code>channel</code>, a môžu byť vymazané <code>DELETE /api/notifications/history</code>."
},
"api": {
"heading": "Koncové body API",
"headerEndpoint": "Koncový bod",
"headerMethod": "Metóda",
"headerUse": "Použitie",
"rows": [
{
"endpoint": "/api/notifications/settings",
"method": "GET / POST",
"use": "Číta alebo zapisuje nastavenia kanálov, udalostí, AI a zobrazovaného názvu."
},
{
"endpoint": "/api/notifications/test",
"method": "POST",
"use": "Pošlite oznámenie o teste na jeden kanál: <code>'{'\"channel\":\"telegram\"'}'</code>."
},
{
"endpoint": "/api/notifications/test-ai",
"method": "POST",
"use": "Vytvorí a prepíše ukážkovú udalosť bez odoslania."
},
{
"endpoint": "/api/notifications/provider-models",
"method": "POST",
"use": "Zoznam dostupných modelov pre vybraného poskytovateľa AI."
},
{
"endpoint": "/api/notifications/send",
"method": "POST",
"use": "Vytvorí udalosť z externej integrácie."
},
{
"endpoint": "/api/notifications/history",
"method": "GET / DELETE",
"use": "Číta filtrovanú históriu alebo ju vymaže."
},
{
"endpoint": "/api/notifications/webhook",
"method": "POST",
"use": "Prijíma oznámenia Proxmox. Miestne zdroje preskočia vzdialené overenie, nie limit. Vzdialené požiadavky sa overia cez <code>X-Webhook-Secret</code>, čas v <code>X-ProxMenux-Timestamp</code> alebo JSON, kontrolu opakovania a nastavený zoznam IP."
},
{
"endpoint": "/api/notifications/proxmox/setup-webhook",
"method": "POST",
"use": "Zaregistrujte monitor ako cieľ v <code>/etc/pve/notifications.cfg</code>."
},
{
"endpoint": "/api/notifications/proxmox/cleanup-webhook",
"method": "POST",
"use": "Odstráni cieľ Monitora z nastavení oznámení PVE."
},
{
"endpoint": "/api/notifications/proxmox/read-cfg",
"method": "GET",
"use": "Zobrazí aktuálnu konfiguráciu oznámení PVE."
}
]
},
"whereNext": {
"heading": "Kam ďalej",
"items": [
{
"label": "AI asistent",
"href": "/docs/monitor/ai-assistant",
"tail": " — poskytovatelia, modely, režimy pokynov, jazyky a podrobnosti podľa kanála."
},
{
"label": "Monitor zdravia",
"href": "/docs/monitor/health-monitor",
"tail": " — hlavný samostatný zdroj udalostí s vlastnými intervalmi potlačenia kategórií."
},
{
"label": "Architektúra",
"href": "/docs/monitor/architecture",
"tailRich": " — miesto tabuliek SQLite <code>notification_last_sent</code>, <code>notification_history</code> a odosielacieho vlákna v procese Monitora."
},
{
"label": "Prístup a overenie",
"href": "/docs/monitor/access-auth",
"tailRich": " — vydávanie tokenov API pre skripty volajúce <code>/api/notifications/send</code>."
},
{
"label": "Dashboard → Systémové denníky",
"href": "/docs/monitor/dashboard/system-logs",
"tail": " — živý pohľad na systémový denník, ktorý používa jeho sledovanie."
}
]
}
}