默认情况下,Simple Network Management Protocol (SNMP) 使用 User Datagram Protocol (UDP) 传输层协议在 Elastic Cloud Storage (ECS) 上单独报告节点运行状况。有时使用 Transmission Control Protocol (TCP),这是一种基于会话的 SNMP 协议。这对于需要使用 TCP 协议的特定安全或操作问题是必需的。
以下可以设置为允许通过 SNMP 进行 TCP 和 UDP 通信:
- 添加 agentaddress udp:161,tcp:161 以允许在节点 SNMP 代理程序上使用 TCP 和 UDP 协议:
命令:
# sudo vi /etc/snmp/snmpd.conf
示例:
# sec.name source community
com2sec local localhost secret42
com2sec cust1_sec 192.0.2.0/24 public
com2sec cust1_sec 192.0.2.0/24 public
com2sec cust1_sec 0.0.0.0/0 happyplace
com2sec snmpv3_user 198.51.100.0/24 public
com2sec snmpv3_user 198.51.100.0/24 public
agentaddress udp:161,tcp:161
...
- 重新启动节点上的 SNMP 代理程序以获取配置中的新更改:
命令:
# sudo systemctl restart snmpd
# sudo systemctl status snmpd
示例:
admin@node1:~> sudo systemctl restart snmpd
admin@node1:~> sudo systemctl status snmpd
snmpd.service - LSB: Net-SNMP agent
Loaded: loaded (/etc/init.d/snmpd; bad; vendor preset: disabled)
Active: active (running) since Fri 2020-05-01 15:16:52 UTC; 20min ago
Docs: man:systemd-sysv-generator(8)
Process: 80940 ExecStop=/etc/init.d/snmpd stop (code=exited, status=0/SUCCESS)
Process: 80948 ExecStart=/etc/init.d/snmpd start (code=exited, status=0/SUCCESS)
Tasks: 1 (limit: 512)
Memory: 4.5M
CPU: 802ms
CGroup: /system.slice/snmpd.service
80959 /usr/sbin/snmpd -r -A -LF n /var/log/net-snmpd.log -p /var/run/snmpd.pid
May 01 15:16:52 ecsnode1.gslabs.lab.emc.com systemd[1]: Starting LSB: Net-SNMP agent...
May 01 15:16:52 node1 snmpd[80948]: Starting snmpd..done
May 01 15:16:52 node1 systemd[1]: Started LSB: Net-SNMP agent.
- 确认发生了更改,并且 SNMP 正在侦听 TCP 和 UDP 协议:
命令:
# sudo netstat -lntup | grep snmp
示例:
admin@node1:~> sudo netstat -lntup | grep snmp
tcp 0 0 127.0.0.1:199 0.0.0.0:* LISTEN 80959/snmpd
tcp 0 0 0.0.0.0:161 0.0.0.0:* LISTEN 80959/snmpd
udp 0 0 0.0.0.0:161 0.0.0.0:* 80959/snmpd
This change to the SNMP agents on the nodes can be done during the agent deployments in KB ECS: How to setup SNMP v2c and v3 monitoring support