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.
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.
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.
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.
Installare l'agente
Linux
Su Debian e Ubuntu, aggiungete il repository apt di Status200 e installate l'agente da lì:
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-agentSu RHEL, Rocky Linux, AlmaLinux, Fedora e Amazon Linux, aggiungete il repository yum di Status200 e installate l'agente da lì. Usate
yumdove non c'èdnf, e accettate la chiave di firma di Status200 quando vi viene chiesto.sudo curl -fsSL https://packages.status200.ru/rpm/status200.repo -o /etc/yum.repos.d/status200.repo sudo dnf install oneuptime-infrastructure-agentSu qualsiasi altra distribuzione, usate lo script di installazione:
curl -sSL https://status200.ru/docs/static/scripts/infrastructure-agent/install.sh | sudo bashmacOS
Installate l'agente con Homebrew:
brew install oneuptime/tap/status200-infrastructure-agentOppure usate lo script di installazione:
curl -sSL https://status200.ru/docs/static/scripts/infrastructure-agent/install.sh | sudo bashWindows
Nel Prompt dei comandi aperto come amministratore, installate l'agente con winget:
winget install --id OneUptime.InfrastructureAgent --exact --scope machinePoi riaprite il Prompt dei comandi come amministratore, perché
oneuptime-infrastructure-agentsia nel percorso.Senza winget, scaricate l'agente voi stessi:
- Scaricate l'agente dall'ultima release su GitHub:
oneuptime-infrastructure-agent_windows_amd64.zipper x64, oppureoneuptime-infrastructure-agent_windows_arm64.zipper ARM64. - Estraete il file ZIP. Contiene
oneuptime-infrastructure-agent.exe. - 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(ooneuptime-infrastructure-agent-arm64.msi) della stessa release. Installa l'agente inC:\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
.debe.rpmallegati a ogni release di GitHub, firmati con la chiave pubblicata inhttps://packages.status200.ru/gpg.key, e i pacchetti mettono il binario in/usr/bin. Lo script di installazione mette il binariooneuptime-infrastructure-agentin$HOME/bin. In un'installazione self-hosted, lo script viene servito dal vostro URL di Status200.- Scaricate l'agente dall'ultima release su GitHub:
Collegarlo al monitor
Linux
sudo oneuptime-infrastructure-agent configure --secret-key=YOUR_SECRET_KEY --oneuptime-url=https://status200.rumacOS
sudo oneuptime-infrastructure-agent configure --secret-key=YOUR_SECRET_KEY --oneuptime-url=https://status200.ruWindows
oneuptime-infrastructure-agent configure --secret-key=YOUR_SECRET_KEY --oneuptime-url=https://status200.ruconfiguresalva 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, sostituitehttps://status200.rucon il vostro URL.Se il server raggiunge internet tramite un proxy, aggiungete
--proxy-url:sudo oneuptime-infrastructure-agent configure --proxy-url=http://proxy.example.com:8080 --secret-key=YOUR_SECRET_KEY --oneuptime-url=https://status200.ruAvviare l'agente
Linux
sudo oneuptime-infrastructure-agent startmacOS
sudo oneuptime-infrastructure-agent startWindows
oneuptime-infrastructure-agent startAll'avvio, l'agente verifica la chiave segreta con Status200 e invia subito il primo report.
Verificare che comunichi
Eseguite
sudo oneuptime-infrastructure-agent status(senzasudosu Windows): stampaService 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
| Comando | Cosa 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. |
start | Avvia il servizio. Si rifiuta di partire finché non è stato eseguito configure. |
stop | Ferma il servizio. |
restart | Riavvia il servizio. |
status | Indica se il servizio è in esecuzione o fermo. |
logs | Stampa le ultime 100 righe del log dell'agente. -n <lines> stampa un altro numero di righe, e -f segue quelle nuove. |
uninstall | Rimuove il servizio ed elimina il file di configurazione dell'agente. |
help | Elenca 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
| File | Linux e macOS | Windows |
|---|---|---|
| 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 con | Aggiornamento |
|---|---|
| apt | sudo apt-get update && sudo apt-get install --only-upgrade oneuptime-infrastructure-agent |
| dnf o yum | sudo dnf upgrade oneuptime-infrastructure-agent |
| Homebrew | brew upgrade oneuptime-infrastructure-agent |
| winget | winget upgrade --id OneUptime.InfrastructureAgent --exact |
| MSI | Installate l'MSI più recente. |
| Script di installazione | Eseguite 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:
| Ambito | Cosa viene comunicato |
|---|---|
| CPU | Utilizzo in %, numero di core, utilizzo per core, e tempo trascorso in user, system, idle, attesa I/O, steal, nice, IRQ e soft IRQ |
| Memoria | Memoria totale, usata, libera e disponibile, buffer e cache, utilizzo in %, e swap totale, usato, libero e utilizzo in % |
| Dischi | Per 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 |
| Carico | Medie di carico a 1, 5 e 15 minuti |
| Rete | Per ogni interfaccia: byte e pacchetti inviati e ricevuti, errori e scarti in ingresso e in uscita; più le connessioni stabilite e in ascolto |
| Host | Sistema operativo, piattaforma e versione, versione e architettura del kernel, uptime, ora di avvio, virtualizzazione e numero di processi |
| Processi | Ogni 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 filtro | Cosa controlla | Condizioni del filtro |
|---|---|---|
| Is Online | Se l'agente ha comunicato di recente (negli ultimi 3 minuti, per impostazione predefinita) | Vero, Falso |
| CPU Usage (in %) | Utilizzo complessivo della CPU | Maggiore di, Minore di, Maggiore o uguale a, Minore o uguale a |
| Memory Usage (in %) | Memoria in uso | Come per la CPU |
| Disk Usage (in %) | Utilizzo del disco indicato in Percorso del disco | Come per la CPU |
| Swap Usage (in %) | Swap in uso | Come per la CPU |
| CPU IO Wait (in %) | Quota del tempo di CPU passata ad attendere l'I/O | Come per la CPU |
| Load Average (1 minute) | Media di carico dell'ultimo minuto | Come per la CPU |
| Load Average (5 minute) | Media di carico degli ultimi 5 minuti | Come per la CPU |
| Load Average (15 minute) | Media di carico degli ultimi 15 minuti | Come per la CPU |
| Server Process Name | Se è in esecuzione un processo con questo nome (senza distinzione tra maiuscole e minuscole) | Is Executing, Is Not Executing |
| Server Process Command | Se è in esecuzione un processo con esattamente questa riga di comando (senza distinzione tra maiuscole e minuscole) | Is Executing, Is Not Executing |
| Server Process PID | Se è in esecuzione un processo con questo PID | Is 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 dato | Comportamento | Usatelo per |
|---|---|---|
| Ignore (predefinito) | Il criterio non corrisponde. | Avvisi a soglia ordinari. |
| Trigger | I dati mancanti vengono trattati come il problema. | Controlli di tipo heartbeat, in cui il silenzio è di per sé un guasto. |
| Treat As Zero | La finestra viene confrontata come un singolo zero. | Contatori, in cui «nessun evento» significa davvero zero. |
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
| Obiettivo | Tipo di filtro | Condizione del filtro | Valore |
|---|---|---|---|
| Segnare il server offline quando l'agente smette di comunicare | Is Online | Falso | — |
| Avvisare quando l'utilizzo della CPU supera il 90% | CPU Usage (in %) | Maggiore di | 90 |
| Avvisare quando il disco root è pieno oltre l'85% | Disk Usage (in %), Percorso del disco / | Maggiore di | 85 |
| Avvisare per ogni disco pieno oltre l'85%, un avviso per disco | Disk Usage (in %), Percorso del disco * | Maggiore di | 85 |
| Avvisare quando l'utilizzo della memoria supera l'80% | Memory Usage (in %) | Maggiore di | 80 |
| Avvisare quando nginx smette di essere in esecuzione | Server Process Name | Is Not Executing | nginx |
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 rigaMetrics successfully pushed to Status200 serversignifica 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:
curl -sSL https://status200.ru/docs/static/scripts/infrastructure-agent/install.sh | sudo bash -s -- -b /usr/local/binstart 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
stopeuninstall, poiconfigurecon il nuovo--proxy-url, estart.