{"id":353716,"date":"2024-08-20T06:23:38","date_gmt":"2024-08-20T06:23:38","guid":{"rendered":"https:\/\/www.ninjaone.com\/script-hub\/monitoraggio-dello-stato-dei-cluster-proxmox-in-linux\/"},"modified":"2024-10-13T19:06:50","modified_gmt":"2024-10-13T19:06:50","slug":"monitoraggio-dello-stato-dei-cluster-proxmox-in-linux","status":"publish","type":"script_hub","link":"https:\/\/www.ninjaone.com\/it\/script-hub\/monitoraggio-dello-stato-dei-cluster-proxmox-in-linux\/","title":{"rendered":"Guida completa per il monitoraggio dello stato dei cluster Proxmox in Linux"},"content":{"rendered":"<p>Il mantenimento della stabilit\u00e0 e delle prestazioni di un cluster Proxmox \u00e8 fondamentale per i professionisti IT e i <a href=\"https:\/\/www.ninjaone.com\/it\/cos-e-un-msp\" target=\"_blank\" rel=\"noopener\">fornitori di servizi gestiti (MSP)<\/a>. Un cluster Proxmox offre numerosi vantaggi, tra cui alta disponibilit\u00e0, gestione efficiente delle risorse e virtualizzazione completa. Tuttavia, il monitoraggio del suo stato \u00e8 essenziale per garantire un funzionamento regolare.<\/p>\n<p>In questo articolo analizzeremo <strong>uno script Bash progettato per ottenere lo stato del cluster Proxmox<\/strong> e salvarlo in un campo personalizzato. Esploreremo le funzionalit\u00e0 dello script, i potenziali casi d&#8217;uso, i confronti, le domande frequenti, le implicazioni e le best practice.<\/p>\n<h2>Background<\/h2>\n<p>Proxmox Virtual Environment (VE) \u00e8 una soluzione open-source per la gestione della virtualizzazione dei server che consente ai professionisti IT di distribuire e gestire virtual machine e container. Il clustering in Proxmox \u00e8 una caratteristica fondamentale che consente a pi\u00f9 nodi Proxmox VE di lavorare insieme, fornendo alta disponibilit\u00e0 e bilanciamento del carico. Il monitoraggio dello stato del cluster \u00e8 fondamentale per mantenere l&#8217;integrit\u00e0 e le prestazioni dell&#8217;ambiente virtuale.<\/p>\n<p>Questo script \u00e8 pensato per i professionisti IT che hanno bisogno di un modo efficiente per monitorare i cluster Proxmox. Recupera lo stato del cluster e salva le informazioni in un campo personalizzato multilinea o in un campo personalizzato WYSIWYG, facilitando la gestione e la revisione dello stato di integrit\u00e0 del cluster.<\/p>\n<h2>Lo script per monitorare lo stato dei cluster Proxmox<\/h2>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"shell\">#!\/usr\/bin\/env bash\r\n\r\n# Description: Get the Proxmox Cluster Status and save it to a multiline and\/or WYSIWYG custom field\r\n#\r\n# Release Notes: Fixed 10% width bug.\r\n# By using this script, you indicate your acceptance of the following legal terms as well as our Terms of Use at https:\/\/www.ninjaone.com\/terms-of-use.\r\n# Ownership Rights: NinjaOne owns and will continue to own all right, title, and interest in and to the script (including the copyright). NinjaOne is giving you a limited license to use the script in accordance with these legal terms. \r\n# Use Limitation: You may only use the script for your legitimate personal or internal business purposes, and you may not share the script with another party. \r\n# Republication Prohibition: Under no circumstances are you permitted to re-publish the script in any script library or website belonging to or under the control of any other software provider. \r\n# Warranty Disclaimer: The script is provided \u201cas is\u201d and \u201cas available\u201d, without warranty of any kind. NinjaOne makes no promise or guarantee that the script will be free from defects or that it will meet your specific needs or expectations. \r\n# Assumption of Risk: Your use of the script is at your own risk. You acknowledge that there are certain inherent risks in using the script, and you understand and assume each of those risks. \r\n# Waiver and Release: You will not hold NinjaOne responsible for any adverse or unintended consequences resulting from your use of the script, and you waive any legal or equitable rights or remedies you may have against NinjaOne relating to your use of the script. \r\n# EULA: If you are a NinjaOne customer, your use of the script is subject to the End User License Agreement applicable to you (EULA).\r\n\r\n# Command line arguments, swap the numbers if you want the multiline custom field to be the second argument\r\nmultiline_custom_field=$1 # First argument is the multiline custom field name\r\nwysiwyg_custom_field=$2   # Second argument is the WYSIWYG custom field name\r\n\r\nif [[ -n \"${multilineCustomField}\" &amp;&amp; \"${multilineCustomField}\" != \"null\" ]]; then\r\n    multiline_custom_field=$multilineCustomField\r\nfi\r\nif [[ -n \"${wysiwygCustomField}\" &amp;&amp; \"${wysiwygCustomField}\" != \"null\" ]]; then\r\n    wysiwyg_custom_field=$wysiwygCustomField\r\nfi\r\n\r\nif [[ -n \"${multiline_custom_field}\" &amp;&amp; \"${multiline_custom_field}\" == \"${wysiwyg_custom_field}\" ]]; then\r\n    echo \"[Error] multilineCustomField and wysiwygCustomField cannot be the same custom field.\"\r\n    exit 1\r\nfi\r\n\r\nif [[ -z \"${multiline_custom_field}\" ]]; then\r\n    echo \"[Info] multilineCustomField is not set.\"\r\nfi\r\nif [[ -z \"${wysiwyg_custom_field}\" ]]; then\r\n    echo \"[Info] wysiwygCustomField is not set.\"\r\nfi\r\n\r\n# Check that we have the required tools\r\nif ! command -v pvecm &amp;&gt;\/dev\/null; then\r\n    echo \"[Error] The Proxmox VE API tool 'pvecm' is required.\"\r\n    exit 1\r\nfi\r\n\r\n# Check that we are running as root\r\nif [[ $EUID -ne 0 ]]; then\r\n    echo \"[Error] This script must be run as root.\"\r\n    exit 1\r\nfi\r\n\r\n# Check if ninjarmm-cli command exists\r\nninjarmm_cli=\"\/opt\/NinjaRMMAgent\/programdata\/ninjarmm-cli\"\r\nif [[ -z $ninjarmm_cli ]]; then\r\n    echo \"[Error] The ninjarmm-cli command does not exist in the default path. Please ensure the NinjaRMM agent is installed before running this script.\"\r\n    exit 1\r\nelse\r\n    # ninjarmm-cli command exists in the default path\r\n    echo -n\r\nfi\r\n\r\n# Run the pvecm command to get the status information\r\nif ! pvecm_status_output=$(pvecm status); then\r\n    echo \"[Error] Failed to get the Proxmox Cluster Status.\"\r\n    echo \"$pvecm_status_output\"\r\n    exit 1\r\nfi\r\n# Example Output:\r\n# Cluster information\r\n# -------------------\r\n# Name:             cluster1\r\n# Config Version:   4\r\n# Transport:        knet\r\n# Secure auth:      on\r\n#\r\n# Quorum information\r\n# ------------------\r\n# Date:             Mon Apr  8 10:33:16 2024\r\n# Quorum provider:  corosync_votequorum\r\n# Nodes:            4\r\n# Node ID:          0x00000004\r\n# Ring ID:          1.631\r\n# Quorate:          Yes\r\n#\r\n# Votequorum information\r\n# ----------------------\r\n# Expected votes:   4\r\n# Highest expected: 4\r\n# Total votes:      4\r\n# Quorum:           3\r\n# Flags:            Quorate\r\n#\r\n# Membership information\r\n# ----------------------\r\n#     Nodeid      Votes Name\r\n# 0x00000001          1 10.10.10.17\r\n# 0x00000002          1 10.10.10.18\r\n# 0x00000003          1 10.10.10.19\r\n# 0x00000004          1 10.10.10.20 (local)\r\n\r\n# Cluster Table\r\n# Get the cluster name\r\ncluster_name=$(echo \"$pvecm_status_output\" | grep -oP 'Name:\\s+\\K\\w+' | head -n 1)\r\n# Get the Config Version\r\nconfig_version=$(echo \"$pvecm_status_output\" | grep -oP 'Config Version:\\s+\\K\\d+' | head -n 1)\r\n# Get the Transport\r\ntransport=$(echo \"$pvecm_status_output\" | grep -oP 'Transport:\\s+\\K\\w+' | head -n 1)\r\n# Get the Secure auth\r\nsecure_auth=$(echo \"$pvecm_status_output\" | grep -oP 'Secure auth:\\s+\\K\\w+' | head -n 1)\r\n\r\n# Create Cluster Status label\r\ncluster_table=\"&lt;h2&gt;Cluster Status&lt;\/h2&gt;\"\r\n# Create the Cluster Status table\r\ncluster_table+=\"&lt;table style='white-space:nowrap;'&gt;&lt;tr&gt;&lt;th&gt;Cluster Name&lt;\/th&gt;&lt;th&gt;Config Version&lt;\/th&gt;&lt;th&gt;Transport&lt;\/th&gt;&lt;th&gt;Secure Auth&lt;\/th&gt;&lt;\/tr&gt;\"\r\ncluster_table+=\"&lt;tr&gt;&lt;td&gt;$cluster_name&lt;\/td&gt;&lt;td&gt;$config_version&lt;\/td&gt;&lt;td&gt;$transport&lt;\/td&gt;&lt;td&gt;$secure_auth&lt;\/td&gt;&lt;\/tr&gt;&lt;\/table&gt;\"\r\n\r\n# Quorum Table\r\n# Get the Quorum Date\r\nquorum_date=$(echo \"$pvecm_status_output\" | grep -oP 'Date:\\s+\\K.*' | head -n 1)\r\n# Get the Quorum provider\r\nquorum_provider=$(echo \"$pvecm_status_output\" | grep -oP 'Quorum provider:\\s+\\K\\w+' | head -n 1)\r\n# Get the Nodes\r\nnodes=$(echo \"$pvecm_status_output\" | grep -oP 'Nodes:\\s+\\K\\d+' | head -n 1)\r\n# Get the Node ID\r\nnode_id=$(echo \"$pvecm_status_output\" | grep -oP 'Node ID:\\s+\\K\\w+' | head -n 1)\r\n# Get the Ring ID\r\nring_id=$(echo \"$pvecm_status_output\" | grep -oP 'Ring ID:\\s+\\K[\\d.]+')\r\n# Get the Quorate\r\nquorate=$(echo \"$pvecm_status_output\" | grep -oP 'Quorate:\\s+\\K\\w+')\r\n\r\n# Create Quorum Status label\r\nquorum_table=\"&lt;h2&gt;Quorum Status&lt;\/h2&gt;\"\r\n# Create the Quorum Status table\r\nquorum_table+=\"&lt;table style='white-space:nowrap;'&gt;&lt;tr&gt;&lt;th&gt;Quorum Date&lt;\/th&gt;&lt;th&gt;Quorum Provider&lt;\/th&gt;&lt;th&gt;Nodes&lt;\/th&gt;&lt;th&gt;Node ID&lt;\/th&gt;&lt;th&gt;Ring ID&lt;\/th&gt;&lt;th&gt;Quorate&lt;\/th&gt;&lt;\/tr&gt;\"\r\nquorum_table+=\"&lt;tr&gt;&lt;td&gt;$quorum_date&lt;\/td&gt;&lt;td&gt;$quorum_provider&lt;\/td&gt;&lt;td&gt;$nodes&lt;\/td&gt;&lt;td&gt;$node_id&lt;\/td&gt;&lt;td&gt;$ring_id&lt;\/td&gt;&lt;td&gt;$quorate&lt;\/td&gt;&lt;\/tr&gt;&lt;\/table&gt;\"\r\n\r\n# Votequorum Table\r\n# Get the Expected votes\r\nexpected_votes=$(echo \"$pvecm_status_output\" | grep -oP 'Expected votes:\\s+\\K\\d+')\r\n# Get the Highest expected\r\nhighest_expected=$(echo \"$pvecm_status_output\" | grep -oP 'Highest expected:\\s+\\K\\d+')\r\n# Get the Total votes\r\ntotal_votes=$(echo \"$pvecm_status_output\" | grep -oP 'Total votes:\\s+\\K\\d+')\r\n# Get the Quorum\r\nquorum=$(echo \"$pvecm_status_output\" | grep -oP 'Quorum:\\s+\\K\\d+')\r\n# Get the Flags\r\nflags=$(echo \"$pvecm_status_output\" | grep -oP 'Flags:\\s+\\K\\w+')\r\n\r\n# Create Votequorum Status label\r\nvotequorum_table=\"&lt;h2&gt;Votequorum Status&lt;\/h2&gt;\"\r\n# Create the Votequorum Status table\r\nvotequorum_table+=\"&lt;table style='white-space:nowrap;'&gt;&lt;tr&gt;&lt;th&gt;Expected Votes&lt;\/th&gt;&lt;th&gt;Highest Expected&lt;\/th&gt;&lt;th&gt;Total Votes&lt;\/th&gt;&lt;th&gt;Quorum&lt;\/th&gt;&lt;th&gt;Flags&lt;\/th&gt;&lt;\/tr&gt;\"\r\nvotequorum_table+=\"&lt;tr&gt;&lt;td&gt;$expected_votes&lt;\/td&gt;&lt;td&gt;$highest_expected&lt;\/td&gt;&lt;td&gt;$total_votes&lt;\/td&gt;&lt;td&gt;$quorum&lt;\/td&gt;&lt;td&gt;$flags&lt;\/td&gt;&lt;\/tr&gt;&lt;\/table&gt;\"\r\n\r\n# Get the Membership information table\r\nmemberships=$(echo \"$pvecm_status_output\" | grep -oP '0x000000\\d+\\s+\\d+\\s+\\d+\\.\\d+\\.\\d+\\.\\d+')\r\n# Split memberships into an array\r\nOLDIFS=$IFS\r\nIFS=$'\\n' read -r -d '' -a membership_array &lt;&lt;&lt;\"$memberships\"\r\nIFS=$OLDIFS\r\n\r\n# Membership Table\r\n# Create Membership Status label\r\nmembership_table=\"&lt;h2&gt;Membership Status&lt;\/h2&gt;\"\r\n# Create the Membership Status table\r\nmembership_table+=\"&lt;table style='white-space:nowrap;'&gt;&lt;tr&gt;&lt;th&gt;Node ID&lt;\/th&gt;&lt;th&gt;Votes&lt;\/th&gt;&lt;th&gt;Name&lt;\/th&gt;&lt;\/tr&gt;\"\r\nfor membership in \"${membership_array[@]}\"; do\r\n    node_id=$(echo \"$membership\" | grep -oP '0x000000\\d+')\r\n    votes=$(echo \"$membership\" | grep -oP '\\d+\\s+(?=\\d+\\.\\d+\\.\\d+\\.\\d+)')\r\n    name=$(echo \"$membership\" | grep -oP '\\d+\\.\\d+\\.\\d+\\.\\d+')\r\n    membership_table+=\"&lt;tr&gt;&lt;td&gt;$node_id&lt;\/td&gt;&lt;td&gt;$votes&lt;\/td&gt;&lt;td&gt;$name&lt;\/td&gt;&lt;\/tr&gt;\"\r\ndone\r\nmembership_table+=\"&lt;\/table&gt;\"\r\n\r\n# Combine all tables into one\r\nresult_table=\"$cluster_table&lt;\/br&gt;$quorum_table&lt;\/br&gt;$votequorum_table&lt;\/br&gt;$membership_table\"\r\n\r\n# Save the result to the custom field\r\n_exit_code=0\r\nif [[ -n \"$multiline_custom_field\" ]]; then\r\n    if [[ -x \"$ninjarmm_cli\" ]]; then\r\n        if hideOutput=$(\"$ninjarmm_cli\" set \"$multiline_custom_field\" \"$pvecm_status_output\" 2&gt;&amp;1); then\r\n            echo \"[Info] Successfully set custom field: $multiline_custom_field\"\r\n        else\r\n            echo \"[Error] Failed to set custom field: $multiline_custom_field. Custom Field does not exit or does not have write permissions.\"\r\n            _exit_code=1\r\n        fi\r\n    else\r\n        echo \"[Error] NinjaRMM CLI not found or not executable\"\r\n        _exit_code=1\r\n    fi\r\nfi\r\n\r\nif [[ -n \"$wysiwyg_custom_field\" ]]; then\r\n    if [[ -x \"$ninjarmm_cli\" ]]; then\r\n        if hideOutput=$(\"$ninjarmm_cli\" set \"$wysiwyg_custom_field\" \"$result_table\" 2&gt;&amp;1); then\r\n            echo \"[Info] Successfully set custom field: $wysiwyg_custom_field\"\r\n        else\r\n            echo \"[Error] Failed to set custom field: $wysiwyg_custom_field. Custom Field does not exit or does not have write permissions.\"\r\n            _exit_code=1\r\n        fi\r\n    else\r\n        echo \"[Error] NinjaRMM CLI not found or not executable\"\r\n        _exit_code=1\r\n    fi\r\nfi\r\n\r\n# Error out after checking both custom fields\r\nif [[ $_exit_code -ne 0 ]]; then\r\n    exit 1\r\nfi\r\n\r\n# Output the result if no custom fields are set\r\nif [[ -z \"${wysiwyg_custom_field}\" ]] &amp;&amp; [[ -z \"${multiline_custom_field}\" ]]; then\r\n    echo \"${pvecm_status_output}\"\r\nfi<\/pre>\n<p>&nbsp;<\/p>\n\n<div class=\"blog-cta-new blog-cta-style-1\"><div class=\"cta-left\"><h2><\/h2><p><\/p><\/div><div class=\"cta-right\"><a class=\"button\" href=\"\"><\/a><\/div><\/div>\n<h2>Analisi dettagliata<\/h2>\n<p>Analizziamo passo per passo lo script per monitorare lo stato dei cluster Proxmox per comprenderne il funzionamento e la logica.<\/p>\n<ol>\n<li data-leveltext=\"%1.\" data-font=\"Aptos\" data-listid=\"1\" data-list-defn-props=\"{&quot;335552541&quot;:0,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769242&quot;:[65533,0],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;%1.&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"1\" data-aria-level=\"1\"><strong>Inizializzazione e argomenti della riga di comando: <\/strong>Lo script per monitorare lo stato dei cluster Proxmox inizia con due argomenti della riga di comando: i nomi dei campi personalizzati multilinea e WYSIWYG.<\/li>\n<li data-leveltext=\"%1.\" data-font=\"Aptos\" data-listid=\"1\" data-list-defn-props=\"{&quot;335552541&quot;:0,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769242&quot;:[65533,0],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;%1.&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"1\" data-aria-level=\"1\"><strong>Convalida e configurazione: <\/strong>Convalida e assegna i valori ai campi personalizzati, assicurandosi che non siano nulli o identici.<\/li>\n<li data-leveltext=\"%1.\" data-font=\"Aptos\" data-listid=\"1\" data-list-defn-props=\"{&quot;335552541&quot;:0,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769242&quot;:[65533,0],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;%1.&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"1\" data-aria-level=\"1\"><strong>Verifica della disponibilit\u00e0 degli strumenti e delle autorizzazioni: <\/strong>Lo script per monitorare lo stato dei cluster Proxmox controlla se gli strumenti necessari, come pvecm e ninjarmm-cli, sono disponibili e assicura che lo script venga eseguito con i privilegi di root.<\/li>\n<li data-leveltext=\"%1.\" data-font=\"Aptos\" data-listid=\"1\" data-list-defn-props=\"{&quot;335552541&quot;:0,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769242&quot;:[65533,0],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;%1.&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"1\" data-aria-level=\"1\"><strong>Recupero e analisi dello stato del cluster: <\/strong>Esegue il comando pvecm status per recuperare lo stato del cluster e memorizza l&#8217;output in una variabile.<\/li>\n<li data-leveltext=\"%1.\" data-font=\"Aptos\" data-listid=\"1\" data-list-defn-props=\"{&quot;335552541&quot;:0,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769242&quot;:[65533,0],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;%1.&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"1\" data-aria-level=\"1\"><strong>Estrazione delle informazioni rilevanti: <\/strong>Lo script per monitorare lo stato dei cluster Proxmox utilizza grep e le espressioni regolari per analizzare ed estrarre le informazioni rilevanti, come il nome del cluster, la versione della configurazione, il metodo di trasporto, lo stato dell&#8217;autenticazione sicura, le informazioni sul quorum e i dettagli dei membri.<\/li>\n<li data-leveltext=\"%1.\" data-font=\"Aptos\" data-listid=\"1\" data-list-defn-props=\"{&quot;335552541&quot;:0,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769242&quot;:[65533,0],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;%1.&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"1\" data-aria-level=\"1\"><strong>Creazione di tabelle HTML: <\/strong>Lo script per monitorare lo stato dei cluster Proxmox formatta i dati estratti in tabelle HTML per una migliore leggibilit\u00e0 e organizzazione.<\/li>\n<li data-leveltext=\"%1.\" data-font=\"Aptos\" data-listid=\"1\" data-list-defn-props=\"{&quot;335552541&quot;:0,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769242&quot;:[65533,0],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;%1.&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"1\" data-aria-level=\"1\"><strong>Salvataggio dei risultati in campi personalizzati: <\/strong>A seconda della disponibilit\u00e0 dei campi personalizzati, lo script per monitorare lo stato dei cluster Proxmox salva i risultati grezzi e formattati nei campi personalizzati specificati usando il comando ninjarmm-cli.<\/li>\n<\/ol>\n<h2>Casi d&#8217;uso potenziali<\/h2>\n<p>Immagina un MSP che gestisce pi\u00f9 cluster Proxmox per vari clienti. Controllare e registrare regolarmente lo stato dei cluster pu\u00f2 richiedere molto tempo. Questo script automatizza il processo per monitorare lo stato dei cluster Proxmox, assicurando che le informazioni aggiornate sullo stato siano sempre disponibili in un formato strutturato. Per esempio, un professionista IT pu\u00f2 utilizzare questo script per:<\/p>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"2\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"1\" data-aria-level=\"1\">Raccogliere e salvare automaticamente lo stato dei cluster Proxmox ogni mattina.<\/li>\n<\/ul>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"2\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"2\" data-aria-level=\"1\">Generare report per i clienti, evidenziando lo stato di integrit\u00e0 dei cluster e qualsiasi problema potenziale.<\/li>\n<\/ul>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"2\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"3\" data-aria-level=\"1\">Integrarlo con gli strumenti di monitoraggio al fine di attivare avvisi se specifiche metriche del cluster indicano problemi.<\/li>\n<\/ul>\n<h2>Confronti<\/h2>\n<p>Sebbene esistano altri metodi per monitorare i cluster Proxmox, come i controlli manuali o l&#8217;utilizzo di strumenti di monitoraggio di terze parti, questo script offre diversi vantaggi:<\/p>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"2\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"4\" data-aria-level=\"1\"><strong>Automazione<\/strong>: A differenza dei controlli manuali, questo script automatizza il processo, riducendo le possibilit\u00e0 di errore umano e facendo risparmiare tempo.<\/li>\n<\/ul>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"2\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"5\" data-aria-level=\"1\"><strong>Personalizzazione<\/strong>: La possibilit\u00e0 di salvare le informazioni sullo stato in campi personalizzati consente una facile integrazione con i sistemi di monitoraggio e reporting esistenti.<\/li>\n<\/ul>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"2\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"6\" data-aria-level=\"1\"><strong>Economicamente vantaggioso<\/strong>: Questa soluzione sfrutta strumenti e script integrati, evitando la necessit\u00e0 di costose soluzioni di terze parti.<\/li>\n<\/ul>\n<h2>Domande frequenti<\/h2>\n<h3>D1: Devo essere un esperto di scripting Bash per usare questo script?<\/h3>\n<p>No, \u00e8 sufficiente una conoscenza di base su come eseguire uno script e comprenderne i parametri.<\/p>\n<h3>D2: Posso personalizzare lo script per altri tipi di campi personalizzati?<\/h3>\n<p>S\u00ec, \u00e8 possibile modificare lo script per monitorare lo stato dei cluster Proxmox per gestire altri campi personalizzati modificando le sezioni pertinenti.<\/p>\n<h3>D3: Cosa succede se lo script incontra un errore?<\/h3>\n<p>Lo script per monitorare lo stato dei cluster Proxmox include metodi di gestione degli errori per informare l&#8217;utente di strumenti mancanti, problemi di autorizzazioni o errori in termini di comandi.<\/p>\n<h2>Implicazioni<\/h2>\n<p>Il monitoraggio regolare dello stato dei cluster Proxmox contribuisce a mantenere l&#8217;affidabilit\u00e0 e le prestazioni del sistema. Utilizzando questo script, i professionisti IT possono gestire in modo proattivo l\u2019integrit\u00e0 dei cluster Proxmox, <a href=\"https:\/\/www.ninjaone.com\/it\/it-hub\/gestione-dei-servizi-it\/cos-e-il-tempo-di-inattivita-di-una-rete\" target=\"_blank\" rel=\"noopener\">prevenire i tempi di inattivit\u00e0<\/a> e garantire un utilizzo ottimale delle risorse. Ci\u00f2 contribuisce alla <a href=\"https:\/\/www.ninjaone.com\/it\/i-5-principali-fondamenti-della-sicurezza-it\/\" target=\"_blank\" rel=\"noopener\">sicurezza informatica complessiva<\/a> e all&#8217;efficienza operativa.<\/p>\n<h2>Raccomandazioni<\/h2>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"2\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"7\" data-aria-level=\"1\"><strong>Esegui lo script regolarmente<\/strong>: Pianifica l&#8217;esecuzione dello script per monitorare lo stato dei cluster Proxmox a intervalli regolari utilizzando cron job per garantire un monitoraggio continuo.<\/li>\n<\/ul>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"2\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"8\" data-aria-level=\"1\"><strong>Controlla i risultati<\/strong>: Esamina regolarmente i risultati salvati per identificare tempestivamente eventuali anomalie o problemi.<\/li>\n<\/ul>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"2\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" data-aria-posinset=\"9\" data-aria-level=\"1\"><strong>Conserva i backup<\/strong>: Conserva i backup delle configurazioni dei cluster Proxmox e aggiorna regolarmente lo script per gestire le nuove versioni di Proxmox.<\/li>\n<\/ul>\n<h2>Considerazioni finali<\/h2>\n<p>Un monitoraggio efficiente \u00e8 fondamentale per la gestione dei cluster Proxmox e questo script Bash fornisce una soluzione semplificata per i professionisti IT e gli MSP. Automatizzando la raccolta delle informazioni sullo stato e formattando i risultati in campi personalizzati, migliorerai la tua capacit\u00e0 di mantenere l\u2019integrit\u00e0 e le prestazioni del cluster. Strumenti come <a href=\"https:\/\/www.ninjaone.com\/it\/\" target=\"_blank\" rel=\"noopener\">NinjaOne<\/a> sono complementari a questo script fornendo una piattaforma completa per la gestione dell&#8217;IT e assicurando che tutte le esigenze di monitoraggio siano soddisfatte <a href=\"https:\/\/www.ninjaone.com\/it\/efficienza-it\" target=\"_blank\" rel=\"noopener\">in modo efficiente<\/a>.<\/p>\n","protected":false},"author":35,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"_relevanssi_hide_post":"","_relevanssi_hide_content":"","_relevanssi_pin_for_all":"","_relevanssi_pin_keywords":"","_relevanssi_unpin_keywords":"","_relevanssi_related_keywords":"","_relevanssi_related_include_ids":"","_relevanssi_related_exclude_ids":"","_relevanssi_related_no_append":"","_relevanssi_related_not_related":"","_relevanssi_related_posts":"","_relevanssi_noindex_reason":"","_lmt_disableupdate":"","_lmt_disable":""},"operating_system":[4211],"use_cases":[4269],"class_list":["post-353716","script_hub","type-script_hub","status-publish","hentry","script_hub_category-linux"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.ninjaone.com\/it\/wp-json\/wp\/v2\/script_hub\/353716","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.ninjaone.com\/it\/wp-json\/wp\/v2\/script_hub"}],"about":[{"href":"https:\/\/www.ninjaone.com\/it\/wp-json\/wp\/v2\/types\/script_hub"}],"author":[{"embeddable":true,"href":"https:\/\/www.ninjaone.com\/it\/wp-json\/wp\/v2\/users\/35"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ninjaone.com\/it\/wp-json\/wp\/v2\/comments?post=353716"}],"wp:attachment":[{"href":"https:\/\/www.ninjaone.com\/it\/wp-json\/wp\/v2\/media?parent=353716"}],"wp:term":[{"taxonomy":"script_hub_category","embeddable":true,"href":"https:\/\/www.ninjaone.com\/it\/wp-json\/wp\/v2\/operating_system?post=353716"},{"taxonomy":"use_cases","embeddable":true,"href":"https:\/\/www.ninjaone.com\/it\/wp-json\/wp\/v2\/use_cases?post=353716"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}