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,174 @@
{
"meta": {
"title": "Apps-panelen: en startvy för alla webblänkar | ProxMenux",
"description": "Använd instrumentpanelen Apps för att öppna registrerade LXC Web Links och anpassade länkar, organisera dem efter kategori och hoppa tillbaka till gästen som äger varje tjänst."
},
"header": {
"title": "Dashboard: Apps flik",
"description": "En enda launcher för webbgränssnitten du använder över noden, oavsett om de kommer från en registrerad LXC-applikation eller en anpassad webblänk.",
"section": "ProxMenux Monitor · Översikt"
},
"intro": {
"title": "En launcher, inte en applikation installer",
"body": "Fliken <strong>Apps</strong> installerar inte program och upptäcker inte tjänster själv. Den samlar sparade länkar i ett sökbart rutnät. LXC-länkar ställs in på gästens <appTabLink>App-flik</appTabLink>; egna länkar kan lägga till VM-tjänster, omvända proxyservrar och externa paneler."
},
"sources": {
"heading": "Vad som visas i Apps",
"intro": "Varje lanseringsbar URL blir ett eget kort. Källan bestämmer var kortet redigeras, men inte hur det ser ut under normal användning.",
"colSource": "Källa",
"colAppears": "Vad som visas",
"colManagedFrom": "Där den hanteras",
"rows": [
{
"source": "Registrerad LXC-applikation",
"appears": "Ett kort för varje webblänk sparad på applikationsposten.",
"managedFrom": "VM och LXC → LXC-dialog → App"
},
{
"source": "Anpassad länk bunden till en gäst",
"appears": "En tjänst URL associerad med en specifik VM eller LXC.",
"managedFrom": "Apps → redigera"
},
{
"source": "Egen länk utan gästkoppling",
"appears": "Valfritt HTTP(S)-mål, inklusive externa tjänster eller tjänster bakom en omvänd proxy.",
"managedFrom": "Apps → redigera"
}
],
"relationshipTitle": "Appar och LXC App-fliken har olika jobb",
"relationshipBody": "LXC-gästens <appTabLink>App-flik</appTabLink> hanterar identitet, webblänkar och valfri versionsspårning. <strong>Apps</strong> använder länkarna som snabb åtkomst. Redigering av ett LXC-kort leder därför till gästens post utan att duplicera konfigurationen."
},
"cards": {
"heading": "Hur man använder ett kort",
"intro": "Hela kortet är lanseringsmålet, medan dess mindre kontroller ger kontext utan att öppna tjänsten.",
"items": [
"Klicka på kortet för att öppna sin URL i en ny webbläsarflik.",
"Logotypen använder Web Link-logotypen först och faller tillbaka till applikationslogotypen när så är lämpligt.",
"Kategorietiketten använder samma färg och text som motsvarande webblänk i LXC-gästens App-flik.",
"Gästetiketten visar kopplad VM eller LXC. Ett klick öppnar dess dialog: LXC-länkar öppnar <strong>App</strong>, VM-länkar <strong>Status</strong>.",
"En lila uppåtpil innebär att den specifika applikationen eller Docker-bilden har en tillgänglig uppdatering. Det är inte en allmän uppdatering räknas för hela gästen."
]
},
"toolbar": {
"heading": "Sök, filter och sortera",
"intro": "Verktygsfältet begränsar en stor applikationssamling utan att ändra sparade poster.",
"items": [
"Sök matchar applikationsnamnet, gästnamnet, VMID och kategori.",
"Kategorifiltret visar en kategori åt gången eller alla applikationer.",
"Sortera efter <strong>Namn</strong>, <strong>ID</strong> eller <strong>Kategori</strong>. Kategorisortering lägger in rubriker mellan kortgrupper.",
"Sorteringen sparas i denna webbläsare. Söktext och kategorifilter återställs när sidan besöks igen.",
"Fliken Apps förblir tillgänglig när nätet är tomt, så den första anpassade länken kan läggas till utan att registrera en LXC-applikation först."
]
},
"customLinks": {
"heading": "Lägga till och redigera anpassade webblänkar",
"intro": "Använd en anpassad länk när tjänsten inte representeras av en registrerad LXC-applikation.",
"steps": [
"Välj <strong>Lägg till länk</strong> i verktygsfältet eller den tomma vyn.",
"Ange ett namn och en komplett <code>http://</code> eller <code>https://</code> URL.",
"Alternativt lägga till en logotyp, välj eller skapa en kategori och bind länken till en VM eller LXC.",
"Spara länken. Kortet visas direkt i rutnätet.",
"Välj <strong>Redigera</strong> och pennan på kortet för att ändra eller ta bort en egen länk."
],
"colField": "Fält",
"colRequired": "Krav",
"colPurpose": "syfte",
"fields": [
{
"field": "Namn",
"required": "Ja",
"purpose": "Kortet titel och sökterm."
},
{
"field": "URL",
"required": "Ja",
"purpose": "Den kompletta HTTP (S) destination öppnas av kortet."
},
{
"field": "Logotyp URL",
"required": "Nej",
"purpose": "En fjärrbild som visas på kortet."
},
{
"field": "Kategori",
"required": "Nej",
"purpose": "Lägger till ett delat märke och möjliggör kategorifiltrering."
},
{
"field": "Gästkoppling",
"required": "Nej",
"purpose": "Kopplar länken till en VM eller LXC och aktiverar gästgenvägen."
}
],
"editTitle": "Redigera källan till sanning",
"editBody": "Redigeringsläget visar pennor bara för egna länkar. För ett LXC-applikationskort öppnar du gästens <appTabLink>App-flik</appTabLink> och redigerar den sparade länken."
},
"categories": {
"heading": "Kategorier och uppdateringssignaler",
"intro": "Kategorier organiserar länkar; uppdateringssignaler rapporterar programvarutillstånd. De är avsiktligt separata.",
"items": [
"Katalogstödd LXC-registrering kan fylla i en kategori, men den är fortfarande redigerbar.",
"Anpassade kategorinamn kan skapas från samma väljare och sedan återanvändas av filtret.",
"Kategorifärger är deterministiska och anpassar sig till ljus eller mörkt tema. Lila och röda intervall är reserverade för uppdatering och farliga tillstånd.",
"För Docker-webblänkar kopplar ProxMenux kortet till dess container eller avbildning och visar avbildningens uppdateringsstatus. Docker Engine-uppdateringar finns kvar på LXC-gästens <updatesLink>Uppdateringar-flik</updatesLink>."
]
},
"persistence": {
"heading": "Persistens och cache beteende",
"intro": "Dashboarden är utformad för att öppna från redan tillgängliga Monitor-data istället för att rescan varje gäst.",
"items": [
"Egna länkar sparas atomiskt i <code>/etc/proxmenux/custom_links.json</code> och läses in i minnet när Monitor startar.",
"Registrerade LXC-länkar förblir en del av deras applikations sparade Monitor-post; Apps-instrumentpanelen duplicerar dem inte i den anpassade länkfilen.",
"Skapa, redigera eller ta bort en anpassad länk uppdaterar in-memory-listan omedelbart.",
"Sorteringsvalet gäller lokalt i webbläsaren och synkroniseras inte mellan enheter eller användare.",
"Apps position i huvudnavigeringen ställs in separat under <settingsLink>Inställningar → Navigeringsordning</settingsLink>."
]
},
"troubleshooting": {
"heading": "Vanliga situationer",
"colProblem": "Situation",
"colResolution": "Lösning",
"rows": [
{
"problem": "En LXC-applikation är registrerad men inget kort visas",
"resolution": "Öppna sin App-flik och lägg till minst en webblänk. Version spårning ensam skapar inte ett lanseringskort."
},
{
"problem": "URL eller logotyp är fel",
"resolution": "Redigera den anpassade länken i Apps, eller redigera webblänken i den egna LXC App-fliken."
},
{
"problem": "En Docker-tjänst saknas",
"resolution": "Redigera den registrerade Docker-applikationen och spara tjänstens publicerade webbport som en webblänk."
},
{
"problem": "Den lila pilen hänvisar till fel Docker-uppdatering",
"resolution": "Granska webblänkens namn och beskrivning så att de kan matchas till den avsedda containern eller avbildningen."
},
{
"problem": "Appar öppnar först istället för Systemöversikt",
"resolution": "Det första sparade objektet i Inställningar → Navigationsorder blir landningsfliken. Återställ standardordningen eller flytta översikt först."
}
]
},
"whereNext": {
"heading": "Var till nästa",
"items": [
{
"label": "LXC App fliken",
"href": "/docs/monitor/dashboard/vms-lxcs/app",
"tail": " - registrera applikationer, webblänkar och valfri versionsspårning."
},
{
"label": "LXC Updates fliken",
"href": "/docs/monitor/dashboard/vms-lxcs/updates",
"tail": " — konfigurera och köra uppdateringar av applikationer, Docker Engine och avbildningar."
},
{
"label": "Inställningar flik",
"href": "/docs/monitor/dashboard/settings#navigation-order",
"tail": " — ändra navigeringsordningen och startfliken."
}
]
}
}
@@ -0,0 +1,248 @@
{
"meta": {
"title": "ProxMenux Monitor — Översikt: Hårdvara | ProxMenux-dokumentation",
"description": "Fliken Hårdvara inventerar den fysiska maskinen: CPU och moderkort, minnesmoduler, temperatursensorer, GPU:er med realtidsövervakning per plats och drivrutinsinstallation med ett klick, Coral TPU-acceleratorer, lagringssammanfattning med länkhastigheter, PCI- och USB-listor, effekt, nätaggregat, fläktar och UPS-status."
},
"header": {
"title": "Översikt: Hårdvara",
"description": "Den fysiska maskinen i en skärm - CPU och moderkortsidentitet, varje minnesmodul, termiska sensorer över alla delsystem, GPU med levande utnyttjande och en inbyggd drivrutininstallatör, Coral TPU, varje PCI och USB-enhet med sin kärndrivrutin, hela diskinventeringen med förhandlade länkhastigheter, plus ström, kylning och UPS.",
"section": "ProxMenux Monitor · Översikt"
},
"intro": {
"title": "Byggd av standardverktyg",
"body": "De flesta data kommer från <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> och <code>upsc</code>. Avsnitten visas bara när verktyget ger data: utan UPS visas inget UPS-kort och utan IPMI saknas effektvärden från separat maskinvaruövervakning."
},
"thresholds": {
"title": "Statusfärger och trösklar som tillämpas här",
"intro": "Alla temperaturindikatorer och värden använder samma skala: <green/> <strong>grön</strong> under Varning, <amber/> <strong>bärnstensfärgad</strong> mellan Varning och Kritisk, <red/> <strong>röd</strong> från Kritisk och uppåt. Rekommenderade standardvärden i ProxMenux:",
"items": [
"<strong>CPU-temperatur</strong> — varning 80 °C, kritisk 90 °C.",
"<strong>Disktemperatur</strong> HDD 60/65 °C · SSD 70/75 °C · NVMe 80/85 °C · SAS 55/65 °C (varning / kritisk)."
],
"outro": "Alla värden kan ställas in per värd. <link>Inställningar → Tröskelvärden för hälsokontrollen</link> är den centrala referensen och förklarar hur de anpassas."
},
"sections": {
"heading": "Avsnitt",
"intro": "Avsnitten visas i den här ordningen uppifrån och ner. Vissa kräver motsvarande hårdvara eller verktyg och markeras med <em>(villkorligt)</em>.",
"systemInfoTitle": "Systeminformation",
"systemInfoIntro": "Två sida vid sida block, alltid närvarande:",
"systemInfoItems": [
"<strong>CPU</strong> — modell, mikroarkitektur, socklar/kärnor/trådar, bas- och boostfrekvens, virtualiseringsstöd (VT-x / AMD-V) och cachetopologi.",
"<strong>Moderkort</strong> — tillverkare, modell, BIOS-version och datum samt SMBIOS-UUID. Hjälper dig hitta rätt nedladdningssida för firmware hos tillverkaren."
],
"memoryTitle": "Minnesmoduler",
"memoryBody": "En rad per upptagen plats från <code>dmidecode</code>: platsnamn, modulstorlek, typ (DDR4 / DDR5 / ECC-varianter), inställd och nominell hastighet, tillverkare, artikelnummer och serienummer. Tomma platser är nedtonade för att visa möjligheten till utbyggnad.",
"thermalTitle": "Termisk övervakning",
"thermalIntro": "Sju block med data från <code>lm-sensors</code>, <code>sysfs</code> och verktygsspecifika insamlare. Lagringens hwmon-sensorer kopplas till den fysiska blockenheten med modell och sökväg <code>/dev/...</code>. Ett block döljs om kategorin saknar sensorer.",
"thermalItems": [
"<strong>CPU</strong> — temperatur för CPU-paketet och varje kärna.",
"<strong>GPU</strong> — sensorer för dedikerade GPU:er via <code>nvidia-smi</code> / <code>amdgpu_top</code> samt Intel iGPU. Visar hetaste punkt och minnesövergångens temperatur när drivrutinen tillhandahåller dem.",
"<strong>NVME</strong> — styrenhetens sammansatta temperatur kopplad till dess exakta NVMe-namnrymd.",
"<strong>HDD</strong> - <code>drivetemp</code>-avläsningar för rotationsblockenheter.",
"<strong>SSD</strong> - <code>drivetemp</code>-avläsningar för icke-rotationella SATA / SAS-blockenheter.",
"<strong>PCI</strong> - sensorer som dyker upp som PCI-fästa enheter (HBA, nätverkskort med interna sensorer).",
"<strong>OTHER</strong> - chipset, VRM, omgivande sensorer som inte passar någon annanstans."
]
},
"graphics": {
"heading": "Grafikkort",
"intro": "Varje videokontroller visas som ett kort med tillverkare, modell, typ (<em>Integrerad</em> / <em>PCI</em> / BMC), PCI-adress (BDF), kärndrivrutin och moduler. <strong>Byt läge</strong> växlar mellan LXC-delning med inbyggd drivrutin och VM-passthrough (<code>vfio-pci</code>). <link>Byt GPU-läge (VM ↔ LXC)</link> beskriver ändringarna på värden.",
"vfioImageAlt": "Grafikkort: integrerad Matrox G200EH kopplad till mgag200, redo för LXC, och NVIDIA Quadro P400 kopplad till vfio-pci, redo för VM-passthrough",
"vfioImageCaption": "Två GPU:er: Matrox BMC-kretsen använder sin vanliga drivrutin och är redo för LXC; NVIDIA Quadro P400 är kopplad till <code>vfio-pci</code>, redo för VM-passthrough.",
"lxcImageAlt": "Grafikkort: Intel UHD Graphics iGPU med i915 och NVIDIA Quadro P1000 med nvidia, båda redo för LXC-containrar",
"lxcImageCaption": "Samma nod efter att ha bytt NVIDIA-kortet tillbaka till den infödda drivrutinen - både GPU: er nu redo för LXC-containrar.",
"realtimeTitle": "Dialogruta för realtidsövervakning",
"realtimeBody": "Ett klick öppnar övervakning per GPU-plats och hämtar data med tillverkarens verktyg var tredje sekund. Den visar tillverkare, typ, PCI-plats, drivrutin, kärnmoduler, motorbelastning (Render/3D, Video, Blitter, VideoEnhance), grafik- och minnesfrekvenser, temperatur, rapporterad effekt, VRAM och aktiva processer med belastning per process. Data från <code>/api/gpu/&lt;slot&gt;/realtime</code>.",
"toolsIntro": "Tillverkarverktyget som används för varje GPU:",
"headerVendor": "Tillverkare",
"headerTool": "Verktyg",
"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": "— (endast visning)",
"projectLabel": "Upptäckt och märkt som BMC; inget realtidsblock."
}
],
"nvidiaImageAlt": "Övervakning av NVIDIA Quadro P1000: tillverkare NVIDIA, drivrutinen nvidia laddad, grafikfrekvens 1.26 GHz, minnesfrekvens 2.50 GHz, temperatur 50 °C, alla motorer på 0 %, inga aktiva processer, totalt 4096 MiB minne",
"nvidiaImageCaption": "NVIDIA Quadro P1000 med proprietär drivrutin: frekvenser, temperatur, belastningsstaplar för motorerna och aktiva processer.",
"intelImageAlt": "Övervakning av Intel UHD Graphics iGPU med i915: effekt 11.31 W, videobelastning 1 % och en ffmpeg-process som använder 8 MB",
"intelImageCaption": "Intel iGPU med <code>i915</code> aktiv. Tabellen Aktiva Processer plockar upp ett ffmpeg jobb med hjälp av videomotorn.",
"amdImageAlt": "Övervakning av integrerad AMD Lucienne GPU med amdgpu: motorbelastning 0 % och amdgpu_top som aktiv process",
"amdImageCaption": "AMD iGPU övervakas med <code>amdgpu_top</code>. Verktyget visas som aktiv process eftersom det samlar in livevärdena.",
"installTitle": "Installera NVIDIA-drivrutinen från dialogrutan",
"installBody": "Med <code>nouveau</code>/<code>nvidiafb</code> utan proprietär NVIDIA-drivrutin saknas frekvenser, effekt och processbelastning. Dialogrutan visar <strong>Installera NVIDIA-drivrutiner</strong>, som kör skriptet i <link>Installera NVIDIA-drivrutiner på värden</link>.",
"noDriverAlt": "Övervakning av NVIDIA Quadro P620 med nvidiafb och nouveau laddade, meddelandet Utökad övervakning saknas och en blå knapp Installera NVIDIA-drivrutiner",
"noDriverCaption": "Ingen proprietär drivrutin installerad ännu — dialogrutan erbjuder installation med ett klick.",
"promptAlt": "Bekräftelse på installation av NVIDIA-drivrutin med upptäckta GPU:er, LXC-containrar med NVIDIA-passthrough och knapparna Ja/Avbryt",
"promptCaption": "Sammanfattning före installation: upptäckta GPU:er, LXC-containrar med NVIDIA-passthrough och skriptets åtgärder. Inget ändras före bekräftelsen.",
"successAlt": "Terminalutdata med NVIDIA-drivrutinen 580.105.08 installerad och nvidia-smi som visar en Quadro P620",
"successCaption": "Framgångsrik installation - NVIDIA <code>.run</code> byggd via DKMS, uthållighetstjänsten är på plats, och <code>nvidia-smi</code> rapporterar GPU.",
"warningTitle": "Välj en drivrutinsversion som din GPU stöder",
"warningBody": "Nyare NVIDIA-grenar slutar stödja äldre GPU-familjer som Maxwell och Kepler. Om <code>nvidia-smi</code> visar <em>\"No devices were found\"</em> efter installationen eller DKMS misslyckas kan grenen sakna stöd för din GPU. Kör igen med en äldre gren, exempelvis legacy 470.x för Kepler. Kontrollera stödet på <a>den officiella sidan för drivrutinssökning</a>.",
"whereGoIntro": "Vart ska man gå härifrån:",
"whereGoItems": [
"<link1>Installera NVIDIA-drivrutiner på värden</link1> — fullständig guide, kompatibilitetsmatris för kärnan, valfri NVENC-patch och överföring till LXC.",
"<link2>Byt GPU-läge (VM ↔ LXC)</link2> — vad reglaget <em>Byt läge</em> på kortet gör.",
"<link3>Lägg till GPU i VM (passthrough)</link3> och <link4>Lägg till GPU i LXC</link4> — första tilldelning av en obunden GPU."
]
},
"coral": {
"heading": "Coral TPU / AI-acceleratorer",
"subHeading": "(villkorligt)",
"intro": "Visas när Google Coral eller andra AI-acceleratorer är anslutna. Enhetsdialogrutan visar anslutning (M.2 / mini-PCIe / USB), PCIe-bredd, tillverkar-/produkt-ID, programstöd (<code>apex</code> i kärnan för PCIe, <code>libedgetpu</code> i användarrymden för USB), moduler (<code>gasket</code> + <code>apex</code>), enhetsnoder (<code>/dev/apex_*</code>), Edge TPU-runtime-status, aktuell temperatur och firmwaregränser för varningar.",
"imageAlt": "Coral Edge TPU-detaljer: PCIe/M.2, länk 5.0 GT/s x1, ID 1ac1:089a, kärndrivrutin apex, gasket och apex laddade, /dev/apex_0 finns, Edge TPU Runtime ej installerad, 53.5 °C och maskinvarugränser för temperaturvarningar",
"imageCaption": "M.2 Coral med värdens kärnmoduler laddade, enhetsnoden tillgänglig och firmwaregränser för temperaturvarningar synliga. Runtime-raden blir grön när rätt Edge TPU Runtime är installerad.",
"pathsIntro": "Två installationsvägar finns beroende på formfaktorn:",
"pathsItems": [
"<strong>M.2 / Mini-PCIe</strong> — värden behöver kärnmodulerna <code>gasket</code> + <code>apex</code> byggda med DKMS så att enhetsnoden <code>/dev/apex_0</code> finns vid start.",
"<strong>USB-accelerator</strong> — värden behöver bara Edge TPU-runtime i användarrymden (<code>libedgetpu1-std</code>) från Googles APT-förråd."
],
"outro": "<installLink>Installera Coral TPU på värden</installLink> upptäcker och hanterar båda varianterna. Bakgrund och officiell runtime finns på <a>coral.ai/docs</a>. Tilldela sedan enheten till en container med <lxcLink>Lägg till Coral TPU i LXC</lxcLink>."
},
"storage": {
"heading": "Lagringssammanfattning",
"intro": "Alla blockenheter som kärnan känner till, grupperade efter typ. Varje disk visar namn (<code>sda</code>, <code>nvme0n1</code>, <code>zram0</code>…), typ (<em>SSD</em>, <em>HDD</em>, <em>NVMe SSD</em>), modell och förhandlad länk. Klicka för modell, serienummer, kapacitet, gränssnitt samt aktuell och maximal länkhastighet.",
"imageAlt": "Storage Sammanfattningskort som listar elva blockenheter (SATA SSDs, SATA HDDs, NVMe SSDs och zram) med modellsträngar och förhandlade länkhastigheter; de två NVMe-enheterna visar 3.0 x4 med den aktuella hastigheten markerad",
"imageCaption": "Elva enheter på noden. SATA-länkar visas som <em>SATA &lt;version&gt;, &lt;Gb/s&gt; (current: ...)</em>; NVMe som <em>&lt;PCIe gen&gt; x&lt;width&gt;</em>.",
"nvmeBody": "För varje NVMe jämförs den förhandlade länken med enhetens maximum. Vid skillnad, exempelvis en Gen3 x4 SSD på <strong>3.0 x1</strong> i en plats med en enda bana, visas aktuellt värde i bärnstensfärg. Det hjälper vid felsökning av långsamma diskar eller ändrad bantilldelning efter en BIOS-uppdatering.",
"nvmeModalAlt": "NVMe-enhetsdetalj modal för nvme0n1: NVMe SSD-typ, 953.9 GB-kapacitet, nuvarande länkhastighet 3.0 x1 markerad i amber, maximal kopplingshastighet 3.0 x4, modell WDC CL SN720, serienummer, PCIe / NVMe gränssnitt",
"nvmeModalCaption": "NVMe-detaljer med färre banor: enheten stöder x4 men platsen är kopplad som x1.",
"outro": "SMART-data, självtester, historik och PDF-rapport finns under <storageLink>Översikt: Lagring</storageLink>. Samma data används av <smartLink>SMART-diskstatus och tester</smartLink>. Ett långt test från skriptet skriver den JSON som Monitor visar under <em>Lagring → Historik</em>."
},
"pci": {
"heading": "PCI-enheter",
"intro": "PCI-enheter identifieras med <strong>PCI BDF</strong> (Bus:Device.Function, exempelvis <code>03:00.0</code>) och klass (<em>Lagringskontroller</em>, <em>USB-kontroller</em>, <em>Grafikkort</em>, <em>Nätverkskontroller</em>, <em>Ljudkontroller</em>…). Varje kort visar tillverkare, namn och <strong>kopplad kärndrivrutin</strong>, användbart för felsökning av passthrough, IOMMU-grupper och fel drivrutin.",
"imageAlt": "PCI-enheter sektion som listar femton enheter grupperade av klass: lagringskontroller på ahci / nvme, USB-kontroller, grafikkort (en på vfio-pci, en på den infödda drivrutinen), nätverkskontroller på igb / tg3, en ljudkontroller tillsammans med en genomgående GPU",
"imageCaption": "Femton enheter på denna nod. Notera GPU och dess följeslagare ljudfunktion både bunden till <code>vfio-pci</code> - det är ett kort förberedt för VM genomgång.",
"bdfTitle": "Läsa BDF",
"bdfBody": "<code>03:00.0</code> betyder PCI-buss <code>03</code>, enhet <code>00</code>, funktion <code>0</code>. Dedikerade GPU:er använder oftast <code>.0</code> för grafik och <code>.1</code> för HDMI-ljud. Båda funktionerna förs vidare till VM:n tillsammans; därför rensar <link>Byt GPU-läge</link> även överblivna ljudkopplingar när VM-läget lämnas."
},
"usb": {
"heading": "USB-enheter",
"intro": "USB-enheter med tillverkare och produkt, USB-version, adress <code>bus:device</code>, ID <code>vendor:product</code> och kärndrivrutin. De grupperas efter roll: <em>Kommunikation</em> (Z-Wave-/Zigbee-adaptrar), <em>UPS</em>, lagring och HID. Då kan du identifiera adaptrarna utan att jämföra deras ID.",
"imageAlt": "USB-enheter kort som listar tre enheter: en Aeotec Z-Wave Z-Stick, en ConBee II Zigbee koordinator och en Ellipse ECO UPS, var och en med USB-version, adress, leverantör: produkt ID och bunden drivrutin",
"imageCaption": "Tre USB-enheter - två hemautomationsradio på <code>usbfs</code> och en UPS på <code>usbfs</code> (NUT talar med det genom libusb)."
},
"power": {
"heading": "Energiförbrukning",
"subHeading": "(villkorligt)",
"intro": "Visas om värden tillhandahåller effektdata. Två oberoende källor visas när de finns:",
"items": [
"<strong>Total effekt ACPI / IPMI</strong> — hela systemets effekt från en moderkortssensor eller BMC. Vanligt på serverkort.",
"<strong>CPU-paketets effekt</strong> — Intel RAPL-räknare eller AMD:s motsvarighet. Skiljer CPU-effekten från resten på konsumentkort utan totalmätning."
],
"supplyImageAlt": "Effekt: 198 W totalt via ACPI och två nätaggregat med status OK och uteffekt 185 W respektive 5 W",
"supplyImageCaption": "Serverkort med en ACPI-effektsensor och två nätaggregat via IPMI: det andra är redundant och ger 5 W i viloläge.",
"cpuImageAlt": "Effekt på konsumentkort: endast CPU-effekt 8.7 W via Intel RAPL",
"cpuImageCaption": "Konsumentkort utan totalsensor — endast CPU-effekt via RAPL visas."
},
"psu": {
"heading": "Strömförsörjning",
"subHeading": "(villkorligt)",
"body": "På servrar med dubbla nätaggregat visar IPMI närvaro (PSU 1 / PSU 2 / …), ingångsspänning, uteffekt och status OK/fel. Kontrollera detta efter ett strömavbrott på en nod med redundanta nätaggregat."
},
"fans": {
"heading": "Systemfläktar",
"subHeading": "(villkorligt)",
"body": "Varvtal per fläkt med minidiagram när det stöds. Utan individuella värden visas en enda avläsning för chassifläkten."
},
"ups": {
"heading": "UPS-status",
"subHeading": "(villkorligt)",
"body": "Visas när en NUT-server (Network UPS Tools) är konfigurerad och nåbar. Visar status (nät / batteri / laddning / låg batterinivå), batterinivå, uppskattad drifttid, belastningsprocent, ingångsspänning, modell och firmware. Samma data används i <em>Säkerhet och certifikat</em> i hälsokontrollen; batteridrift uppmärksammas direkt."
},
"dataCollected": {
"heading": "Hur data samlas in",
"headerSection": "Avsnitt av fliken",
"headerEndpoint": "Slutpunkt",
"headerSource": "Källa",
"rows": [
{
"section": "Statisk inventering (PCI, CPU, BIOS)",
"endpoint": "/api/hardware",
"source": "<code>lspci -vmm</code>, <code>/proc/cpuinfo</code>, <code>dmidecode</code>; cachad för livslängden av processen."
},
{
"section": "Live sensor värden",
"endpoint": "/api/hardware/live",
"source": "<code>sensors</code> (lm-sensors), <code>/sys/class/hwmon</code> och <code>/sys/block</code> identifierar lagringsenheterna. Temperaturerna är aktuella; endast kopplingen mellan hwmon och enheter cachas i 60 sekunder."
},
{
"section": "CPU temperaturhistoria",
"endpoint": "/api/temperature/history",
"source": "Tidsserie som temperaturinsamlaren registrerar var 60:e sekund och sparar i SQLite."
},
{
"section": "GPU-mätvärden i realtid",
"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": "# Jämför inventeringen med operativsystemets vy",
"codeComment2": "# Bekräfta GPU-kortet instrumentpanelen ser"
},
"whereNext": {
"heading": "Nästa steg",
"items": [
{
"label": "Installera NVIDIA-drivrutiner på värden",
"href": "/docs/hardware/nvidia-host",
"tail": " — skriptet som installationsknappen i GPU-dialogrutan kör."
},
{
"label": "Byt GPU-läge (VM ↔ LXC)",
"href": "/docs/hardware/switch-gpu-mode",
"tail": " — ändringarna på värden när läget växlas på ett GPU-kort."
},
{
"label": "Installera Coral TPU på värden",
"href": "/docs/hardware/install-coral-tpu-host",
"tail": " — installation av Coral-kärnmodul och runtime."
},
{
"label": "SMART-status och disktest",
"href": "/docs/disk-manager/smart-disk-test",
"tail": " — skriptet bakom SMART-data i diskdetaljerna på fliken Lagring."
},
{
"label": "Dashboard: Storage Tab",
"href": "/docs/monitor/dashboard/storage",
"tail": " - Full SMART attributtabell, självtesthistoria och PDF-rapport."
},
{
"label": "Hälsoövervakare",
"href": "/docs/monitor/health-monitor",
"tail": " — kategorin CPU och temperatur, som använder samma sensorer."
},
{
"label": "API-referens",
"href": "/docs/monitor/api",
"tail": " — slutpunkterna för hårdvara och GPU."
},
{
"label": "Översiktsindex",
"href": "/docs/monitor/dashboard",
"tail": " — de andra flikarna."
}
]
}
}
@@ -0,0 +1,101 @@
{
"meta": {
"title": "ProxMenux Monitor — Översikt | ProxMenux-dokumentation",
"description": "Panelen är ProxMenux Monitors huvudgränssnitt: tio innehållsflikar inklusive Apps-startaren, ett gemensamt sidhuvud och en konfigurerbar ordning i huvudnavigeringen."
},
"header": {
"title": "Översikt",
"description": "ProxMenux Monitors vardagsvy: tio innehållsflikar inklusive Apps-startaren, ett gemensamt sidhuvud och en konfigurerbar ordning i huvudnavigeringen.",
"section": "ProxMenux Monitor"
},
"oneHeader": {
"title": "En rubrik, tio flikar",
"body": "Sidhuvudet med logotyp, nodnamn, statusindikator, drifttid, uppdatering och tema förblir synligt. Den aktiva fliken ändrar hela innehållsytan nedanför. Statusfärgen visar den allvarligaste kategorin i <link>hälsoövervakningen</link>; samma värde visas i panelen."
},
"tabs": {
"heading": "De tio flikarna",
"intro": "Varje flik har sin egen dedikerade sida. Sidor läggs inkrementellt som dokumentationen fylls i; nedan är den fullständiga listan och vad var och en är ansvarig för.",
"headerTab": "Flik",
"headerOwns": "Vad fliken omfattar",
"rows": [
{
"name": "Systemöversikt",
"linksTo": "/docs/monitor/dashboard/system-overview",
"owns": "CPU / minne / temperatur widgets, aktiva VM & LXC räkna, historiska metriska diagram, lagring och nätverkssammanfattningar. Standardlandningsfliken tills navigationsordern är anpassad."
},
{
"name": "Appar",
"linksTo": "/docs/monitor/dashboard/apps",
"owns": "Gemensam startvy för registrerade LXC-webblänkar och egna länkar, med kategorier, sökning, gästgenvägar och uppdateringsindikatorer per applikation."
},
{
"name": "Lagring",
"owns": "Proxmox pooler, fysiska diskar, SMART data, ZFS tillstånd, slitage och livstid, observationshistorik."
},
{
"name": "Nätverk",
"owns": "Fysiska gränssnitt, bondningar, bryggor och OVS, IP/MAC-adresser, RX/TX-diagram och RRD-historik per gränssnitt."
},
{
"name": "VM och LXC",
"owns": "Inventering av gäster, detaljvyer för konfiguration, mätvärden och loggar samt start, stopp, omstart och avstängning."
},
{
"name": "Hårdvara",
"owns": "CPU modell och topologi, minne layout, PCIe topologi, GPU med per-slot realtid övervakning."
},
{
"name": "Systemloggar",
"owns": "Live <code>journalctl</code> med filter, Proxmox aktivitetshistorik, anmälningslogg, nedladdningsbara loggpaket."
},
{
"name": "Terminal",
"owns": "Skal till värden eller valfri VM/CT i webbläsaren, med <code>xterm.js</code> över WebSockets."
},
{
"name": "Säkerhet",
"owns": "Auth installation, lösenord / 2FA / API tokens, revisionslogg, valfri Fail2Ban panel, Secure Gateway distribution."
},
{
"name": "Inställningar",
"owns": "Monitors språk, navigeringsordning, aviseringskanaler, AI-leverantör, hälsotrösklar, undantag och inventering av efterinstallationsoptimeringar."
}
]
},
"headerAnatomy": {
"heading": "Header anatomi",
"items": [
"<strong>Logo + produktnamn</strong> till vänster. Logotypen förvandlas till en \"uppdatering tillgänglig\" variant när en nyare Monitor release upptäcks.",
"<strong>Nodidentitet</strong>: namn från <code>pvesh get /nodes</code>, med <code>hostname</code> som reserv.",
"<strong>Statusindikator</strong>: Frisk (grön), Varning (gul), Kritisk (röd). Ett klick öppnar hälsoövervakningen. Ett blått <em>info</em>-märke visas när avfärdade poster fortfarande är inom sin undertryckningstid.",
"<strong>Drifttid</strong>: värdens drifttid i lättläst format.",
"<strong>Uppdateringsknapp</strong>: upprepar API-anropen för aktuella data utan att ladda om hela sidan.",
"<strong>Temaväljare</strong>: ljust, mörkt eller system. Sparas i <code>localStorage</code>."
]
},
"whereNext": {
"heading": "Var till nästa",
"items": [
{
"label": "Apps flik",
"href": "/docs/monitor/dashboard/apps",
"tail": " — gemensam startvy för webblänkar och dess relation till registrerade LXC-applikationer."
},
{
"label": "Systemöversikt flik",
"href": "/docs/monitor/dashboard/system-overview",
"tail": " - landningsfliken, fullt dokumenterad."
},
{
"label": "Hälsoövervakare",
"href": "/docs/monitor/health-monitor",
"tail": " — dialogen bakom statusindikatorn med detaljer för tio kategorier."
},
{
"label": "Arkitektur",
"href": "/docs/monitor/architecture",
"tail": " — Hur instrumentpanelen pratar med Flask backend."
}
]
}
}
@@ -0,0 +1,251 @@
{
"meta": {
"title": "ProxMenux Monitor — Översikt: fliken Nätverk | ProxMenux-dokumentation",
"description": "Fliken Nätverk listar värdens gränssnitt: fysiska nätverkskort, bryggor, bond-gränssnitt, VLAN och virtuella VM/LXC-gränssnitt. Detaljvyn visar IP, MAC, status, bond-medlemmar, trafik sedan start och RRD-historik."
},
"header": {
"title": "Översikt: fliken Nätverk",
"description": "Gränssnitten som kärnan rapporterar — fysiska kort, bryggor, bond-gränssnitt, VLAN och virtuella VM/LXC-portar — grupperas i tre kort. Klicka på en rad för att visa adresser, trafikräknare och historiska RRD-data.",
"section": "ProxMenux Monitor · Översikt"
},
"intro": {
"title": "Aktuella och historiska data",
"body": "Aktuell status kommer från <code>psutil.net_if_stats()</code> och <code>ip</code>, bandbreddshistoriken från Proxmox RRD-lagring via <code>/api/network/&lt;interface&gt;/metrics</code>. Räknarna uppdateras ungefär var femte sekund och RRD-data för diagrammet hämtas vid behov."
},
"topRow": {
"heading": "Översta raden: fyra statistikkort",
"headerCard": "Kort",
"headerWhat": "Vad det visar",
"rows": [
{
"card": "Nätverkstrafik",
"what": "Aggregerad RX / TX-hastighet över alla gränssnitt, formaterad i rätt enhet (bps / Kbps / Mbps / Gbps)."
},
{
"card": "Aktiva gränssnitt",
"what": "Två räknare: <em>Physical X / Y</em> och <em>Bridges X / Y</em>, aktiva av totalt antal. En första kontroll när något slutar fungera."
},
{
"card": "Nätverksstatus",
"what": "Snabb bedömning: Bra / Varning / Kritiskt utifrån länkstatus, gatewayens nåbarhet och bryggans integritet. Motsvarar kategorin <em>Nätverksgränssnitt</em> i Health Monitor."
},
{
"card": "Nätverkslatens",
"what": "Svarstid till gatewayen med ett litet diagram. Ett klick öppnar <strong>dialogen Nätverkslatens</strong> som beskrivs nedan: historik och pingtest vid behov mot gatewayen, Cloudflare eller Google med en nedladdningsbar PDF-rapport."
}
]
},
"flow": {
"heading": "Nätverksflödesdiagram",
"intro": "Mellan den översta raden och de tre korten visar <strong>Network Flow</strong> aktuell topologi. Paketvägarna går från fysiska nätverkskort via bryggor i mitten till VM och containrar. Animerade pulser visar aktuell rx/tx-trafik på varje länk.",
"imageAlt": "Nätverksflödesdiagram - NICs till vänster, värd och broar i mitten, VM och LXCs till höger, med animerade pulser på varje anslutning",
"imageCaption": "Nätverksflöde - färgkodade noder plus animerade kometer vars riktning och tjocklek återspeglar levande trafik.",
"elementsTitle": "Vad diagrammet visar",
"elementsIntro": "Varje nod representerar en post i samma inventering som korten nedanför. Topologin gör deras samband direkt synliga:",
"elements": [
"<strong>Nätverkskort</strong> (orange) — fysiska gränssnitt med aktiv länk; inaktiva visas nedtonade.",
"<strong>Värd</strong> (orange) — Proxmox-värden mellan nätverkskort och bryggor. En fast punkt som inte är klickbar.",
"<strong>Bryggor</strong> (cyan) — Linux- och OVS-bryggor med minst en aktiv gäst. Oanvända bryggor döljs så att diagrammet visar den faktiska trafiken.",
"<strong>LXC</strong> (cyan) — containrar som körs och är anslutna till en brygga.",
"<strong>VM</strong> (lila) — virtuella maskiner som körs och är anslutna till en brygga.",
"Stoppade VM och containrar döljs."
],
"pulsesTitle": "Vad animationen kodar",
"pulsesBody": "De animerade kometer som reser längs varje kant representerar levande trafik:",
"pulses": [
"<strong>Riktning</strong> — mot nätverkskortet betyder gästens <em>tx</em>, mot gästen betyder <em>rx</em>.",
"<strong>Linjebredden</strong> ökar med gästens rx+tx-hastighet. Utan trafik syns fortfarande en svag animerad linje; vid hög trafik blir den tjock.",
"<strong>Kometens huvudglöd</strong> — varm ton runt 1 MB/s, intensiv från 30 MB/s. Hjälper dig att se vilken gäst som belastar ett nätverkskort mest.",
"<strong>Klick</strong> — alla noder utom värden öppnar gränssnittets detaljdialog som beskrivs nedan. Ett klick på värden har ingen effekt; den har ingen dialog i denna vy."
],
"useTitle": "När det är användbart",
"useBody": "Korten visar <em>vad</em> som finns; diagrammet visar <em>hur det är anslutet</em> och var trafiken går. Du kan se gäster på samma brygga, två aktiva gäster som delar nätverkskort — en möjlig flaskhals — eller en VM som mättar en länk medan övriga är tysta."
},
"groups": {
"heading": "Tre gränssnittsgrupper",
"intro": "Tre kort grupperar gränssnitten efter funktion. Varje rubrik visar antalet aktiva gränssnitt. En färgad etikett anger varje gränssnitts <strong>typ</strong>:",
"badges": [
"Blå <strong>Physical</strong> - verklig NIC.",
"Grönt <strong>Bridge</strong> - Linux bridge eller OVS bridge (<code>vmbr*</code>).",
"Lila <strong>Bond</strong> — aggregerat gränssnitt med bond / LACP / active-backup.",
"Cyan <strong>VLAN</strong> — VLAN-undergränssnitt (<code>vmbr0.10</code>, <code>eno1.42</code>, …)."
],
"clickable": "<strong>Varje rad är klickbar</strong>: fysiska och virtuella gränssnitt, bryggor och bond-gränssnitt. Detaljvyn nedan visar grunduppgifter, IP, räknare och RX/TX-historik från Proxmox RRD-lagring.",
"physicalTitle": "Fysiska gränssnitt",
"physicalBody": "Fysiska gränssnitt som kärnan identifierar: <code>eno1</code>, <code>enp4s0</code>, <code>eth0</code>, <code>wlp3s0</code> med flera. Varje enhet har en rad med blå etikett <strong>Physical</strong> och länkstatus. Även <em>bond-medlemmar</em> visas med hänvisning till sitt bond-gränssnitt.",
"bridgeTitle": "Brygggränssnitt",
"bridgeBody": "Linux-bryggor (<code>vmbr0</code>, <code>vmbr1</code>, …) och OVS-bryggor som Proxmox hanterar. Varje rad visar grön etikett <strong>Bridge</strong>, det fysiska gränssnittet om bryggan har en enda port och status. Bond-gränssnitt har lila <strong>Bond</strong>, VLAN-undergränssnitt cyan <strong>VLAN</strong>.",
"vmTitle": "VM-/LXC-gränssnitt",
"vmBody": "Gränssnitt <code>tap*</code> och <code>veth*</code> som skapas när gäster startar, ett per virtuellt nätverkskort. Rubriken visar <em>X / Y Active</em> och raderna länkar till VM/CT i fliken VMs & LXCs. Efter ett stopp försvinner inaktiva poster vid nästa uppdatering."
},
"drillIn": {
"heading": "Detaljer per gränssnitt",
"intro": "Ett klick på en rad öppnar en dialog med fem block:",
"headerBlock": "Block",
"headerContents": "Innehåll",
"rows": [
{
"block": "Grundläggande information",
"contents": "Namn, typ (fysiskt / brygga / bond / VLAN / vm), MAC-adress, status (aktivt / inaktivt), MTU och underliggande fysiskt gränssnitt för virtuella typer."
},
{
"block": "Bond-medlemmar",
"contents": "Endast för bond-gränssnitt: varje ingående kort med aktiv-/felstatus, bond-läge (active-backup / 802.3ad / balance-alb / …) och primärt gränssnitt om det är konfigurerat."
},
{
"block": "IP-adresser",
"contents": "Varje IPv4/IPv6-adress med prefixlängd. Automatiskt konfigurerade länklokala adresser visas i grått."
},
{
"block": "Historiska diagram",
"contents": "RX/TX-bandbredd under valt intervall (1 timme / 24 timmar / 7 dagar / 30 dagar / 1 år), hämtad från <code>/api/network/&lt;interface&gt;/metrics</code> (Proxmox RRD)."
},
{
"block": "Trafik sedan senaste start",
"contents": "Totalt antal RX/TX-byte och paket sedan värdens senaste start samt räknare för fel och tappade paket."
}
],
"inactiveTitle": "Detaljer visas även för inaktiva gränssnitt",
"inactiveBody": "Om gränssnittet är <em>inaktivt</em> visar dialogen meddelandet ”Inaktivt gränssnitt” utan aktuella räknare. Konfiguration med adresser och bond-medlemmar samt historik visas fortfarande för att undersöka vad som gick fel och när."
},
"latency": {
"heading": "Dialog för nätverkslatens",
"intro": "Klicka på <em>Nätverkslatens</em> i den översta raden för att öppna dialogen med historik, test vid behov, tre mål och en nedladdningsbar PDF-rapport.",
"targetsTitle": "Mål",
"targetsIntro": "Listan längst upp väljer målet för pingtestet:",
"targets": [
"<strong>Gateway</strong> — din LAN-router. Testar bara den lokala sträckan för att undersöka switch- eller kabelfel utan att inkludera WAN.",
"<strong>Cloudflare (1.1.1.1)</strong> — offentlig DNS-resolver i ett anycast-nätverk. Testar WAN-sträckan.",
"<strong>Google (8.8.8.8)</strong> — alternativt offentligt mål för kontroll av resultaten eller vid regionala Cloudflare-problem."
],
"mode1Title": "Läge 1 — Historik",
"mode1Alt": "Latensdialog i historikläge med målet Gateway, ett tidsintervall på en timme och tidigare mätningar i diagrammet",
"mode1Caption": "Gatewayens historik för den senaste timmen. Insamlingstråden för temperatur och latens sparar mätningarna i historikdatabasen var 60:e sekund.",
"mode1Body1": "Dialogens standardläge. En andra lista väljer tidsintervallet (<em>1 timme / 6 timmar / 24 timmar / 3 dagar / 7 dagar</em>). Ovanför visas Aktuellt / Min / Medel / Max och status Utmärkt / Bra / Måttlig / Dålig enligt gränserna nedan.",
"mode1Body2": "Källa: mätningarna som Health Monitor använder för att upptäcka varaktiga nätverksfördröjningar. Bakgrundstråden <code>_temperature_collector_loop</code> mäter gatewayen var 60:e sekund och sparar historiken lokalt i SQLite.",
"mode2Title": "Läge 2 — Realtidstest",
"mode2Alt": "Latensdialog med pingtest mot Cloudflare i realtid, 50 % förlopp och nya mätningar i diagrammet",
"mode2Caption": "Tvåminuterstest mot Cloudflare med en mätning var femte sekund som genast läggs till i diagrammet. <em>Stoppa</em> avslutar i förtid; <em>Testa igen</em> lägger till mätningar i samma datamängd.",
"mode2Intro": "Växla målet till Cloudflare eller Google startar ett on-demand ping test. Beteende:",
"mode2Items": [
"<strong>Varaktighet</strong> — två minuter per körning med förloppsindikator och återstående sekunder.",
"<strong>Intervall</strong> — en mätning var femte sekund, 24 per körning.",
"<strong>Metod</strong> — ICMP Echo Request (<code>ping</code>), tre ping i följd per mätning med genomsnittlig latens.",
"<strong>Stoppa</strong> — avslutar testet direkt och bevarar hittills insamlade data.",
"<strong>Testa igen</strong> — lägger till mätningar i befintliga data för en längre historik över flera körningar.",
"<strong>Aktuell statusindikator</strong> — omvärderas efter varje mätning med samma gränser för Utmärkt / Bra / Måttlig / Dålig."
],
"thresholdsTitle": "Prestandagränser",
"headerStatus": "Status",
"headerRange": "Intervall",
"headerImpact": "Praktisk påverkan",
"thresholdRows": [
{
"status": "Utmärkt",
"range": "< 50 ms",
"impact": "Optimal för realtidsappar, spel och videosamtal."
},
{
"status": "Bra",
"range": "50 – 100 ms",
"impact": "Acceptabel för de flesta applikationer med minimal påverkan."
},
{
"status": "Måttlig",
"range": "100 – 200 ms",
"impact": "Noterbar fördröjning. Kan påverka VoIP och interaktiva appar."
},
{
"status": "Dålig",
"range": "> 200 ms",
"impact": "Betydande latens. Utredning rekommenderas."
}
],
"reportTitle": "Rapport om nätverkslatens (PDF)",
"reportIntro": "Båda lägena har knappen <strong>Rapport</strong> bredvid målväljaren. Den skapar en PDF med mätningarna som du kan bifoga ett supportärende hos internetleverantören.",
"reportPreviewAlt": "Första PDF-sidan i latensrapporten med sammanfattning, mätare, statistik, diagram och gränsvärdesguide",
"reportPreviewCaption": "Första sidan innehåller sammanfattning, mätare, huvudstatistik, latens över tid och gränsvärdesguide. Från sida 2 följer mättabellen och metoden.",
"downloadLabel": "Hämta exempelrapport om latens (PDF)",
"sectionsIntro": "Rapporten har sex avsnitt:",
"sections": [
"<strong>Sammanfattning</strong> — mätare från 0 till över 300 ms med gröna, gula och röda zoner; status Utmärkt / Bra / Måttlig / Dålig; mål, läge, antal mätningar och sammanfattad paketförlust.",
"<strong>Latensstatistik</strong> — fyra indikatorer för aktuellt värde, minimum, medel och maximum samt antal mätningar, genomsnittlig paketförlust och testperiod.",
"<strong>Latensdiagram</strong> — ytdiagram över testets mätningar med minimum, medel och maximum markerade på den lodräta axeln.",
"<strong>Prestandagränser</strong> — samma fyrgradiga skala som ovan med en färgad punkt per nivå.",
"<strong>Detaljerade resultat</strong> — numrerad tabell med tidsstämpel, latens, paketförlust och status för varje mätning. Visar korta toppar som kan döljas av medelvärden.",
"<strong>Metod</strong> — ICMP Echo Request, tre ping i följd per mätning, målets namn och IP samt en slutbedömning utifrån status."
],
"useCaseTitle": "Användningsfall: support hos internetleverantören",
"useCaseBody": "Kör Cloudflare-testet i två minuter när anslutningen känns långsam, förläng med <em>Testa igen</em> och välj <em>Rapport</em>. PDF-filen innehåller alla mätningar och metoden. Du kan bifoga den till ett supportärende med tiderna för problemet; leverantören avgör vilka underlag som behövs."
},
"excluding": {
"heading": "Utesluta gränssnitt från övervakning",
"body1": "Gränssnitt kan uteslutas från övervakning, som avsiktligt avstängda bryggor, testgränssnitt eller borttagna kort som finns kvar i konfigurationen. Inställningen sparas i <code>excluded_interfaces</code>: Health Monitor ger inga varningar eller aviseringar och räknar inte in dem i den övergripande statusen.",
"body2": "Välj <em>Uteslut från övervakning</em> i radens snabbmeny. Gränssnittet visas fortfarande med lila etikett <strong>uteslutet</strong>. Samma meny återaktiverar övervakningen."
},
"dataCollected": {
"heading": "Hur data samlas in",
"headerSection": "Avsnitt av fliken",
"headerEndpoint": "Ändpunkt",
"headerSource": "Källa",
"rows": [
{
"section": "Gränssnittsinventering",
"endpoint": "/api/network",
"source": "<code>ip -j addr</code> + <code>ip -j link</code> och analys av bond-gränssnitt och bryggor."
},
{
"section": "Sammanfattningskort",
"endpoint": "/api/network/summary",
"source": "Sammanställning av inventeringen och antal aktiva och inaktiva gränssnitt."
},
{
"section": "RX/TX-historik per gränssnitt",
"endpoint": "/api/network/<iface>/metrics",
"source": "Aktuella räknare använder <code>/proc/net/dev</code>; diagramhistoriken kommer från Proxmox RRD via pvesh. VM/LXC-gränssnitt använder gästdata, fysiska gränssnitt och bryggor använder noddata."
},
{
"section": "Latens: aktuell",
"endpoint": "/api/network/latency/current",
"source": "Kort serie <code>ping</code> mot konfigurerad gateway eller annat mål."
},
{
"section": "latens: historisk",
"endpoint": "/api/network/latency/history",
"source": "Mätningar sparas ungefär var 60:e sekund av bakgrundstråden för temperatur och latens."
}
],
"codeComment1": "# Kontrollera gränssnittsstatusen som visas i översikten",
"codeComment2": "# Kontrollera en aktuell latensmätning från början till slut"
},
"whereNext": {
"heading": "Läs vidare",
"items": [
{
"label": "Hälsoövervakare",
"href": "/docs/monitor/health-monitor",
"tail": " — kategorin Nätverk och gränsvärden för latenshistoriken."
},
{
"label": "API-referens",
"href": "/docs/monitor/api",
"tail": " — ändpunkter för nätverk och latens."
},
{
"label": "Integrationer",
"href": "/docs/monitor/integrations",
"tail": " — Prometheus-insamlingen visar samma nätverksmått."
},
{
"label": "Översiktsindex",
"href": "/docs/monitor/dashboard",
"tail": " — de andra flikarna."
},
{
"label": "ProxMenux → Nätverk",
"href": "/docs/network",
"tail": " - Åtgärdssidan: broanalys, ihållande gränssnittsnamn, backup och omstart, iperf3."
}
]
}
}
@@ -0,0 +1,246 @@
{
"meta": {
"title": "ProxMenux Monitor — Översikt: fliken Säkerhet | ProxMenux-dokumentation",
"description": "Fliken Säkerhet samlar skyddsfunktionerna i två kolumner: ProxMenux Monitor (autentisering, SSL/HTTPS, API-token, Secure Gateway) och Proxmox VE (brandvägg, Fail2Ban, Lynis-granskning). Med stegvisa anvisningar för Secure Gateway, Lynis-granskning samt installation och regelinställningar för Fail2Ban."
},
"header": {
"title": "Översikt: fliken Säkerhet",
"description": "Säkerhetsfunktionerna är uppdelade i två block: inställningar för Monitor (autentisering, SSL, token, Secure Gateway) och för den övervakade Proxmox-värden (brandvägg, Fail2Ban, Lynis).",
"section": "ProxMenux Monitor · Översikt"
},
"intro": {
"title": "Två områden, en flik",
"body": "Fliken Säkerhet har två avsnitt: <strong>ProxMenux Monitor</strong> (översiktens inställningar) och <strong>Proxmox VE</strong> (värdens inställningar). Korten för Fail2Ban och Lynis erbjuder installation när verktygen saknas och visar sedan deras kontroller när de är installerade."
},
"monitor": {
"heading": "ProxMenux Monitor",
"intro": "Fyra kort styr åtkomsten till översikten och autentiseringen."
},
"auth": {
"heading": "Autentisering",
"imageAlt": "Autentiseringskort med status Aktiverad, knapparna Logga ut och Ändra lösenord, information om tvåfaktorsautentisering samt knappar för att aktivera 2FA och inaktivera autentisering",
"imageCaption": "Kort med autentisering aktiverad: statusindikator, Ändra lösenord, Aktivera 2FA och den destruktiva åtgärden Inaktivera autentisering.",
"intro": "Kortet hanterar inloggningen till översikten. Första starten, lösenordsregler, TOTP-konfiguration och återställning när autentiseraren gått förlorad beskrivs i <link>Åtkomst och autentisering</link>. Kortet används för den dagliga hanteringen av dessa inställningar:",
"items": [
"<strong>Autentiseringsstatus</strong> — indikator med <em>Aktiverad</em> / <em>Inaktiverad</em> / <em>Avböjd</em>.",
"<strong>Ändra lösenord</strong> — nuvarande lösenord + nytt lösenord + bekräftelse.",
"<strong>Aktivera / Inaktivera tvåfaktorsautentisering</strong> — öppnar konfigurationsdialogen med QR-kod vid aktivering och begär det nuvarande lösenordet vid inaktivering.",
"<strong>Inaktivera autentisering</strong> — destruktiv åtgärd som vid nästa besök åter visar startdialogen <em>Skydda din översikt?</em>."
]
},
"ssl": {
"heading": "SSL / HTTPS",
"imageAlt": "SSL/HTTPS-kort med status HTTP utan SSL, upptäckt Proxmox-certifikat med innehavare, utfärdare och utgångsdatum samt alternativ för Proxmox-certifikatet eller ett eget certifikat",
"imageCaption": "SSL/HTTPS-kort med HTTPS avstängt. Monitor upptäcker certifikatet på Proxmox-värden och låter dig använda det med ett klick. Välj <em>Använd eget certifikat</em> om du har egna filer på annan plats.",
"intro": "Gör översikten tillgänglig via HTTPS utan omvänd proxy. Kortet upptäcker certifikatet som Proxmox använder under <code>/etc/pve/local/</code> och visar innehavare, utfärdare och utgångsdatum för kontroll före aktivering. HTTPS kan aktiveras på två sätt:",
"items": [
"<strong>Använd Proxmox-certifikat</strong> — Monitor återanvänder värdens certifikat med ett klick. Lämpligt om PVE och översikten redan använder samma DNS-namn.",
"<strong>Använd eget certifikat</strong> — klistra in absoluta sökvägar till <code>.pem</code>-certifikatet och den privata <code>.key</code>-nyckeln. De valideras före omstarten. Om inläsningen misslyckas återgår översikten automatiskt till HTTP och förblir tillgänglig."
],
"enabledAlt": "SSL/HTTPS-kort med HTTPS aktiverat, aktivt certifikat med sökvägar till pve-ssl.pem och pve-ssl.key samt knappen Inaktivera HTTPS",
"enabledCaption": "HTTPS är aktivt — kortet visar certifikatet som används, filsökvägarna och åtgärden <em>Inaktivera HTTPS</em>, som återgår till HTTP på samma port.",
"acmeTitle": "ACME / Let's Encrypt via Proxmox",
"acmeBody": "Om Let’s Encrypt redan är konfigurerat på Proxmox-noden under <em>Datacenter → Certifikat → ACME</em> återanvänder översikten det certifikat som värden visar för webbläsare när du väljer <em>Använd Proxmox-certifikat</em>. Monitor behöver ingen separat ACME-konfiguration.",
"walkthroughLink": "Se <link>HTTPS för ProxMenux Monitor</link> för stegvisa anvisningar om upptäckt av ACME-certifikatet, vad som skrivs till disk och hur du använder ett eget <code>.pem</code> / <code>.key</code>-par."
},
"apiTokens": {
"heading": "API-åtkomsttoken",
"emptyAlt": "Tomt kort för API-åtkomsttoken med information om token och knappen Generera ny API-token",
"emptyCaption": "Tokenkort efter en nyinstallation. Rutan <em>Om API-token</em> beskriver giltighetstid, användning och hur token läggs in i <code>Authorization: Bearer</code>-huvuden.",
"intro": "Token med ett års giltighet för automatiserade integrationer: Homepage-widgetar, REST-sensorer i Home Assistant, Grafana-insamlare, n8n-flöden och egna skript. Kortet har tre steg: tomt → formulär → genererad token.",
"generateBody": "<strong>Generera en token.</strong> Klicka på <em>Generera ny API-token</em>. Ange ett beskrivande <em>tokennamn</em> för identifiering i listan och ditt <em>lösenord</em> som extra bekräftelse. Om 2FA är aktiverat krävs även den aktuella TOTP-koden.",
"generateAlt": "Formulär för att generera API-token med fälten Tokennamn och Lösenord samt knapparna Generera token och Avbryt",
"generateCaption": "Formuläret Generera API-token: ange ett namn och bekräfta med lösenordet samt TOTP-koden om 2FA är aktiverat.",
"saveBody": "<strong>Spara token direkt.</strong> Hela tokenvärdet visas <strong>bara en gång</strong> efter att det genererats. Kortet markerar detta med ett orange meddelande och en kopieringsknapp. Värdet kan inte hämtas senare; listan över aktiva token visar bara prefixet.",
"generatedAlt": "Genererad API-token med maskerat värde, kopieringsknapp, instruktioner för huvudet Authorization: Bearer och lista över aktiva token med prefix",
"generatedCaption": "Token har genererats: värdet visas en gång med en kopieringsknapp och det exakta utdraget <code>Authorization: Bearer</code>. Listan över aktiva token visar namn, prefix och skapelsedatum så att du kan återkalla enskilda token.",
"outro": "Varje aktiv token har knappen <em>Återkalla</em>. Återkallelsen ogiltigförklarar token direkt och stoppar integrationer som använder den. Exempel för Homepage, Home Assistant, n8n och Prometheus finns under <link>Integrationer</link>."
},
"gateway": {
"heading": "Secure Gateway",
"cardAlt": "Secure Gateway-kort före den första installationen med knappen Installera Secure Gateway",
"cardCaption": "Secure Gateway-kort efter en nyinstallation: en knapp startar guiden.",
"intro": "Nå översikten, Proxmox webbgränssnitt och gästerna varifrån som helst i ditt <a>Tailscale</a>-nätverk utan att öppna portar mot internet. Monitor installerar en Alpine LXC-container på värden med <code>tailscaled</code> som undernätsrouter. Efter godkännande i Tailscales administratörskonsol kan fjärrenheterna nå värdens LAN-IP överallt.",
"wizardTitle": "Steg-för-steg guide",
"wizardIntro": "Skapa en autentiseringsnyckel i Tailscales konsol innan du klickar på <em>Deploy Secure Gateway</em>. Guiden ber om den i steg 2.",
"step0Title": "0. Skapa Tailscales autentiseringsnyckel",
"step0Body": "Logga in på <a>login.tailscale.com/admin/settings/keys</a> och klicka på <em>Generate auth key…</em>. Välj en <em>förautentiserad</em> nyckel så att gatewayen inte behöver en interaktiv Tailscale-inloggning. Kopiera värdet; det visas bara en gång.",
"step0Alt": "Sidan Settings → Keys i Tailscales administratörskonsol med knappen Generate auth key markerad",
"step0Caption": "Tailscale admin konsol - <em>Settings → Keys → Generate auth key...</em>. Använd ett gratis Tailscale-konto om du inte har en ännu (länk inuti guiden).",
"step1Title": "1. Öppna guiden",
"step1Body": "Gå tillbaka till fliken Säkerhet och klicka på <em>Deploy Secure Gateway</em>. Det första steget beskriver funktioner och krav.",
"step1Alt": "Introduktion i Secure Gateway-guiden: VPN-åtkomst utan portvidarebefordran och med totalsträckskryptering",
"step1Caption": "Steg 1 - översikt över vad Secure Gateway ger och en påminnelse om att du behöver ett gratis Tailscale-konto.",
"step2Title": "2. Tailscale autentisering",
"step2Body": "Klistra in autentiseringsnyckeln från steg 0 och välj ett värdnamn. Gatewayen visas med detta namn i Tailscales konsol, vanligtvis <code>proxmox-gateway</code> eller nodens namn.",
"step2Alt": "Steg i Secure Gateway-guiden med fält för Tailscales autentiseringsnyckel och enhetens värdnamn samt en länk för att skapa nyckeln",
"step2Caption": "Steg 2: klistra in den förautentiserade nyckeln och välj värdnamn. Om du hoppade över steg 0 öppnar länken under fältet motsvarande Tailscale-sida.",
"step3Title": "3. Åtkomstområde",
"step3Intro": "Välj vad ditt tailnet kan nå genom gateway:",
"step3Items": [
"<strong>Proxmox Only</strong> - endast Proxmox UI och Monitor. Mindre attackyta.",
"<strong>Hela det lokala nätverket</strong> — hela LAN-undernätet, automatiskt upptäckt via värdens primära gränssnitt. Ger åtkomst till NAS, skrivare, virtuella maskiner och andra LAN-enheter.",
"<strong>Egna undernät</strong> — ange specifika CIDR-nät. För miljöer med flera VLAN där bara vissa segment ska vara åtkomliga."
],
"step3Alt": "Steget Åtkomstområde i Secure Gateway-guiden med alternativen Endast Proxmox, Hela det lokala nätverket och Egna undernät",
"step3Caption": "Steg 3: välj åtkomstområde. <em>Hela det lokala nätverket</em> fyller automatiskt i det upptäckta LAN-undernätet.",
"step4Title": "4. Avancerade alternativ (valfritt)",
"step4Intro": "Två valfria reglage, båda <strong>avstängda som standard</strong>:",
"step4Items": [
"<strong>Exit Node</strong> — när den aktiveras och väljs på en fjärrenhet går all enhetens internettrafik via Proxmox-värdens WAN-anslutning. Praktiskt på resor när du vill använda hemmets internetanslutning från telefonen.",
"<strong>Acceptera rutter</strong> — låter gatewayen nå nätverk som annonseras av <em>andra</em> undernätsroutrar i Tailscale-nätverket, för installationer på flera platser."
],
"step4Alt": "Steget Avancerade alternativ i Secure Gateway-guiden med kryssrutorna Exit Node och Accept Routes",
"step4Caption": "Steg 4: Exit Node och Accept Routes. Låt båda vara avstängda om du bara behöver nå översikten från telefonen eller datorn.",
"step5Title": "5. Granska och installera",
"step5Body": "Slutlig sammanfattning före installationen. Guiden påminner om ett manuellt steg som återstår i Tailscales konsol efteråt: <strong>godkänna undernätsrutten</strong>.",
"step5Alt": "Steget Granska och installera i Secure Gateway med sammanfattning av värdnamn, åtkomstläge, nätverk, Exit Node och Accept Routes samt knappen Installera gateway",
"step5Caption": "Steg 5 - granska konfigurationen och distribuera. Det blå meddelandet längst ner flaggar det väntande ruttgodkännandet.",
"approvalTitle": "Ett sista manuellt steg i Tailscale admin",
"approvalBody": "Öppna <a>login.tailscale.com/admin/machines</a> efter installationen och godkänn undernätsrutten som gatewayen annonserar. Innan dess kan fjärrenheter i Tailscale-nätverket inte nå LAN-IP-adresser via gatewayen. Tailscale markerar väntande rutter med en gul varning på enhetens rad. Klicka på <em>Edit route settings</em> och markera rutten."
},
"pve": {
"heading": "Proxmox VE",
"intro": "Värdens skydd: brandvägg, intrångsskydd och säkerhetsgranskning. Korten för Fail2Ban och Lynis erbjuder installation om verktygen saknas och visar sedan deras kontroller."
},
"firewall": {
"heading": "Proxmox Firewall",
"imageAlt": "Proxmox-brandväggskort med kluster- och värdstatus, snabbåtkomstregler för Monitor och Proxmox webbgränssnitt, räknare, regellista och knappen Lägg till regel",
"imageCaption": "Proxmox-brandväggskort: reglage för kluster och värd, vanliga portar under <em>Snabbåtkomstregler</em>, räknare under <em>Regelöversikt</em> och fullständig lista med <em>+ Lägg till regel</em>.",
"intro": "Kortet hanterar Proxmox VE:s brandväggskonfiguration. Den klassiska motorn använder <code>iptables</code> och alternativet använder <code>nftables</code>. Regler som skapats utanför Proxmox hanteras inte. Tre block:",
"items": [
"<strong>Klusterbrandvägg + värdbrandvägg</strong> — övergripande reglage. Klusterbrandväggen måste vara aktiv för att värdens regler ska få effekt. Kortet visar detta beroende vid inställningen.",
"<strong>Snabbåtkomstregler</strong> — fördefinierade rader för <code>8008/TCP</code> (Monitor) och <code>8006/TCP</code> (Proxmox webbgränssnitt) med läget tillåtet, blockerat eller oskyddat. Proxmox-gränssnittet tillåts via ett <em>inbyggt</em> brandväggsmakro som inte kan tas bort av misstag.",
"<strong>Regelöversikt</strong> — räknare för alla regler, accept-regler, drop/reject-regler och olika skyddade portar. Värdena läses från <code>/etc/pve/firewall/cluster.fw</code> och <code>/etc/pve/nodes/&lt;node&gt;/host.fw</code>.",
"<strong>Brandväggsregler</strong> — lista med åtgärd, protokoll, port, källa och nivå. <em>+ Lägg till regel</em> öppnar redigeraren i kortet; papperskorgen tar bort regeln. Ändringar sparas i Proxmox-filerna och visas även i dess gränssnitt (Datacenter / Node → Firewall)."
]
},
"fail2ban": {
"heading": "Fail2Ban",
"subHeading": "(beroende på status)",
"whatIs": "<strong>Vad är det?</strong> Fail2Ban är en tjänst med öppen källkod som upptäcker upprepade misslyckade inloggningar i loggar och blockerar IP-adressen i brandväggen. Den skyddar SSH och webbformulär mot ständiga brute force-attacker. ProxMenux konfigurerar tre jails: SSH, Proxmox webbinloggning (port 8006) och ProxMenux Monitors inloggning (port 8008).",
"notBundled": "Fail2Ban <strong>ingår inte</strong>. Kortet känner av om det är installerat och anpassas därefter: om det saknas erbjuds installation med ett klick. När det är installerat visas aktuell jail-status och blockerade IP-adresser, och antal försök samt blockeringstid kan ställas in för varje jail.",
"notInstalledAlt": "Fail2Ban-kort i läget Inte installerat med beskrivning av skydd för SSH, Proxmox webbgränssnitt och Monitor via nftables samt knappen Installera och konfigurera Fail2Ban",
"notInstalledCaption": "Fail2Ban-kortet innan du installerar - den blå rutan förhandsgranskar vad installationen skulle konfigurera.",
"clickBody": "Klicka på <em>Installera och konfigurera Fail2Ban</em> för att öppna en bekräftelsedialog med alla ändringar som skriptet gör på värden:",
"confirmAlt": "Fail2Ban-bekräftelse med aggressivt SSH-läge, skydd för Proxmox på port 8006 och Monitor på port 8008, identifiering av nftables, justerad journald-loggning och SSH-skydd via MaxAuthTries",
"confirmCaption": "Installationsbekräftelse: lista över jails, ändrad loggnivå i journald för att läsa SSH-händelser samt extra SSH-skydd (<code>MaxAuthTries=3</code>).",
"confirmIntro": "Efter bekräftelsen visar en panel installationen i realtid: apt, jail-konfiguration och tester. Samma mekanism används av ProxMenux CLI-installationsprogram.",
"progressAlt": "Panel med Fail2Bans installationslogg: paket, journald MaxLevelStore för autentisering, jails, nftables-identifiering, MaxAuthTries-skydd, kommunikationstest med fail2ban-client och slutmeddelande",
"progressCaption": "Installation pågår: varje steg loggas i panelen. Meddelandet Connection closed längst ner markerar att överföringen är avslutad.",
"afterInstall": "Efter installationen visar kortet aktuell status: konfigurerade jails, blockerade IP-adresser och senaste blockeringar. Flikarna skiljer <em>Jails och blockerade IP-adresser</em> från <em>Senaste aktivitet</em>, de senaste N posterna i Fail2Ban-loggen.",
"activeAlt": "Aktivt Fail2Ban-kort med tre jails (proxmenux, proxmox, sshd), räknare för blockerade IP-adresser, totala blockeringar och misslyckade försök samt rader med försök, blockeringstid, intervall och kugghjul",
"activeCaption": "Fail2Ban är aktivt: de tre förvalda jailsen (<code>proxmenux</code>, <code>proxmox</code>, <code>sshd</code>) med inställningar för försök, blockeringstid och identifieringsintervall.",
"tuneBody": "<strong>Justera jail-reglerna.</strong> Klicka på kugghjulet för att ändra <em>Max Retries</em>, <em>Ban Time</em> och <em>Find Time</em>, det rullande intervallet för att räkna försök. En permanent blockering gäller tills du tar bort den manuellt. Formuläret förklarar vanliga värden.",
"configAlt": "Formulär för jailen sshd med Max Retries, Ban Time i sekunder, alternativet Permanent Ban, Find Time, hjälp om vanliga värden och knappen Spara konfiguration",
"configCaption": "Redigera jailen sshd: sänk <em>Max Retries</em> om du bara använder SSH från ditt eget undernät, eller öka <em>Ban Time</em> för en översikt som är åtkomlig från internet.",
"outro": "Guiden <em>Installation, konfiguration och avinstallation</em> beskriver även manuell installation, ändringen av SSH MaxAuthTries och kopplingen till loggen <code>proxmenux-auth.log</code>. Se <link>ProxMenux → Säkerhet → Fail2Ban</link>.",
"calloutTitle": "Utan Fail2Ban blockerar den här mekanismen inga IP-adresser",
"calloutBody": "ProxMenux Monitor kontrollerar IP-adresser som blockerats av Fail2Ban på <em>applikationsnivå</em> innan Flask-begäranden behandlas. Den frågar fail2ban-client och sparar resultatet i cache i 30 sekunder; ingen SQL-tabell med blockeringar läses. Utan Fail2Ban loggas misslyckade inloggningar i <code>proxmenux-auth.log</code>, men mekanismen blockerar inga IP-adresser."
},
"lynis": {
"heading": "Säkerhetsgranskning med Lynis",
"subHeading": "(beroende på status)",
"whatIs": "<strong>Vad är det?</strong> Lynis är ett säkerhetsgranskningsverktyg med öppen källkod som kör omkring 280 tester på värden: filbehörigheter, kärnskydd, SSH, paketsårbarheter, kryptografiregler, schemalagda uppgifter, tjänsteidentifiering med mera. Det ger ett härdningsindex från 0 till 100, varningar och förslag. Det är en vanlig utgångspunkt för att bedöma Debian-servrar.",
"whyUseful": "<strong>Varför är det användbart?</strong> Att bedöma säkerheten genom att läsa varje konfigurationsfil är svårt. Lynis hittar vanliga förbiseenden: saknade kärnskydd, svaga SSH-chiffer, loggar som inte sparas permanent eller <code>NOPASSWD</code> i sudoers för standardkonton. En ny körning efter ProxMenux-ändringar gör förbättringen jämförbar genom en poäng.",
"notInstalledAlt": "Lynis-kort i läget Inte installerat med knappen Installera Lynis och funktionerna härdningsindex, sårbarhetsidentifiering, efterlevnadskontroll och GitHub-källkod",
"notInstalledCaption": "Lynis kort före installation - den blå rutan sammanfattar vad verktyget gör.",
"notBundled": "Lynis <strong>ingår inte</strong> heller. ProxMenux installerar det direkt från den officiella källkoden på GitHub i stället för Debian-paketet.",
"confirmAlt": "Bekräftelsedialog för Lynis med funktionerna härdningsindex, sårbarhetsidentifiering, konfigurationsanalys, efterlevnadskontroll och källkod från det officiella GitHub-arkivet",
"confirmCaption": "Installationsbekräftelse som uttryckligen anger GitHub som källa.",
"progressAlt": "Installationspanel för Lynis i realtid med installation av den senaste versionen, bekräftelse av version 3.1.6 och slutmeddelande",
"progressCaption": "Installation pågår: panelen visar loggen i realtid, precis som för Fail2Ban.",
"afterInstall": "Efter installationen visar kortet versionen och en tom granskningshistorik. Klicka på <em>Kör säkerhetsgranskning</em> för att starta den första kontrollen.",
"installedAlt": "Lynis-kort efter installation med version 3.1.6, tidpunkt för senaste kontroll, härdningsindex 0, varningar 0, förslag 0, tom rapport och knappen Kör säkerhetsgranskning",
"installedCaption": "Lynis är installerat, men ingen granskning har körts. Mätvärdena visar inledningsvis noll.",
"runningAlt": "Lynis-kort under granskning med meddelande om pågående kontroll, beräknad tid 2–5 minuter och inaktiverad knapp Granskning pågår",
"runningCaption": "Granskning pågår: knappen visar en laddningsindikator och kortet upplyser om att kontrollen kan ta 2–5 minuter.",
"finishedBody": "När kontrollen är klar visar kortet resultaten: härdningsindex, varningar, förslag och listan <em>Granskningsrapporter</em> med tidigare kontroller.",
"resultsAlt": "Lynis-kort med index 71, uppdelningen Lynis 66 och PVE 71, 3 varningar, 40 förslag, poäng anpassad för Proxmox på 71 av 100 i kategorin Bra, PDF-rapporter och knappen Kör säkerhetsgranskning",
"resultsCaption": "Exempelresultat: härdningsindex <strong>71/100 (Bra)</strong>. Kortet visar Lynis råpoäng (66) och poängen anpassad för Proxmox (71). Justeringen beror på råpoängen och andelen fynd som klassas som förväntat beteende i Proxmox VE; den lägger inte till 11 fasta poäng.",
"scoreTitle": "Lynis råpoäng och poäng anpassad för Proxmox",
"scoreIntro": "Lynis regler är avsedda för allmänna Debian-system. Proxmox avviker ibland av giltiga skäl, som klustertjänster som körs som root eller egna <code>journald</code>-inställningar. Kortet visar båda poängen så att du kan:",
"scoreItems": [
"Följa <em>Lynis råpoäng</em> på samma sätt som externa granskare.",
"Följa poängen <em>anpassad för Proxmox</em>, en lämpligare jämförelsegrund för noder i samma kluster."
],
"reportBody": "<strong>Fullständig rapport.</strong> Knappen <em>PDF</em> för varje granskning hämtar en flersidig rapport: sammanfattning, systeminformation, säkerhetsläge, förklarade varningar, förslag sorterade efter påverkan och paketförteckning. Den kan bifogas en säkerhetsgenomgång.",
"reportAlt": "Exempel på första sidan i Lynis PDF-rapport med sammanfattning, index 71 av 100, antal varningar och förslag, värdnamn, kärna, Lynis-version, datum och säkerhetsöversikt",
"reportCaption": "Rapportens första sida: sammanfattning, systeminformation och säkerhetsläge. Därefter följer detaljerade varningar, förslag och installerade paket. En <a>exempelrapport i PDF</a> bifogas som referens.",
"runPeriodically": "Kör granskningen regelbundet, efter större Proxmox-uppgraderingar och ändringar efter installationen samt innan fjärråtkomst öppnas. Spara rapporterna; utvecklingen över tid är viktigare än ett enskilt värde.",
"outro": "Guiden för <em>installation, konfiguration och avinstallation</em> samt genomgången av en exempelrapport finns under <link>ProxMenux → Säkerhet → Lynis</link>."
},
"dataCollected": {
"heading": "Hur data samlas in",
"headerCard": "Kort",
"headerEndpoint": "Ändpunkt",
"headerSource": "Källa",
"rows": [
{
"card": "Autentisering, 2FA, lösenordsändring",
"endpoint": "/api/auth/*",
"source": "Lokal autentiseringskonfiguration i ~/.config/proxmenux-monitor/auth.json; JWT utfärdas av Monitor."
},
{
"card": "SSL / HTTPS",
"endpoint": "/api/auth/ssl/*",
"source": "<code>openssl x509</code> på <code>/etc/pve/local/pve-ssl.pem</code> + <code>/etc/proxmenux/ssl_config.json</code>."
},
{
"card": "Lista, skapa och återkalla API-token",
"endpoint": "/api/auth/api-tokens",
"source": "Token rader hålls lokalt; ingenting lämnar värden."
},
{
"card": "Secure Gateway (distribuera + status)",
"endpoint": "/api/oci/*",
"source": "Skapar en Alpine LXC-container med <code>tailscaled</code> via <code>pct create</code> / <code>pct exec</code>."
},
{
"card": "Brandväggsstatus och regler",
"endpoint": "/api/security/firewall/*",
"source": "<code>pve-firewall</code> + <code>/etc/pve/firewall/&lt;cluster|host&gt;.fw</code>."
},
{
"card": "Fail2Ban (endast när den är installerad)",
"endpoint": "/api/security/fail2ban/*",
"source": "<code>fail2ban-client status</code>, <code>/var/log/fail2ban.log</code>, <code>/etc/fail2ban/jail.local</code>."
},
{
"card": "Lynis revision (endast när den är installerad)",
"endpoint": "/api/security/lynis/*",
"source": "Kör <code>lynis audit system</code> i bakgrunden och läser rapporten från <code>/var/log/lynis-report.dat</code>."
}
]
},
"whereNext": {
"heading": "Läs vidare",
"items": [
{
"label": "Åtkomst och autentisering",
"href": "/docs/monitor/access-auth",
"tail": " — fullständig första konfiguration, val av 2FA-app, återställning vid förlorad autentiserare och exempel för omvänd proxy."
},
{
"label": "Integrationer",
"href": "/docs/monitor/integrations",
"tail": " — exempel på API-token med Homepage, Home Assistant, Prometheus och n8n samt fullständig konfiguration av Secure Gateway."
},
{
"label": "API-referens",
"href": "/docs/monitor/api",
"tailRich": " — alla ändpunkter under <code>/api/auth</code>, <code>/api/security</code> och <code>/api/oci</code> med metod, begärandekropp och curl-exempel."
},
{
"label": "ProxMenux → Säkerhet → Fail2Ban",
"href": "/docs/security/fail2ban",
"tail": " — installationsguide, konfigurerade jails och manuell installation."
},
{
"label": "ProxMenux → Säkerhet → Lynis",
"href": "/docs/security/lynis",
"tail": " — exempelrapport, poängtolkning och när granskningen bör köras igen."
}
]
}
}
@@ -0,0 +1,367 @@
{
"meta": {
"title": "ProxMenux Monitor — Översikt: fliken Inställningar | ProxMenux-dokumentation",
"description": "Fliken Inställningar hanterar språk, navigeringsordning, översiktens inställningar, övervakningsgränser och undantag, aviseringar, AI och förteckningen över optimeringar efter installation."
},
"header": {
"title": "Översikt: fliken Inställningar",
"description": "Monitors språk, navigeringsordning, översiktens inställningar, övervakningsundantag, aviseringar, AI-konfiguration och aktuell förteckning över ProxMenux-optimeringar.",
"section": "ProxMenux Monitor · Översikt"
},
"intro": {
"title": "Var varje inställning sparas",
"body": "Inställningar samlar översiktens utseende, Health Monitor-övervakning, utskick av larm och ändringar som ProxMenux redan gjort på värden. Korten länkar till sin detaljerade dokumentation; fliken är en ingång till den."
},
"interfaceLanguage": {
"heading": "Gränssnittsspråk",
"intro": "Välj språk för <strong>Monitors webbgränssnitt</strong>. Det ändras direkt utan att starta om tjänsten eller ändra språk i ProxMenux terminalmenyer.",
"items": [
"ProxMenux Monitor erbjuder för närvarande engelska, tyska, spanska, franska, italienska, portugisiska, slovakiska och svenska.",
"Vid första besöket används webbläsarens språk om det stöds, annars engelska.",
"Ett ändrat val uppdaterar sidans språk och synkroniserar andra öppna flikar i samma webbläsarprofil.",
"Om en översättning saknas visas bara den texten på engelska i stället för en felaktig nyckel eller platshållare."
],
"scopeTitle": "Lokal webbläsarinställning",
"scopeBody": "Valet sparas i <code>localStorage</code> under <code>proxmenux-ui-language</code>. Det gäller denna webbläsarprofil och enhet, inte hela noden. Varje administratör kan välja sitt språk."
},
"navigationOrder": {
"heading": "Navigeringsordning",
"intro": "Ordna de sju huvudposterna: <strong>Översikt, Appar, VM och LXC, Nod, Säkerhetskopiering, Terminal och Administration</strong>. Välj <strong>Redigera</strong>, dra raderna och spara.",
"items": [
"Med mus börjar dragningen vid tryck. På pekskärm krävs ett 250 ms långt tryck för att skilja det från rullning.",
"Grupperna <strong>Nod</strong> och <strong>Administration</strong> flyttas som helheter; deras undersidor behåller den fastställda ordningen.",
"Mobilmenyn följer samma sparade ordning.",
"<strong>Återställ standard</strong> återställer ordningen under redigering. Spara för att tillämpa ändringen.",
"Nya huvudflikar i framtida versioner läggs sist i den anpassade ordningen så att din ordning bevaras."
],
"landingTitle": "Den första posten blir startfliken",
"landingBody": "Monitor öppnar den första sparade posten. För <strong>Nod</strong> öppnas Lagring, för <strong>Administration</strong> Systemloggar. Ordningen sparas i webbläsaren under <code>proxmenux-nav-order</code>, så olika enheter kan ha olika arbetsordning."
},
"networkUnits": {
"heading": "Nätverksenheter",
"imageAlt": "Kortet Nätverksenheter med visningsvalet inställt på Byte",
"imageCaption": "Välj mellan bitar per sekund och byte per sekund för varje nätverkshastighet som visas i instrumentpanelen.",
"body": "Visar nätverkshastighet i <strong>bitar per sekund</strong> (Mbps/Gbps) eller <strong>byte per sekund</strong> (MB/s/GB/s). Bitar är standard som i specifikationer för nätverkskort och internet; filöverföringar använder ofta byte. Diagram, etiketter och tips ändras direkt utan omladdning."
},
"health": {
"heading": "Hälsoövervakare",
"intro": "Kortet ställer in <strong>undertryckningstid</strong>: hur länge kontrollen väntar innan en avfärdad varning får visas igen. Varje kategori — CPU, minne, lagring, diskar, nätverk, VM, PVE-tjänster, loggar, uppdateringar och säkerhet — har en egen lista:",
"items": [
"<strong>24 h</strong> - standard för de flesta övergående kategorier.",
"<strong>72 h</strong> — för händelser du vill tysta i några dagar.",
"<strong>168 h</strong> (1 vecka) och <strong>720 h</strong> (1 månad) - periodiska kontroller.",
"<strong>8760 h</strong> (1 år) — tystnad under lång tid.",
"<strong>-1</strong> — permanent tystnad tills du återaktiverar manuellt.",
"<strong>Eget antal timmar</strong> — ett heltal för ett mellanvärde."
],
"imageAlt": "Inställningar, Health Monitor-kort med tid per kategori och aktiva undertryckningar",
"imageCaption": "Listorna anger tiden för framtida undertryckningar. Avsnittet nedanför visar tystade varningar och låter dig återaktivera dem.",
"editTitle": "Redigeringsläge",
"editBody": "Kortet är först skrivskyddat. <strong>Redigera</strong> uppe till höger aktiverar listor och återaktiveringsknappar. <strong>Spara</strong> tillämpar väntande tider och återaktiveringar tillsammans; <strong>Avbryt</strong> kastar dem. Spara aktiveras först när ändringar finns.",
"activeTitle": "Aktiva undertryckningar",
"activeIntro": "Under tiderna listar <strong>Aktiva undertryckningar</strong> tillfälligt tystade varningar —24 timmar, 7 dagar eller eget intervall— och <em>permanenta</em>. Varje rad visar:",
"activeItems": [
"Ett färgat märke: <strong>Permanent</strong> i bärnsten eller en nedräkning som <strong>24 h kvar</strong> / <strong>7 dagar kvar</strong> i blått.",
"Varningsidentifieraren i läsbar form (t.ex. <code>pve_storage_full_PBS-Cloud</code> → <em>PVE-lagring full: PBS-Cloud</em>).",
"Kategori, allvarlighetsgrad och tidpunkten då varningen avfärdades.",
"Knappen <strong>Återaktivera</strong> i redigeringsläge köar borttagning av undertryckningen när du sparar."
],
"activeReenableTitle": "Så återaktiveras en varning",
"activeReenableBody": "<strong>Återaktivera</strong> under redigering markerar raden grönt och stryker identifieraren, utan att tillämpa ändringen. Klicka igen för att <strong>Ångra</strong>. <strong>Spara</strong> skickar parallella <code>POST /api/health/un-acknowledge</code> för varje återaktivering och tar bort raderna. Om problemet kvarstår och kategorin stöder nya varningar visas det åter som aktivt vid nästa kontroll.",
"activePermanentNote": "Permanenta undertryckningar —via <em>Permanent</em> eller standardtiden <code>-1</code>— <strong>återställs bara här</strong>. Den allmänna dialogen har ingen sådan knapp; avsnittet samlar översikt och återaktivering.",
"activeAutoRefreshTitle": "Automatisk uppdatering",
"activeAutoRefreshBody": "Listan uppdateras när en varning avfärdas eller återaktiveras i Health Monitor, när fliken får fokus igen och när synligheten ändras. Ingen omladdning behövs.",
"calloutTitle": "Detaljer på sidan Health Monitor",
"calloutBody": "Eskalering, automatisk lösning när en enhet försvinner och skillnaden mellan avfärda och lösa beskrivs i <link>Health Monitor → Avfärda varningar och undertryckningstid</link>. Kortet visar listorna och aktiva undertryckningar."
},
"thresholds": {
"heading": "Gränsvärden i Health Monitor",
"intro": "Förra kortet anger <em>tystnadens längd efter avfärdande</em>; detta anger <strong>värdet som utlöser en varning</strong>. De flesta gränskontroller har justerbara värden för <strong>Varning</strong> och <strong>Kritiskt</strong>. Tabellen förklarar undantag som kombinerad swapregel och aktuell RAM-detektor.",
"whatForTitle": "Vad det används till",
"whatForIntro": "Standardvärdena är en utgångspunkt, men varje miljö har egna förutsättningar:",
"whatForItems": [
"Ett homelab med en enda SSD kan varna tidigare, till exempel vid 75/90 %, för att lämna plats för ögonblicksbilder.",
"Minnesgränser bör spegla värdens mätningar och arbetslast. Ceph-redundans motiverar inte ensam mildare varningar, och hög ZFS ARC-användning är inte samma sak som arbetsminne som inte kan återvinnas.",
"Välj temperaturgränser efter diskens specifikationer och faktiska förhållanden. Passiv eller forcerad kylning avgör inte ensam en allmänt lägre eller högre säker gräns.",
"En tungt virtualiserad värd kan få CPU-toppar vid byggen utan att varna för varje topp på 80 %, men måste fortfarande varna vid långvarig överbelastning."
],
"whatForOutro": "Ändringar som stöds gäller <strong>vid nästa kontroll</strong>. Health Monitor läser <code>/usr/local/share/proxmenux/health_thresholds.json</code> varje cykel utan omstart. Vissa indikatorer, som disktemperatur, använder värdena; vissa kapacitetsstaplar har egna gränser. RAM-raden beskriver ett aktuellt undantag.",
"coloursTitle": "Statusfärger för Varning och Kritiskt",
"coloursIntro": "Widgetar med det konfigurerade paret Varning/Kritiskt följer de tre lägena nedan. Andra indikatorer, som PVE-kapacitetsstaplar, har egna gränser; färgen ensam visar inte att Health Monitor har larmat.",
"headerColour": "Färg",
"headerRange": "Intervall",
"headerMeaning": "Betydelse",
"colourRows": [
{
"colour": "Grön",
"range": "Värde < Varning",
"meaning": "Normalt intervall. Ingen varning skapas."
},
{
"colour": "Bärnstensgul",
"range": "Varning ≤ värde < Kritiskt",
"meaning": "Varningsläge. Health Monitor skapar en WARNING-händelse; aviseringar följer kanalfilter och tysta tider."
},
{
"colour": "Röd",
"range": "Värde ≥ Kritiskt",
"meaning": "Kritiskt läge. Health Monitor skapar en CRITICAL-händelse som kringgår tysta tider. Kanalens kategori- och händelseinställningar gäller fortfarande; leverans beror även på kanalens tillgänglighet."
}
],
"sectionsTitle": "Avsnitt och rekommenderade standardvärden",
"sectionsIntro": "Detta är ProxMenux startvärden tills du ändrar dem. Avsnitten följer <em>beräkningslast</em>, <em>temperatur</em> och <em>lagringskapacitet</em>, från aktuell last till använt utrymme.",
"headerSection": "Avsnitt",
"headerWarning": "Varning",
"headerCritical": "Kritiskt",
"headerGates": "Berörd kontroll",
"thresholdRows": [
{
"section": "CPU-användning",
"warning": "85 %",
"critical": "95 %",
"gates": "Varning för varaktig last när CPU-medelvärdet överstiger gränsen under kontrollperioden."
},
{
"section": "Minne",
"warning": "85 %",
"critical": "95 %",
"gates": "Värdens RAM-belastning. Den konfigurerbara standarden visar Kritiskt vid 95 %, men aktuell detektor använder en fast regel på 90 % över tid; inställningen ändrar för närvarande inte den körningsgrenen."
},
{
"section": "Swap (endast kritisk nivå)",
"warning": "—",
"critical": "80 %",
"gates": "Swap-CRITICAL kräver både över 80 % swap och under 15 % tillgängligt RAM över flera mätningar. Upptaget swaputrymme ensamt utlöser inte regeln."
},
{
"section": "CPU-temperatur",
"warning": "80 °C",
"critical": "90 °C",
"gates": "CPU-paketets eller kärnornas temperatur från <code>lm-sensors</code>."
},
{
"section": "Disktemperatur — HDD",
"warning": "60 °C",
"critical": "65 °C",
"gates": "HDD-temperatur. Standard: varning vid 60 °C och kritiskt vid 65 °C. Det är övervakningsvärden, inte en allmän tillverkargräns; kontrollera modellens specifikationer."
},
{
"section": "Disktemperatur — SSD",
"warning": "70 °C",
"critical": "75 °C",
"gates": "SATA-SSD i 2,5-tums- eller M.2-format. Klassen använder 70/75 °C som standard; faktiska gränser beror på modellen."
},
{
"section": "Disktemperatur — NVMe",
"warning": "80 °C",
"critical": "85 °C",
"gates": "NVMe-temperatur. Klassen använder 80/85 °C som standard. Styrenhetens strypningstemperatur varierar med modellen och är inte alltid 85 °C."
},
{
"section": "Disktemperatur — SAS",
"warning": "55 °C",
"critical": "65 °C",
"gates": "SAS-temperatur. Klassen använder varning vid 55 °C och kritiskt vid 65 °C. Det är <em>övervakningsvärden</em>, inte bevis på kylfel vid 55 °C eller en allmän tillverkargräns."
},
{
"section": "Diskutrymme — värd",
"warning": "85 %",
"critical": "95 %",
"gates": "Kapacitet för <code>/</code> och varje monteringspunkt på värden (<code>/var/lib/vz</code>, <code>/mnt/*</code>…)."
},
{
"section": "Diskutrymme - LXC rootfs",
"warning": "85 %",
"critical": "95 %",
"gates": "Rotdisk per container, bedömd mot rootfs-storleken från PVE."
},
{
"section": "LXC-monteringspunkter",
"warning": "85 %",
"critical": "95 %",
"gates": "Kapacitet för monteringar i körande CT: mp0, mp1, NFS och bind-monteringar. Exkluderar rootfs."
},
{
"section": "PVE-lagring",
"warning": "85 %",
"critical": "95 %",
"gates": "Lagring som hanteras av PVE: LVM, LVM-thin, ZFS-pool, RBD/Ceph och PBS. Alla är inte blocklagringssystem."
},
{
"section": "ZFS-pool",
"warning": "85 %",
"critical": "95 %",
"gates": "ZFS-pooler på värden, oberoende av registrering i PVE."
}
],
"defaultsTitle": "Standardvärden, ändringar och återställning",
"defaultsBody": "Varje avsnitt börjar med standardvärden; bara önskade ändringar sparas. Kortet visar det <em>gällande</em> värdet: din ändring eller standarden. <strong>Återställ</strong> tar bort alla ändringar i samtliga avsnitt.",
"validationTitle": "Validering",
"validationBody": "När du sparar kontrolleras tillåtna intervall och Kritiskt under Varning avvisas. Gränssnittet visar fel och servern validerar API-begäranden igen före lagring."
},
"lxcDetection": {
"heading": "Identifiering av LXC-uppdateringar",
"imageAlt": "Kort för LXC-uppdateringar med reglage för att söka väntande paket i körande Debian-, Ubuntu- och Alpine-containrar",
"imageCaption": "Reglage för regelbundna kontroller med <code>apt list --upgradable</code> / <code>apk list -u</code> i körande CT. Påslaget som standard. Motsvarande aviseringsreglage under Aviseringar → Tjänster visas när detektering är på.",
"intro": "Reglaget mellan Gränser och Aviseringar styr LXC-kontrollen. Påslaget frågar det pakethanterarna i körande CT; Hårdvara visar resultat och matar <code>lxc_updates_available</code>. Avstängt stoppar det sina <code>pct exec</code>-anrop och tar bort LXC-poster från <code>managed_installs.json</code>; <code>/api/managed-installs</code> slutar visa statusen utan att vänta 24 timmar.",
"whatRunsTitle": "Vad kontrollen kör",
"whatRunsIntro": "För varje CT i tillståndet <code>running</code> med en pakethanterare som stöds:",
"whatRunsItems": [
"<strong>Metadatans aktualitet.</strong> Är apt/apk-cachen äldre än <strong>24 timmar</strong> provas <code>apt-get update -qq</code> på Debian/Ubuntu eller <code>apk update</code> på Alpine med 60 s tidsgräns. Vid fel används befintlig cache och resultaten kan vara inaktuella.",
"<strong>Lista.</strong> Kör <code>apt list --upgradable</code> / <code>apk list -u</code> och hämtar paketantal och några paketnamn.",
"<strong>Undvik dubbletter per CT.</strong> Ett fingeravtryck av totalantal, säkerhetsuppdateringar och sorterade namn förhindrar identiska dagliga aviseringar. En betydande ändring meddelas igen."
],
"selfUpdateTitle": "CT som uppdateras utanför apt kan visa 0",
"selfUpdateBody": "Detekteringen täcker bara CT:ns pakethanterare. Program som uppdateras utanför apt, som ett konfigurerat <code>plexupdate</code>-jobb eller avbilder hämtade med <code>docker pull</code>, räknas inte. Noll apt-uppdateringar bevisar inte att alla appar är aktuella. Baspaket som väntar upptäcks fortfarande.",
"refreshTitle": "Varför metadata förnyas efter 24 timmar",
"refreshBody": "En CT som körts länge kan ha gamla apt-metadata om ingen kör <code>apt update</code>. <code>apt list --upgradable</code> kan då missa nya uppdateringar. ProxMenux försöker förnya efter 24 timmar och hoppar över steget om cachen är nyare.",
"toggleTitle": "Aviseringsreglage när detektering är på",
"toggleBody": "Reglaget <code>lxc_updates_available</code> per kanal under <strong>Aviseringar → Tjänster</strong> visas bara när detektering är på. När den stängs av döljs raden för alla kanaler. Valet sparas i databasen och samma värde återkommer när detektering slås på.",
"purgeTitle": "Vad som rensas när detektering stängs av",
"purgeBody": "Avstängning tar genast bort <code>type=lxc</code>-poster från <code>/usr/local/share/proxmenux/managed_installs.json</code>. Räknarna för LXC-uppdateringar i Hårdvara försvinner vid nästa omladdning. Påslagning fyller registret vid nästa kontroll, eller tidigare med manuell API-uppdatering."
},
"storageExclusions": {
"heading": "Exklusioner för fjärrlagring",
"imageAlt": "Kort för undantag av fjärrlagring med PBS-Cloud, PBS och PBS2 samt reglage för Hälsa och Varningar per rad",
"imageCaption": "Reglage för <em>Hälsa</em> och <em>Varningar</em> per lagring. Med båda avstängda räknas lagringen inte i Health Monitor och skickar inga aviseringar. Den syns fortfarande under Lagring, markerad som undantagen.",
"intro": "Lagring som hanteras av Proxmox (NFS / CIFS / PBS / Ceph / iSCSI osv.) kan undantas med två oberoende reglage:",
"items": [
"<strong>Hälsa</strong> — när reglaget stängs av slutar lagringen bidra till kategorin Lagring i Health Monitor. Användbart för arkivvolymer som oftast är offline eller fjärrmål för säkerhetskopiering som bara slås på enligt schema.",
"<strong>Varningar</strong> — avstängt hindrar reglaget aviseringar om lagringen via konfigurerade kanaler, även med hälsokontroller på. Användbart om du vill se status på panelen utan aviseringar."
],
"outro": "Undantagen lagring syns på <link>fliken Lagring</link> med ett lila märke <em>undantagen</em>, så att inventeringen förblir synlig. Status sparas i SQLite-tabellen <code>excluded_storages</code>."
},
"interfaceExclusions": {
"heading": "Exklusioner för nätverksgränssnitt",
"imageAlt": "Kort för gränssnittsundantag med vmbr0, vmbr1, vmbr2, bond0 och eno1 samt reglage för Hälsa och Varningar per gränssnitt",
"imageCaption": "Precis som för lagring finns <em>Hälsa</em> och <em>Varningar</em> per gränssnitt. Varje rad visar namn, typ (brygga / bond / fysiskt), IP och länkhastighet.",
"intro": "Samma princip gäller gränssnitt: undanta varje från hälsokontroller, aviseringar eller båda. Vanliga exempel:",
"items": [
"En reservbrygga som avsiktligt är avstängd.",
"Ett fysiskt borttaget nätverkskort som fortfarande finns i <code>/etc/network/interfaces</code>.",
"Ett VLAN-undergränssnitt som bara används vid underhåll.",
"En hanteringsbrygga med kända, upprepade ändringar av länkstatus vid underhåll."
],
"outro": "Status sparas i SQLite-tabellen <code>excluded_interfaces</code>. Det lila märket <em>undantaget</em> på <link>fliken Nätverk</link> gör att undantagna gränssnitt förblir synliga."
},
"notifications": {
"heading": "Aviseringar och AI",
"body1": "Här aktiveras ProxMenux Monitor-aviseringar och AI-omformulering. <em>Aktivera aviseringar</em> startar sändning i bakgrunden, registrerar ett Proxmox VE-webhookmål för dess händelser och öppnar kanalformuläret för Telegram, Discord, e-post, Gotify och fler. AI-omformulering finns i ett utfällbart avancerat avsnitt i samma panel.",
"body2": "Alternativen förklaras på egna sidor: kanaler, händelsereglage, formaterade meddelanden, visningsnamn, sändning med dubblettfilter, väntetid, gruppering och tysta timmar, PVE-webhook, AI-leverantörer och instruktionslägen:",
"items": [
"<notifLink>Aviseringar</notifLink>: kanaler (Telegram, Discord, Gotify, e-post och applösenord för Gmail / Microsoft, ntfy, Slack, Teams och allmän webhook), händelsekategorier, formaterade meddelanden, visningsnamn, sändning, PVE-webhook, historik och API.",
"<aiLink>AI-assistent</aiLink>: leverantörer (OpenAI, Anthropic, Gemini, Groq, OpenRouter, Ollama), modeller, standardinstruktioner eller egna instruktioner, utmatningsspråk, detaljnivå per kanal och AI-förslag."
]
},
"optimizations": {
"heading": "ProxMenux-optimeringar",
"intro": "Inventering av efterinstallationsoptimeringar som ProxMenux registrerat på värden. Val från <autoLink>Automatisk efterinstallation</autoLink> och <customLink>Anpassningsbar efterinstallation</customLink> registrerar tillämpningen i <code>/usr/local/share/proxmenux/installed_tools.json</code>. Monitor läser registret. En post kontrollerar inte på nytt att alla underliggande inställningar är oförändrade.",
"imageAlt": "ProxMenux-optimeringskort med 14 poster: färgad prick, namn och version. Här finns 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 med Legacy, Kernel Panic Configuration, Logrotate Optimization, Network Optimizations, Subscription Banner Removal och VFIO IOMMU Passthrough.",
"imageCaption": "Varje optimering visar namn, version och färgad prick. Uppe till höger finns den orange räknaren <em>14 aktiva</em>. Verktyg med tillgänglig källkod går att öppna.",
"dotsTitle": "Vad prickarna betyder",
"dotsItems": [
"<green/> <strong>Grön prick</strong>: registrerad optimering utan Legacy-markering eller visad uppdatering. Öppna raden när källkod är tillgänglig.",
"<amber/> <strong>Bärnstensprick och <em>legacy</em>-märke</strong>: registrerad optimering vars skript har bytt namn eller ersatts. Bevarad källkod öppnas i Legacy-läge med bärnstensfärg. Värdens aktuella konfiguration kontrolleras inte på nytt."
],
"clickTitle": "Öppna källkoden",
"clickBody": "Ett klick visar den kopplade bash-funktionen och skriptnamnet (<code>auto_post_install.sh</code> eller <code>customizable_post_install.sh</code>). Aktuella verktyg hämtas från värdens filer; äldre kan använda bevarad källkod. Syntaxmarkering och Kopiera hjälper vid granskning. Detta garanterar inte en kopia av exakt den kod som kördes vid installationen.",
"detailAlt": "Källkodsfönster för APT IPv4 Force med bash-funktionen force_apt_ipv4 från customizable_post_install.sh version 1.0. Markerad kod konfigurerar /etc/apt/apt.conf.d/99-force-ipv4 med Acquire ForceIPv4 true, registrerar verktyget och visar ett översatt meddelande om slutförd APT IPv4-konfiguration.",
"detailCaption": "Kod för <em>APT IPv4 Force</em>: funktionen <code>force_apt_ipv4()</code> från <code>customizable_post_install.sh v1.0</code>, med syntaxmarkering och kopiering med ett klick.",
"whyTitle": "Varför detta är viktigt",
"whyBody": "ProxMenux kan ändra kärnparametrar, paketkällor, nätverk, loggrotation och GPU-genomkoppling. Granska registrerade optimeringar före manuella ändringar, särskilt om en annan administratör satte upp värden. Kortet visar register och tillgänglig källkod; det granskar inte varje aktuell inställning och bevarar ingen exakt körningshistorik.",
"updatesTitle": "Banderoll för tillgängliga uppdateringar",
"updatesBody": "Om optimeringens version på disk är nyare än den som registrerats på värden visas en banderoll med antal och <strong>Tillämpa</strong>. <strong>Tillämpa</strong> öppnar väljaren, som <em>Tillämpa tillgängliga uppdateringar</em> i efterinstallationsmenyn. Välj vad som ska uppdateras; ProxMenux kör funktionerna igen och uppdaterar registret. När allt är aktuellt försvinner banderollen.",
"updatesAlt": "ProxMenux-optimeringskort med banderoll för tillgängliga uppdateringar, antal väntande och knappen Tillämpa som öppnar väljaren",
"updatesCaption": "Banderollen visas om minst en optimering har en nyare version på disk. Se <link>Tillämpa tillgängliga uppdateringar</link> för hela förloppet och motsvarigheten Path-A i skalmenyn.",
"revertTitle": "Ångra en optimering",
"revertBody": "Ångra en optimering med motsvarande val under <link>Avinstallera optimeringar</link> i ProxMenux Scripts-menyn. Avinstallationen tar bort posten från <code>installed_tools.json</code> och den försvinner från kortet vid nästa omladdning."
},
"dataCollected": {
"heading": "Hur data samlas in",
"headerCard": "Kort",
"headerEndpoint": "Slutpunkt",
"headerSource": "Källa",
"rows": [
{
"card": "Gränssnittsspråk",
"endpoint": "localStorage",
"source": "Webbläsarvalet <code>proxmenux-ui-language</code>; utan sparat val används först webbläsarens språk."
},
{
"card": "Navigeringsordning",
"endpoint": "localStorage",
"source": "Webbläsarvalet <code>proxmenux-nav-order</code>; det bestämmer också startfliken."
},
{
"card": "Nätverksenheter",
"endpoint": "/api/settings",
"source": "Sparas i panelens SQLite-tabell för inställningar."
},
{
"card": "Tider i Health Monitor",
"endpoint": "/api/health/settings",
"source": "Tid för undertryckning per kategori i Health Monitor-databasen."
},
{
"card": "Undantag för lagring och gränssnitt",
"endpoint": "/api/storage/exclusions, /api/network/exclusions",
"source": "SQLite-tabellerna <code>excluded_storages</code> och <code>excluded_interfaces</code>."
},
{
"card": "Panelen Aviseringar och AI",
"endpoint": "/api/notifications/*",
"source": "Se <notifLink>Aviseringar</notifLink> och <aiLink>AI-assistent</aiLink>."
},
{
"card": "ProxMenux-optimeringslista",
"endpoint": "/api/proxmenux/installed-tools",
"source": "Läser <code>/usr/local/share/proxmenux/installed_tools.json</code>, som skrivs av <code>register_tool</code>-anrop i efterinstallationsskripten."
},
{
"card": "Källkodsfönster för optimering",
"endpoint": "/api/proxmenux/tool-source",
"source": "Hämtar den kopplade bash-funktionen från <code>auto_post_install.sh</code> eller <code>customizable_post_install.sh</code> på värden; äldre verktyg kan använda bevarad källkod."
}
]
},
"whereNext": {
"heading": "Gå vidare",
"items": [
{
"label": "Fliken Appar",
"href": "/docs/monitor/dashboard/apps",
"tail": " — appstartaren vars placering ändras med navigeringsordningen."
},
{
"label": "Aviseringar",
"href": "/docs/monitor/notifications",
"tail": " — kanaler, händelsereglage, kanalspecifika inställningar, historik och testsändning."
},
{
"label": "AI-assistent",
"href": "/docs/monitor/ai-assistant",
"tail": " — leverantörer, modeller, instruktionslägen, språk och detaljnivå per kanal."
},
{
"label": "Health Monitor → Avfärda varningar och tid för undertryckning",
"href": "/docs/monitor/health-monitor#dismissing-alerts-and-the-suppression-duration",
"tail": " — hur listorna för tid per kategori fungerar."
},
{
"label": "ProxMenux Scripts → Automatisk efterinstallation",
"href": "/docs/post-install/automated",
"tailRich": " och <customLink>Anpassningsbar efterinstallation</customLink> — skripten som registrerar optimeringar i listan ovan."
},
{
"label": "Avinstallera optimeringar",
"href": "/docs/post-install/uninstall",
"tail": " — hur du ångrar en optimering registrerad ovan."
},
{
"label": "Översiktsindex",
"href": "/docs/monitor/dashboard",
"tail": " — tillbaka till fliköversikten."
}
]
}
}
@@ -0,0 +1,268 @@
{
"meta": {
"title": "ProxMenux Monitor — Översikt: fliken Lagring | ProxMenux-dokumentation",
"description": "Fliken Lagring samlar fyra vyer: Proxmox-lagring med status, ZFS-pooler, interna diskar med SMART och externa USB-enheter. Diskdetaljerna visar SMART-attribut, slitage, livslängd och beständig observationshistorik."
},
"header": {
"title": "Översikt: fliken Lagring",
"description": "Värdens lagring på en skärm: NFS / CIFS / LVM / ZFS / dir i Proxmox, ZFS-poolernas status, interna SATA/NVMe-diskar med SMART och externa USB-enheter. Klicka på en disk för att se SMART-attribut och observationshistorik.",
"section": "ProxMenux Monitor · Översikt"
},
"intro": {
"title": "Uppbackad av tre källor",
"body": "Proxmox-lagring hämtas från <code>pvesm status</code>, ZFS från <code>zpool status</code>, diskar från <code>lsblk</code> + <code>smartctl</code> och NVMe-fält från <code>nvme</code>. Fliken uppdateras ungefär var 60:e sekund; detaljvyn begär en SMART-avläsning."
},
"thresholds": {
"title": "Statusfärger och trösklar som tillämpas här",
"intro": "Health Monitor klassar status som <green/> <strong>grön</strong> under Varning, <amber/> <strong>orange</strong> mellan Varning och Kritiskt och <red/> <strong>röd</strong> från Kritiskt och uppåt. Standardvärdena följer. Enskilda staplar kan använda andra färggränser som beskrivs nedan.",
"items": [
"<strong>Kapacitet</strong> (värddiskar, PVE-lagring, ZFS-pooler, LXC-monteringar) — varning 85 %, kritiskt 95 %.",
"<strong>Disktemperatur</strong> HDD 60/65 °C · SSD 70/75 °C · NVMe 80/85 °C · SAS 55/65 °C (varning / kritisk)."
],
"outro": "Varje värde kan ställas in per värd. <link>Inställningar → Health Monitor-gränser</link> visar de gällande värdena och förklarar hur de ändras."
},
"topRow": {
"heading": "Översta raden: lagringsöversikt",
"intro": "När fliken öppnas sammanfattar fyra kort total kapacitet, lokal användning, fjärranvändning och fysiska diskar. De ger snabba svar; korten nedanför innehåller detaljerna.",
"imageAlt": "Fliken Lagring med fyra kort: total kapacitet, lokal användning, fjärranvändning och fysiska diskar",
"imageCaption": "Översta raden: total kapacitet och antal diskar, lokalt och på distans använda byte samt fysiska diskar per typ med statusöversikt.",
"headerCard": "Kort",
"headerWhat": "Vad det visar",
"totalLabel": "Total lagring",
"totalWhat": "Total råkapacitet för alla fysiska diskar. Sidfoten visar antalet upptäckta diskar.",
"localLabel": "Lokalt använt",
"localWhat": "Använda byte på lokal lagring: LVM / LVM-thin / ZFS / dir på värdens diskar. Huvudvärdet visar använda byte och sidfoten <em>X.XX % av Y TB</em> visar även fyllnadsgraden.",
"remoteLabel": "Fjärranvändning",
"remoteWhat": "Samma format som lokal användning för fjärrlagring NFS / CIFS / PBS / Ceph / iSCSI. De räknas separat eftersom lokala och fjärrbaserade avbrott har olika omfattning och resurserna planeras och övervakas på olika sätt.",
"disksLabel": "Fysiska diskar",
"disksIntro": "Inventeringen delas upp på två rader:",
"disksItems": [
"<strong>Efter typ</strong> — antal NVMe i lila, SSD och HDD i blått. Upptäckta typer visas; en värd med bara NVMe visar endast det antalet.",
"<strong>Efter status</strong> — antal <em>normala</em> diskar i grönt, med <em>varning</em> i gult och <em>kritiska</em> i rött. Utan problem visas bara ”X normala”; övriga lägen visas när problem upptäcks."
]
},
"pveStorage": {
"heading": "Proxmox Storage kort",
"intro": "En rad per lagring i <code>/etc/pve/storage.cfg</code> med typ (<code>nfs</code> / <code>cifs</code> / <code>zfspool</code> / <code>lvm</code> / <code>lvmthin</code> / <code>dir</code> / <code>pbs</code>), namn, status aktiv/fel/ej övervakad, användningsgrad och färgad stapel:",
"items": [
"<strong>Upp till 75 %</strong> — blå stapel och blått värde.",
"<strong>Över 75 % till 90 %</strong> — gul stapel och gult värde. Färggränserna är skilda från Health Monitors trösklar.",
"<strong>> 90 %</strong> — röd stapel och rött värde. Färggränsen är skild från eskalering i Health Monitor.",
"<strong>Fel</strong> — röd ram runt raden om lagringen är konfigurerad men inte nåbar, till exempel vid NFS-avbrott eller utgångna CIFS-inloggningsuppgifter.",
"<strong>Utesluten</strong> — lila ram och etikett ”ej övervakad”. Lagring som användaren uteslutit, till exempel arkivvolymer som avsiktligt hålls frånkopplade."
],
"calloutTitle": "Utesluta lagring från övervakning",
"calloutBody": "Varje lagringsmeny kan markera lagringen som <em>utesluten från övervakning</em>. Inställningen sparas i <code>excluded_storages</code> och följs av översikten och Health Monitor: inga aviseringar och ingen påverkan på övergripande status."
},
"zfs": {
"heading": "ZFS Pools kort",
"intro": "Visas bara om ZFS är installerat och minst en pool finns. Varje rad visar en pool med status, storlek, använt och ledigt utrymme samt statusikon:",
"items": [
"<strong>ONLINE</strong> - grön. Allt hälsosamt.",
"<strong>DEGRADED</strong> — gult. Poolen levererar data men minst en enhet är otillgänglig; utbyte behöver hanteras.",
"<strong>FAULTED</strong> / <strong>UNAVAIL</strong> / <strong>SUSPENDED</strong> — rött. Poolen levererar inga data och kräver omedelbar åtgärd."
],
"outro": "ZFS-status och varje disks SMART-status ingår i kategorin <em>Diskar och I/O</em> i <link>Health Monitor</link>."
},
"physical": {
"heading": "Fysiska diskar och SMART-status",
"intro": "Interna diskar (SATA / NVMe). Varje rad kondenserar de mest användbara fälten vid en blick:",
"items": [
"<strong>Enhetssökväg</strong> — <code>/dev/sda</code>, <code>/dev/nvme0n1</code>.",
"<strong>Typetikett</strong> — SATA / NVMe och tillhörande ikon.",
"<strong>Systemetikett</strong> — orange markering för diskar som identifierats som operativsystemets diskar. Identifieringen använder monteringarna <code>/</code> och <code>/boot</code> och ger etiketten <em>System</em>. En saknad etikett bevisar inte att disken kan raderas eller användas för annat utan risk.",
"<strong>Modell</strong> — tillverkare och modell från <code>smartctl -i</code>.",
"<strong>Kapacitet</strong> — i lättlästa enheter.",
"<strong>Temperatur</strong> — aktuellt värde i °C, färgat efter disktyp; NVMe använder högre gränser än SATA.",
"<strong>SMART-status</strong> — godkänd / underkänd / okänd.",
"<strong>Observationsetikett</strong> — om den beständiga historiken <code>disk_observations</code> har poster för disken visas en blå etikett med antalet, som <em>3 obs.</em>. Klicka på disken för att granska dem.",
"<strong>Statusetikett</strong> — Bra / Varning / Kritiskt utifrån SMART och senaste observationer."
],
"clickHint": "Ett klick på raden öppnar diskdetaljerna som beskrivs nedan.",
"warningTitle": "Var försiktig med diskar märkta System",
"warningBody": "Diskar med orange <strong>System</strong>-etikett innehåller det aktiva operativsystemet. Etiketten hjälper dig att identifiera dem; <link>ProxMenux → Diskhantering → Formatera / Radera</link> avvisar destruktiva åtgärder på dem. Använd en räddningsmiljö utanför det aktiva Proxmox-systemet för att återanvända startdisken."
},
"external": {
"heading": "Extern lagring (USB)",
"body": "USB-enheter har ett eget kort som visas när minst en finns ansluten. Det har samma fält som interna diskar och en orange <strong>USB</strong>-etikett. Eftersom enheterna ofta bara ansluts för säkerhetskopiering eller tillfälliga överföringar sparas observationerna, men I/O-fel på frånkopplade USB-enheter eskaleras inte."
},
"drillIn": {
"heading": "Dialog med diskdetaljer",
"intro": "Ett klick på en disk öppnar fyra flikar: <strong>Översikt</strong> · <strong>SMART</strong> · <strong>Historik</strong> · <strong>Schema</strong>. Rubriken visar sökväg, modell, kapacitet och vid behov orange <em>System</em>-etikett.",
"overviewTitle": "Flik 1 — Översikt",
"overviewImageAlt": "Diskdetaljer med fliken Översikt, status, ringindikator för slitage och livslängd samt viktiga SMART-attribut",
"overviewImageCaption": "Översikt: identitet, status, återstående livslängd med aktuellt slitage och skrivna data samt viktiga SMART-attribut.",
"overviewIntro": "Startflik för att granska diskens status utan att köra ett test. Tre block:",
"overviewItems": [
"<strong>Identitet</strong> — modell, serienummer, kapacitet och status Bra / Varning / Kritiskt.",
"<strong>Slitage och livslängd</strong> — ring för återstående livslängd (97 %, 50 %, …) med källattribut (<em>Media Wearout Indicator</em>, <em>Percentage Used</em>, …), stapel för förbrukad andel, prognosen <em>Beräknad livslängd</em> i år och totalt skrivna data. NVMe visar även <em>Available Spare</em>.",
"<strong>SMART-attribut</strong>: de viktigaste värdena visas i två kolumner: temperatur, drifttimmar med en läsbar varaktighet som <em>3 år och 116 dagar</em>, varvtal eller <em>SSD</em>, antal starter, SMART-status, omallokerade sektorer, väntande sektorer och CRC-fel. Den fullständiga attributtabellen finns på fliken SMART."
],
"smartTitle": "Flik 2 — SMART",
"smartImageAlt": "Diskdetaljer, SMART-fliken med kort och utökat test, senaste resultat och fullständig attributtabell",
"smartImageCaption": "SMART-fliken: kör korta eller utökade tester, granska senaste resultatet och alla attribut och öppna hela rapporten för utskrift eller PDF-sparande.",
"smartIntro": "Tillgängliga åtgärder i tre avsnitt:",
"smartItems": [
"<strong>Kör SMART-test</strong> — två knappar. <em>Kort test (~2 min)</em> väntar på resultatet och visar det i dialogen. <em>Utökat test (bakgrund)</em> kan ta timmar på stora diskar, fortsätter på servern och aviserar när det är klart.",
"<strong>Senaste test</strong> — typ, status (<em>godkänt</em> / <em>underkänt</em>) och tidsstämpel för senaste körningen.",
"<strong>SMART-attribut</strong> — fullständig tabell med ID, namn, värde, sämsta värde och status bra, varning eller kritiskt. SATA/SAS visar den numrerade listan. NVMe använder <code>nvme smart-log</code>: temperatur, tillgänglig reserv, förbrukad andel, lästa/skrivna enheter, värdläsningar/-skrivningar, styrenhetens upptagna tid, startcykler, osäkra avstängningar, mediefel, felloggposter och tid med sammansatt temperatur i varnings-/kritiskt område."
],
"pdfTitle": "Visa fullständig SMART-rapport (PDF)",
"pdfIntro": "Längst ner på SMART öppnar <strong>Visa fullständig SMART-rapport</strong> en utskrivbar rapport. Spara den som PDF via webbläsarens utskriftsdialog för arkivering eller för tillverkarsupport vid RMA.",
"pdfPreviewAlt": "Första sidan i SMART-rapporten med sammanfattning, PASSED-ring och diskinformation",
"pdfPreviewCaption": "Första sidan: sammanfattning, PASSED-ring och fullständig diskinformation. Exempel-PDF:en innehåller SSD-slitage, alla SMART-attribut och testhistorik.",
"pdfDownloadLabel": "Hämta exempelrapport för SMART (PDF)",
"pdfSectionsIntro": "Rapporten har sex huvudavsnitt:",
"pdfSections": [
"<strong>Sammanfattning</strong> — PASSED/FAILED, begriplig diskbedömning — bra, sliten eller felande — och fyra uppgifter: rapporttid, senaste testtyp, resultat och kontrollerade attribut.",
"<strong>Diskinformation</strong> — modell, serienummer, kapacitet, typ HDD/SSD/NVMe, familj, formfaktor, gränssnitt (SATA 3.3 · 6.0 Gb/s, …), TRIM, temperatur och optimal gräns, drifttimmar, starter, SMART, väntande/omallokerade sektorer och CRC-fel.",
"<strong>SSD-slitage och livslängd</strong> (endast SSD/NVMe) — återstående livslängd, källattribut, aktuellt slitage, skrivna data och drifttimmar.",
"<strong>Fullständiga SMART-attribut</strong> — ID, namn, värde, sämsta värde, gräns, råvärde och status för varje attribut. Viktiga fält som Reallocated Sector Ct, Power On Hours, Reported Uncorrect, UDMA CRC Error Count och Media Wearout Indicator förklaras kort under raden.",
"<strong>Senaste självtest och fullständig historik</strong> — senaste testet med typ, resultat, slutmeddelande och drifttimmar vid tillfället samt en numrerad tabell över alla sparade tester.",
"<strong>Rekommendationer</strong> — åtgärder utifrån resultatet. För friska diskar: <em>disken är bra / regelbundna tester / säkerhetskopieringsstrategi</em>. När attribut ligger utanför gränserna ges råd om utbyte."
],
"pdfOutro": "Webbläsaren skapar rapporten; Skriv ut och Spara som PDF öppnar båda utskriftsdialogen. Välj ett namn som <code>SMART-&lt;short-id&gt;.pdf</code>. Spara daterade kopior för jämförelser över tid eller delning med supporten.",
"historyTitle": "Flik 3 — Historik",
"historyImageAlt": "Diskdetaljer, fliken Historik med tidigare SMART-tester samt åtgärder för hämtning och borttagning",
"historyImageCaption": "Diskens SMART-historik. Varje rad visar typ, tid, ålder, markering av senaste test samt hämtning av <code>smartctl</code>-utdata och borttagning.",
"historyIntro": "Sparade slutförda korta och utökade tester för disken. Varje post innehåller ursprungliga <code>smartctl</code>-utdata och fälten som Monitor tolkar för översikten. Åtgärder per rad:",
"historyItems": [
"<strong>Hämta</strong> — sparar JSON-ögonblicksbilden med rapportens <code>smartctl -a</code>-data. Praktiskt när tillverkarsupporten behöver ursprungliga diagnostikfält.",
"<strong>Ta bort</strong> — raderar ett test manuellt ur historiken. Lagringsgränsen i Schema (<em>senaste 5 / 10 / 20</em>) tar automatiskt bort de äldsta."
],
"scheduleTitle": "Flik 4 — Schema",
"scheduleImageAlt": "Diskdetaljer, fliken Schema med reglage för automatiska SMART-tester, schemalista och knappen Lägg till schema",
"scheduleImageCaption": "Schema: välj typ, intervall och lagringstid; Monitor konfigurerar <code>cron</code> för automatiska tester.",
"scheduleIntro": "Automatiska SMART-tester via cron utan terminal. Tre områden:",
"scheduleItems": [
"<strong>Automatiska SMART-tester</strong> — gemensamt reglage för diskens alla scheman. Pausar dem vid underhåll utan att radera konfigurationen.",
"<strong>Konfigurerade scheman</strong> — en rad per schema med typ (<em>kort</em> / <em>långt</em>), läsbart cron-uttryck (<em>”Den 1:a varje månad kl. 03:00”</em>, <em>”Varje söndag kl. 02:00”</em>), berörda diskar och lagringsinställning.",
"<strong>Lägg till / Redigera schema</strong> — typ (<em>kort ~2 min</em> / <em>långt 1–4 h</em>), intervall (<em>dagligen / veckovis / månadsvis</em>), månads- eller veckodag, tid och sparade resultat (<em>senaste 5 / 10 / 20</em>)."
],
"scheduleOutro": "Schemat skapar en cron-post på värden som anropar Monitor. Resultaten sparas i SMART-historiken på flik 3 och lagringsinställningen tar automatiskt bort de äldsta när ett nytt test är klart.",
"tempTitle": "Dialog med temperaturhistorik",
"tempIntro": "Monitor läser regelbundet av diskar med temperatursensor och sparar en lokal historik. Det aktuella värdet visas i Översikt; ett klick öppnar temperaturhistoriken.",
"tempImageAlt": "Temperaturhistorik med sökväg och modell, intervall på 1 timme, 24 timmar, 7 eller 30 dagar, Aktuellt/Min/Medel/Max och linjediagram färgat efter disktypens gränser",
"tempImageCaption": "Temperaturdetaljer öppnas från Översikt om sensorn visar ett värde skilt från noll. Diagrammet använder gränserna för HDD / SSD / NVMe / SAS.",
"tempShowsTitle": "Dialogens innehåll",
"tempShowsItems": [
"<strong>Tidsintervall</strong>: <em>1 timme</em>, <em>24 timmar</em> som standard, <em>7 dagar</em> eller <em>30 dagar</em>. Varje fråga anpassar upplösningen för ett läsbart diagram.",
"<strong>Fyra indikatorer</strong>: <em>Aktuellt</em>, <em>Min</em>, <em>Medel</em> och <em>Max</em> under intervallet. <em>Aktuellt</em> använder lagringens och aviseringarnas gränser för normal, förhöjd eller hög temperatur.",
"<strong>Linjediagram</strong> över temperatur över tid med linje och yta färgade efter disktyp:"
],
"tempDiskTypes": [
"HDD - typiskt kallare trösklar.",
"SSD – måttliga trösklar.",
"NVMe högre trösklar (NVMe körs varmare av design).",
"SAS — varning vid 55 °C och kritiskt vid 65 °C; varningsgränsen skiljer sig från HDD."
],
"tempConfigurable": "Alla fyra typerna konfigureras under <em>Inställningar → Health Monitor-gränser</em>.",
"tempWhyTitle": "Varför historiken är viktig",
"tempWhyItems": [
"<strong>Upptäck trender.</strong> En enskild avläsning visar inte att en disk värms upp under flera veckor, till exempel på grund av fläktproblem, damm eller närliggande värme. Vyerna för 7 och 30 dagar visar utvecklingen.",
"<strong>Koppla temperaturtoppar.</strong> Om en säkerhetskopiering eller återuppbyggnad kortvarigt passerade gränsen visar vyerna för 1 och 24 timmar om det var enstaka eller återkommande.",
"<strong>Justera gränser.</strong> Kontrollera diskens faktiska arbetsintervall i 30-dagarsdiagrammet innan du ändrar <em>Inställningar → Health Monitor-gränser</em>."
],
"obsTitle": "Observationshistorik i flikarna",
"obsIntro": "Diskfel kan utvecklas gradvis. En disk kan visa SMART <strong>PASSED</strong> samtidigt som den loggar läsfel i dmesg, tappar SATA-länkar eller visar tillfälligt väntande sektorer. ProxMenux sparar dessa <em>signaler</em> och visar dem i dialogen bredvid aktuell SMART-status.",
"obsImageAlt": "Översikt av en disk med godkänt SMART och noll omallokerade/väntande sektorer och CRC-fel, men en I/O-observation med ursprungligt kärnmeddelande, ATA-förklaring, första och senaste tid samt antal",
"obsImageCaption": "En disk med <strong>godkänt SMART</strong> kan ha tidigare observationer. Kortet kompletterar aktuell status med signalhistoriken.",
"obsWhatTitle": "Vad är en observation?",
"obsWhatIntro": "ProxMenux sparar diskhändelser från kärnloggen, dmesg eller SMART som en <strong>observation</strong> när de var för sig är för detaljerade för en avisering. Varje rad visar:",
"obsWhatItems": [
"<strong>Typ</strong> — I/O-, SMART-, filsystems-, ZFS-pool- eller anslutningsfel.",
"<strong>Ursprungligt kärnmeddelande</strong> från dmesg att kopiera till en sökmotor eller ett supportärende.",
"<strong>Kort förklaring</strong> av kända ATA-koder: <code>IDNF</code>, sektoradress hittades inte, möjlig defekt sektor eller kabel; <code>UNC</code>, okorrigerbart läsfel, defekt sektor; och andra standardkoder.",
"<strong>Första och senaste tid</strong> samt <strong>antal förekomster</strong>, grupperade efter felsignatur."
],
"obsWhyTitle": "Varför ProxMenux sparar och visar dem",
"obsWhyItems": [
"<strong>Fel kan utvecklas över tid.</strong> ATA-bussfel, UNC-sektorer eller mediefel kan uppstå innan SMART visar <em>FAILED</em>. dmesg-bufferten behåller dem inte efter en omstart; observationshistoriken gör det.",
"<strong>SMART utesluter inte alla fel.</strong> En disk kan visa gröna attribut och ändå ha problem. Observationerna sparar ytterligare symtom som ICRC, IDNF, SATA-länkåterställningar eller sänkt hastighet.",
"<strong>Skiljer aktuellt från nyligen.</strong> Health Monitor löser tillfälliga fel automatiskt när de slutar återkomma. Historiken visar även flera dagar senare exempelvis tre I/O-fel från en natt.",
"<strong>Underlag för graderade aviseringar.</strong> disk_io använder observationsfrekvensen för tyst, WARNING eller CRITICAL i det rullande 24-timmarsfönstret som infördes i 1.2.1.2."
],
"obsDedupTitle": "Gruppering av dubbletter och nya aviseringar",
"obsDedupBody1": "Observationer grupperas efter <strong>signatur</strong>, ett stabilt fingeravtryck av feltyp, enhet och viktiga meddelandefält. Upprepningar ökar <code>occurrence_count</code> i befintlig rad. En <strong>annan signatur</strong> skapar en ny observation och räknas som ny aviseringshändelse.",
"obsDedupBody2": "För att undvika aviseringskaskader meddelar den första kombinationen av disk, signatur och allvarlighetsgrad operatören. Samma kombination väntar 24 timmar före nästa avisering även om antalet ökar. En ändring från WARNING till CRITICAL bryter väntetiden och meddelar försämringen.",
"obsDismissTitle": "Beständig historik och aktiva fel",
"obsDismissBody1": "Observationer kan inte avfärdas, döljas eller raderas. Varje signatur har ett kort; en upprepning ökar antalet och uppdaterar senaste tiden. Historiken följer serienumret: en annan disk börjar tom även på samma port, och ett namnbyte i kärnan bevarar historiken.",
"obsDismissBody2": "Att lösa eller avfärda ett aktivt fel i Health Monitor ändrar inte observationerna. De finns kvar efter automatisk lösning så att en tillfällig varning från förra veckan fortfarande syns. Se <link>Health Monitor</link> för hantering av aktiva fel."
},
"dataCollected": {
"heading": "Hur data samlas in",
"headerSection": "Avsnitt av fliken",
"headerEndpoint": "Ändpunkt",
"headerSource": "Källa",
"rows": [
{
"section": "Övre sammanfattningskort",
"endpoint": "/api/storage/summary",
"source": "Aggregerad från <code>lsblk</code>, <code>zpool list</code>, <code>vgs</code> / <code>lvs</code>."
},
{
"section": "Inventering per disk",
"endpoint": "/api/storage",
"source": "<code>lsblk -O</code> + <code>smartctl -i</code> per enhet med identitetscache som töms vid hotplug-händelser."
},
{
"section": "Proxmox-lagring",
"endpoint": "/api/proxmox-storage",
"source": "<code>pvesh get /nodes/&lt;node&gt;/storage</code> med aktiv / online-tillståndet för varje."
},
{
"section": "Aktuella SMART-värden",
"endpoint": "/api/storage/smart/<disk>",
"source": "<code>smartctl -A &lt;dev&gt;</code> är en möjlig fråga; detaljändpunkten använder även fullständiga SMART-JSON-data och NVMe-specifika värden."
},
{
"section": "Historik för SMART-självtester",
"endpoint": "/api/storage/smart/<disk>/history",
"source": "Sparas under <code>/usr/local/share/proxmenux/smart/&lt;disk&gt;/</code> som JSON-ögonblicksbilder."
},
{
"section": "Permanenta observationer",
"endpoint": "/api/storage/observations",
"source": "SQLite-tabell som Health Monitor uppdaterar varje cykel och behåller efter att aktiva fel lösts."
}
],
"outro": "Verifiera samlingskedjan på värden:",
"codeComment1": "# Hämta aktuell status från ett skript",
"codeComment2": "# Jämför översiktens data med operativsystemets egna uppgifter"
},
"whereNext": {
"heading": "Läs vidare",
"items": [
{
"label": "Hälsoövervakare",
"href": "/docs/monitor/health-monitor",
"tail": " — kategorin Diskar och I/O samt regler för undertryckning."
},
{
"label": "API-referens",
"href": "/docs/monitor/api",
"tail": " — ändpunkter för lagring och SMART."
},
{
"label": "Aviseringar",
"href": "/docs/monitor/notifications",
"tailRich": " — följdåtgärder som utlöses av <code>disk_io_error</code>, <code>storage_unavailable</code> och <code>smart_test_failed</code>."
},
{
"label": "Översiktsindex",
"href": "/docs/monitor/dashboard",
"tail": " — de andra flikarna."
},
{
"label": "ProxMenux → Diskhanteraren",
"href": "/docs/disk-manager",
"tail": " — TUI-åtgärder: formatera, radera, SMART-tester och importera diskar till VM eller containrar."
},
{
"label": "ProxMenux → Diskstatus och SMART-tester",
"href": "/docs/disk-manager/smart-disk-test",
"tail": " — CLI-motsvarighet: schemalägg SMART-tester, exportera visade JSON-data och läs om testtyper och resultattolkning."
}
]
}
}
@@ -0,0 +1,120 @@
{
"meta": {
"title": "ProxMenux Monitor — Översikt: Systemloggar | ProxMenux-dokumentation",
"description": "fliken System Logs konsoliderar tre källor i en skärm: live journalctl med filter och nedladdning, Proxmox aktivitetshistorik (UPID) och meddelandelogg - allt sökbart, filtrerat genom svårighetsgrad / tidsintervall och nedladdningsbart som textpaket."
},
"header": {
"title": "Översikt: Systemloggar",
"description": "Tre underflikar i samma vy: systemjournalen (journalctl med filter), Proxmox uppgiftshistorik och aviseringsloggen. Alla tre kan sökas, filtreras och laddas ner som textpaket.",
"section": "ProxMenux Monitor Dashboard"
},
"readOnly": {
"title": "Read-only av design",
"body": "Den här fliken ändrar inga loggfiler. Filtren finns i URL:en eller gränssnittets tillstånd och nedladdningar skapas på servern. Översikten raderar aldrig loggposter. För loggunderhåll använder du <code>journalctl --vacuum-time=&lt;N&gt;</code> eller <code>logrotate</code> på värden."
},
"topRow": {
"heading": "Övre raden: fyra räknare",
"items": [
"<strong>Totalt antal poster</strong> — antal loggposter i det aktiva filtrets tidsintervall.",
"<strong>Fel</strong> — antal poster med allvarlighetsgrad ≤ 3 (<code>err</code> / <code>crit</code> / <code>alert</code> / <code>emerg</code>).",
"<strong>Varningar</strong> — antal poster med allvarlighetsgrad 4 (<code>warning</code>).",
"<strong>Säkerhetskopieringar</strong> — antal vzdump-/PBS-uppgifter i samma tidsintervall."
]
},
"subtabs": {
"heading": "Tre underflikar",
"logsTitle": "Loggar",
"logsIntro": "Systemjournalen hämtas på servern med <code>journalctl</code>. Följande filter finns i verktygsfältet:",
"logsFilters": [
"<strong>Allvarlighetsgrad</strong> — emerg / alert / crit / err / warning / notice / info / debug, eller valfri kombination.",
"<strong>Time range</strong> - sista 5 min / 15 min / 1 h / 6 h / 24 h / 7 d / custom.",
"<strong>Fritextsökning</strong> — delsträng eller reguljärt uttryck (<code>journalctl --grep</code>).",
"<strong>Enhetsfilter</strong> — begränsa till en viss systemd-enhet (<code>pveproxy.service</code>, <code>nginx.service</code>, …)."
],
"logsRowsAfter": "Varje rad visar tidsstämpel, svårighetsgrad, källenhet och meddelandet. Långa meddelanden kollapsar med en \"visa mer\" växel. Den är <strong>Ladda ner</strong> Åtgärder buntar det aktuella filtret i en enda <code>.txt</code> fil via <code>GET /api/logs/download</code> - användbar när du vill dela en bit av tidskrift med någon.",
"logDetailsModalTitle": "Dialogrutan Loggdetaljer",
"logDetailsBody": "Ett klick på en rad öppnar dialogrutan <strong>Loggdetaljer</strong> med alla strukturerade fält som journald fångade för posten, samma vy som <code>journalctl --output=verbose</code> på värden.",
"logDetailsImageAlt": "Dialogrutan Loggdetaljer — en utökad journalpost med nivå, tjänst, tidsstämpel, källa, systemd-enhet, process-ID, värdnamn och hela meddelandet",
"logDetailsImageCaption": "Loggdetaljer — alla strukturerade journald-fält för posten, med hela det oförkortade meddelandet längst ner. Användbart för cron- och tjänsteloggar där den körda kommandoraden är viktig.",
"fieldsIntro": "Fält som visas:",
"fields": [
"<strong>Level</strong> - färgad svårighetsgrad (INFO / WARNING / ERROR / CRITICAL).",
"<strong>Service</strong> - kort namn på enheten / processen som sände inträdet.",
"<strong>Timestamp</strong> - helt datum och tid för logglinjen.",
"<strong>Source</strong> - ursprunget till posten (journal, kärna, revision, ...).",
"<strong>Systemd Unit</strong> - den faktiska <code>.service</code> / <code>.timer</code> / <code>.socket</code> enhet om posten var associerad med en.",
"<strong>Process ID</strong> – PID för emitteringsprocessen.",
"<strong>Hostname</strong> - användbar när tidskrifter vidarebefordras över klusternoder.",
"<strong>Meddelande</strong> — hela det oförkortade meddelandet i ett block med fast teckenbredd, klart att kopiera."
],
"maxLevelStoreTitle": "Journald MaxLevelStore",
"maxLevelStoreBody": "På en ny Proxmox-installation använder journald som standard <code>MaxLevelStore=warning</code>, vilket kastar bort info-meddelanden. Monitor upptäcker detta vid start och lägger till en kompletterande konfiguration (<code>/etc/systemd/journald.conf.d/proxmenux-loglevel.conf</code>) med gränsen <code>info</code>, så att informationsmeddelanden och allvarligare meddelanden sparas. Detta omfattar inte debug.",
"backupsTitle": "Säkerhetskopieringar",
"backupsBody": "Proxmox uppgiftshistorik filtrerad till säkerhetskopieringar. En rad per uppgift (<code>vzdump</code>, PBS-överföringar, Garbage Collect, Verify) med status (OK / WARNINGS / ERROR), berörd gäst, källagring, varaktighet och UPID. Klicka på en rad för att läsa hela uppgiftsloggen via <code>GET /api/task-log/&lt;upid&gt;</code> — samma data som i <em>Datacenter → Tasks</em>, begränsade till säkerhetskopieringar.",
"notificationsTitle": "Aviseringar",
"notificationsBody1": "Alla aviseringar som Monitor skickar: Telegram, Discord, e-post, Gotify, ntfy, Slack, Teams och webhook. Varje rad visar tidsstämpel, kanal, händelsetyp, allvarlighetsgrad, genererad rubrik och text samt, om AI är aktiverat, ett reglage för att jämföra AI-versionen med originalet.",
"notificationsBody2": "Använd fliken för att kontrollera att en kanal levererar aviseringar och jämföra AI-versionen med grundmallen. Kanaler ställs in på den detaljerade sidan <link>Aviseringar</link>."
},
"dataCollected": {
"heading": "Hur data samlas in",
"headerSubtab": "Underflik",
"headerEndpoint": "Slutpunkt",
"headerSource": "Källa",
"rows": [
{
"subtab": "Loggar (livefilter)",
"endpoint": "/api/logs",
"source": "<code>journalctl --output json --since &lt;range&gt;</code> med filter för allvarlighetsgrad, enhet och sökning på servern."
},
{
"subtab": "Ladda ner",
"endpoint": "/api/logs/download",
"source": "Samma fråga, returnerad som oformaterad text för grep / less."
},
{
"subtab": "Säkerhetskopieringar",
"endpoint": "/api/backups",
"source": "PVE-uppgiftshistorik filtrerad efter <code>vzdump</code>, PBS-överföringar, Garbage Collect och Verify."
},
{
"subtab": "Detaljer för en säkerhetskopieringsuppgift",
"endpoint": "/api/task-log/&lt;upid&gt;",
"source": "Hela uppgiftsloggen läses som oformaterad text från <code>/var/log/pve/tasks/&lt;index&gt;/&lt;upid&gt;</code>."
},
{
"subtab": "Aviseringshistorik",
"endpoint": "/api/notifications/history",
"source": "SQLite-tabellen <code>notification_history</code> fylls av sändningsslingan."
}
],
"apiIntro": "Både livefiltret och nedladdningarna kan också nås via API:",
"codeComment1": "# Fel och allvarligare händelser från den senaste timmen med ett sökord",
"codeComment2": "# Ladda ner hela journalen från de senaste 6 timmarna som oformaterad text",
"codeComment3": "# Slå upp hela utdata för en viss uppgift med dess UPID"
},
"whereNext": {
"heading": "Nästa steg",
"items": [
{
"label": "Hälsoövervakare",
"href": "/docs/monitor/health-monitor",
"tail": " — kategorin Systemloggar, som bevakar ihållande mönster, toppar och kaskader."
},
{
"label": "Aviseringar",
"href": "/docs/monitor/notifications",
"tail": " — journalbevakningen läser samma källa och omvandlar träffar till aviseringar."
},
{
"label": "API-referens",
"href": "/docs/monitor/api",
"tail": " — slutpunkterna logs och task-log med sina frågeparametrar."
},
{
"label": "Översiktsindex",
"href": "/docs/monitor/dashboard",
"tail": " — de andra flikarna."
}
]
}
}
@@ -0,0 +1,177 @@
{
"meta": {
"title": "ProxMenux Monitor — Översikt: Systemöversikt | ProxMenux-dokumentation",
"description": "Standardstartfliken i ProxMenux Monitor: fyra mätkort (CPU, minne, aktiva VM och LXC, temperatur) med liveuppdatering och minidiagram, historikdiagram samt lagrings- och nätverkssammanfattningar med länkar till respektive flik."
},
"header": {
"title": "Översikt: Systemöversikt",
"description": "Fliken som öppnas som standard: fyra livekort med mätvärden överst, historikdiagram i mitten och sammanfattningar av lagring och nätverk längst ner, från samma API:er som respektive detaljflik.",
"section": "ProxMenux Monitor · Översikt"
},
"readOnly": {
"title": "En skrivskyddad ögonblicksbild",
"body": "Alla paneler på fliken visar information. Åtgärder finns på länkade flikar: Lagring för diskhantering, VM och LXC för att starta eller stoppa gäster och Säkerhet för autentisering."
},
"captureAlt": "Systemöversikt — fyra mätkort (CPU, minne, aktiva VM, temperatur), nodens mätvärdesdiagram och sammanfattningskort för lagring och nätverk",
"captureCaption": "Systemöversikt, standardstartfliken. De fyra korten visar livevärden, diagrammet visar historik och de två nedersta korten sammanfattar lagring och nätverk.",
"topRow": {
"heading": "Övre raden: mätkort med livevärden",
"intro": "Fyra kort i ett 2×2-rutnät på mobilen och i en rad på datorn. Varje kort uppdateras från <code>/api/system</code> med några sekunders mellanrum.",
"headerCard": "Kort",
"headerWhat": "Vad det visar",
"headerSource": "Källa",
"rows": [
{
"card": "CPU-användning",
"what": "Aktuell procentandel med en stapel. Uppdateras ungefär varje sekund av vitaldata-samplaren.",
"source": "psutil.cpu_percent()"
},
{
"card": "Minnesanvändning",
"what": "Använda GB, procentandel och totalt antal GB. Stapeln visar procentandelen.",
"source": "psutil.virtual_memory()"
},
{
"card": "Aktiv VM & LXC",
"what": "Antal körande gäster med uppdelning Körs / Stoppade och totalt antal VM och LXC längst ner.",
"source": "/api/vms (konsoliderad)"
},
{
"card": "Temperatur",
"what": "CPU-temperatur i °C med status (sval / varm / het) och ett minidiagram för de senaste 5 minuterna i bakgrunden. Visar <em>N/A</em> utan sensor. Klicka för att öppna temperaturdetaljer.",
"source": "sensors / coretemp"
}
],
"thresholdsTitle": "Statusfärger och trösklar som tillämpas här",
"thresholdsIntro": "Ringar, staplar och minidiagram använder samma skala: <green/> <strong>grön</strong> under Varning, <amber/> <strong>bärnstensfärgad</strong> mellan Varning och Kritisk, <red/> <strong>röd</strong> från Kritisk och uppåt. Rekommenderade standardvärden i ProxMenux:",
"thresholdsItems": [
"<strong>CPU-användning</strong> — varning 85 %, kritisk 95 %.",
"<strong>Minne</strong> — varning 85 %, kritisk 95 %. Swap utlöser också Kritisk vid 5 % användning; en välfungerande Proxmox-värd bör sällan behöva använda swap.",
"<strong>CPU-temperatur</strong> — varning 80 °C, kritisk 90 °C."
],
"thresholdsOutro": "Alla värden kan ställas in per värd. <link>Inställningar → Tröskelvärden för hälsokontrollen</link> är den centrala referensen och förklarar hur de anpassas.",
"sparklineTitle": "Minidiagrammet visar trenden",
"sparklineBody": "Temperaturkortet drar ett 5-minuters spår under värdet, med linjen och gradientfärgen efter samma varning / kritiskt par dokumenterat ovan. Det är det snabbaste sättet att se om värden är i en termisk klättring utan att öppna detaljerna."
},
"processes": {
"heading": "Processer med högst CPU- och minnesanvändning",
"intro": "Korten CPU-användning och Minne öppnar en sorterbar lista över de 25 största processerna: efter CPU-användning från CPU-kortet eller resident minne från minneskortet.",
"listTitle": "Listdialogrutan",
"listItems": [
"<strong>Automatisk uppdatering</strong> — listan uppdateras var 5:e sekund medan dialogrutan är öppen och slutar hämta data när den stängs.",
"<strong>Filter</strong> — sökfältet begränsar listan efter kommando, användare eller PID.",
"<strong>Staplar i raderna</strong> — huvudkolumnens stapel skalas mot det högsta värdet i den filtrerade listan. Rangordningen förblir tydlig även när ingen process är nära 100 %.",
"<strong>Mobil layout</strong> — under 640 px döljs PID och Användare, så att Kommando, CPU % och Minne får plats utan horisontell rullning."
],
"captureListAlt": "Dialogruta med processer efter minne — tabell sorterad efter RSS med PID, användare, kommando, CPU % och minne",
"captureListCaption": "Minneskortet öppnar listan sorterad av RSS (indigo accent). CPU-kortet öppnar samma lista sorterad av CPU-användning (blå accent).",
"detailTitle": "Detaljer per process",
"detailIntro": "Klicka på en rad för att öppna en andra dialogruta med processens aktuella data i fyra avsnitt:",
"detailItems": [
"<strong>Översikt</strong> — tillstånd, överordnad process, antal trådar, öppna filbeskrivare, användare och grupp.",
"<strong>Resurser</strong> — CPU %, minne %, resident minne (RSS), virtuell storlek, swap och totalt läst och skrivet I/O.",
"<strong>Kommando</strong> — kort namn, fullständig kommandorad, sökväg till den körbara filen och arbetskatalog.",
"<strong>Körtid</strong> — starttid och förfluten körtid."
],
"detailRefresh": "Detaljerna uppdateras var 3:e sekund. När processen avslutas stoppas hämtningen och en bärnstensfärgad banderoll <em>Processen har avslutats</em> visas. Den senaste ögonblicksbilden ligger kvar nedtonad så att du kan se vad som hände strax före slutet.",
"captureDetailAlt": "Processdetaljer — Översikt, Resurser, Kommando och Körtid för ett PID",
"captureDetailCaption": "Perprocessdetaljdialog öppnad från en lista rad. Accentfärgen matchar kortet som öppnade det (blå för CPU, indigo för minne)."
},
"middle": {
"heading": "Mitten: diagram med nodens mätvärden",
"body1": "Under korten visar <code>NodeMetricsCharts</code> historik för CPU, minne och disk-I/O från Proxmox RRD-lager via <code>/api/node/metrics</code>. Välj <em>1 timme / 24 timmar / 7 dagar / 30 dagar / 1 år</em>. Upplösningen sänks för längre perioder så att diagrammet förblir följsamt.",
"body2": "Samma diagram som Proxmox webbgränssnitt visar för en nod, infogade i Monitors mörka tema och placerade i linje med övriga paneler."
},
"bottom": {
"heading": "Nedre raden: sammanfattningar av lagring och nätverk",
"storageTitle": "Kortet Lagringsöversikt",
"storageIntro": "En kompakt vy av värdens lagringstillstånd, uppdelad i tre block:",
"storageItems": [
"<strong>Nodens totala kapacitet</strong> — summan av VM-/LXC-lagring och lokal systemlagring, med en tonad stapel för använt och ledigt utrymme.",
"<strong>Total kapacitet / Fysiska diskar</strong> — råkapacitet och antal upptäckta fysiska diskar.",
"<strong>VM-/LXC-lagring</strong> — använt och ledigt utrymme samt procentandel för gästlagringen, med en räknare när flera lagringar finns.",
"<strong>Lokal lagring (system)</strong> — värdens rot- eller systemmontering, separat från gästpoolen."
],
"storageDrillIn": "Detaljer finns på <link>fliken Lagring</link>: SMART per disk, ZFS-pooler, observationshistorik med mera.",
"networkTitle": "Kortet Nätverksöversikt",
"networkBody1": "Top line visar antalet aktiva gränssnitt (fysiska + broar i kombination). Nedan följer två rader färgade märken för de gränssnitt som är <code>up</code> - fysiska NIC i blå, broar i en sekundär färg. En tidsram väljare höger (1 timme / 24 timmar / 7 dagar / 30 dagar / 1 år) kontrollerar en liten RX / TX trafik diagram.",
"networkBody2": "Detaljer per gränssnitt (IP/MAC, RRD-diagram, bromedlemmar, bond-läge med mera) finns på <link>fliken Nätverk</link>."
},
"refresh": {
"heading": "Uppdateringsmodell",
"intro": "Varje panel hanterar sitt laddningstillstånd (<code>loadingStates.cpu</code>, <code>loadingStates.storage</code>, …) så att en långsam källa inte blockerar resten. Under hämtning visas en pulserande platshållare. Fel hanteras utan att blockera vyn: utan temperatursensor visas <em>N/A</em> i stället för ett fel.",
"items": [
"<strong>Övre mätkort</strong> — uppdateras ungefär var 5:e sekund. CPU och temperatur får även data varje sekund från vitaldata-samplaren.",
"<strong>Nodens mätvärdesdiagram</strong> — laddas när det öppnas och när period eller språk ändras. Vid behov görs ett nytt försök efter 60 s.",
"<strong>Lagringskort</strong> — uppdateras ungefär var 60:e sekund. SMART-data cachas längre; fliken Lagring begär en ny avläsning vid behov.",
"<strong>Nätverkskort</strong> — sammanfattning var 59:e sekund och trafikdiagram var 60:e sekund för vald period.",
"<strong>Manuell uppdatering</strong> — knappen Uppdatera i rubriken laddar genast om alla paneler."
]
},
"dataCollected": {
"heading": "Hur data samlas in",
"headerCard": "Kort",
"headerEndpoint": "Slutpunkt",
"headerSource": "Källa",
"rows": [
{
"card": "Statusindikator i rubriken",
"endpoint": "/api/health",
"source": "Den cachade övergripande status som produceras av hälsokontrollen varje cykel."
},
{
"card": "CPU / RAM / Swap / Drifttid",
"endpoint": "/api/system",
"source": "<code>/proc/stat</code>, <code>/proc/meminfo</code>, <code>/proc/uptime</code> med kortfönster CPU provtagning."
},
{
"card": "Värd info (kernel, BIOS, distro)",
"endpoint": "/api/info",
"source": "<code>uname -a</code>, <code>dmidecode</code>, PVE version. Cachad per process."
},
{
"card": "Lagring / nätverk / VM-kort",
"endpoint": "/api/storage/summary, /api/network/summary, /api/vms",
"source": "Se dedikerade flikarna för varje. Rubriken visar en kompakt vy från samma slutpunkter."
},
{
"card": "Uppdateringsintervall",
"endpoint": "—",
"source": "Systemdata var 5:e sekund; lagring, VM och nätverkssammanfattning var 59:e sekund. Uppdatera i rubriken laddar genast om alla paneler."
}
],
"codeComment1": "# Anropet som ger statusindikatorn i rubriken dess data",
"codeComment2": "# offentligt, ingen token",
"codeComment3": "# Autentiserad ögonblicksbild som används av korten"
},
"whereNext": {
"heading": "Var till nästa",
"items": [
{
"label": "Hälsoövervakare",
"href": "/docs/monitor/health-monitor",
"tail": " — dialogrutan bakom statusindikatorn i rubriken: tio kategorier samt avfärdande och undertryckning av aviseringar."
},
{
"label": "API-referens",
"href": "/docs/monitor/api",
"tail": " — slutpunkterna system, info och health."
},
{
"label": "Aviseringar",
"href": "/docs/monitor/notifications",
"tail": " — Hur samma status förvandlas till Telegram / Discord / E-postmeddelanden."
},
{
"label": "Översiktsindex",
"href": "/docs/monitor/dashboard",
"tail": " — de övriga översiktsflikarna i korthet."
},
{
"label": "Arkitektur",
"href": "/docs/monitor/architecture",
"tail": " — bakgrundstrådarna och API:erna som ger data till den här vyn."
}
]
}
}
@@ -0,0 +1,174 @@
{
"meta": {
"title": "ProxMenux Monitor — Översikt: Terminal | ProxMenux-dokumentation",
"description": "Skal på Proxmox-värden i webbläsaren: upp till 4 terminaler i rutnätsvy, tangentbordsknappar för mobila enheter (ESC, TAB, pilar, Ctrl-kombinationer), inbyggd kommandoguide med cheat.sh och JWT-skydd."
},
"header": {
"title": "Översikt: Terminal",
"description": "En riktig skalsession på Proxmox-värden i webbläsaren. Upp till fyra terminaler samtidigt, tangentbordsknappar för mobila enheter och en inbyggd kommandoguide, med samma tema som resten av översikten.",
"section": "ProxMenux Monitor · Översikt"
},
"intro": {
"title": "En riktig PTY i webbläsaren",
"body": "Terminalen skapar en PTY på servern via <code>flask_terminal_routes</code>, kopplar den med WebSocket till <code>xterm.js</code> i webbläsaren och körs som <code>root</code>, systemd-enhetens användare. Som med <code>ssh root@&lt;host&gt;</code> kan du använda <code>vim</code>, <code>tmux</code>, ncurses-verktyg och Proxmox CLI:er (<code>qm</code>, <code>pct</code>, <code>pvesh</code>, <code>pvecm</code>). Varje PTY exporterar <code>PROXMENUX_TERMINAL=monitor</code>. Alla underordnade <code>bash</code>-processer, även en senare start av <code>menu</code>, ärver variabeln så att de känner igen Monitors webbläsarterminal."
},
"singleAlt": "Terminalfliken i ProxMenux Monitor — en terminalsession som visar Fastfetchs systemöversikt vid inloggning",
"singleCaption": "En värd terminal öppen - verktygsfältet ovan visar räkningen (<em>1 / 4 terminaler</em>), <em> + New</em>, <em>Search</em>, <em>Clear</em> och <em>Close</em>. De mobila tangentbordshjälparna visas under terminalen på touch-enheter.",
"target": {
"heading": "Anslutningsmål",
"body1": "Terminalfliken öppnar ett skal på <strong>själva Proxmox-värden</strong>, som vid SSH-inloggning. Varje flik öppnar en ny terminal på värden.",
"body2": "För att nå en <strong>LXC-container</strong> från webbläsaren använder du knappen <em>Konsol</em> på varje körande CT-kort på <link>fliken VM och LXC</link>. Den öppnar en dialogruta som kör <code>pct enter &lt;vmid&gt;</code> och använder samma mobilanpassade verktygsfält som beskrivs nedan."
},
"menuGuard": {
"heading": "Skydd vid självuppdatering av menu i terminalen",
"body1": "När du bekräftar självuppdateringen ersätter <code>menu</code> sitt skriptträd och laddas om. Det fungerar via SSH eller Proxmox-konsolen, men i webbläsaren skulle skalets PTY stängas och WebSocket avbrytas. Därför läser <code>check_updates_stable</code>, <code>check_updates_beta</code> och <code>apply_release_channel</code> variabeln <code>PROXMENUX_TERMINAL</code> för att känna igen Monitor-kontexten.",
"body2": "Då ersätts ja/nej-dialogrutan med ett meddelande med det officiella installationskommandot: <code>bash -c \"$(wget -qLO - https://raw.githubusercontent.com/MacRimi/ProxMenux/main/install_proxmenux.sh)\"</code> för stable och motsvarande URL för <code>install_proxmenux_beta.sh</code> för beta. Uppdateringen utförs via SSH eller Proxmox-värdens konsol; webbläsarterminalen används bara för att läsa och bekräfta meddelandet."
},
"fourTerminals": {
"heading": "Upp till fyra terminaler samtidigt",
"intro": "Fliken låter dig öppna upp till fyra värdterminaler samtidigt. Var och en får sin egen PTY och sin egen WebSocket De är helt oberoende sessioner. Två layouter växlar med ikonerna bredvid knappen \"New\":",
"items": [
"<strong>Flikvy</strong> — en terminal synlig åt gången, de andra som namngivna flikar överst (<em>Terminal 1</em>, <em>Terminal 2</em>…). Passar när du arbetar med en uppgift och har resten i bakgrunden.",
"<strong>Rutnätsvy</strong> — alla öppna terminaler i ett 2×2-rutnät. Du kan bevaka <code>htop</code> i en, <code>iftop</code> i en annan och redigera i en tredje utan att växla flik."
],
"outro": "Verktygsfältet visar antalet (<em>1/4 terminaler</em>, <em>4/4 terminaler</em>). <strong>+ Ny</strong> öppnar en flik; det lilla <code>×</code> i flikrubriken stänger den. Den stora röda knappen <strong>Stäng</strong> överst avslutar alla terminaler."
},
"gridAlt": "ProxMenux Monitor Terminal-fliken - rutnätsvy med fyra värdterminaler som kör ls, nätverkskonfig, iftop och ProxMenux huvudmenyn sida vid sida",
"gridCaption": "Rutnätsvy (4 / 4 terminaler) — fyra oberoende PTY:er samtidigt: kataloglista, <code>/etc/network/interfaces</code>, <code>iftop</code> och ProxMenux huvudmeny. Växla mellan rutnät och flikar med layoutreglaget i verktygsfältet.",
"keyboard": {
"heading": "Tangentbordsknappar för mobila enheter",
"intro": "Tangentbord på telefoner och surfplattor saknar ofta ESC, TAB, piltangenter och kombinationer med modifierartangenter. De behövs i <code>vim</code>, <code>nano</code>, <code>htop</code> och TUI-menyer. Terminalfliken visar därför en rad pekknappar under terminalen på små skärmar eller enheter med pekstöd:",
"headerButton": "Knapp",
"headerSends": "Skickar",
"headerUse": "Typisk användning",
"rows": [
{
"button": "ESC",
"sends": "\\x1b",
"use": "Lämna infogningsläge i <code>vim</code>, avbryt en TUI-dialogruta eller avsluta en sökning."
},
{
"button": "TAB",
"sends": "\\t",
"use": "Automatisk komplettering av sökvägar och navigering mellan fält i dialog/whiptail."
},
{
"button": "↑ ↓ ← →",
"sends": "\\x1bO[ABCD]",
"use": "Skalhistorik, markörförflyttning och menynavigering."
},
{
"button": "↵ Retur",
"sends": "\\r",
"use": "Bekräfta. Vissa skärmtangentbord ersätter Enter med Gå/Klar; den här knappen är entydig."
},
{
"button": "Ctrl ▾",
"sends": "Listruta",
"useRich": true
}
],
"ctrlIntro": "Tre kontrollsekvenser:",
"ctrlItems": [
"<code>Ctrl+C</code> — avbryt kommandot som körs (<code>\\x03</code>).",
"<code>Ctrl+X</code> — avsluta <code>nano</code> (<code>\\x18</code>).",
"<code>Ctrl+R</code> — sök bakåt i bash-historiken (<code>\\x12</code>)."
],
"modalTitle": "Samma verktygsfält i dialogrutan för LXC-konsolen",
"modalBody": "Konsolen som öppnas från <link>VM och LXC → Konsol</link> visar samma tangentbordsknappar under dialogrutan. Vid anslutning skriver den automatiskt <code>pct enter &lt;vmid&gt;</code>, så att du kommer direkt in i containern."
},
"lxcAlt": "LXC-konsolens dialogruta i ProxMenux Monitor — Terminal: ubuntu (ID: 103), med samma mobilanpassade verktygsfält (ESC, TAB, pilar, Enter, Ctrl) under terminalen",
"lxcCaption": "LXC-konsolen öppnad från <em>VM och LXC → Konsol</em>. Rubriken visar målcontainern (<em>Terminal: ubuntu (ID: 103)</em>) och samma pekanpassade verktygsfält finns under terminalen.",
"search": {
"heading": "Sök kommandon — inbyggd snabbguide",
"intro": "Den blå knappen <strong>Sök</strong> öppnar ungefärlig kommandosökning. Skriv några bokstäver i ett Linux- eller Proxmox-kommando (<code>ls</code>, <code>tar</code>, <code>qm</code>, <code>pct</code>, <code>zpool</code>, <code>systemctl</code>…) för att se exempel med <em>Skicka till aktiv terminal</em> med ett tryck. Då kan du hitta en flagga utan att byta webbläsarflik.",
"modalAlt": "ProxMenux Monitor — dialogrutan Sök kommandon med ungefärlig sökning efter Linux- och Proxmox-kommandon via cheat.sh och flera ls-exempel",
"modalCaption": "Sökning efter <code>ls</code> — varje resultat visar kommandot, dess beskrivning och en liten pil för att skicka det till aktiv terminal. Datakällan visas längst ner till höger (<em>Data från cheat.sh</em>).",
"aboutLabel": "Om cheat.sh:",
"aboutBody": "är en snabbguide med öppen källkod som underhålls av gemenskapen och samlar korta praktiska exempel för hundratals Linux-kommandon, administrationsverktyg och programmeringsspråk. Den skapades för <code>curl cheat.sh/&lt;command&gt;</code> i terminalen men kan även nås i webbläsaren. ProxMenux Monitor vidarebefordrar frågorna genom en proxy på servern så att dialogrutan har samma ursprung som översikten.",
"headerSource": "Källa",
"headerWhen": "När den används",
"headerWhat": "Vad du ser",
"onlineLabel": "(online)",
"onlineWhen": "När värden har internetåtkomst och cheat.sh proxy svarar.",
"onlineWhat": "Flera praktiska exempel per kommando med beskrivningen ovanför. Statuspunkten i dialogrutans rubrik är <green>grön</green>.",
"fallbackLabel": "Lokal reservlista",
"fallbackWhen": "När cheat.sh är oåtkomlig (offline värd, restriktiv brandvägg, cheat.sh avbrott).",
"fallbackWhat": "En medföljande lista med vanliga Linux- och Proxmox-kommandon. Mindre katalog, men alltid tillgänglig. Statuspunkten är <red>röd</red>.",
"sendingNote": "<strong>Så fungerar sändning</strong>: pilen bredvid resultatet skickar texten till aktiv terminal (vald flik eller den terminal du senast klickade på i rutnätet). Dialogrutan stängs automatiskt så att du kan trycka på Enter."
},
"auth": {
"heading": "Autentisering",
"items": [
"Webbläsaren begär först en engångsbiljett via <code>POST /api/terminal/ticket</code> med JWT i <code>Authorization</code>-huvudet. Biljetten skickas sedan när WebSocket öppnas och löper ut efter 5 sekunder. Om autentisering är aktiverad och biljetten saknas eller är ogiltig stängs anslutningen innan en PTY skapas.",
"Om Monitor ligger bakom en omvänd proxy måste den vidarebefordra WebSocket-uppgraderingar. Exempel för Nginx / Caddy / Traefik finns på <link>Åtkomst och autentisering</link>."
]
},
"clipboard": {
"heading": "Urklipp, rullningshistorik och storleksändring",
"items": [
"<strong>Kopiera och klistra in</strong> — använder webbläsarens urklipp. Markera text med mus eller styrplatta och använd systemets kortkommando (<code>Cmd+C</code> på macOS, <code>Ctrl+Shift+C</code> på Linux/Windows). Linux-skrivbord stöder även inklistring med mittenknappen.",
"<strong>Rullningshistorik</strong> — rulla med hjul eller två fingrar. xterm.js behåller de senaste flera tusen raderna i minnet.",
"<strong>Ändra storlek</strong> — terminalen anpassar PTY-fönstrets storlek när översiktens panel ändras, så att <code>htop</code> och <code>vim</code> visas korrekt.",
"<strong>Återanslutning när fliken får fokus</strong> — appbyte på telefon eller surfplatta, särskilt iPad, kan bryta WebSocket. Terminalfliken upptäcker synlighetsändringen och återansluter när du kommer tillbaka, med 15 sekunders tidsgräns för långsamma VPN-anslutningar."
]
},
"disconnect": {
"heading": "Orsaker till frånkoppling",
"intro": "De vanligaste orsakerna till att en session slutar och vad man ska göra åt varje:",
"headerCause": "Orsak",
"headerFix": "Lösning",
"rows": [
{
"cause": "Sessionens JWT har löpt ut när en terminal öppnas eller återansluts (24 timmar).",
"fix": "Uppdatera sidan och logga in igen. Terminalen är inte utformad för obevakade sessioner, så JWT-livslängden matchar den vanliga instrumentpanelen inloggning."
},
{
"cause": "Tidsgräns för inaktivitet i den omvända proxyn.",
"fix": "Öka <code>proxy_read_timeout</code> i Nginx eller motsvarande i Caddy / Traefik (exempel under Åtkomst och autentisering)."
},
{
"cause": "Telefon eller surfplatta i viloläge.",
"fix": "När enheten vaknar återansluts fliken automatiskt (15 sekunders tidsgräns för VPN-anslutningar). Ladda annars om fliken."
},
{
"cause": "Tjänsten startas om på värden.",
"fix": "Varje omstart av <code>proxmenux-monitor.service</code> stänger alla PTY:er. Öppna nya terminaler när översikten har laddats om."
}
]
},
"warning": {
"title": "Terminalen är ett root-skal på värden",
"body": "Terminalen ärver systemd-enhetens användare (<code>root</code>) och har fulla rättigheter på Proxmox-värden. Ställ in användarnamn, lösenord och 2FA under <authLink>Åtkomst och autentisering</authLink> innan du tillåter åtkomst utanför det lokala nätverket. Om autentisering är avstängd kan alla som når port 8008 öppna ett root-skal utan fler frågor eller SSH-inloggningsuppgifter. Använd <gatewayLink>Secure Gateway</gatewayLink> (Tailscale) eller en HTTPS-proxy för extern åtkomst i stället för att öppna porten mot internet."
},
"whereNext": {
"heading": "Nästa steg",
"items": [
{
"label": "Åtkomst och autentisering",
"href": "/docs/monitor/access-auth",
"tail": " — exempel för omvänd proxy med de WebSocket-uppgraderingsrader som terminalen kräver."
},
{
"label": "Arkitektur",
"href": "/docs/monitor/architecture",
"tail": " — WebSocket-transport (HTTP via flask-sock och HTTPS / WSS via gevent)."
},
{
"label": "API-referens",
"href": "/docs/monitor/api",
"tail": " — WebSocket-slutpunkterna /ws/terminal och /ws/script/<sid> tillsammans med resten av API:et."
},
{
"label": "Integrationer → Secure Gateway",
"href": "/docs/monitor/integrations",
"tail": " — när du vill ha terminal åtkomst utanför LAN utan att exponera port 8008."
},
{
"label": "Översiktsindex",
"href": "/docs/monitor/dashboard",
"tail": " — de andra flikarna."
}
]
}
}
@@ -0,0 +1,245 @@
{
"meta": {
"title": "LXC App-flik: upptäckt, länkar och versionsspårning | ProxMenux",
"description": "Upptäck och registrera LXC-program, skapa webblänkar och eventuellt spåra installerade och tillgängliga versioner."
},
"header": {
"title": "LXC App-flik: upptäckt, länkar och versionsspårning",
"description": "Ge varje LXC-applikation en ihållande identitet, webbåtkomst och valfria versionsbevis utan att koppla registrering till uppdateringar."
},
"intro": {
"p1": "Fliken <strong>App</strong> registrerar vilka appar som hör till en LXC. En post kan innehålla bara namn och webblänk eller även en detektor för installerad version och en uppströmskälla.",
"p2": "Förfarandet som ändrar programvara ställs in separat på <link>fliken Uppdateringar</link>. Att spara en app kör aldrig ett installations- eller uppdateringsprogram.",
"callout": "Registrering, versionsspårning och uppdatering är tre oberoende funktioner. Alla kan användas utan att kräva de andra två.",
"dashboardTitle": "Från registrering till Apps-startvyn",
"dashboard": "Varje sparad webblänk visas också som kort på den övergripande <appsLink>Apps-fliken</appsLink>. Den här LXC-sidan är fortfarande den centrala källan för namn, logotyp, länkar och versionsspårning."
},
"overview": {
"heading": "Vad en appost kan innehålla",
"lead": "En sparad post kan innehålla:",
"items": [
"Ett visningsnamn och en logotyp som anpassas till temat.",
"En eller flera klickbara webblänkar byggda från LXC-adressen, schemat och sparad port.",
"En valfri detektor för den version som för närvarande är installerad i LXC.",
"En valfri GitHub, HTTP JSON eller Docker Hub-källa för den senaste tillgängliga versionen.",
"Aviseringar om nya versioner och val för inkludering i uppdateringsräknaren per app.",
"En motsvarande sektion på fliken Uppdateringar, även när versionsspårning är inaktiverad."
]
},
"discovery": {
"heading": "Cachad upptäckt och Hitta appar",
"lead": "Appförslag ingår i cachen för varje LXC-dialogruta. Startsökningen förbereder dem i bakgrunden så att App-fliken genast kan visa sparade resultat.",
"items": [
"Om du öppnar fliken App startar <strong>inte</strong> en ny katalogsökning och frågar inte LXC upprepade gånger.",
"<strong>Hitta appar</strong> kör uttryckligen en ny sökning för den LXC:n. Använd den efter att ny programvara installerats medan ProxMenux redan körs.",
"Den tidigare listan förblir synlig medan sökningen körs. Nya träffar läggs till när den är klar.",
"Om ingen ny träff hittas visas resultatet vid åtgärderna och <strong>Registrera app</strong> är fortfarande tillgängligt för manuell inmatning.",
"Spara, ta bort eller återställa en app uppdaterar samma cache omedelbart. Starta eller återställa en LXC uppdateringar bara den gästen genom sin befintliga livscykel händelse."
],
"callout": "Ett förslag är ingen registrering. Det förblir skrivskyddat tills <strong>Registrera</strong> väljs och formuläret sparas."
},
"registration": {
"heading": "Registrera en app",
"lead": "Ett upptäckt förslag och en manuell post använder samma redigerare:",
"steps": [
"Välj <strong>Registrera</strong> på ett förslag eller <strong>Registrera app</strong> för att välja från katalogen eller ange ett eget namn.",
"Granska namnet och logotypen som föreslås av katalogen.",
"Lägg till nödvändiga webblänkar. Upptäckta lyssningsportar erbjuds som genvägar, men ingen sparas automatiskt.",
"Låt <strong>Spåra uppströmsversion</strong> vara avstängt för poster med enbart länkar, eller aktivera det och kontrollera detektorn för installerad version samt uppströmskällan.",
"Använd <strong>Testa detektor</strong> när spårning är aktiverad och spara sedan posten.",
"Välj <strong>Klar</strong> efter redigering. App- och Uppdateringar-flikarna återanvänder den uppdaterade cachade posten."
]
},
"catalog": {
"heading": "Katalogstödd registrering",
"lead": "Katalogen ger standardvärden men den sparade posten kan fortfarande redigeras.",
"items": [
"Sökresultat kan fylla det kanoniska namnet, logotypen och vanliga webbportar.",
"Kända versionsdetektorer är baserade på riktiga paketnamn, binärer, filer, Python-distributioner, OCI-etiketter eller kommandon snarare än ett universellt <code>/root/.app</code>-antagande.",
"Verifierade korrigeringar för verkliga installationer har företräde när en sökväg skiljer sig från installationsprogrammets metadata.",
"Proxmox VE Helper-Scripts markörer som <code>/root/.slug</code> förblir en kompatibilitetssignal för nyare hjälparinstallationer, inte den enda detektorn.",
"Varje föreslaget värde kan redigeras innan du sparar för att täcka officiella installatörer och manuella installationer."
]
},
"docker": {
"heading": "Hur Docker LXC representeras",
"lead": "För en LXC vars primära plattform är Docker, är <strong>Docker</strong> programmet registrerat på LXC nivå.",
"items": [
"En containeriserad arbetsbelastning som Portainer, Frigate eller Vaultwarden föreslås inte som en oberoende LXC-applikation.",
"Körande Docker-tjänster med publicerade TCP-portar erbjuds som valfria webblänkar i Docker-redigeraren.",
"Varje föreslagen länk visar tjänsten, värdporten och containerporten. Endast länkar som tillhandahåller ett webbgränssnitt bör sparas.",
"Dockers allmänna logotyp används om länken saknar en egen. En logotyp som ställs in per länk ersätter den.",
"Efter registrering visas uppdateringar av Docker Engine och avbildningar tillsammans i Docker-avsnittet på fliken Uppdateringar."
],
"callout": "Denna struktur förhindrar en Docker arbetsbelastning från att se ut som programvara installerad direkt i LXC samtidigt bevara snabba länkar till dess gränssnitt."
},
"webLinks": {
"heading": "Webblänkar och logotyper",
"lead": "Webblänkar fungerar med eller utan versionsspårning.",
"items": [
"Varje länk sparar protokollschema, port, valfri beskrivning och valfri logotyp-URL.",
"Den visade webbadressen använder den aktuella adressen som redan upptäckts för LXC; adressen är inte duplicerad i varje apppost.",
"En länk utan sin egen logotyp faller tillbaka till app-nivå logotypen.",
"Flera länkar kan representera ett admingränssnitt, API, sekundär UI eller annan slutpunkt i samma app.",
"En sparad länk-bara app visas också på uppdateringar, där en anpassad uppdaterare kan konfigureras senare."
]
},
"tracking": {
"heading": "Valfri versionsspårning",
"lead": "Spårning kombinerar en installerad-version detektor med en valfri uppströmskälla. De två sidorna kontrolleras oberoende.",
"colMethod": "Metod för att upptäcka installerad version",
"colUse": "Användning",
"detectorRows": [
{
"method": "dpkg / apk",
"use": "Läser den installerade paketversionen från Debian, Ubuntu eller Alpine paketmetadata."
},
{
"method": "binary",
"use": "Kör en binärfil via absolut sökväg eller ett kommandonamn med versionsargument."
},
{
"method": "file + regex",
"use": "Läser en riktig fil och extraherar versionen med en fångstgrupp."
},
{
"method": "docker label / docker exec",
"use": "Läser en OCI-versionsetikett eller kör ett versionskommando i en Docker-container."
},
{
"method": "python distribution",
"use": "Använder importlib.metadata via den valda Python-tolken."
},
{
"method": "command",
"use": "Kör ett avancerat kommando i argv-format utan skal och extraherar versionen från dess utdata."
},
{
"method": "manual",
"use": "Lagrar en version som anges manuellt; den måste ändras efter uppgradering av appen."
},
{
"method": "OCI image",
"use": "För containrar installerade via OCI manager Apps. Läser app- och avbildningsversioner från installationsposten och jämför installerat digest med det som registret publicerar. Ingen konfigurering behövs."
}
],
"sourcesHeading": "Källor för tillgänglig version",
"sources": [
"<strong>GitHub-arkiv</strong>: senaste utgåva eller tagg från ett offentligt <code>owner/name</code>-arkiv.",
"<strong>HTTP JSON</strong>: en offentlig slutpunkt plus en prickad väg som <code>data.version</code> eller <code>releases[0].tag_name</code>.",
"<strong>Docker Hub</strong>: versionstaggar filtrerade med ett reguljärt uttryck. En förhandsvisning visar verkliga matchande taggar innan posten sparas.",
"Rörliga taggar som <code>latest</code>, <code>stable</code> eller <code>lts</code> innehåller ingen version. Spåra dessa avbildningar via digest i Docker-avbildningsuppdateringarna."
],
"regexHeading": "Skriv fångstuttrycket",
"regexLead": "Det reguljära uttrycket måste returnera versionen i sin <strong>första fångstgrupp</strong>.",
"regexRules": [
"Matcha texten som avges av den valda binära, fil, kommando eller tag källa; gissa inte en generisk väg.",
"Skriv bokstavliga punkter som <code>\\.</code> så att de inte matchar godtyckliga tecken.",
"Tillåt en ledande <code>v</code> endast när källan kan inkludera den.",
"Inkludera suffix som prerelease eller distro revideringar endast när de är meningsfulla för jämförelsen.",
"Använd <strong>Testa detektor</strong> innan du sparar och kontrollera att installerad version stämmer med LXC:n."
],
"regexExampleLead": "Vanligt uttryck för att fånga en semantisk version:",
"regexExample": "v?(\\d+\\.\\d+\\.\\d+)",
"regexCallout": "En framgångsrik regex match är inte ett bevis på att detektorvägen är korrekt. Vägen eller paketet måste också finnas i den verkliga installationen som registreras."
},
"updater": {
"heading": "Versionsspårning och uppdatering är oberoende",
"lead": "<link>Fliken Uppdateringar</link> skapar ett appavsnitt så snart en appost sparas.",
"items": [
"En post med enbart länkar visar att versionsspårning inte är inställd men kan ändå få ett eget uppdateringskommando.",
"En app med spårning men utan en körbar metod visar ett neutralt meddelande som ber om ett anpassat kommando.",
"En app med ett verifierat Proxmox VE Helper-Scripts-omslagsskript kan använda det inbyggda uppdateringsprogrammet även om registreringen började med en webblänk.",
"Lägga till eller redigera en uppdaterare ändrar inte detektorn eller uppströmskällan lagrad på fliken App."
]
},
"states": {
"heading": "Versionsstatus på App-kortet",
"colState": "Tillstånd",
"colDisplay": "Visning",
"colMeaning": "Betydelse",
"rows": [
{
"state": "Uppdatering tillgänglig",
"display": "Tillgänglig version i lila med en uppåtpil ikon",
"meaning": "De installerade och uppströms versionerna skiljer sig."
},
{
"state": "Aktuell",
"display": "Installerade och senaste versioner utan lila varning",
"meaning": "Den sista kontrollen hittade ingen nyare uppströms version."
},
{
"state": "Versionsspårning väntar",
"display": "Kontroll pågår eller väntar",
"meaning": "Posten är konfigurerad men båda kontrollerna har ännu inte slutförts."
},
{
"state": "Versionsspårning avstängd",
"display": "Webblänkar endast; inget versionsjämförelseblock",
"meaning": "Posten förblir giltig och kan fortfarande ha ett uppdateringsprogram."
},
{
"state": "Kontrollfel",
"display": "Förklaring i bärnstensfärg inuti kortet",
"meaning": "Det tidigare sparade tillståndet förblir synligt medan fel från detektorn eller uppströmskällan visas."
}
]
},
"management": {
"heading": "Hantera sparade och föreslagna appar",
"lead": "Åtgärderna längst ner på fliken har olika roller:",
"items": [
"<strong>Hitta appar</strong> uppdaterar upptäckten enbart för denna LXC.",
"<strong>Registrera en annan app</strong> öppnar katalogen och den manuella redigeraren utan att söka igenom LXC:n på nytt.",
"<strong>Redigera</strong> visar Ta bort, Kontrollera, aviseringar och Redigera fält för varje kort.",
"<strong>Dölj</strong> tar bort ett oönskat förslag. Dolda upptäckter kan återställas från registreringsvyn.",
"<strong>Kontrollera</strong> uppdaterar den sparade appens versionsdata utan att söka efter nya appar."
]
},
"troubleshooting": {
"heading": "Vanliga situationer",
"colProblem": "Situation",
"colResolution": "Lösning",
"rows": [
{
"problem": "Programvara installerades efter ProxMenux startade",
"resolution": "Välj Hitta appar. Den uttryckliga sökningen uppdaterar de cachade förslagen för LXC:n."
},
{
"problem": "Ingen app upptäcktes",
"resolution": "Registrera det manuellt. Ett namn och en webblänk räcker; spårning kan läggas till senare."
},
{
"problem": "Den föreslagna detektorn returnerar fel version",
"resolution": "Öppna redigeringsfält, välj det verkliga paketet, binär eller filvägen och testa detektorn innan du sparar."
},
{
"problem": "En Docker arbetsbelastning erbjuds inte som en LXC app",
"resolution": "Registrera Docker och lägg till tjänstens publicerade gränssnitt som Docker-webblänk. Avbildningsuppdateringar finns kvar i Docker-avsnittet."
},
{
"problem": "En sparad app har ingen uppdateringsknapp",
"resolution": "Öppna fliken Uppdateringar och konfigurera dess uppdateringsmetod. Enbart versionsspårning definierar inte hur en uppdatering installeras."
}
]
},
"figures": {
"catalog": {
"alt": "Appregistreringskatalog med sökresultat, logotyper, portar och detektorfält",
"caption": "Katalogmetadata accelererar registrering medan varje föreslaget värde förblir redigerbart."
},
"webLinks": {
"alt": "Sparat LXC-appkort med en klickbar webblänk",
"caption": "En post med bara länkar är giltig: versionsspårning kan förbli avstängd och ett uppdateringsprogram kan läggas till separat."
},
"tracking": {
"alt": "Valfri installerad-version detektor och uppströms källfält",
"caption": "Installerad versionsdetektering och uppströmskällan är konfigurerade och testade separat."
},
"card": {
"alt": "Sparat applikationskort med installerade och tillgängliga versioner plus en webblänk",
"caption": "Kortet kombinerar identitet, versionsbevis och webbåtkomst utan att köra uppdateringsåtgärder från den här fliken."
}
}
}
@@ -0,0 +1,203 @@
{
"meta": {
"title": "LXC-uppdateringar: OS, appar och Docker | ProxMenux",
"description": "Konfigurera och köra uppdateringar av operativsystem, appar, Docker Engine och Docker-avbildningar i en LXC-container."
},
"header": {
"title": "LXC-uppdateringar: OS, appar och Docker",
"description": "Granska varje uppdateringsmål på ett ställe, kör det självständigt eller kombinera utvalda mål i en kontrollerad bulk åtgärd."
},
"intro": {
"p1": "Fliken <strong>Uppdateringar</strong> skiljer versionskontroll från installationen. Registrering och valfri versionsspårning finns på <link>App-fliken</link>; körbara uppdateringsmetoder hanteras här.",
"p2": "En sparad applikation visas i uppdateringar även när den endast innehåller en webblänk. Versionsspårning är frivillig, och en uppdaterare kan konfigureras oberoende.",
"callout": "Registrering väljer inget uppdateringsprogram. Om ett matchande Helper-Scripts-program upptäcks, välj och spara <strong>Helper-Scripts</strong> eller <strong>Eget kommando</strong>. Upptäckt garanterar inte kompatibilitet. Valet görs per app även om flera delar en LXC."
},
"overview": {
"heading": "Vad fliken innehåller",
"lead": "Varje tillgängligt mål har sin egen sektion och handling:",
"items": [
"<strong>OS-paket</strong> för Debian-, Ubuntu- och Alpine-containrar.",
"Ett avsnitt per <strong>registrerad app</strong>, även poster med enbart en länk.",
"En <strong>Docker</strong> sektion när Docker är registrerad, med Docker Engine och taggade avbildningar grupperade tillsammans.",
"Ett konfigurerbart avsnitt <strong>Gruppuppdatering</strong> följt av alternativ för säkerhetskopiering, omstart och schemaläggning."
]
},
"mechanisms": {
"heading": "Hur en uppdateringsmetod väljs",
"lead": "Den inbyggda vägen för Proxmox VE Helper-Scripts följer den officiella <helper>update-apps-mekanismen</helper>. Andra installationer använder rätt paket-, Docker- eller egen metod.",
"officialReference": "Officiell referens: <helper>Proxmox VE Helper-Scripts dokumentation för update-apps</helper> beskriver interaktiva och obevakade lägen, säkerhetskopior, provkörningar, tillfälliga byggresurser, loggar och slutkoder.",
"colSource": "Källa",
"colAction": "Visad åtgärd",
"colNotes": "Vad som körs",
"rows": [
{
"source": "APT- eller APK-paket",
"action": "Applicera OS-uppdateringar",
"notes": "Uppdaterar containerpaketen. Registrerade appar installerade som dpkg eller apk-paket täcks av samma pass."
},
{
"source": "Proxmox VE Helper-Scripts",
"action": "Tillämpa uppdatering",
"notes": "Efter ett uttryckligt val av Helper-Scripts körs det officiella appskript som identifieras via det validerade /usr/bin/update-omslagsskriptet. En markör eller katalogträff räcker aldrig för att tillåta körning."
},
{
"source": "Eget kommando",
"action": "Kör uppdateringsprogrammet",
"notes": "Kör det sparade kommandot i LXC:n och ersätter postens eventuella inbyggda uppdateringsprogram."
},
{
"source": "Docker Engine",
"action": "Uppdatera Docker Engine",
"notes": "Uppdaterar bara installerade Docker-paket och nödvändiga beroenden. Andra OS-paket och containrar ändras inte."
},
{
"source": "Docker-avbildning",
"action": "Uppdatera avbild",
"notes": "Hämtar vald avbildning och återskapar dess Compose-tjänstegrupp eller skyddade fristående container."
}
],
"callout": "Ett eget kommando <strong>ersätter</strong> Helper-Scripts för appen. Manuella, gruppvisa och schemalagda körningar följer det sparade valet. Befintliga kommandon och uttryckligen sparade äldre grupp- eller aktiva schemaval behålls; en nyregistrerad app väljs aldrig in av ett gammalt schema."
},
"docker": {
"heading": "Docker Engine och Docker avbildningar",
"lead": "Efter registrering av Docker på App-fliken visas Docker Engine och avbildningsinventeringen i samma <strong>Docker</strong>-avsnitt.",
"items": [
"Docker Engine-versionsspårning är separat från OS-paketräknaren och har en egen uppdateringsknapp.",
"Lokala avbildningar med taggar jämförs med registret via oföränderliga digest. <strong>Kontrollera nu</strong> uppdaterar inventeringen utan att hämta avbildningar eller starta om containrar.",
"Compose-tjänster uppdateras från sitt deklarerade projekt. Avbildningar i samma grupp hanteras tillsammans så att projektet inte återskapas upprepade gånger.",
"En fristående container återskapas från sin nuvarande konfiguration. Det skyddade flödet behåller återställningsdata och återställer den tidigare containern om återskapandet misslyckas.",
"Varje avbildning kan väljas separat vid manuella, gruppvisa och schemalagda uppdateringar, utom deklarerade Compose-beroenden som måste följa huvudtjänsten."
],
"callout": "Docker-containrar visas inte som fristående LXC-appar. Publicerade webbportar kan sparas som länkar under Docker-registreringen, medan uppdateringar av avbildningar finns i Docker-avsnittet."
},
"actions": {
"heading": "Individuella åtgärder och statusfärger",
"lead": "Varje avsnitt förblir oberoende genomförbart, oavsett om en bulkuppdatering är konfigurerad.",
"items": [
"<strong>Konfigurera</strong> öppnar metodväljaren när ingen metod är vald; <strong>Redigera</strong> ändrar ett sparat val. Informationsknapparna förklarar alternativen, länkar till officiell dokumentation och visar ett exempel på eget skript. Att välja kör inte alternativet.",
"Utan versionsspårning men med ett uppdateringsprogram visas den neutrala åtgärden <strong>Kör uppdateringsprogram</strong>. ProxMenux hävdar inte att en uppdatering väntar.",
"Utan ett tillgängligt Helper-Scripts-program kan ett eget kommando anges. Att inaktivera en metod väljer inte tyst en annan; befintliga plan- och schemaval sparas och otillgängliga mål rapporteras.",
"<strong>Uppdatera avbildning</strong> gäller bara vald Docker-enhet; Docker Engine och orelaterade avbildningar uppdateras inte."
],
"statusColState": "Känt tillstånd",
"statusColAppearance": "Utseende",
"statusColMeaning": "Betydelse",
"statusRows": [
{
"state": "Verifierad uppdatering tillgänglig",
"appearance": "Lila text, uppåtpil ikon och lila handling",
"meaning": "Installerad och tillgänglig version, eller avbildningarnas digest, skiljer sig åt."
},
{
"state": "Verifierat aktuellt",
"appearance": "Grön bock och grön åtgärd Uppdaterad",
"meaning": "Den senaste genomförda kontrollen bekräftar att målet är aktuellt."
},
{
"state": "Version okänd",
"appearance": "Neutral text och neutral handling",
"meaning": "Uppdateringsprogrammet kan köras, men versionsdata saknas för att ange om målet är aktuellt eller har en väntande uppdatering."
}
]
},
"custom": {
"heading": "Anpassade uppdateringskommandon",
"lead": "Använd ett eget kommando när installationen saknar verifierat inbyggt uppdateringsprogram eller när det normala förfarandet måste ersättas.",
"items": [
"Öppna <strong>Konfigurera</strong> när fältet är tomt eller <strong>Redigera</strong> när en metod redan finns.",
"För en inbyggd app eller Docker Engine visar redigeraren det aktuella kommandot. Annat sparat innehåll blir en uttrycklig ersättning för posten.",
"Testa hela proceduren i LXC-terminalen först. Det måste vara icke-interaktivt, använd rätt arbetskatalog och returnera en icke-noll exit status på misslyckande.",
"Ta inte med <code>pct exec</code>; ProxMenux går redan in i containern och kör kommandot som root."
],
"exampleLead": "Exempel på ett komplett in-container-förfarande:",
"example": "cd /opt/my-app && ./update.sh",
"callout": "Ett kommando som <code>myapp --version</code> läser bara en version och är inget uppdateringsprogram. Kommandon körs med administratörsrättigheter; granska innehållet lika noga som ett root-skalkommando."
},
"bulk": {
"heading": "Gruppuppdatering",
"lead": "Gruppuppdatering skapar en återanvändbar åtgärd för exakt valda mål i LXC:n. Den ligger efter app- och Docker-avsnitten och före <strong>Alternativ</strong>.",
"items": [
"OS-paket är obligatoriska. Minst en ytterligare app, Docker Engine eller Docker-avbildningsenhet måste väljas.",
"Appar och Docker-enheter väljs individuellt. Huvudtjänsten i Compose visar vilka beroenden som följer med.",
"Otillgängliga eller borttagna mål markeras som inaktuella och måste tas bort innan inställningen kan sparas.",
"<strong>Tillämpa uppdateringar</strong> är lila om något mål har en verifierad uppdatering, grönt om alla är verifierat aktuella och neutralt om resultatet är okänt.",
"Ta bort bulkkonfigurationen tar inte bort enskilda uppdateringsmetoder eller schemalagda inställningar."
],
"callout": "Bulk-uppdateringen ersätter inte de enskilda knapparna. Det är en valfri genväg för ett val som ska köras tillsammans."
},
"options": {
"heading": "Alternativ för säkerhetskopiering och omstart",
"lead": "Samma alternativ gäller för manuella, bulk och schemalagda körningar:",
"items": [
"<strong>Snapshot innan applicering</strong> skapar en vzdump backup på den valda lagringen. Om den nödvändiga säkerhetskopian misslyckas startar uppdateringen inte.",
"<strong>Starta om efter tillämpning</strong> startar bara om LXC:n efter en lyckad körning.",
"Urvalen lagras per LXC och förblir oberoende från mållistan."
]
},
"scheduled": {
"heading": "Schemalagda uppdateringar",
"lead": "Planerade uppdateringar använder samma körbara mål och säkerhetsalternativ som manuella åtgärder.",
"items": [
"Välj en förinställd frekvens eller ett cron-uttryck och sedan exakta mål: OS-paket, appar, Docker Engine, fristående Docker-enheter eller Compose-tjänstegrupper.",
"Väntetid efter en release gäller bara valda appar med versionsspårning. Appar utan spårning kör sitt uppdateringsprogram varje gång schemat är förfallet.",
"Den senaste körningens status skiljer mellan lyckad, delvis slutförd, misslyckad, säkerhetspaus och inga väntande uppdateringar. Efter den första schemalagda körningen öppnar <strong>Uppdateringar → Schemalagda uppdateringar → Visa logg</strong> hela utdata från uppdateringsprogrammet och dess underskript.",
"Efter varje körning kontrollerar ProxMenux standarden Debian reboot-krävd markör. När en omstart behövs, säger fliken Uppdateringar och slutförandet meddelandet så; varningen rensas när LXC startar eller startar om.",
"På Proxmox värd lagras schemalagda loggar i <code>/usr/local/share/proxmenux/logs/lxc-updates/</code> med namnet <code>&lt;VMID&gt;-scheduled-&lt;run-id&gt;.log</code>. De senaste tio loggar sparas per LXC och äldre filer tas bort automatiskt.",
"Den sparade historiken gäller schemalagda uppdateringar. En manuell uppdatering visar utdata direkt i Monitors körningsfönster och skapar ingen schemalagd logg i katalogen.",
"Externa värdscheman som upptäckts från Proxmox VE Helper-Scripts visas separat så överlappande automatisering är synlig."
],
"callout": "Kör varje vald metod manuellt innan ett schema aktiveras. Schemalagda kommandon kan inte svara på interaktiva frågor."
},
"completion": {
"heading": "Vad händer efter en uppdatering",
"lead": "Uppdateringen räknas inte som färdig enbart för att terminalkommandot avslutas.",
"items": [
"Samma körning registrerar sitt slutresultat och uppdaterar OS-paketstatus, registrerade appversioner och Docker-inventering som tillämpligt.",
"Planerade körningar behåller sin terminalutgång och rapporterar om en omstart fortfarande krävs för att slutföra paketändringar.",
"LXC-cache ersätts med det verifierade post-update-tillståndet, så märken och knappar behåller inte det tidigare resultatet.",
"Om en stoppad eller restaurerad LXC startar, uppdaterar den befintliga livscykelhändelsen att LXC igen. Docker-inventeringen väntar på att daemonen ska bli redo istället för att cacha ett tomt startresultat som slutgiltigt.",
"Aktiverade aviseringar skickas från den slutförda körningen, inklusive partiella fel och grupperade resultat för Docker-avbildningar."
]
},
"troubleshooting": {
"heading": "Vanliga situationer",
"colProblem": "Situation",
"colResolution": "Lösning",
"rows": [
{
"problem": "Ingen uppdateringsmetod har identifierats",
"resolution": "Öppen konfiguration, lägg till den officiella icke-interaktiva proceduren och testa den manuellt innan du schemalägger den."
},
{
"problem": "En Proxmox VE Helper-Scripts-identitet visas men ingen handling existerar",
"resolution": "LXC:n har äldre identifieringsdata men inget verifierat /usr/bin/update-omslagsskript. Lägg till en egen metod först när rätt förfarande har bekräftats."
},
{
"problem": "Docker avbildningar är tillfälligt tomma efter start eller återställning",
"resolution": "Vänta tills Docker är redo eller välj Kontrollera nu. Inventeringen försöker igen vid start och behandlar inte ett tillfälligt tomt resultat som slutgiltigt."
},
{
"problem": "Ett sparat bulkmål är inte längre tillgängligt",
"resolution": "Redigera gruppinställningen, ta bort det inaktuella målet och välj dess nuvarande ersättare om den finns."
},
{
"problem": "Ett anpassat kommando misslyckas",
"resolution": "Kör den i LXC-terminalen och granska dess väg, beroenden, icke-interaktiva flaggor och exitkod."
},
{
"problem": "En schemalagd uppdatering säger att en omstart krävs",
"resolution": "Öppna Visa logg för att granska den slutförda körningen och starta sedan om den LXC:n. ProxMenux rensar varningen när livscykelhändelsen registrerar den nya starten."
}
]
},
"figures": {
"osPending": {
"alt": "OS-paket med antal väntande uppdateringar och säkerhetsuppdateringar",
"caption": "OS-avsnittet håller paketuppdateringar åtskilda från app- och Docker-åtgärder."
},
"options": {
"alt": "LXC uppdateringsalternativ med pre-update backup och post-update omstart",
"caption": "Val för säkerhetskopiering och omstart gäller manuella, gruppvisa och schemalagda körningar."
}
}
}
@@ -0,0 +1,244 @@
{
"meta": {
"title": "ProxMenux Monitor — Översikt: VM och LXC | ProxMenux-dokumentation",
"description": "Inventering av gäster med CPU, minne och disk i realtid. Detaljerna visar konfiguration, resurser, säkerhetskopior, senaste Proxmox-loggresultat, anteckningar och Starta / Stäng av / Starta om / Tvinga stopp."
},
"header": {
"title": "Översikt: VM och LXC",
"description": "Hela nodens gästinventering: fyra mätvärden överst, en sorterbar lista över VM och LXC samt gästdetaljer med konfiguration, resurser, säkerhetskopior, loggar och Starta / Stäng av / Starta om / Tvinga stopp.",
"section": "ProxMenux Monitor · Översikt"
},
"intro": {
"title": "Kontroller för gäster",
"body": "Här styr du gästernas livscykel. Åtgärder går via <code>POST /api/vms/&lt;vmid&gt;/control</code> efter uttrycklig bekräftelse och uppdaterar gästens rad. Tvingad avstängning kräver den särskilda knappen Tvinga stopp."
},
"topRow": {
"heading": "Övre raden: fyra statistikkort",
"intro": "Fyra kort sammanfattar gästernas tillstånd: antal, CPU-användning, tilldelat minne jämfört med värdens kapacitet och disktilldelning.",
"imageAlt": "VMs & LXCs-fliken - topprad på fyra statskort: Total VMs & LXCs, Total CPU, Total Memory, Total Disk",
"imageCaption": "Övre raden: totaler och Körs / Stoppade, aktuell CPU-användning, använt minne / tilldelat körande gäster / totalt tilldelat med Inom gränserna samt tilldelat diskutrymme.",
"headerCard": "Kort",
"headerWhat": "Vad det visar",
"totalLabel": "Totalt VM och LXC",
"totalWhat": "Totalräkning med två märken - <em>X Running</em> (grön) och <em>Y Stopped</em> (röd, endast när > 0). Numret du tittar på när något inte kom tillbaka efter en omstart.",
"cpuLabel": "Total CPU",
"cpuWhat": "Gästernas sammanlagda aktuella CPU-användning som andel av värdens fysiska CPU, med texten <em>”Tilldelad CPU-användning”</em>.",
"memoryLabel": "Totalt minne",
"memoryIntro": "Tre avläsningar staplade vertikalt:",
"memoryItems": [
"<strong>Används nu</strong> — huvudvärde, exempelvis <em>15.4 GB</em>, och <em>X.X % av Y GB</em> av värdens RAM. Den blå stapeln visar procentandelen.",
"<strong>Tilldelat körande</strong> + <strong>Totalt tilldelat</strong> — summan av <code>maxmem</code> för <em>körande</em> gäster bredvid summan för <em>alla</em>, även stoppade. Den första gäller nu, den andra när allt startas samtidigt.",
"<strong>Inom gränserna</strong> är grönt och blir <em>Överallokerat</em> om total tilldelning överstiger värdens RAM. Kontrollerad överallokering kan fungera med KSM; märket varnar när marginalen minskar."
],
"diskLabel": "Total disk",
"diskWhat": "Summan av tilldelat diskutrymme för alla gäster i GB eller TB med texten <em>”Tilldelat diskutrymme”</em>."
},
"inventory": {
"heading": "Lista över virtuella maskiner och containrar",
"intro": "En rad per gäst. Listan kommer från <code>/api/vms</code>, som sammanför <code>qm list</code> + <code>pct list</code> + <code>pvesh /cluster/resources</code> på värden.",
"imageAlt": "Virtual Machines & Containers lista - en rad per gäst med status, typmärke, namn, ID och inline CPU / minne / diskprocent",
"imageCaption": "Inventeringens mobilvy — samma data som datorvyn, omplacerade till en kolumn med kompakta procenttal och statusindikatorer.",
"rowsIntro": "Varje rad visar:",
"rows": [
"<strong>Statusikon</strong> — grön uppspelningstriangel för körande eller röd fyrkant för stoppad. Resten av raden tonas ner för stoppade gäster.",
"<strong>Typ</strong> — <em>LXC</em> i cyan för containrar, <em>VM</em> i lila för virtuella maskiner.",
"<strong>Namn</strong> — gästens värdnamn eller visningsnamn.",
"<strong>VMID</strong> - Proxmox numeriska ID under namnet.",
"<strong>Inline metrics</strong> - tre procenttal med sin ikon (CPU%, Memory%, Disk%). Varje ikon vänder orange när metriska korsar en uppmärksamhet tröskel (t.ex. minne över 90%), så en snabb genomsökning berättar vilken gäst som är under tryck utan att öppna den."
],
"clickHint": "Klicka på en rad för att öppna detaljerna, oavsett om gästen körs eller är stoppad.",
"mobileTitle": "Listan är utformad för mobila enheter",
"mobileBody": "På telefoner och i smala fönster staplas typ, namn, ID och tre procenttal i en kolumn som på bilden. Breda vyer fördelar samma data horisontellt. Hela raden kan tryckas för att öppna detaljerna."
},
"drillIn": {
"heading": "Dialogruta med gästdetaljer",
"intro": "Dialogrutan visar namn, VMID, typ, tillstånd och drifttid. Flikarna anpassas till gästen: <strong>Status</strong>, <strong>App</strong> och <strong>Uppdateringar</strong> för LXC-appar, <strong>Monteringar</strong> när de finns, <strong>Loggar</strong> för OCI manager Apps-containrar, <strong>Säkerhetskopior</strong> och <strong>Brandvägg</strong>. Det fasta åtgärdsfältet ger livscykelkontroller och LXC-terminal från varje flik.",
"statusTitle": "Tab 1 - Status",
"statusImageAlt": "Gästdetaljer — Status med CPU, minne och disk i realtid, disk- och nätverks-I/O, OS-logotyp och Resurser / IP-adresser",
"statusImageCaption": "Status: CPU, minne och disk med staplar överst; total I/O (disk läst/skrivet, nätverk mottaget/skickat); sedan Resurser med Anteckningar, + Info och IP-adresslista.",
"statusIntro": "Standardfliken för att kontrollera gästens tillstånd. Tre block:",
"liveTitle": "1. Rad med aktuella mätvärden",
"liveItems": [
"<strong>CPU-användning (X kärnor)</strong> — procentandel med stapel. Antalet inställda kärnor i rubriken förklarar vad 100 % motsvarar.",
"<strong>Minne</strong> — <em>använt / maximalt</em> i GB med stapel.",
"<strong>Disk</strong> — <em>använt / maximalt</em> för gästens primära diskavbildning i samma format."
],
"ioTitle": "2. I/O totalt + OS logo",
"ioItems": [
"<strong>Disk-I/O</strong> — total läsning (↓) och skrivning (↑) sedan start. Hjälper dig se en plötslig ökning av I/O jämfört med gästens normala nivå.",
"<strong>Nätverks-I/O</strong> — total nedladdning (↓) och uppladdning (↑), enligt samma princip.",
"<strong>OS-logotyp</strong> — Debian / Ubuntu / Alpine / Windows / etc. efter upptäckt system. Hjälper dig skilja öppna dialogrutor åt."
],
"resourcesTitle": "3. Resursblock",
"resourcesIntro": "Konfiguration enligt Proxmox: CPU-kärnor, minne (inställt <code>maxmem</code>) och swap. Två utfällbara avsnitt i rubriken:",
"resourcesItems": [
"<strong>Anteckningar</strong> — gästens redigerbara beskrivning. Spara anropar <code>PUT /api/vms/&lt;vmid&gt;/config</code> och skriver till <code>/etc/pve/qemu-server/&lt;vmid&gt;.conf</code> eller <code>/etc/pve/lxc/&lt;vmid&gt;.conf</code>.",
"<strong> + Info</strong> - extra fält som är för verbose för standardvyn: bios-läge, maskintyp, agenttillstånd, hostpci passthrough-poster, monteringspunkter (CT), startorder."
],
"ipsTitle": "4. IP-adresser",
"ipsBody": "Varje IPv4- eller IPv6-adress visas i en grön etikett. Listan är tom för stoppade gäster eller VM utan QEMU-agent; LXC rapporterar adresser direkt.",
"appTitle": "Tab 2 - App (endast LXC)",
"appIntro": "Registrerar LXC-appar, sparar webblänkar och jämför valfritt versioner. Förslagen kommer från startcachen; <strong>Hitta appar</strong> gör om sökningen för denna LXC efter ny installation.",
"appLinkLead": "Se den",
"appLinkLabel": "den separata App-sidan",
"appLinkTail": "för cachad upptäckt, katalogstödd registrering, Docker webblänkar och versionsdetektorer.",
"updatesTitle": "Tab 3 - Uppdateringar (endast LXC)",
"updatesIntro": "<strong>OS-paket</strong>, appar, <strong>Docker Engine</strong> och Docker-avbildningar är separata mål. Varje mål kan köras enskilt eller väljas exakt för gruppvis eller schemalagd körning.",
"updatesLinkLead": "Se den",
"updatesLinkLabel": "Dedikerad uppdateringssida",
"updatesLinkTail": "för inbyggda och egna uppdateringsprogram, återskapande av Docker-containrar, gruppval, säkerhetsalternativ och schemaläggning.",
"mountsTitle": "Flik 4 — Monteringar (bara LXC, när de finns)",
"mountsImageAlt": "LXC-detaljer, Monteringar: PVE-volymer, bind-monteringar från värden eller PVE-lagring och NFS/CIFS monterade inne i CT:n. Varje kort visar typ, kapacitet, använda/totala byte, alternativ och status: grön fungerande, bärnsten skrivskyddad/avvikande, röd otillgänglig.",
"mountsImageCaption": "Monteringar visas bara för LXC med minst en monteringspunkt eller tillagd fjärrmontering. Utan monteringar visas ingen flik.",
"mountsIntro": "Proxmox visar monteringar inställda som <code>mpX</code>, men inte dem som läggs till inne i CT:n via <code>mount.cifs</code>, NFS med <code>autofs</code> med mera. Fliken förenar <strong>båda vyerna</strong>: inställda monteringar <strong>och</strong> dem som upptäcks i containern, med status och kapacitet när servern kan hämta den.",
"mountTypesTitle": "Typer av montering upptäckt",
"mountTypesItems": [
"<strong>PVE-volym</strong> — Proxmox-hanterad lagring som ZFS-subvolym, katalog eller Ceph RBD. Kapaciteten kommer från PVE-statistik och motsvarar Proxmox visning.",
"<strong>Bind från PVE-lagring</strong> — <code>mpX</code>-post med sökväg på lagring som PVE känner till.",
"<strong>Bind från värden</strong> — <code>mpX</code>-post med valfri värdsökväg (<code>/mnt/something</code>). Kapaciteten hämtas med <code>df</code> för den sökvägen.",
"<strong>Montering tillagd i CT</strong> — finns <em>bara</em> i containerns monteringsnamnrymd, exempelvis NFS som CT:n själv monterar. Kapaciteten läses med <code>pct exec &lt;vmid&gt; df</code>; <code>/proc/&lt;pid&gt;/root</code> från värden ger inte fjärrmonteringens riktiga statistik."
],
"mountStateTitle": "Statuspunkt och varningar per kort",
"mountStateItems": [
"<green/> <strong>Grön</strong> — monteringen fungerar och är nåbar.",
"<amber/> <strong>Bärnsten</strong> — inställd men inte monterad, skrivskyddad eller <em>zombie-bindning</em>. Källan har försvunnit på värden men CT:n ser den fortfarande som monterad, exempelvis efter urkopplad USB-disk eller <code>umount</code> på värden.",
"<red/> <strong>Röd</strong> — otillgänglig: kontrollen kan inte nå monteringen, exempelvis en NFS-export vars server är nere."
],
"mountsCalloutTitle": "Ytterligare information jämfört med Proxmox",
"mountsCalloutBody": "Visar containerns läs- och skrivplatser med kapacitet. NFS-/CIFS-delningar monterade inne i CT:n, som Proxmox inte visar, får samma utseende och hälsokontroll. Otillgängliga fjärrmonteringar och zombie-bindningar flaggas innan de orsakar problem vid säkerhetskopiering.",
"logsTitle": "Flik 5 — Loggar (bara OCI-containrar)",
"logsBody": "Bara för containrar från OCI manager Apps. Visar huvudprocessens konsol från <code>/var/log/proxmenux/oci/VMID.console.log</code>: senaste 100, 500 eller 1000 raderna, liveföljning när containern körs, filter och nedladdning. Filen läses om vid öppning även när containern är stoppad. Mer: <ociLink>OCI-containrar i ProxMenux Monitor</ociLink>.",
"backupsTitle": "Flik 6 — Säkerhetskopior",
"backupsImageAlt": "Gästdetaljer — Säkerhetskopior med tillgängliga kopior, destinationer, storlekar och knappen Skapa säkerhetskopia",
"backupsImageCaption": "Alla kopior av gästen på konfigurerade Proxmox-lagringar, nyaste först. Rubriken visar antalet.",
"backupsIntro": "Listar gästens kopior på Proxmox-lagringar, nyaste först. Räknaren i rubriken visar om kopior finns. Varje rad visar:",
"backupsItems": [
"<strong>Tidsstämpel</strong> — datum och tid för körningen.",
"<strong>Destination</strong> — lagring (PBS-Cloud, PBS-Local, NFS-Backup, …), färgad efter status.",
"<strong>Storlek</strong> — kopians slutliga storlek på disk."
],
"backupsOutro": "<strong>+ Skapa säkerhetskopia</strong> startar en kopiering på lagringen markerad ”Backup target” i Proxmox. Återställning görs i Proxmox webbgränssnitt; Monitor visar gästens senaste kopior och kan skapa nya.",
"firewallTitle": "Tab 7 - Brandvägg",
"firewallIntro": "Läser gästens Proxmox-brandväggslogg direkt från värden utan extra tjänst eller periodiska hämtningar. Fliken finns alltid; innehållet beror på om brandväggen är aktiv och någon regel loggar paket.",
"firewallItems": [
"<strong>Brandvägg avstängd</strong> — ett bärnstensfärgat meddelande visar var den aktiveras i Proxmox (<em>&lt;Container|VM&gt; → Firewall → Options</em>) och att en regel behöver <code>log: info</code> eller högre för att paket ska synas.",
"<strong>Brandvägg aktiv, inga händelser</strong> — den tomma vyn påminner om samma loggningskrav, användbart direkt efter aktivering.",
"<strong>Händelser finns</strong> — rullningsbar ruta med fast teckenbredd och råposter efter åtgärd: <green>ACCEPT</green> grön, <orange>REJECT</orange> orange, <red>DROP</red> röd. Räknaren i rubriken visar laddade poster."
],
"firewallRefresh": "<em>Uppdatera</em> hämtar de senaste posterna på begäran. Ingen automatisk uppdatering sker; listan visar läget vid öppning eller senaste tryck. Källan är <code>/var/log/pve-firewall.log</code>, filtrerad efter VMID via <code>GET /api/vms/&lt;vmid&gt;/firewall/log</code>.",
"firewallCalloutTitle": "Varför har det här när Proxmox UI redan visar det?",
"firewallCalloutBody": "Slipper byte till Proxmox och håller vyn avgränsad till samma VMID: starta gästen, kontrollera monteringar och brandväggshändelser och stoppa den igen i panelen. Regler redigeras i Proxmox; Monitor ändrar dem inte.",
"actionBarTitle": "Åtgärdsfält längst ned",
"actionBarIntro": "Alltid synlig vid foten av modalen oavsett vilken flik är aktiv:",
"consoleItem": "<strong>Konsol</strong>, bara för körande LXC, öppnar <code>pct enter &lt;vmid&gt;</code> i containern. Den använder xterm.js och WebSocket som <link>Terminalfliken</link>, med ett <strong>mobilanpassat verktygsfält</strong>: ESC, TAB, pilar, Enter och Ctrl+C / Ctrl+X / Ctrl+R. Den fungerar på telefon och surfplatta. För VM använder du Proxmox noVNC-konsol.",
"lifecycleIntro": "Fyra knappar i ett 2×2-rutnät skickar <code>POST /api/vms/&lt;vmid&gt;/control</code> med motsvarande <code>action</code>. Tillgängligheten beror på gästens tillstånd.",
"headerButton": "Knapp",
"headerEnabled": "Aktiverad när",
"headerAction": "Åtgärder som skickas till värd",
"lifecycleRows": [
{
"button": "Starta",
"color": "green",
"enabled": "Gästen är stoppad.",
"action": "qm start / pct start"
},
{
"button": "Stäng av",
"color": "blue",
"enabled": "Gästen körs.",
"action": "qm shutdown / pct shutdown — ordnad avstängning, ACPI"
},
{
"button": "Starta om",
"color": "blue",
"enabled": "Gästen körs.",
"action": "qm reboot / pct reboot — ordnad omstart"
},
{
"button": "Tvinga stopp",
"color": "red",
"enabled": "Gästen körs.",
"action": "qm stop / pct stop — tvingad avstängning"
}
],
"forceStopTitle": "Tvinga stopp avslutar körningen omedelbart",
"forceStopBody": "<strong>Tvinga stopp</strong> hoppar över avstängningen som att dra ur strömmen. Använd <strong>Stäng av</strong> när gästen svarar. Tvinga bara stopp om avstängningen har hängt sig och du accepterar risken för dataförlust. Röd färg och tydlig text motverkar feltryck."
},
"dataCollected": {
"heading": "Hur data samlas in",
"headerSection": "Avsnitt av fliken",
"headerEndpoint": "Slutpunkt",
"headerSource": "Källa",
"rows": [
{
"section": "Inventeringslista",
"endpoint": "/api/vms",
"source": "<code>pvesh get /cluster/resources --type vm</code> för VM och CT."
},
{
"section": "Detaljpanel (konfig, nätverk, diskar)",
"endpoint": "/api/vms/<vmid>",
"source": "<code>qm config &lt;id&gt;</code> för VM/<code>pct config &lt;id&gt;</code> för CT."
},
{
"section": "Diagram med gästens mätvärden",
"endpoint": "/api/vms/<vmid>/metrics",
"source": "PVE RRD-data (<code>pvesh get /nodes/&lt;node&gt;/qemu/&lt;id&gt;/rrddata</code>) kondenserade till en diagramvänlig form."
},
{
"section": "Senaste Proxmox-loggresultat",
"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>. Om kommandot misslyckas returneras en tom lista; detta ger inte fullständiga systemloggar inifrån gästen."
},
{
"section": "Backups tillgängliga för gäst",
"endpoint": "/api/vms/<vmid>/backups",
"source": "<code>pvesm list &lt;storage&gt;</code> filtreras av VMID."
},
{
"section": "Gästens brandväggslogg (Brandvägg-fliken)",
"endpoint": "/api/vms/<vmid>/firewall/log",
"source": "<code>/var/log/pve-firewall.log</code> filtreras av VMID."
},
{
"section": "Strömknappar (Starta / Tvinga stopp / Starta om / Stäng av)",
"endpoint": "/api/vms/<vmid>/control",
"source": "<code>qm start|stop|reboot|shutdown</code> eller <code>pct</code> motsvarande."
}
],
"codeComment1": "# Jämför översiktens data med PVE",
"codeComment2": "# Granska gästens konfiguration precis som i dialogrutan",
"codeComment3": "# VM",
"codeComment4": "# CT"
},
"whereNext": {
"heading": "Nästa steg",
"items": [
{
"label": "Hälsoövervakare",
"href": "/docs/monitor/health-monitor",
"tailRich": " — VMs & Containers kategori (misslyckad start, QMP timeouts, CT avstängningsfel)."
},
{
"label": "Aviseringar",
"href": "/docs/monitor/notifications",
"tailRich": " - vad <code>vm_*</code>, <code>ct_*</code>, <code>migration_*</code> och <code>backup_*</code> händelser utlöser nedströms."
},
{
"label": "API-referens",
"href": "/docs/monitor/api",
"tailRich": " — slutpunkterna för VM och säkerhetskopior."
},
{
"label": "Översiktsindex",
"href": "/docs/monitor/dashboard",
"tailRich": " — de andra flikarna."
},
{
"label": "ProxMenux → Skapa VM",
"href": "/docs/create-vm",
"tailRich": " — skapa system: NAS-mallar (Synology med flera), Linux-/Windows-VM och standardvärden anpassade för Proxmox."
}
]
}
}