博客 / Linux/ Linux centos安装SNMP使用360&监控宝的服务器监控功能

Linux centos安装SNMP使用360&监控宝的服务器监控功能

Linux centos安装SNMP使用360&监控宝的服务器监控功能

本文以 CentOS 环境为例,介绍如何编译安装 Net-SNMP 并配置,以便使用 360 监控宝等服务器监控服务。其他 Linux 发行版操作类似。

编译与安装

请使用 root 账号或具备 sudo 权限的账号执行安装,否则可能因权限不足而失败。

1. 下载源代码

建议下载较新的 Net-SNMP 版本。以下以 5.7.2 版本为例(请注意,当前已有更新的版本,建议访问 Net-SNMP 官网 获取最新稳定版)。

wget http://download.cloud.360.cn/yjk/net-snmp.tar.gz

如果 wget 下载失败,可在本地浏览器下载后上传至服务器。

2. 解压源代码

tar xzvf net-snmp.tar.gz

3. 配置编译选项

cd net-snmp-5.7.2
./configure --prefix=/usr/local/snmp --with-mib-modules=ucd-snmp/diskio --enable-mfd-rewrites

配置参数说明:

  • --prefix=/usr/local/snmp:指定 SNMP 的安装目录。
  • --with-mib-modules=ucd-snmp/diskio:启用磁盘 I/O 监控支持。
  • --enable-mfd-rewrites:允许新的 MFD 重写 mid 模块,以支持 64 位计数器,确保能正确采集网络流量等数据。

注意:执行 ./configure 过程中,会提示选择 SNMP 协议版本(1, 2c, 3)。出于安全考虑,不推荐使用版本 1。通常可直接按回车使用默认选项(包含 2c 和 3)。

4. 编译并安装

make && make install

安装完成后,SNMP 守护进程位于 /usr/local/snmp/sbin/snmpd。在启动前,需要进行配置。

配置身份验证

将 SNMP 服务暴露在网络上存在风险,必须配置身份验证以限制访问。360 监控宝支持 SNMP v2c 和 v3 协议,建议使用更安全的 v3 版本。

SNMP v2c 配置

v2c 使用 community string(类似密码)进行验证。编辑配置文件(如果不存在则创建):

vim /usr/local/snmp/share/snmp/snmpd.conf

添加以下内容:

rocommunity your_community_string default

参数说明:

  • rocommunity:表示只读权限。
  • your_community_string:请替换为自定义的复杂字符串,切勿使用默认的 public
  • default:允许所有 IP 访问。为增强安全,建议替换为监控服务器的具体 IP 地址。例如:
    rocommunity your_community_string 101.199.100.150
    rocommunity your_community_string 220.181.150.98
    # ... 按需添加更多监控节点 IP

配置完成后,重启 snmpd 服务使配置生效。

SNMP v3 配置

v3 提供加密传输,更安全。编辑主配置文件:

vim /usr/local/snmp/share/snmp/snmpd.conf

添加只读用户:

rouser your_username auth

接着,创建用户。编辑(或创建)用户配置文件:

vim /var/net-snmp/snmpd.conf

添加以下行(确保 snmpd 服务未运行):

createUser your_username MD5 your_password

说明:

  • your_usernameyour_password 需自定义。
  • 密码长度至少 8 位。
  • 此配置在 snmpd 首次启动后会被自动删除(转为加密存储),后续重启无需重复添加。

启动 SNMP 服务

使用绝对路径启动:

/usr/local/snmp/sbin/snmpd

停止服务可使用:

killall -9 snmpd

建议配置系统服务(systemd 或 init)以实现开机自启,此处不再赘述。

(可选)使用防火墙增强安全

如果熟悉 iptables,可以进一步限制访问来源。SNMP 默认使用 UDP 161 端口。示例规则如下(假设外网网卡为 eth0,IP 需替换为监控宝的实际监控节点 IP):

iptables -A INPUT -i eth0 -p udp -s 101.199.100.150 --dport 161 -j ACCEPT
iptables -A INPUT -i eth0 -p udp -s 220.181.150.98 --dport 161 -j ACCEPT
# ... 添加其他允许的 IP

最后,设置默认策略丢弃其他所有到 161 端口的访问。请注意,错误的防火墙规则可能导致服务不可用,操作前请确认。

完成以上步骤后,即可在 360 监控宝添加服务器,选择对应的 SNMP 版本(v2c 或 v3),并填入配置中设置的 community string 或用户名/密码,启用监控功能。

发表评论

您的邮箱不会公开。必填项已用 * 标注。