11 Zabbix agent su Microsoft Windows
Configurazione di agent
Entrambe le generazioni degli agent Zabbix vengono eseguite come servizio Windows. Per Zabbix agent 2, sostituire agentd con agent2 nelle istruzioni riportate di seguito.
È possibile eseguire una singola istanza di Zabbix agent o più istanze di agent su un host Microsoft Windows. Una singola istanza può utilizzare:
- il file di configurazione predefinito, situato nella stessa directory del file binario dell'agent;
- un file di configurazione specificato nella riga di comando.
Nel caso di più istanze, ogni istanza di agent deve avere il proprio file di configurazione (una delle istanze può utilizzare il file di configurazione predefinito).
Un file di configurazione di esempio è disponibile nell'archivio dei sorgenti di Zabbix come:
conf/zabbix_agentd.confper Zabbix agent;conf/zabbix_agent2.confper Zabbix agent2.
Se si desidera installare Zabbix agent/agent 2 per Windows come servizio da un archivio senza specificare esplicitamente il file di configurazione, prima di installare l'agent:
conf/zabbix_agentd.confdeve essere copiato manualmente nella directory in cui verrà installato zabbix_agentd.exe;conf/zabbix_agent2.confe la directoryconf/zabbix_agent2.ddevono essere copiati manualmente nella directory in cui verrà installato zabbix_agent2.exe.
Per i dettagli sulla configurazione di Zabbix Windows agent, vedere le opzioni del file di configurazione.
Parametro Hostname
Per eseguire i controlli attivi su un host, Zabbix agent deve avere il nome host definito. Inoltre, il valore del nome host impostato lato agent deve corrispondere esattamente al "Nome host" configurato per l'host nel frontend.
Il valore del nome host lato agent può essere definito tramite il parametro Hostname o HostnameItem nel file di configurazione dell'agent, oppure vengono utilizzati i valori predefiniti se uno di questi parametri non è specificato.
Il valore predefinito del parametro HostnameItem è il valore restituito dalla chiave agent "system.hostname". In Windows, restituisce il risultato della funzione gethostname(), che interroga i provider dello spazio dei nomi per determinare il nome del host locale. Se nessun provider dello spazio dei nomi risponde, viene restituito il nome NetBIOS.
Il valore predefinito di Hostname è il valore restituito dal parametro HostnameItem. Quindi, in pratica, se entrambi questi parametri non sono specificati, il nome host effettivo sarà il nome NetBIOS del host; Zabbix agent utilizzerà il nome host NetBIOS per recuperare l'elenco dei controlli attivi da Zabbix server e inviargli i risultati.
La chiave "system.hostname" supporta due parametri opzionali: type e transform.
Type determina il tipo di nome che l'item deve restituire:
- netbios (predefinito) - restituisce il nome host NetBIOS, che è limitato a 15 caratteri ed è solo in MAIUSCOLO;
- host - con distinzione tra maiuscole e minuscole, restituisce il nome host Windows completo e reale (senza dominio);
- shorthost - restituisce la parte del nome host prima del primo punto. Restituirà la stringa completa se il nome non contiene un punto.
- fqdn - restituisce il Fully Qualified Domain Name (senza il punto finale).
Transform consente di specificare una regola di trasformazione aggiuntiva per il nome host:
- none (predefinito) - usa le maiuscole/minuscole originali;
- lower - converte il testo in minuscolo.
Quindi, per semplificare la configurazione del file zabbix_agentd.conf e renderla uniforme, si possono utilizzare tre diversi approcci:
- Lasciare non definiti i parametri Hostname o HostnameItem e Zabbix agent utilizzerà il nome host NetBIOS come nome host.
- Lasciare non definito il parametro Hostname e definire HostnameItem
in questo modo:
HostnameItem=system.hostname[host] - affinché Zabbix agent utilizzi il nome host Windows completo e reale (con distinzione tra maiuscole e minuscole) come nome host
HostnameItem=system.hostname[shorthost,lower] - affinché Zabbix agent utilizzi solo la parte del nome host prima del primo punto, convertita in minuscolo.
HostnameItem=system.hostname[fqdn] - affinché Zabbix agent utilizzi il Fully Qualified Domain Name come nome host.
Il nome host viene utilizzato anche come parte del nome del servizio Windows, che viene usato per
installare, avviare, arrestare e disinstallare il servizio Windows. Ad
esempio, se il file di configurazione di Zabbix agent specifica
Hostname=Windows_db_server, allora l'agent verrà installato come
servizio Windows "Zabbix Agent [Windows_db_server]". Pertanto, per avere
un nome di servizio Windows diverso per ogni istanza di Zabbix agent, ogni
istanza deve utilizzare un nome host diverso.
Installazione di agent come servizio Windows
Prima di installare l'agent, copiare manualmente conf/zabbix_agentd.conf nella
directory in cui verrà installato zabbix_agentd.exe.
Per installare una singola istanza di Zabbix agent con il file di configurazione predefinito:
zabbix_agentd.exe --install
Su un sistema a 64 bit, è richiesta una versione a 64 bit di Zabbix agent affinché tutti i controlli relativi ai processi a 64 bit in esecuzione funzionino correttamente.
Se si desidera utilizzare un file di configurazione diverso da quello predefinito, è necessario usare il seguente comando per l'installazione del servizio:
zabbix_agentd.exe --config <your_configuration_file> --install
Deve essere specificato il percorso completo del file di configurazione.
Più istanze di Zabbix agent possono essere installate come servizi in questo modo:
zabbix_agentd.exe --config <configuration_file_for_instance_1> --install --multiple-agents
zabbix_agentd.exe --config <configuration_file_for_instance_2> --install --multiple-agents
...
zabbix_agentd.exe --config <configuration_file_for_instance_N> --install --multiple-agents
Il servizio installato dovrebbe ora essere visibile nel Pannello di controllo.
Avvio dell'agent
Per avviare il servizio agent, puoi usare il Pannello di controllo oppure farlo dalla riga di comando.
Per avviare una singola istanza di Zabbix agent con il file di configurazione predefinito:
zabbix_agentd.exe --start
Per avviare una singola istanza di Zabbix agent con un altro file di configurazione:
zabbix_agentd.exe --config <your_configuration_file> --start
Per avviare una delle molteplici istanze di Zabbix agent:
zabbix_agentd.exe --config <configuration_file_for_this_instance> --start --multiple-agents
Arresto dell'agent
Per arrestare il servizio agent, puoi usare il Pannello di controllo oppure farlo dalla riga di comando.
Per arrestare una singola istanza di Zabbix agent avviata con il file di configurazione predefinito:
zabbix_agentd.exe --stop
Per arrestare una singola istanza di Zabbix agent avviata con un altro file di configurazione:
zabbix_agentd.exe --config <your_configuration_file> --stop
Per arrestare una delle più istanze di Zabbix agent:
zabbix_agentd.exe --config <configuration_file_for_this_instance> --stop --multiple-agents
Disinstallazione del servizio Windows di agent
Per disinstallare una singola istanza di Zabbix agent utilizzando il file di configurazione predefinito:
zabbix_agentd.exe --uninstall
Per disinstallare una singola istanza di Zabbix agent utilizzando un file di configurazione non predefinito:
zabbix_agentd.exe --config <your_configuration_file> --uninstall
Per disinstallare più istanze di Zabbix agent dai servizi Windows:
zabbix_agentd.exe --config <configuration_file_for_instance_1> --uninstall --multiple-agents
zabbix_agentd.exe --config <configuration_file_for_instance_2> --uninstall --multiple-agents
...
zabbix_agentd.exe --config <configuration_file_for_instance_N> --uninstall --multiple-agents
Limitazioni
Zabbix agent per Windows non supporta configurazioni Windows non standard in cui le CPU sono distribuite in modo non uniforme tra i nodi NUMA. Se le CPU logiche sono distribuite in modo non uniforme, le metriche delle prestazioni della CPU potrebbero non essere disponibili per alcune CPU. Ad esempio, se ci sono 72 CPU logiche con 2 nodi NUMA, entrambi i nodi devono avere 36 CPU ciascuno.