当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 在 RHEL/CentOS/Fedor 上安装和配置 SNMP

作者:精品下载站 日期:2024-12-14 23:02:39 浏览:14 分类:玩电脑

在 RHEL/CentOS/Fedor 上安装和配置 SNMP


简单网络管理协议 (

SNMP

) 用于获取有关服务器、网络设备、打印机或其他 IP 设备的当前状态的信息。您可以通过 SNMP 获取不同的指标:CPU 利用率、进程数量、服务状态等。SNMP 的主要优点是几乎所有设备都支持它,并且不需要安装单独的监控系统代理。在本文中,我们将展示如何在运行 CentOS、RHEL 或 Fedora 的 Linux 主机上安装和配置 SNMP (和 SNMP v3)代理

在 Linux 上安装 SNMP 代理和诊断工具

在安装 SNMP 软件包之前,请使用 dnf (yum) 在服务器上安装最新更新:

# dnf update -y

然后从基础存储库安装 SNMP 代理和其他工具:

# dnf install net-snmp net-snmp-utils -y

[玩转系统] 在 RHEL/CentOS/Fedor 上安装和配置 SNMP

如何在Linux上启用和配置SNMP代理?

在配置 SNMP 之前,创建原始配置文件的副本:

# mv /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf.orig

然后编辑 SNMP 代理设置:

# nano /etc/snmp/snmpd.conf

添加以下行:

rocommunity public
syslocation GE-DC2
syscontact [email protected]

这是三个基本的 SNMP 参数。配置 Net-SNMP 代理还有许多其他选项,但我们无法在一篇文章中涵盖所有内容。

保存文件(建议输入正确的位置和有效的电子邮件地址)。然后启用 snmpd 服务并启动它:

# systemctl enable snmpd.service
# systemctl start snmpd

确保服务正在运行:

# systemctl status snmpd

[玩转系统] 在 RHEL/CentOS/Fedor 上安装和配置 SNMP

如果您在服务器上使用防火墙,请允许连接到 TCP/UDP 端口 161 和 162。使用以下命令在firewalld 中打开 SNMP 端口:

# firewall-cmd --zone=public --add-port=161/udp --permanent
# firewall-cmd --zone=public --add-port=161/tcp -permanent
# firewall-cmd --zone=public --add-port=162/udp --permanent
# firewall-cmd --zone=public --add-port=162/tcp --permanent
# firewall-cmd --reload

使用 Snmpwalk 轮询 SNMP 代理

您可以使用snmpwalk工具轮询SNMP代理。要使用 SMMPv2 协议在本地检查服务,请使用以下命令:

# snmpwalk -v 2c -c public -O e 127.0.0.1

如果 SNMP 配置正确,您将从代理收到一组 SNMP 数据。

设置配置文件并运行测试命令后,我收到以下错误:

Timeout: No Response from localhost

我通过清除配置文件并仅添加上面指定的行来修复它。如果您需要一些特定的设置,请彻底检查所有内容,因为服务启动时没有任何问题,但它无法正常工作。

您还可以使用以下命令在本地查询服务器:

# snmpwalk -v2c -c public localhost system
SNMPv2-MIB::sysDescr.0 = STRING: Linux server1.test.com 4.18.0-147.8.1.el8_1.x86_64 #1 SMP Thu Apr 9 13:49:54 UTC 2020 x86_64
SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMP-MIB::netSnmpAgentOIDs.10
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (106564) 0:17:45.64
SNMPv2-MIB::sysContact.0 = STRING: [email protected]
SNMPv2-MIB::sysName.0 = STRING: server1.test.com
SNMPv2-MIB::sysLocation.0 = STRING: GE-DC2
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SNMPv2-MIB::sysORUpTime.6 = Timeticks: (0) 0:00:00.00
SNMPv2-MIB::sysORUpTime.7 = Timeticks: (0) 0:00:00.00
SNMPv2-MIB::sysORUpTime.8 = Timeticks: (0) 0:00:00.00
SNMPv2-MIB::sysORUpTime.9 = Timeticks: (0) 0:00:00.00
SNMPv2-MIB::sysORUpTime.10 = Timeticks: (0) 0:00:00.00

然后确保您的 SNMP 代理可远程使用。在另一台服务器上运行此命令(在执行此操作之前安装 snmp 工具):

# snmpwalk -v2c -c public 192.168.21.205 system

[玩转系统] 在 RHEL/CentOS/Fedor 上安装和配置 SNMP

正如您所看到的,远程服务器通过SNMP从服务器接收信息。现在您可以将服务器添加到任何 SNMP 监控系统(例如 Zabbix 或 Cacti

这是一篇关于“如何在 VMWare ESXi 主机上配置 SNMP?”的文章。 ”。

在 Linux CentOS/RHEL/Fedora 上配置 SNMPv3

在本文开头,我们展示了如何配置使用 SNMP v1 和 v2 的 SNMP 代理。 SNMPv3 是该协议更新且更安全的版本,支持身份验证和加密。要配置 SNMPv3,请创建一个具有密码的用户,设置加密密码、访问权限和加密算法(MD5 或 SHA)。

要为 SNMPv3 创建用户,请停止 snmpd 守护进程:

# systemctl stop snmpd

然后你可以创建一个用户:

# net-snmp-create-v3-user -ro -A o2ps2w0dD -a SHA -X r30svV33 -x AES snmpuser

以下是 net-snmp-create-v3-user 的语法:

net-snmp-create-v3-user [-ro] [-A authpass] [-a MD5|SHA] [-X privpass][-x DES|AES] [username]
  • -ro - 表示用户具有只读权限

  • Authpass——认证密码

  • Privpass——私钥

运行命令后,将创建具有指定密码和密钥的用户:

[玩转系统] 在 RHEL/CentOS/Fedor 上安装和配置 SNMP

启动服务:

# systemctl start snmpd

尝试使用 snmpwalk 轮询 SNMP 代理。请注意,要轮询 SNMPv3,您必须指定用户名、密码和密钥。

# snmpwalk -v3 -a SHA -A o2ps2w0dD -x AES -X r30svV33 -l authPriv -u snmpuser 192.168.21.205 | head

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯