Vai al contenuto
Monitor server / VM

Monitor server / VM

Un monitor Server / VM sorveglia una macchina tramite l'agente di infrastruttura Status200 (oneuptime-infrastructure-agent), un piccolo servizio che ogni 30 secondi comunica a Status200 CPU, memoria, dischi, carico, rete e processi in esecuzione. Questa pagina mostra come collegare l'agente a un monitor Server / VM, cosa comunica l'agente e come scrivere i criteri che decidono quando il server è online od offline.

Importante
Crea monitor non offre più Server / VM. I monitor Server / VM che avete già continuano a funzionare, e tutto ciò che c'è in questa pagina vale per loro. Per sorvegliare un nuovo server, create invece un monitor host: avvisa sulle metriche dell'host che invia il collector OpenTelemetry sull'host.

Come funziona

L'agente viene eseguito come servizio di sistema. Ogni 30 secondi raccoglie un report e lo invia al vostro URL di Status200, firmato con la chiave segreta del monitor. Status200 salva i valori come metriche del monitor e verifica il report rispetto ai criteri del monitor.

Il silenzio viene controllato a parte. Ogni minuto Status200 rivaluta i criteri Is Online di ogni monitor Server / VM che non comunica da 3 minuti o più, e un server in silenzio più a lungo di quanto consentano i suoi criteri (3 minuti per impostazione predefinita) conta come offline. Un monitor senza criteri Is Online non viene mai segnato offline solo perché l'agente tace. Per quel silenzio conta solo il tempo in cui Status200 stava ricevendo: il tempo in cui Status200 stesso si riavviava, veniva aggiornato o recuperava il ritardo non conta, come spiega Quando Status200 non riceve dati.

flowchart TB agent["Agente di infrastruttura"] -->|"Report ogni 30 secondi"| oneuptime["Status200"] oneuptime --> criteria{"Criteri soddisfatti?"} sweep["Controllo ogni minuto"] -->|"Nessun report da 3 minuti"| criteria criteria -->|"Sì"| outcome["Cambio di stato, avviso o incidente"]

Come un monitor Server / VM riceve i suoi dati

Prima di iniziare

  • Un monitor Server / VM nel vostro progetto.
  • Il permesso di modificare i monitor. La chiave segreta, e i comandi di configurazione che la contengono, vengono mostrati solo a chi può modificare i monitor.
  • Accesso root (Linux, macOS) o da amministratore (Windows) sul server. L'agente si installa come servizio di sistema.
  • HTTPS in uscita dal server verso il vostro URL di Status200, direttamente o tramite un proxy HTTP.

Collegare l'agente

I comandi qui sotto usano https://status200.ru e YOUR_SECRET_KEY. I comandi di configurazione del monitor contengono già il vostro URL di Status200 e la chiave segreta del monitor, quindi copiateli dal monitor quando potete.

  1. Aprire i comandi di configurazione del monitor

    Andate in Monitor, aprite il monitor Server / VM e selezionate Documentazione. Le schede Set up your Server Monitor (Linux/Mac) e Set up your Server Monitor (Windows) contengono i comandi per questo monitor. Finché l'agente non comunica per la prima volta, li mostra anche la Panoramica del monitor.

  2. Installare l'agente

    Linux

    Su Debian e Ubuntu, aggiungete il repository apt di Status200 e installate l'agente da lì:

    Bash
    sudo install -m 0755 -d /etc/apt/keyrings
    sudo curl -fsSL https://packages.status200.ru/gpg.key -o /etc/apt/keyrings/status200.asc
    sudo chmod a+r /etc/apt/keyrings/status200.asc
    echo "deb [signed-by=/etc/apt/keyrings/status200.asc] https://packages.status200.ru/deb stable main" | sudo tee /etc/apt/sources.list.d/status200.list
    sudo apt-get update
    sudo apt-get install oneuptime-infrastructure-agent

    Su RHEL, Rocky Linux, AlmaLinux, Fedora e Amazon Linux, aggiungete il repository yum di Status200 e installate l'agente da lì. Usate yum dove non c'è dnf, e accettate la chiave di firma di Status200 quando vi viene chiesto.

    Bash
    sudo curl -fsSL https://packages.status200.ru/rpm/status200.repo -o /etc/yum.repos.d/status200.repo
    sudo dnf install oneuptime-infrastructure-agent

    Su qualsiasi altra distribuzione, usate lo script di installazione:

    Bash
    curl -sSL https://status200.ru/docs/static/scripts/infrastructure-agent/install.sh | sudo bash

    macOS

    Installate l'agente con Homebrew:

    Bash
    brew install oneuptime/tap/status200-infrastructure-agent

    Oppure usate lo script di installazione:

    Bash
    curl -sSL https://status200.ru/docs/static/scripts/infrastructure-agent/install.sh | sudo bash

    Windows

    Nel Prompt dei comandi aperto come amministratore, installate l'agente con winget:

    Shell
    winget install --id OneUptime.InfrastructureAgent --exact --scope machine

    Poi riaprite il Prompt dei comandi come amministratore, perché oneuptime-infrastructure-agent sia nel percorso.

    Senza winget, scaricate l'agente voi stessi:

    1. Scaricate l'agente dall'ultima release su GitHub: oneuptime-infrastructure-agent_windows_amd64.zip per x64, oppure oneuptime-infrastructure-agent_windows_arm64.zip per ARM64.
    2. Estraete il file ZIP. Contiene oneuptime-infrastructure-agent.exe.
    3. Aprite il Prompt dei comandi come amministratore nella cartella in cui l'avete estratto.

    Per distribuire l'agente con Intune, Configuration Manager o Criteri di gruppo, usate oneuptime-infrastructure-agent-amd64.msi (o oneuptime-infrastructure-agent-arm64.msi) della stessa release. Installa l'agente in C:\Program Files\OneUptimeInfrastructureAgent, e un MSI più recente lo aggiorna sul posto e lo riavvia. Un MSI di una release precedente non può essere aggiornato: disinstallatelo prima una volta.

    Ogni metodo installa l'ultima release per il vostro sistema operativo e processore (x86-64 o ARM64). I repository apt e yum contengono i pacchetti .deb e .rpm allegati a ogni release di GitHub, firmati con la chiave pubblicata in https://packages.status200.ru/gpg.key, e i pacchetti mettono il binario in /usr/bin. Lo script di installazione mette il binario oneuptime-infrastructure-agent in $HOME/bin. In un'installazione self-hosted, lo script viene servito dal vostro URL di Status200.

  3. Collegarlo al monitor

    Linux

    Bash
    sudo oneuptime-infrastructure-agent configure --secret-key=YOUR_SECRET_KEY --oneuptime-url=https://status200.ru

    macOS

    Bash
    sudo oneuptime-infrastructure-agent configure --secret-key=YOUR_SECRET_KEY --oneuptime-url=https://status200.ru

    Windows

    Shell
    oneuptime-infrastructure-agent configure --secret-key=YOUR_SECRET_KEY --oneuptime-url=https://status200.ru

    configure salva la chiave segreta e l'URL nel file di configurazione dell'agente e installa l'agente come servizio di sistema. Entrambi i flag sono obbligatori. In un'installazione self-hosted, sostituite https://status200.ru con il vostro URL.

    Se il server raggiunge internet tramite un proxy, aggiungete --proxy-url:

    Bash
    sudo oneuptime-infrastructure-agent configure --proxy-url=http://proxy.example.com:8080 --secret-key=YOUR_SECRET_KEY --oneuptime-url=https://status200.ru
  4. Avviare l'agente

    Linux

    Bash
    sudo oneuptime-infrastructure-agent start

    macOS

    Bash
    sudo oneuptime-infrastructure-agent start

    Windows

    Shell
    oneuptime-infrastructure-agent start

    All'avvio, l'agente verifica la chiave segreta con Status200 e invia subito il primo report.

  5. Verificare che comunichi

    Eseguite sudo oneuptime-infrastructure-agent status (senza sudo su Windows): stampa Service is running. In Status200, la Panoramica del monitor smette di mostrare i comandi di configurazione appena arriva il primo report, e la sua scheda Metriche inizia a mostrare i grafici del server.

Riferimento dell'agente

Comandi

ComandoCosa fa
configure --secret-key=<key> --oneuptime-url=<url>Salva le impostazioni e installa l'agente come servizio di sistema. Aggiungete --proxy-url=<url> per inviare i report tramite un proxy.
startAvvia il servizio. Si rifiuta di partire finché non è stato eseguito configure.
stopFerma il servizio.
restartRiavvia il servizio.
statusIndica se il servizio è in esecuzione o fermo.
logsStampa le ultime 100 righe del log dell'agente. -n <lines> stampa un altro numero di righe, e -f segue quelle nuove.
uninstallRimuove il servizio ed elimina il file di configurazione dell'agente.
helpElenca i comandi.

Eseguiteli con sudo su Linux e macOS, e da un Prompt dei comandi da amministratore su Windows. Per cambiare la chiave segreta, l'URL o il proxy di un agente già configurato, eseguite stop e uninstall, poi di nuovo configure e start.

File

FileLinux e macOSWindows
Configurazione/etc/status200-infrastructure-agent/config.json%PROGRAMDATA%\oneuptime-infrastructure-agent\config.json
Log/var/log/status200-infrastructure-agent/status200-infrastructure-agent.log%PROGRAMDATA%\oneuptime-infrastructure-agent\oneuptime-infrastructure-agent.log

Quando l'agente non può scrivere in queste directory, usa invece ~/.oneuptime-infrastructure-agent/. Le variabili d'ambiente STATUS200_AGENT_CONFIG_PATH e STATUS200_AGENT_LOG_PATH impostano esplicitamente l'uno o l'altro percorso.

Aggiornamenti e rimozione

Aggiornate l'agente nello stesso modo in cui l'avete installato:

Installato conAggiornamento
aptsudo apt-get update && sudo apt-get install --only-upgrade oneuptime-infrastructure-agent
dnf o yumsudo dnf upgrade oneuptime-infrastructure-agent
Homebrewbrew upgrade oneuptime-infrastructure-agent
wingetwinget upgrade --id OneUptime.InfrastructureAgent --exact
MSIInstallate l'MSI più recente.
Script di installazioneEseguite di nuovo lo script di installazione.

Un aggiornamento non riavvia l'agente in esecuzione, quindi eseguite restart subito dopo. Su Windows, eseguite stop prima di winget upgrade e start dopo: winget non può sostituire il programma mentre il servizio lo sta eseguendo.

Per rimuovere l'agente, eseguite prima uninstall, poi rimuovete il pacchetto con lo strumento con cui l'avete installato, per esempio sudo apt-get remove oneuptime-infrastructure-agent.

Cosa comunica l'agente

Ogni report contiene il nome host del server e:

AmbitoCosa viene comunicato
CPUUtilizzo in %, numero di core, utilizzo per core, e tempo trascorso in user, system, idle, attesa I/O, steal, nice, IRQ e soft IRQ
MemoriaMemoria totale, usata, libera e disponibile, buffer e cache, utilizzo in %, e swap totale, usato, libero e utilizzo in %
DischiPer ogni disco montato: percorso di montaggio, dispositivo, file system, spazio totale, usato e libero, utilizzo in %, byte e operazioni letti e scritti, e tempo di I/O
CaricoMedie di carico a 1, 5 e 15 minuti
RetePer ogni interfaccia: byte e pacchetti inviati e ricevuti, errori e scarti in ingresso e in uscita; più le connessioni stabilite e in ascolto
HostSistema operativo, piattaforma e versione, versione e architettura del kernel, uptime, ora di avvio, virtualizzazione e numero di processi
ProcessiOgni processo in esecuzione: nome, PID, comando, CPU in %, memoria, stato, thread, utente e ora di avvio

I valori che il sistema operativo non fornisce vengono omessi. La scheda Metriche del monitor mostra i grafici di disponibilità, CPU, memoria, utilizzo e I/O dei dischi, medie di carico, swap, traffico ed errori di rete, connessioni, uptime e numero di processi.

Criteri di monitoraggio

I criteri decidono quando il monitor è online, degradato od offline, e quando apre un avviso o un incidente. Ogni filtro di un criterio ha un Tipo di filtro, una Condizione del filtro e, per la maggior parte dei tipi, un valore.

Tipo di filtroCosa controllaCondizioni del filtro
Is OnlineSe l'agente ha comunicato di recente (negli ultimi 3 minuti, per impostazione predefinita)Vero, Falso
CPU Usage (in %)Utilizzo complessivo della CPUMaggiore di, Minore di, Maggiore o uguale a, Minore o uguale a
Memory Usage (in %)Memoria in usoCome per la CPU
Disk Usage (in %)Utilizzo del disco indicato in Percorso del discoCome per la CPU
Swap Usage (in %)Swap in usoCome per la CPU
CPU IO Wait (in %)Quota del tempo di CPU passata ad attendere l'I/OCome per la CPU
Load Average (1 minute)Media di carico dell'ultimo minutoCome per la CPU
Load Average (5 minute)Media di carico degli ultimi 5 minutiCome per la CPU
Load Average (15 minute)Media di carico degli ultimi 15 minutiCome per la CPU
Server Process NameSe è in esecuzione un processo con questo nome (senza distinzione tra maiuscole e minuscole)Is Executing, Is Not Executing
Server Process CommandSe è in esecuzione un processo con esattamente questa riga di comando (senza distinzione tra maiuscole e minuscole)Is Executing, Is Not Executing
Server Process PIDSe è in esecuzione un processo con questo PIDIs Executing, Is Not Executing

Percorso del disco accetta un punto di montaggio o un dispositivo, come /, /mnt/data, C:\ o /dev/sda1; se lasciato vuoto vale /. Inserite * per controllare ogni disco comunicato dall'agente: ogni disco che supera la soglia riceve un avviso proprio, così un secondo disco che si riempie non resta nascosto dietro l'avviso aperto del primo.

Valutare su un periodo di tempo

Valuta questo criterio su un periodo di tempo è una casella di controllo a parte nel modulo dei criteri, non una condizione del filtro. È disponibile per Is Online e per ogni tipo di filtro numerico. Attivatela per confrontare un aggregato – scelto in Valuta (Media, Somma, Maximum Value, Minimum Value, All Values, Any Value) sulla finestra impostata da Per gli ultimi (in minuti) – invece del valore dell'ultimo controllo. Su un filtro Is Online, la finestra è il tempo per cui l'agente può restare in silenzio prima che il server conti come offline.

All Values corrisponde solo quando la finestra è davvero coperta da dati. Un monitor appena creato, o uno i cui controlli hanno smesso di essere registrati, non ha abbastanza storico per dire qualcosa sugli ultimi N minuti, quindi il criterio attende invece di corrispondere sull'unica lettura che ha. Any Value è l'impostazione per «avvisami appena un singolo controllo supera la soglia» e scatta comunque subito.

Se nessun dato controlla cosa succede finché la finestra non può sostenere il criterio:

Se nessun datoComportamentoUsatelo per
Ignore (predefinito)Il criterio non corrisponde.Avvisi a soglia ordinari.
TriggerI dati mancanti vengono trattati come il problema.Controlli di tipo heartbeat, in cui il silenzio è di per sé un guasto.
Treat As ZeroLa finestra viene confrontata come un singolo zero.Contatori, in cui «nessun evento» significa davvero zero.
Suggerimento

CPU e carico hanno continuamente brevi picchi. Valutateli su qualche minuto con Media o All Values invece di avvisare su un singolo report.

Esempi di criteri

ObiettivoTipo di filtroCondizione del filtroValore
Segnare il server offline quando l'agente smette di comunicareIs OnlineFalso—
Avvisare quando l'utilizzo della CPU supera il 90%CPU Usage (in %)Maggiore di90
Avvisare quando il disco root è pieno oltre l'85%Disk Usage (in %), Percorso del disco /Maggiore di85
Avvisare per ogni disco pieno oltre l'85%, un avviso per discoDisk Usage (in %), Percorso del disco *Maggiore di85
Avvisare quando l'utilizzo della memoria supera l'80%Memory Usage (in %)Maggiore di80
Avvisare quando nginx smette di essere in esecuzioneServer Process NameIs Not Executingnginx

Risoluzione dei problemi

L'agente non comunica
  • Verificate che il servizio sia in esecuzione: sudo oneuptime-infrastructure-agent status.
  • Leggete il suo log: sudo oneuptime-infrastructure-agent logs -n 50. Una riga Metrics successfully pushed to Status200 server significa che i report arrivano.
  • L'agente verifica la chiave segreta all'avvio e si chiude se Status200 la rifiuta, registrando Secret key is invalid. Confrontate la chiave con quella nella pagina Impostazioni del monitor, in Reimposta la chiave segreta del monitor del server.
  • Assicuratevi che il server possa raggiungere il vostro URL di Status200 via HTTPS e che nessun firewall blocchi le connessioni in uscita.
sudo dice che il comando non è stato trovato

I pacchetti mettono l'agente nel percorso di sistema, quindi questo succede solo con lo script di installazione. Lo script di installazione mette il binario nella $HOME/bin dell'utente con cui è stato eseguito, e stampa la directory usata. Eseguite l'agente con il percorso completo, per esempio sudo /root/bin/status200-infrastructure-agent configure .... Per installarlo invece in una directory del percorso di sistema, passate -b allo script:

Bash
curl -sSL https://status200.ru/docs/static/scripts/infrastructure-agent/install.sh | sudo bash -s -- -b /usr/local/bin
start dice che la configurazione del servizio non è stata trovata

configure non è stato eseguito, oppure uninstall ne ha rimosso la configurazione. Eseguite configure con la chiave segreta e l'URL, poi start.

Il monitor non va mai offline quando il server è giù

Solo un criterio Is Online segna offline un server silenzioso. Aggiungetene uno con la Condizione del filtro impostata su Falso, e impostate lo stato del monitor che applica.

I report non passano attraverso il proxy
  • Verificate l'URL e la porta del proxy passati a --proxy-url.
  • Assicuratevi che il proxy consenta le connessioni verso il vostro URL di Status200.
  • Per cambiare proxy, eseguite stop e uninstall, poi configure con il nuovo --proxy-url, e start.

Passaggi successivi