"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.",
"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.",
"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ú.",
"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",
"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ť."
"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<YOUR_TOKEN>/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.",
"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.",
"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ý.",
"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, vyplňte jeho 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>Používateľské meno</em> adresu vašej schránky a <em>Heslo</em> povolený prihlasovací údaj SMTP. Osobné Outlook.com má iné nastavenia a požiadavky na overenie; nepredpokladajte, že tieto údaje budú fungovať."
"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.",
"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.",
"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><channel>.events.<group></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><channel>.event.<event_type></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 so závažnosťou <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> a <em>čakajúce bezpečnostné aktualizácie APT</em>. Výsledky záloh a ďalšie vyňaté udalosti akcií zostanú priame.",
"<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":"Len cez API nastavení — kľúč <code>cooldown.<event_type></code> alebo <code>cooldown.<group></code> prepíše predvolené hodnoty; v rozhraní na to nie je žiadny ovládací prvok."
"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 zodpovedajúci blok <code>webhook: proxmenux-webhook</code> do <code>/etc/pve/priv/notifications.cfg</code> s položkou <code>secret</code> s názvom X-Webhook-Secret, zakódovanou v base64. Verejný blok cieľa obsahuje iba šablónu tela, metódu a URL. Súkromný blok nie je prázdny zástupný záznam."
"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://<monitor-host>:<port>/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.",
"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."
"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."