En las revisiones viejas de Solaris 10, el demonio de Net-SNMP no viene instalado o no levanta el servicio por SMF. En estos casos toca configurar esto a mano. Es recomendable instalar el Net-SNMP del repositorio actualizado, luego toca simplemente instalar el paquete con la siguiente línea de comando:
# pkgtuil -i netsnmp
Por defecto Net-SNMP no trae archivo de configuración. Un archivo de configuración excesivamente simple se puede utilizar, en este caso en /opt/csw/etc:
- snmpd.conf
-
rocommunity public rwcommunity private localhost .1.3.6.1.4.1.42.2.15 syslocation "System administrators office" syscontact "System administrator" sysservices 72
También se debe crear un archivo para iniciar el servicio cuando la máquina reinicie. Este se puede poner en /opt/csw/etc/init.d (Ubique la ruta del interprete utilizando ‘find’, dependiendo de su configuracion ‘bash’ pudiera estar en otra ruta) :
- runnetsnmp
-
#!/bin/bash SNMPD_FILE=/opt/csw/etc/snmpd.conf SNMPD=/opt/csw/sbin/snmpd MIBDIRS=/opt/csw/share/snmp/mibs:/opt/csw/share/snmp/snmpconf-data/snmp-data/mibs export MIBDIRS if /usr/bin/egrep '#DISABLE=YES' ${SNMPD_FILE} > /dev/null 2>&1; then echo "snmpd disabled by config file ${SNMPD_FILE}" ps -fz $(zonename) | grep "$SNMPD -c" | grep -v "grep" | awk '{print $2}' | xargs kill -9 exit $SMF_EXIT_MON_OFFLINE; else $SNMPD -c $SNMPD_FILE fi
Hay que asegurar que el archivo runnetsnmp tenga permisos de ejecución:
# chmod u+x /opt/csw/etc/init.d/runnetsnmp
Luego toca crear el link simbólico para iniciar el demonio. Esto se logra con la siguiente línea de comando:
# ln -s /opt/csw/etc/init.d/runnetsnmp /etc/rc3.d/S99netsnmp
La primera inicialización se puede hacer ejecutando el script desde el terminal:
# /opt/csw/etc/init.d/runnetsnmp
En estos casos también es recomendable eliminar la inicialización del Net-SNMP viejo. Esto se puede lograr con la siguiente línea de comando:
# find /etc/rc* -name '*sma' -exec rm {} \;
Y eso es todo, Nagios podrá detectar los servicios monitoriados en la Template por defecto indicada. Nos vemos.