云网牛站
所在位置:首页 > Linux云服务器 > 使用LibreNMS监视VMware ESXi主机的方法

使用LibreNMS监视VMware ESXi主机的方法

2019-02-21 11:47:36作者:曾秀珠稿源:云网牛站

本文介绍使用LibreNMS监控VMware ESXi主机的方法。LibreNMS是Observium的最后一个GPL许可版本的基于社区的分支,基于PHP/MySQL/SNMP且有很多功能,可与服务器一起监控网络。先安装LibreNMS,参考使用Letsencrypt和Nginx在CentOS下安装LibreNMS监视工具

 

一、在VMware ESXi主机上配置SNMP

首先使用root用户凭据通过SSH或Telnet连接ESXi主机。

登录后,检查当前的SNMP配置:

# esxcli system snmp get

Authentication: 

Communities: 

Enable: false

Engineid: 

Hwsrc: indications

Loglevel: info

Notraps: 

Port: 161

Privacy: 

Remoteusers: 

Syscontact: 

Syslocation: 

Targets: 

Users: 

V3targets:

通过设置社区字符串来启动配置:

esxcli system snmp set --communities <community>

例如:

esxcli system snmp set --communities MY_SNMP_STRING

配置SNMP端口:

esxcli system snmp set --port 161

在服务器上启用SNMP:

esxcli system snmp set --enable true

设置syscontact:

esxcli system snmp set --syscontact infrastructure@example.com

设置服务器位置:

esxcli system snmp set --syslocation DC-01

检查SNMP防火墙规则:

# esxcli network firewall get

Default Action: DROP

Enabled: true

Loaded: true

# esxcli network firewall ruleset rule list  | grep snmp

snmp                Inbound    UDP       Dst               161       161

# esxcli network firewall ruleset allowedip list | grep snmp

snmp                All

如果你只想从受信任的子网或IP地址限制对SNMP的访问,请将其设置如下:

# esxcli network firewall ruleset allowedip add --ruleset-id snmp \

--ip-address 192.168.3.10

# esxcli network firewall ruleset allowedip add --ruleset-id snmp \

--ip-address 192.168.1.0/24

# esxcli network firewall ruleset set --ruleset-id snmp --enabled true

允许来自任何源IP:

esxcli network firewall ruleset set --ruleset-id snmp --allowed-all true

要测试snmpd服务是否正常工作,请在LibreNMS主机上使用snmpwalk命令:

$ snmpwalk -v 1 -c <SNMP-COMMUNITY-STRING> <ESXi-host-ip>

例如:

# snmpwalk -v 1 -c AADHrptO472lQo 10.245.2.2 | more

SNMPv2-MIB::sysDescr.0 = STRING: VMware ESXi 5.1.0 build-2000251 VMware, Inc. x86_64

SNMPv2-MIB::sysObjectID.0 = OID: SNMPv2-SMI::enterprises.6876.4.1

DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (126700) 0:21:07.00

SNMPv2-MIB::sysContact.0 = STRING: infrastructure@domain.com

SNMPv2-MIB::sysName.0 = STRING: esxi-01.local

SNMPv2-MIB::sysLocation.0 = STRING: DC-01

SNMPv2-MIB::sysServices.0 = INTEGER: 72

SNMPv2-MIB::sysORLastChange.0 = Timeticks: (0) 0:00:00.00

SNMPv2-MIB::sysORID.1 = OID: SNMPv2-MIB::snmpMIB

SNMPv2-MIB::sysORID.2 = OID: IF-MIB::ifMIB

SNMPv2-MIB::sysORID.3 = OID: IP-MIB::ip

SNMPv2-MIB::sysORID.4 = OID: IP-FORWARD-MIB::ipForward

SNMPv2-MIB::sysORID.5 = OID: UDP-MIB::udp

SNMPv2-MIB::sysORID.6 = OID: TCP-MIB::tcp

SNMPv2-MIB::sysORID.7 = OID: SNMPv2-SMI::mib-2.47

SNMPv2-MIB::sysORID.8 = OID: SNMPv2-SMI::org.111.2.802.1.1.2

SNMPv2-MIB::sysORID.9 = OID: SNMPv2-SMI::org.111.2.802.1.1.4

SNMPv2-MIB::sysORID.10 = OID: iso.2.840.10006.300.43

SNMPv2-MIB::sysORID.11 = OID: SNMPv2-SMI::org.111.2.802.1.1.13

SNMPv2-MIB::sysORID.12 = OID: HOST-RESOURCES-MIB::hostResourcesMibModule

SNMPv2-MIB::sysORID.13 = OID: SNMPv2-SMI::enterprises.6876.1.10

SNMPv2-MIB::sysORID.14 = OID: SNMPv2-SMI::enterprises.6876.2.10

SNMPv2-MIB::sysORID.15 = OID: SNMPv2-SMI::enterprises.6876.3.10

SNMPv2-MIB::sysORID.16 = OID: SNMPv2-SMI::enterprises.6876.4.90.10

SNMPv2-MIB::sysORID.17 = OID: SNMPv2-SMI::enterprises.6876.4.20

SNMPv2-MIB::sysORDescr.1 = STRING: SNMPv2-MIB, RFC 3418

SNMPv2-MIB::sysORDescr.2 = STRING: IF-MIB, RFC 2863

SNMPv2-MIB::sysORDescr.3 = STRING: IP-MIB, RFC 4293

SNMPv2-MIB::sysORDescr.4 = STRING: IP-FORWARD-MIB, RFC 4292

SNMPv2-MIB::sysORDescr.5 = STRING: UDP-MIB, RFC 4113

SNMPv2-MIB::sysORDescr.6 = STRING: TCP-MIB, RFC 4022

SNMPv2-MIB::sysORDescr.7 = STRING: ENTITY-MIB, RFC 4133

SNMPv2-MIB::sysORDescr.8 = STRING: IEEE8021-BRIDGE-MIB, REVISION 200810150000Z

SNMPv2-MIB::sysORDescr.9 = STRING: IEEE8021-Q-BRIDGE-MIB, REVISION 200810150000Z

SNMPv2-MIB::sysORDescr.10 = STRING: IEEE8023-LAG-MIB, REVISION 200706200000Z

SNMPv2-MIB::sysORDescr.11 = STRING: LLDP-V2-MIB, REVISION 200906080000Z

SNMPv2-MIB::sysORDescr.12 = STRING: HOST-RESOURCES-MIB, RFC 2790

SNMPv2-MIB::sysORDescr.13 = STRING: VMWARE-SYSTEM-MIB, REVISION 201008020000Z

SNMPv2-MIB::sysORDescr.14 = STRING: VMWARE-VMINFO-MIB, REVISION 201006220000Z

SNMPv2-MIB::sysORDescr.15 = STRING: VMWARE-RESOURCES-MIB, REVISION 200810150000Z

进行更改后重新启动snmp服务:

# /etc/init.d/snmpd restart

 

二、将VMware ESXi主机添加到LibreNMS

完成ESXi主机上的SNMP配置后,即可开始将主机添加到LibreNMS进行监控,LibreNMS提供使用自动发现功能在网络上自动添加设备的功能,发现运行时会运行所有发现方法(默认情况下每6小时一次,新设备在5分钟内运行)。

以librenms用户身份登录LibreNMS,并导航到/opt/librenms,这应该是librenms用户的主文件夹:

$  cd /opt/librenms

首先要做的是将所需的配置选项添加到config.php。

然后添加SNMP详细信息。

要自动添加设备,LibreNMS需要知道你的snmp详细信息,SNMP v1,v2c和v3的示例如下:

// v1 or v2c

$config['snmp']['community'][] = "my_custom_community";

$config['snmp']['community'][] = "another_community";

// v3

$config['snmp']['v3'][0]['authlevel'] = 'authPriv';

$config['snmp']['v3'][0]['authname'] = 'my_username';

$config['snmp']['v3'][0]['authpass'] = 'my_password';

$config['snmp']['v3'][0]['authalgo'] = 'MD5';

$config['snmp']['v3'][0]['cryptopass'] = 'my_crypto';

$config['snmp']['v3'][0]['cryptoalgo'] = 'AES';

添加设备时将尝试这些细节,你可以指定这些的任何混合。

使用以下内容定义要扫描的子网:

$config['nets'][] = '192.168.0.0/24';

$config['nets'][] = '172.20.4.0/23';

还可以运行手动SNMP扫描,syntax为:

$ ./snmp-scan.py [-h] [-r NETWORK] [-t THREADS] [-l] [-v]

例:

$ ./snmp-scan.py 10.245.2.2

Scanning IPs:

*

Scanned 1 IPs: 1 known devices, added 0 devices, failed to add 0 devices

Runtime: 0.39 seconds

此设备应显示在LibreNMS管理面板上的设备>所有设备>服务器下:

使用LibreNMS监视VMware ESXi主机的方法

给它5分钟收集服务器事实并开始创建图表:

使用LibreNMS监视VMware ESXi主机的方法

日志和主机事件也将开始出现:

使用LibreNMS监视VMware ESXi主机的方法

至此,本文的目标达到。

 

相关主题

使用Prometheus和Grafana监控Linux服务器性能的方法

精选文章
热门文章