Supervisión de archivos de registro de Linux en System Center Operations Manager
Nota:
System Center Operations Manager no admitirá la supervisión de archivos de registro basados en fluentD tras la retirada del agente de OMS que está programada para agosto de 2024.
System Center Operations Manager ahora tiene funcionalidades mejoradas de supervisión de archivos de registro para servidores Linux mediante la versión más reciente del agente que usa Fluentd. Esta actualización proporciona las siguientes mejoras en la supervisión de archivos de registro anteriores:
- Caracteres comodín en el nombre y la ruta de acceso del archivo de registro.
- Nuevos patrones de coincidencia para la búsqueda de registros personalizable, como coincidencia simple, coincidencia exclusiva, coincidencia correlacionada, correlación repetida y correlación exclusiva.
- Compatibilidad con los complementos genéricos de Fluentd publicados por la comunidad de Fluentd.
Funcionamiento básico
El funcionamiento básico de la supervisión de archivos de registro en Linux incluye los pasos siguientes:
- El registro se escribe en un registro en un agente de Linux.
- Fluentd recopila el registro y crea un evento en la coincidencia de patrón.
- El evento se envía al servicio OMED en el servidor de administración y se registra en el registro de eventos del servicio OMED de System Center en el servidor de administración. (El registro de eventos del servicio OMED de System Center solo se crea cuando un evento se ha enviado correctamente desde un agente de Fluentd)
- Las reglas y los monitores de un módulo de administración personalizado recopilan eventos y crean alertas en Operations Manager.
Información general sobre la configuración
La supervisión de archivos de registro requiere los pasos siguientes. Las siguientes secciones proporcionan información detallada:
- Importa el módulo de administración más reciente de System Center Operations Manager 2019 Linux.
- Instala la versión más reciente del agente de Linux en cada equipo Linux que se va a supervisar.
- Instala el OMSAgent más reciente en cada equipo Linux que se va a supervisar.
- Crea un archivo de configuración de Fluentd para recopilar registros.
- Copia el archivo de configuración en los agentes de Linux.
- Crea reglas y monitores mediante el módulo de administración de ejemplo para recopilar eventos del registro y crear alertas.
- Importa el módulo de administración más reciente de System Center Operations Manager 2022 Linux.
- Instala la versión más reciente del agente de Linux en cada equipo Linux que se va a supervisar.
- Instala el OMSAgent más reciente en cada equipo Linux que se va a supervisar.
- Crea un archivo de configuración de Fluentd para recopilar registros.
- Copia el archivo de configuración en los agentes de Linux.
- Crea reglas y monitores mediante el módulo de administración de ejemplo para recopilar eventos del registro y crear alertas.
Instalación del módulo de administración de supervisión de registros
Instala el módulo de administración Microsoft.Linux.Log.Monitoring para habilitar la supervisión de archivos de registro de Linux.
Nota:
Si tienes configurado el agente de OMS e intentas desinstalar el agente de UNIX y LINUX de la consola, el componente de OMS no se desinstalará del agente.
Configuración de la supervisión de archivos de registro de Linux
Para configurar la supervisión de archivos de registro de Linux, sigue estos pasos:
Importa el módulo de administración más reciente de System Center Operations Manager 2019 Linux mediante el proceso estándar para instalar un módulo de administración.
Instala el nuevo agente de Linux en los servidores Linux manualmente o [mediante el Asistente para detección](/system-center/System Center Operations Manager/manage-deploy-crossplat-agent-console).
Instala el OMSAgent más reciente en cada equipo Linux que quieras supervisar. Usa los comandos siguientes:
# Download latest OMS Agent from GitHub wget https://raw.githubusercontent.com/Microsoft/OMS-Agent-for-Linux/master/installer/scripts/onboard_agent.sh # Run onboarding script sh onboard_agent.sh
Realiza los pasos siguientes en el agente de Linux:
Importa el módulo de administración más reciente de System Center Operations Manager 2022 Linux mediante el proceso estándar para instalar un módulo de administración.
Instala el nuevo agente de Linux en los servidores Linux manualmente o [mediante el Asistente para detección](/system-center/System Center Operations Manager/manage-deploy-crossplat-agent-console).
Instala el OMSAgent más reciente en cada equipo Linux que quieras supervisar. Usa los comandos siguientes:
# Download latest OMS Agent from GitHub wget https://raw.githubusercontent.com/Microsoft/OMS-Agent-for-Linux/master/installer/scripts/onboard_agent.sh # Run onboarding script sh onboard_agent.sh
Realiza los pasos siguientes en el agente de Linux:
Crea las carpetas en las siguientes rutas de acceso con los siguientes comandos:
# Create omsagent.d folder mkdir -p /etc/opt/microsoft/omsagent/scom/conf/omsagent.d # Create certs folder mkdir /etc/opt/microsoft/omsagent/scom/certs # Create log folder mkdir -p /var/opt/microsoft/omsagent/scom/log # Create run folder mkdir /var/opt/microsoft/omsagent/scom/run # Create state folder mkdir /var/opt/microsoft/omsagent/scom/state # Create tmp folder mkdir /var/opt/microsoft/omsagent/scom/tmp # Create fluent-logging folder (used for log file position file, this location is flexible) mkdir -p /home/omsagent/fluent-logging
Establece la propiedad en cada una de las carpetas anteriores en
omsagent:omiusers
:# Change owner of System Center Operations Manager folder chown omsagent:omiusers /etc/opt/microsoft/omsagent/scom # Change owner of log folder chown omsagent:omiusers /var/opt/microsoft/omsagent/scom/log # Change owner of run folder chown omsagent:omiusers /var/opt/microsoft/omsagent/scom/run # Change owner of state folder chown omsagent:omiusers /var/opt/microsoft/omsagent/scom/state # Change owner of tmp folder chown omsagent:omiusers /var/opt/microsoft/omsagent/scom/tmp # Change owner of fluent-logging folder (used for log file position file, this location is flexible) chown omsagent:omiusers /home/omsagent/fluent-logging
Crea archivos omsagent y omsconfig:
# Create omsadmin.conf file touch /etc/opt/microsoft/omsagent/scom/conf/omsadmin.conf # Create omsagent.conf file touch /etc/opt/microsoft/omsagent/scom/conf/omsagent.conf
Establece la propiedad en cada uno de los archivos anteriores en
omsagent:omiusers
:# Change owner of omsadmin.conf file chown omsagent:omiusers /etc/opt/microsoft/omsagent/scom/conf/omsadmin.conf # Change owner of omsagent.conf file chown omsagent:omiusers /etc/opt/microsoft/omsagent/scom/conf/omsagent.conf
Edita el archivo
/etc/opt/microsoft/omsagent/scom/conf/omsadmin.conf
y agrega la siguiente información después de cambiar la información resaltada.WORKSPACE_ID=scom System Center Operations Manager_ENDPOINT=https://<mark>\<MSFQDN\></mark>:8886 MONITORING_ID={274F8D7B-DBCA-8FC3-1451-8DCD55092156}
Reinicia OMSAgent:
/opt/microsoft/omsagent/bin/service_control restart
Comprueba el estado en el registro de omsagent:
tail -100 /var/opt/microsoft/omsagent/scom/log/omsagent.log
Habilita el servicio OMED
Habilita el servicio OMED en cada servidor de administración del grupo de recursos, que administra los agentes de Linux.
El servicio OMED recopila eventos de Fluentd y los convierte en eventos de Operations Manager. Importa un módulo de administración personalizado, que puede generar alertas basadas en los eventos recibidos de los servidores Linux.
Puedes habilitar el servicio OMED desde la Consola del operador o manualmente en el servidor de administración o en el servidor de puerta de enlace.
- En la Consola del operador, ve a Supervisión> Operations Manager>Servidor de administración>Estado de servidores de administración.
- En el estado de los servidores de administración, selecciona un servidor de administración.
- En Tareas, selecciona Tareas de servicio de estado>Habilitar servidor OMED de System Center.
Adición de una regla de firewall de OMED
Para habilitar la regla de firewall de OMED, tienes dos opciones, agregar el puerto (TCP/8886) automáticamente a través de PowerShell o manualmente.
Sigue estos pasos para agregar automáticamente una regla con PowerShell:
El siguiente comando te permite agregar automáticamente la regla de firewall:
Set-NetFirewallRule -DisplayName "System Center Operations Manager External DataSource Service" -Direction Inbound -Action Allow -Protocol TCP -LocalPort 8886
Asignación de un certificado de cliente para OMSAgent
Tiene dos opciones al asignar el certificado de cliente para OMSAgent.
- Vincular al certificado firmado del agente de OMI.
- Generar manualmente un certificado de cliente para el agente de OMS.
Selecciona la pestaña necesaria para ver los pasos necesarios para vincular el certificado firmado desde el agente de OMI o generar manualmente un certificado de cliente desde el agente de OMS:
- Vinculación del certificado del agente de OMI al agente de OMS
- Generación de un certificado de cliente para el agente de OMS
Establece la propiedad en
omi.pem
y el archivoomikey.pem
enomsagent:omiusers
:# Change owner of System Center Operations Manager-cert.pem file chown omsagent:omiusers /etc/opt/microsoft/omsagent/scom/certs/scom-cert.pem # Change owner of System Center Operations Manager-key.pem file chown omsagent:omiusers /etc/opt/microsoft/omsagent/scom/certs/scom-key.pem
Ejecuta el siguiente comando en la máquina Linux para establecer el certificado de cliente del agente de OMS en el certificado OMI (certificado del agente Linux de Operations Manager):
# Link file omi.pem to System Center Operations Manager-cert.pem ln -s /etc/opt/omi/ssl/omi.pem /etc/opt/microsoft/omsagent/scom/certs/scom-cert.pem # Link file omikey.pem to System Center Operations Manager-key.pem ln -s /etc/opt/omi/ssl/omikey.pem /etc/opt/microsoft/omsagent/scom/certs/scom-key.pem
Creación de un archivo de configuración de Fluentd
La operación de configuración de Fluentd se hace mediante un archivo de configuración. Para usar la supervisión de registros, debes crear un archivo de configuración. El archivo de configuración incluye información como el nombre del archivo de registro de origen, la ruta de acceso y los filtros para definir los datos que se van a recopilar.
El archivo de configuración fluentd omsagent.conf maestro se encuentra en /etc/opt/microsoft/omsagent/scom/conf/
. Puedes agregar la configuración de supervisión de archivos de registro directamente a este archivo, pero debes crear un archivo de configuración independiente para administrar mejor las distintas opciones. Después, utiliza una directiva @include en el archivo maestro para incluir el archivo personalizado.
Por ejemplo, si creaste logmonitoring.conf en /etc/opt/microsoft/omsagent/scom/conf/omsagent.d
, añades una de las siguientes líneas al archivo omsagent.d:
# Include all configuration files
@include omsagent.d/*.conf
o
# Include single configuration file
@include omsagent.d/logmonitoring.conf
Para obtener más información sobre los archivos de configuración de Fluentd, consulta Sintaxis del archivo de configuración de Fluentd.
En las secciones siguientes se describe la configuración de las distintas directivas del archivo de configuración que son únicos para la supervisión de archivos de registro. Cada uno incluye configuraciones de muestra que puedes pegar en un archivo de configuración y modificar según tus requisitos.
Hay disponible un archivo de configuración de muestra completo para la supervisión de registros que podrás revisar y validar antes de crear el tuyo.
Source
La directiva Source define el origen de los datos que estás recopilando, el lugar en el que se definen los detalles del archivo de registro. Fluentd recoge cada registro escrito en el origen y envía un evento para él al motor de enrutamiento de Fluentd. Especifica una etiqueta aquí en la directiva. Una etiqueta es una cadena que se usa de instrucción para que el motor de enrutamiento interno de Fluentd ponga en correlación diferentes directivas.
El siguiente ejemplo muestra los registros de Syslog recopilados y etiquetados para su procesamiento por parte de Operations Manager.
<source>
# Specifies input plugin. Tail is a fluentd input plugin - http://docs.fluentd.org/v0.12/articles/in\_tail
type tail
# Specify the log file path. Supports wild cards.
path /var/log/syslog
# Recommended so that Fluentd will record the position it last read into this file.
pos_file /home/user1/fluent-test/demo_syslog.log.pos
# Used to correlate the directives.
tag System Center Operations Manager.log.syslog
format /(?<message>.*)/
</source>
Filtro
La directiva Filter tiene la misma sintaxis que Match, pero permite un filtrado más complejo de los datos que se van a procesar. Los eventos recopilados deben coincidir con los criterios de todos los filtros que se van a agregar a la salida.
Aquí se describen seis complementos de filtro para la supervisión de archivos de registro. Usa uno o varios de estos filtros para definir los eventos que quieres recopilar del archivo de registro.
- Coincidencia simple: filter_System Center Operations Manager_simple_match
- Coincidencia exclusiva: filter_System Center Operations Manager_excl_match
- Correlación repetida: filter_System Center Operations Manager_repeated_cor
- Coincidencia correlacionada: filter_System Center Operations Manager_cor_match
- Correlación exclusiva: filter_System Center Operations Manager_excl_correlation
- Convertidor de Operations Manager: filter_System Center Operations Manager_converter
Selecciona la pestaña necesaria para copiar el código del complemento de filtro correspondiente:
- Coincidencia simple
- Coincidencia exclusiva
- Correlación repetida
- Coincidencia correlacionada
- Correlación exclusiva
- Convertidor de Operations Manager
Utiliza hasta 20 patrones de entrada. Envía un evento a Operations Manager cada vez que hay coincidencia con cualquier patrón.
<filter tag>
type filter_System Center Operations Manager_simple_match
regexp1 <key> <pattern>
event_id1 <event ID>
regexp2 <key> <pattern>
event_id2 <event ID>
.
.
.
regexp20 <key> <pattern>
event_id20 <event ID>
</filter>
Coincidencia
La directiva coincidencia define cómo procesar los eventos recopilados del origen con etiquetas coincidentes. Solo los eventos con una etiqueta que coincida con el patrón se envían al destino de salida. Cuando se muestran varios patrones dentro de una etiqueta coincidente, los eventos pueden coincidir con cualquiera de los patrones enumerados. El parámetro type especifica el tipo de complemento que se usará para estos eventos.
En este ejemplo se procesan eventos con etiquetas coincidentes System Center Operations Manager.log. ** y System Center Operations Manager.alert (** coincide con cero o más elementos de la etiqueta). Especifica el complemento out_System Center Operations Manager, que permite recopilar los eventos mediante el módulo de administración de Operations Manager.
<match System Center Operations Manager.log.** System Center Operations Manager.event>
# Output plugin to use
type out_System Center Operations Manager
log_level trace
num_threads 5
# Size of the buffer chunk. If the top chunk exceeds this limit or the time limit flush_interval, a new empty chunk is pushed to the top of the
queue and bottom chunk is written out.
buffer_chunk_limit 5m
flush_interval 15s
# Specifies the buffer plugin to use.
buffer_type file
# Specifies the file path for buffer. Fluentd must have write access to this directory.
buffer_path /var/opt/microsoft/omsagent/scom/state/out_System Center Operations Manager_common*.buffer
# If queue length exceeds the specified limit, events are rejected.
buffer_queue_limit 10
# Control the buffer behavior when the queue becomes full: exception, block, drop_oldest_chunk
buffer_queue_full_action drop_oldest_chunk
# Number of times Fluentd will attempt to write the chunk if it fails.
retry_limit 10
# If the bottom chunk fails to be written out, it will remain in the queue and Fluentd will retry after waiting retry_wait seconds
retry_wait 30s
# The retry wait time doubles each time until max_retry_wait.
max_retry_wait 9m
</match>
Nota:
Para deshabilitar la autenticación de servidor en los equipos Linux que usan la comunicación de Fluentd, agrega un parámetro enable_server_auth false al complemento de Operations Manager para Fluentd de la siguiente manera:
<match System Center Operations Manager.log.** System Center Operations Manager.event>
type out_System Center Operations Manager
max_retry_wait 9m
enable_server_auth false
</match>
Copiar el archivo de configuración en el agente
El archivo de configuración de Fluentd debe copiarse en /etc/opt/microsoft/omsagent/scom/conf/omsagent.d en todos los equipos Linux que quiere supervisar. También debes agregar una directiva @include en el archivo de configuración maestro, tal y como se describió anteriormente.
Reiniciar omsagent
Puedes reiniciar omsagent ejecutando el siguiente comando:
/opt/microsoft/omsagent/bin/service_control restart
Comprobación del estado del área de trabajo de System Center Operations Manager
Ejecuta el comando siguiente para comprobar el área de trabajo de System Center Operations Manager en OMSAgent:
sh /opt/microsoft/omsagent/bin/omsadmin.sh -l
Nota:
En el servidor de administración que ejecuta el servicio OMED, asegúrate de que el firewall del puerto 8886 está abierto y que el almacén de certificados intermedio de entidades de certificación solo contiene entidades de certificación intermedias.
Registro de eventos para el servicio DataSource externo de System Center Operations Manager
El registro de eventos del servicio OMED de System Center solo se crea cuando hay un evento enviado correctamente al servicio System Center Operations Manager External DataSource Service (OMED).
Creación de reglas y monitores
El módulo de administración de Linux no proporciona módulos para recopilar eventos de FluentD, el módulo de administración de Linux se agrupa con el agente de Linux. Es el módulo Fluentd en el agente de Linux y el servicio OMED en el servidor de administración y puerta de enlace que proporciona las funcionalidades para la supervisión mejorada de archivos de registro.
Debes crear tu propio módulo de administración con reglas y monitores personalizados que usen el módulo Microsoft.Linux.OMED.EventDataSource para recopilar los eventos de Fluentd. Ten en cuenta que el nombre del equipo en el evento enviado a través del registro de eventos del servicio OMED de System Center debe coincidir con el nombre de la máquina en la vista Equipos UNIX/Linux. Si el nombre del equipo no coincide, no recibirá ninguna alerta.
En la tabla siguiente se enumeran los parámetros de Microsoft.Linux.OMED.EventDataSource.
Parámetro | Tipo | Descripción |
---|---|---|
ComputerName | Cadena | Necesario. Especifica el nombre del equipo Linux para el que se van a leer los eventos. El parámetro ComputerName se pasa normalmente al módulo mediante la notación $Target, aunque se puede especificar como cualquier cadena. Este módulo intenta leer eventos generados por el equipo Linux determinado. |
ManagedEntityId | Cadena | Necesario. Especifica el id. de entidad administrada de la entidad supervisada. El parámetro ManagedEntityId se pasa normalmente al módulo mediante $Target\Id$. |
EventNumber | Entero | Opcional. Indica el número de evento del evento que se va a recuperar. Si se omite esta opción, el módulo devuelve todos los eventos generados para ese equipo y la entidad administrada |
Pasos siguientes
Para crear una vista personalizada y revisar los datos de supervisión del módulo de administración de archivos de registro personalizados, consulta Uso de vistas en Operations Manager.
Para obtener información sobre cómo investigar los problemas identificados por el módulo de administración de archivos de registro personalizados, consulta Visualización de alertas activas y detalles.