La funcionalidad de syslog es una de las principales herramientas para un administrador de sistemas. Mientras que escribir archivos de registro con eventos de interés es una característica común de cualquier aplicación, tener una funcionalidad de registro en todo el sistema significa que todos los registros se pueden manejar como uno solo en el sistema. Pero syslog no se detiene allí. Con esta herramienta, un administrador de sistemas puede centralizar el procesamiento de registros en el centro de datos al reenviar los eventos entrantes desde las aplicaciones a los servidores de registros centrales, donde pueden procesarse a gran escala.
El registro centralizado es una exageración en un sistema doméstico con unas pocas computadoras, pero ya tiene sus beneficios alrededor de una docena de máquinas. Por ejemplo, una docena de escritorios que envían todos sus archivos de registro a un servidor de registro central significa que no necesitan almacenarlos a largo plazo, los registros ocuparán espacio en disco en el servidor de registro. El administrador puede comprobar si hay problemas en un solo lugar (posiblemente mediante informes automáticos), los registros se pueden conservar de forma segura mediante copias de seguridad, almacenarse de forma más eficaz mediante una fuerte compresión y no se perderán en un falla del cliente o error del usuario.
En este tutorial aprenderás:
- Cómo instalar el paquete rsyslog en RHEL 8 / CentOS 8.
- Cómo verificar una instalación exitosa.
- Cómo iniciar, detener e iniciar automáticamente el servicio rsyslog.
- Cómo probar la funcionalidad de syslog con registrador.
Salida de estado del servicio rsyslog con systemctl.
Requisitos de software y convenciones utilizadas
Requisitos de software y convenciones de la línea de comandos de Linux Categoría | Requisitos, convenciones o versión de software utilizada |
Sistema | RHEL 8 / CentOS 8 |
Software | rsyslog 8 |
Otro | Acceso privilegiado a su sistema Linux como root o a través de sudo comando. |
Convenciones | # – requiere que los comandos de Linux dados se ejecuten con privilegios de root, ya sea directamente como usuario root o mediante el uso de sudo comando $ – requiere que los comandos de Linux dados se ejecuten como un usuario normal sin privilegios |
Cómo instalar syslog en RHEL 8 / CentOS 8 instrucciones paso a paso
En RHEL 8/CentOS 8 rsyslog
El paquete debe estar instalado y ejecutándose de forma predeterminada. Puede haber casos en los que necesite instalarlo de todos modos, por ejemplo, paquete roto/eliminado, revertir desde otro servicio de syslog, etc.
- El
rsyslog
es accesible desde los repositorios base. Debe tener repositorios de administración de suscripciones configurados y accesibles para poder instalar cualquier paquete. Con eso en su lugar, la instalación es solo un dnf
comando de distancia:# dnf install rsyslog -y
- Para verificar la instalación exitosa, puede consultar el
rpm
base de datos para el paquete:# rpm -q rsyslog
rsyslog-8.37.0-6.el8.x86_64
dnf
también debería mostrar el estado de "tiempo de instalación" en la info
salida con --verbose
opción:
# dnf info rsyslog --verbose
[...]
Installed Packages
Name : rsyslog
Version : 8.37.0
Release : 6.el8
Arch : x86_64
Size : 2.2 M
Source : rsyslog-8.37.0-6.el8.src.rpm
Repo : @System
[...]
Install time : Thu Dec 27 12:24:35 2018
Installed by : [...]
Y por último, systemd
debe saber sobre el servicio (no en ejecución), lo que significa que los archivos del servicio están en su lugar:
# systemctl status rsyslog.service
● rsyslog.service - System Logging Service
Loaded: loaded (/usr/lib/systemd/system/rsyslog.service; enabled; vendor preset: enabled)
Active: inactive (dead)
Docs: man:rsyslogd(8)
http://www.rsyslog.com/doc/
- Para iniciar, detener y obtener el estado del servicio, usamos
systemctl
. En el último paso hemos visto el estado del servicio recién instalado, en estado inactivo. Podemos iniciarlo con:# systemctl start rsyslog.service
Y termina con:
# systemctl stop rsyslog.service
El estado mostró que el servicio está habilitado en la instalación, lo que significa que se iniciará automáticamente al iniciar el sistema operativo. Podemos deshabilitar esta función de inicio automático con:
# systemctl disable rsyslog.service
Y habilitarlo de nuevo de la misma manera:
# systemctl enable rsyslog.service
- Para probar si el servicio es funcional (es decir, acepta eventos syslog del sistema), podemos usar
logger
:# echo "test message from user root" | logger
Y vea el mensaje enviado correctamente en el archivo syslog principal comprobando las últimas líneas de /var/log/messages
:
# tail /var/log/messages
[...]
Dec 27 12:39:46 rhel8 rsyslogd[2636]: [origin software="rsyslogd" swVersion="8.37.0-6.el8" x-pid="2636" x-info="http://www.rsyslog.com"] start
Dec 27 12:39:46 rhel8 systemd[1]: Started System Logging Service.
Dec 27 12:41:56 rhel8 testuser[2668]: test message from user root
Donde rhel8
es el nombre de host de la máquina de laboratorio, testuser
es el usuario original que cambió a root
, el PID de nuestra sesión y finalmente nuestro mensaje de echo
redirigido a logger
's STDIN.