Last Updated on 25/03/2024 by administrator
Proxmox SNMP agent nastavení a konfigurace
Proxmox SNMP agent nastavení a konfigurace
Motivace:
SNMP je protokol, který se běžně používá pro průběžný sběr nejrůznějších dat ze síťových zařízeních pro potřeby správy sítě. Na tomto protokolu je dnes založena většina prostředků a nástrojů pro správu sítě.
Díky tomuto článku lze pomoci nainstalovat a konfigurovat SNMP agenta na open-source platformě Proxmox.
Následně nějaký SNMP manager, což může být např. LibreNMS, může tyto SNMP data z Proxmox sbírat a zapisovat do grafu.
OS:
Implementace byla prakticky prováděna na open-source platformě Proxmox verze 7.2-3, 7.3-6 i 8.1-5.
Implementace [1]:
Nainstalovat git a snmpd službu:
apt install git snmpd
Přejít do složky opt:
cd /opt
Stáhnutí proxmox-snmp.git z GitHubu:
git clone https://github.com/in-famous-raccoon/proxmox-snmp.git
Eventualně je možné stáhnout proxmox-snmp zazipovaný soubor zde.
Přejít do stažené složky proxmox-snmp:
cd proxmox-snmp/
Soubory začínající řetězcem snmp- musí být spustitelné:
chmod +x snmp-*
Přejít do složky snmp:
cd /etc/snmp/
Provést zálohu původního snmpd.conf configu:
mv snmpd.conf snmpd.conf.original
Překopírovat nově stažený /opt/proxmox-snmp/snmpd.conf do aktuální /etc/snmp/ složky:
cp /opt/proxmox-snmp/snmpd.conf .
Přejít do souboru snmpd.conf:
nano snmpd.conf
a podle potřeby v souboru snmpd.conf přepsat community string z defaulního public a povolit přístup ze zvoleného zdrojového subnetu (odkud se bude SNMP manager dotazovat). Pro příklad to může být subnet 192.168.1.0/24.
rocommunity public 192.168.1.0/24
Restart služby snmpd:
systemctl restart snmpd.service
Pro ověření funkčnosti se může použít program snmpwalk přímo na Proxmox. Ten není součástí balíčku snmpd, tudíž se nainstaluje pomocí:
apt install snmp
Test ověření funkčnosti SNMP agenta verze SNMPv2c pomocí služby snmpwalk s použitím community string public přímo na Proxmox serveru, běžícího na 192.168.0.6:
snmpwalk -v2c -c public 192.168.0.6
Částečný výpis příkazu snmpwalk -v2c -c public localhost ukazuje, že je SNMP agent funkční:
iso.3.6.1.2.1.1.1.0 = STRING: "Linux pve 5.15.30-2-pve #1 SMP PVE 5.15.30-3 (Fri, 22 Apr 2022 18:08:27 +0200) x86_64" iso.3.6.1.2.1.1.2.0 = OID: iso.3.6.1.4.1.8072.3.2.10 iso.3.6.1.2.1.1.3.0 = Timeticks: (8513232) 23:38:52.32 iso.3.6.1.2.1.1.4.0 = STRING: "sec" iso.3.6.1.2.1.1.5.0 = STRING: "pve" iso.3.6.1.2.1.1.6.0 = STRING: "doma" iso.3.6.1.2.1.1.8.0 = Timeticks: (0) 0:00:00.00
Řešení problémů:
Při komplikacích přejít do souboru snmpd.service v /lib/systemd/system/ umístění:
nano /lib/systemd/system/snmpd.service
Je potřeba aby služba snmpd jela pod uživatelem rootem místo uživatele Debian-snmp.
Odkomentovat a přepsat původní ExecStart:
ExecStart=/usr/sbin/snmpd -Lsd -Lf /dev/null -u Debian-snmp -g Debian-snmp -I -smux,mteTrigger,mteTriggerConf -f -p /run/snmpd.pid
na:
ExecStart=/usr/sbin/snmpd -Lsd -Lf /dev/null -u root -g Debian-snmp -I -smux,mteTrigger,mteTriggerConf -f -p /run/snmpd.pid
1) Chyba „Warning: The unit file, source configuration file or drop-ins of snmpd.service changed on disk. Run ‚systemctl daemon-reload‘ to reload units.“
Při restartu služby systemctl restart snmpd.servicese zobrazí hláška:
"Warning: The unit file, source configuration file or drop-ins of snmpd.service changed on disk. Run 'systemctl daemon-reload' to reload units."
Řešení problému:
Provést reload unity:
systemctl daemon-reload
Restart služby snmpd.service:
systemctl restart snmpd.service
Zdroj:
[1] https://github.com/in-famous-raccoon/proxmox-snmp