In questo tutorial vedremo come configurare Proxmox e LibreNMS per poter monitorare le VM all’interno di un server Proxmox.
In LibreNMS è possibile configurare il monitoraggio di Proxmox con due diversi metodi:
SNMPD EXTEND: Quando si utilizza il metodo Extend SNMP, il modulo di rilevamento dell’applicazione raccoglierà quali applicazioni sono state impostate per il monitoraggio automaticamente, anche se il dispositivo è già in LibreNMS. Il modulo di rilevamento dell’applicazione è abilitato per impostazione predefinita per la maggior parte dei sistemi operativi *NIX, ma in alcuni casi si dovrà abilitare manualmente il modulo di rilevamento dell’applicazione.
AGENT: L’agente UNIX non ha un modulo di DISCOVERY, solo un modulo di POLLER. Quel modulo di poller è sempre disabilitato per impostazione predefinita. Deve essere abilitato manualmente se si utilizza l’agente. Alcune applicazioni verranno automaticamente abilitate dal modulo UNIX-Agent Poller. È meglio garantire che l’applicazione sia abilitata per il monitoraggio.
PRE REQUISITI
Configurazione del Demone SNMPD su proxmox
Installazione e Configurazione del demone SNMP in Proxmox VE 8.1.4
CONFIGURAZIONE DELL’SNMPD EXTEND IN PROXMOX
Collegarsi alla console di di Proxmox ed installare il pacchetto libpve-apiclient-perl con il comando:
0 |
apt install libpve-apiclient-perl |
Scaricare lo script con il comando:
0 |
wget https://raw.githubusercontent.com/librenms/librenms-agent/master/agent-local/proxmox -O /usr/local/bin/proxmox |
Rendere eseguibile lo script con il comando:
0 |
chmod +x /usr/local/bin/proxmox |
Editare il file di configurazione del demone snmpd (snmpd.conf) con il comando:
0 |
nano /etc/snmp/snmpd.conf |
ed aggiungere al fondo del file la seguente riga:
0 |
extend proxmox /usr/local/bin/proxmox |
ATTENZIONE: se il demone SNMPD non gira con i privilegi di root biaogna eseguire lo script utilizzando sudo e quindi la riga da aggiungere sarà la seguente:
0 |
extend proxmox /usr/bin/sudo /usr/local/bin/proxmox |
Salvare e chiudere il file di configurazione
Adattare la configurazione di etc/sudoers con il comando:
0 |
visudo |
ATTENZIONE: Questo file DEVE essere modificato con il comando ‘visudo’ come root.
Quindi aggiungere al fondo del file di configurazione la seguente stringa:
0 |
Debian-snmp ALL=(ALL) NOPASSWD: /usr/local/bin/proxmox |
Salvare e chiudere il file di configurazione
Riavviare il demone SNMPD con il comando:
0 |
/etc/init.d/snmpd restart |
CONFIGURAZIONE DI LIBRENMS CON L’UTILIZZO DELL’SNMPD EXTEND
A questo punto configurare LibreNMS per poter visualizzare le VM del server Proxmox
Collegarsi in console sul server LibreNMS
Editare il file di configurazione di LibreNMS config.php
0 |
sudo nano /opt/librenms/config.php |
Quindi al fondo del file di configurazione incollare queste due righe:
0 1 |
# Enable Proxmox Graphs $config['enable_proxmox'] = 1; |
Salvare e chiudere il file di configurazione
Collegarsi all GUI di LibreNMS
selezionare il server Proxmox e cliccare sulla rotellina in alto a destra come mostrato nell’immagine sovrastante
Cliccare su Applications come mostrato nell’immagine sovrastante
Abilitare l’opzione Proxmox come mostrato nell’immagine sovrastante
A questo punto eseguire il Discover e il Poller oppure attendere che LibreNMS faccia il Discover automatico
CONFIGURAZIONE DELL’AGENT SU PROXMOX
Se abbiamo fatto la configurazione tramite SNMP per proseguire con la configurazione tramite Agent collegarsi al server Proxmox e commentare la riga extend proxmox
Eseguire il comando:
0 |
nano /etc/snmp/snmpd.conf |
Quindi commentare la riga
0 |
extend proxmox /usr/bin/sudo /usr/local/bin/proxmox |
o la riga
0 |
extend proxmox /usr/local/bin/proxmox |
Salvare e chiudere il file di configurazione
Sempre dalla console di Proxmox installare GIT con il comando:
0 |
apt install git |
Quindi eseguire i comandi in sequenza:
0 1 2 3 4 5 6 7 8 9 10 |
cd /opt/ git clone https://github.com/librenms/librenms-agent.git cd librenms-agent cp check_mk_agent /usr/bin/check_mk_agent chmod +x /usr/bin/check_mk_agent cp check_mk@.service check_mk.socket /etc/systemd/system |
Modificare il file /etc/systemd/system/check_mk.socket aggiungendo l’interfaccia di rete BindToDevice
Eseguire il comando:
0 |
nano /etc/systemd/system/check_mk.socket |
Inserire la riga BindToDevice=vmbr0
ATTENZIONE: inserire al posto di vmbr0 il nome della propria interfaccia
Se abbiamo fatto tutto correttamente dovremmo vedere un output come quello sottostante:
0 1 2 3 4 5 6 7 8 9 |
[Unit] Description=Check_MK LibreNMS Agent Socket [Socket] ListenStream=6556 Accept=yes BindToDevice=vmbr0 [Install] WantedBy=sockets.target |
Quindi eseguire i comandi:
0 1 2 3 4 5 6 7 8 |
mkdir -p /usr/lib/check_mk_agent/plugins /usr/lib/check_mk_agent/local cp agent-local/proxmox /usr/lib/check_mk_agent/local/ chmod +x /usr/lib/check_mk_agent/local/proxmox systemctl enable check_mk.socket && systemctl start check_mk.socket systemctl daemon-reload |
CONFIGURAZIONE DI LIBRENMS TRAMITE AGENT
Collegari alla Web GUI di LibreNMS
selezionare il server Proxmox e cliccare sulla rotellina in alto a destra come mostrato nell’immagine sovrastante
Selezionare Modules come mostrato nell’immagine sovrastante
Andare al fondo dlla pagina web e abilitare il modulo Unix Agent come mostrato nell’immagine sovrastante
A questo punto eseguire il Discover e il Poller oppure attendere che LibreNMS faccia il Discover automatico
Se è andato tutto a buon fine cliccare sul menù in alto su Apps quindi selezionare Proxmox quindi Cluster-proxmox
Se è tutto OK dovremmo vedere le VM presenti all’interno del cluster come mostrato nell’immagine sovrastante
Cliccando su ogni VM dovremmo visualizzare un grafico come mostrato nell’immagine sovrastante.
Sono Raffaele Chiatto, un appassionato di informatica a 360 gradi.
Tutto è iniziato nel 1996, quando ho scoperto il mondo dell'informatica grazie a Windows 95, e da quel momento non ho più smesso di esplorare e imparare.
Ogni giorno mi dedico con curiosità e passione a scoprire le nuove frontiere di questo settore in continua evoluzione.
0 commenti