1. Entorno operativo
Plataforma
:
_
_
_
1.1 Método de instalación y configuración
1) El sistema solaris viene con snmp;
2) paquete de software net-snmp;
3) paquete compilado net-snmp;
Este artículo solo se aplica a la configuración de instalación del método 2;
2. Preparación
2.1 Registre los archivos snmp y snmpd.conf existentes en el sistema
El propósito de este paso es evitar confusiones con el snmp recién instalado.
#find / -name snmpd
/usr/sfw/sbin/amd64/snmpd
/usr/sfw/sbin/i86/snmpd
/usr/sfw/sbin/snmpd
#find / -name snmpd.conf
/var/sadm/pkg/SUNWsmmgr/save/pspool/SUNWsmmgr/reloc/etc/sma/snmp/snmpd.conf
/var/sadm/pkg/SUNWsacom/save/pspool/SUNWsacom/reloc/etc/snmp/conf/snmpd.conf
/var/sma_snmp/snmpd.conf
/usr/sfw/lib/sma_snmp/snmpd.conf
/etc/snmp/conf/snmpd.conf
/etc/sma/snmp/snmpd.conf
2.2 Detener el servicio snmpd predeterminado del sistema
Una vez recién instalado el sistema Solaris10, el servicio snmp viene con él de forma predeterminada y se iniciará automáticamente cuando se encienda el sistema.
a) Confirme si el servicio SNMP del sistema se está ejecutando:
# ps -ef | grep snmp
root /usr/sfw/sbin/snmpd
root /usr/lib/snmp/snmpdx -y -c /etc/snmp/conf
root grep snmp
b) Si puede ver snmp ejecutándose, ejecute el siguiente comando para detener el servicio:
# svcadm disable sma
# svcadm disable seaport
# svcadm disable snmpdx
# ps -ef | grep snmp
2.3 Descargue el paquete de software de net-snmp
solaris10 x86 :
http://mirror.opencsw.org/opencsw/stable/i386/5.10/
solaris10 sparc:
http://mirror.opencsw.org/opencsw/stable/sparc/5.10/
Dependiendo de la plataforma del sistema, descargue el paquete pkg.gz:
o use el paquete tar que transfirí al disco en la nube, la dirección de descarga es la siguiente:
solaris10_sparc_snmp_pkg.tar
链接:https://pan.baidu.com/s/1yLVh7iY9D1569TpcLcQcZw
提取码:s18s
solaris10_x86_snmp_pkg.tar
链接:https://pan.baidu.com/s/15iKLmohAQxn98ymBywF9Zg
提取码:kui3
libgcc_s1-4.9.0,REV=2014.04.27-SunOS5.10-i386-CSW.pkg.gz
libnetsnmp25-5.6.1.1,REV=2013.08.22-SunOS5.10-i386-CSW.pkg.gz
libnetsnmpagent25-5.6.1.1,REV=2013.08.22-SunOS5.10-i386-CSW.pkg.gz
libnetsnmphelpers25-5.6.1.1,REV=2013.08.22-SunOS5.10-i386-CSW.pkg.gz
libnetsnmpmibs25-5.6.1.1,REV=2013.08.22-SunOS5.10-i386-CSW.pkg.gz
libnetsnmptrapd25-5.6.1.1,REV=2013.08.22-SunOS5.10-i386-CSW.pkg.gz
libssl1_0_0-1.0.1i,REV=2014.08.08-SunOS5.10-i386-CSW.pkg.gz
libssl_dev-1.0.1i,REV=2014.08.08-SunOS5.10-i386-CSW.pkg.gz
netsnmp-5.6.1.1,REV=2013.08.22-SunOS5.10-i386-CSW.pkg.gz
netsnmp_dev-5.6.1.1,REV=2013.08.22-SunOS5.10-i386-CSW.pkg.gz
netsnmp_py_stub-5.6.1.1,REV=2013.07.18-SunOS5.10-all-CSW.pkg.gz
3. Descomprimir e instalar
# gunzip -d $(ls) #解压全部gz文件
# ls -l
# 一定按照如下顺序安装软件 安装完成后,一定看一眼,输出“安装<XXXX>成功”,才表示安装成功。
# 如果显示“安装<XXXXX>部分成功”或安装失败,那么在安装完其他软件后,再次安装一遍。
# pkgadd -d libgcc_s1-4.9.0,REV=2014.04.27-SunOS5.10-sparc-CSW.pkg
# pkgadd -d libssl1_0_0-1.0.1i,REV=2014.08.08-SunOS5.10-sparc-CSW.pkg
# pkgadd -d libssl_dev-1.0.1i,REV=2014.08.08-SunOS5.10-sparc-CSW.pkg
# pkgadd -d libnetsnmptrapd25-5.6.1.1,REV=2013.08.22-SunOS5.10-sparc-CSW.pkg
# pkgadd -d libnetsnmpmibs25-5.6.1.1,REV=2013.08.22-SunOS5.10-sparc-CSW.pkg
# pkgadd -d libnetsnmphelpers25-5.6.1.1,REV=2013.08.22-SunOS5.10-sparc-CSW.pkg
# pkgadd -d libnetsnmpagent25-5.6.1.1,REV=2013.08.22-SunOS5.10-sparc-CSW.pkg
# pkgadd -d libnetsnmp25-5.6.1.1,REV=2013.08.22-SunOS5.10-sparc-CSW.pkg
# pkgadd -d netsnmp_py_stub-5.6.1.1,REV=2013.07.18-SunOS5.10-all-CSW.pkg
# pkgadd -d netsnmp_dev-5.6.1.1,REV=2013.08.22-SunOS5.10-sparc-CSW.pkg
# pkgadd -d netsnmp-5.6.1.1,REV=2013.08.22-SunOS5.10-sparc-CSW.pkg
En este punto, net-snmp 5.6.1.1 se ha instalado correctamente y el sistema tiene los dos archivos siguientes:
/opt/csw/sbin/snmpd
/etc/opt/csw/snmp/snmpd.conf
4. Modificar el archivo de configuración
# vi /etc/opt/csw/snmp/snmpd.conf
将此处:
agentAddress udp:127.0.0.1:161
改为:
agentAddress 192.168.56.105:161 #192.168.56.105为本机IP
#将此处
view systemonly included .1.3.6.1.2.1.1
view systemonly included .1.3.6.1.2.1.25.1
#修改为:
view systemonly included .1
view systemonly included .1.3.6.1.2.1.1
view systemonly included .1.3.6.1.2.1.25.1
--------------------------------------------------------------------
#将此处:
rocommunity public default -V systemonly
#修改为:
rocommunity cmsnmp default -V systemonly #cmsnmp为自己定义的共同体名称
5. Inicie SNMP
# /opt/csw/sbin/snmpd
# ps -ef | grep snmp
root 1515 1 0 20:20:48 ? 1:22 /opt/csw/sbin/snmpd
root 1965 1305 0 06:00:49 pts/4 0:00 grep snmp
6. Pruebe SNMP
6.1 Pruebas locales
# snmpget -v 1 -c cmsnmp localhost sysUpTime.0 #当前配置文件下,使用localhost应该无数据输出。
# snmpwalk -v 1 -c cmsnmp -m ALL localhost .1.3 | more
# snmpwalk -v 1 -c cmsnmp -m ALL localhost .1.3 | wc -l #如果输出统计数量只有几十,请检查snmpd.conf文件
# 将localhost换成本地IP地址后再执行一遍,看看是否有输出信息
# snmpget -v 1 -c cmsnmp 192.168.56.105 sysUpTime.0
# snmpwalk -v 1 -c cmsnmp -m ALL 192.168.56.105 .1.3 | more
# snmpwalk -v 1 -c cmsnmp -m ALL 192.168.56.105 .1.3 | wc -l
6.2 Pruebas del lado del servidor
# cmsnmp为共同体名称
# 10.168.1.129为client端IP地址
snmpwalk -v 1 -c cmsnmp 192.168.56.105 .1.3.6.1.2.1.25.2.2 #取得系统总内存
snmpwalk -v 1 -c cmsnmp 192.168.56.105 hrSystemNumUsers #取得系统用户数
snmpwalk -v 1 -c cmsnmp 192.168.56.105 .1.3.6.1.2.1.4.20 #取得IP信息
snmpwalk -v 1 -c cmsnmp 192.168.56.105 system #查看系统信息
snmpwalk -v 1 -c cmsnmp 192.168.56.105 ifDescr #获取网卡信息
7. Errores encontrados durante la instalación.
7.1 fatal: libcrypto.so.1.0.0: error al abrir
La ejecución del comando snmpd generará el siguiente mensaje de error:
#/opt/csw/sbin/snmpd -v
ld.so.1: snmpd: 致命的: libcrypto.so.1.0.0: 打开失败: 无此文件或目录
NET-SNMP version: 5.6.1.1
Web: http://www.net-snmp.org/
Email: [email protected]
Esto se debe a que falta el archivo de la biblioteca lib de openssl. Realice las siguientes operaciones:
# pkgadd -d libssl_dev-1.0.1i,REV=2014.08.08-SunOS5.10-i386-CSW.pkg
# pkgadd -d libssl1_0_0-1.0.1i,REV=2014.08.08-SunOS5.10-i386-CSW.pkg
7.2 snmpwalk no pudo obtener datos
Fenómeno de falla:
ejecute el siguiente comando localmente y habrá la información de salida correspondiente:
# snmpget -v 1 -c cmsnmp localhost sysUpTime.0
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (3589394) 9:58:13.94
# snmpwalk -v 1 -c cmsnmp -m ALL localhost .1.3 | more
SNMPv2-MIB::sysDescr.0 = STRING: SunOS solaris2 5.10 Generic_147148-26 i86pc
SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMP-TC::solaris
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (3595007) 9:59:10.07
SNMPv2-MIB::sysContact.0 = STRING: Me <[email protected]>
SNMPv2-MIB::sysName.0 = STRING: solaris2
SNMPv2-MIB::sysLocation.0 = STRING: Sitting on the Dock of the Bay
SNMPv2-MIB::sysServices.0 = INTEGER: 72
SNMPv2-MIB::sysORLastChange.0 = Timeticks: (0) 0:00:00.00
SNMPv2-MIB::sysORID.1 = OID: SNMP-MPD-MIB::snmpMPDMIBObjects.3.1.1
...
...
Ejecute el siguiente comando localmente, no se genera información (el mismo comando, excepto que la dirección IP local se reemplaza con la dirección IP local)
# snmpget -v 1 -c cmsnmp 192.168.56.105 sysUpTime.0
Timeout: No Response from 192.168.56.105
# snmpwalk -v 1 -c cmsnmp -m ALL 192.168.56.105 .1.3 | more
Timeout: No Response from 192.168.56.105
Ejecute el siguiente comando en el lado del servidor y no hay información de salida:
# snmpget -v 1 -c cmsnmp 192.168.56.105 sysUpTime.0
Timeout: No Response from 192.168.56.105
# snmpwalk -v 1 -c cmsnmp -m ALL 192.168.56.105 .1.3 | more
Timeout: No Response from 192.168.56.105
Al principio pensé que se debía a la configuración del firewall, pero luego verifiqué y descubrí que el firewall predeterminado del sistema Solaris está desactivado.
Más tarde encontré un método que requiere agregar dos líneas al archivo de configuración snmpd.conf:
# vi /etc/opt/csw/snmp/snmpd.conf
#文件最后增加:
interface e1000g0 #e1000g0 为网口名称,根据实际配置情况修改
agentaddress 192.168.56.105:161 #192.168.56.105为本机IP
Nunca me he encontrado con este problema al configurar redhat y aix en otros sistemas de plataforma. Además, el snmp predeterminado del sistema Solaris o el net-snmp instalado en el modo de compilación no han encontrado este problema. Actualmente, este problema se produce sólo al instalar con el paquete pkg en Solaris. Para su referencia.
7.3 snmpget: comando no encontrado
Fenómeno de falla
# snmpget -v 1 -c cmsnmp 192.168.56.105 sysUpTime.0
-bash: snmpget: command not found
resolver:
# find / -name snmpget
/opt/csw/bin/snmpget
/usr/sfw/bin/snmpget
# vi ~/.profile #修改环境变量
在PATH路径中,添加:
/opt/csw/bin:
Después de guardar y salir, entrará en vigor después de cerrar sesión en el sistema e iniciar sesión nuevamente.