Comprobar el estado de los servicios en Solaris

Vamos a ver cómo comprobar el estado de un servicio en Solaris.

 
La gestión de servicios en Solaris es algo distinta a cómo se gestionan en Linux. En Solaris, sobre todo tenemos que hablar de instancias de servicios. Una instancia de servicio en Solaris es parte de un servicio, pero son las instancias las que tienen estado y pueden iniciarse y detenerse.
 
comprobar estado servicios solaris
 
Por ejemplo, sabemos que existe el servicio collectd

Pues la instancia del servicio de collectd es:

svc:/network/cswcollectd:default

 

La forma más rápida de comprobar el estado de un servicio en Solaris es con el comando ps -ef y haciendo un grep para buscar el servicio.

ps -ef | grep collectd

De esa forma veremos las instancias del servicio que se encuentren en ejecución, y además otra información útil como el tiempo que lleva en ejecución (Columna TIME) y la hora exacta en que entró en ese estado (columna STIME).

Esta ha sido una forma rápida de comprobar el estado de un servicio en Solaris, pero la gestión avanzada de servicios en Solaris se lleva a cabo con el comando svcs.
Veamos algo más sobre los servicios en Solaris:
 

 

 

Comprobar servicios con el comando svcs en Solaris

 

Vamos a ver cómo mostrar el estado de un servicio, o mejor dicho instancia de servicio en Solaris.

 

 

El comando svcs sin opciones

 

Si usamos el comando svcs sin opciones, podemos listar las instancias de servicios en Solaris habilitadas en el sistema, y su estado:

 

 

Muestra las columnas:

  • STATE (Estado)
  • STIME, que muestra la hora en que la instancia entró en el estado listado
  • y el FMRI, que es el  “identificador de recursos de administración de fallos“. Este FMRI incluye el nombre del servicio y el de la instancia.

 

Por ejemplo, para el servicio collectd sería:

svc:/network/cswcollectd:default

 

 

Mostrar todas las instancias de servicios: comando svcs -a

 

Con svcs -a veremos las instancias habilitadas y las deshabilitadas


 

 

Mostrar la información extendida de una instancia de servicio : svcs -l

 

Mostramos la info extendida de una instancia de servicio con

svcs -l servicio

Esta info extendida incluye dónde se encuentra el fichero de log, el archivo de configuración, las dependencias, y el state_time (momento en que el servicio entró en el estado que se muestra).
 

En este caso mostramos el servicio collectd, que en solaris es :

 

 

Reiniciar servicios en Solaris

 
En Solaris, realmente lo que hacemos es reiniciar instancias de servicios. Para gestionar y administrar las instancias de servicios en Solaris usamos el comando svcadm.

 

Por ejemplo, para reiniciar collectd, tal y como hemos visto con los comandos anteriores, primero averiguamos el FMRI del servicio collectd, con el comando svcs.
 

root@solaris:~# svcs -a | grep collectd
online         21:59:15 svc:/network/cswcollectd:default

De aquí hemos sacado el FMRI del servicio, su “identificador de recursos de administración de fallos“.
 

También podemos averiguarlo listando la info extendida con svcs -l .

root@solaris:~# svcs -l cswcollectd
fmri svc:/network/cswcollectd:default
enabled true
state online
next_state none
state_time February 26, 2020 at 9:59:15 PM CET
logfile /var/svc/log/network-cswcollectd:default.log
restarter svc:/system/svc/restarter:default
contract_id 212
manifest /var/opt/csw/svc/manifest/network/cswcollectd.xml
dependency require_all/none svc:/system/filesystem/local (online)
dependency require_all/none svc:/network/loopback (online)

 

Y ahora si queremos reiniciar la instancia del servicio, usaremos el comando svcadm

svcadm restart FMRI

 

En el caso del servicio collectd será:

svcadm restart svc:/network/cswcollectd:default

o más corto:

svcadm restart cswcollectd