GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo enviar registros de aplicaciones de Linux a AWS CloudWatch

AWS CloudWatch es un servicio de monitoreo proporcionado por la nube de AWS. AWS proporciona monitoreo predeterminado para los parámetros del servidor, como la utilización de la CPU, la entrada y la salida de la red, etc. AWS CloudWatch se puede usar para el monitoreo personalizado, como la utilización del disco y la utilización de la memoria (RAM). Para el monitoreo personalizado, debemos seguir algunos pasos para monitorearlo.

De la misma manera, AWS CloudWatch se puede utilizar para monitorear los registros del servidor o de la aplicación. Como esta no es una característica predeterminada de AWS por razones obvias, podemos configurarla según nuestros requisitos. Dependerá del usuario qué registros debemos enviar a AWS CloudWatch para el monitoreo.

No limitado a los recursos de AWS

Incluso si AWS CloudWatch es un servicio de AWS, no significa que solo se pueda usar para las instancias EC2, también se puede configurar para enviar registros de aplicaciones o servidores desde las VM de otros proveedores de la nube y también desde las VM en la unidad física. .

Cómo enviar registros de aplicaciones o servidores a AWS CloudWatch

Para enviar los registros de la aplicación o del servidor a AWS CloudWatch, debemos instalar el agente de CloudWatch en el servidor respectivo. Usaremos la instancia AWS EC2 para lograr nuestro objetivo en este blog.

Pasos

  1. Rol adecuado que se adjuntará a la instancia para comunicarse con AWS CloudWatch
  2. Instalación del agente de AWS CloudWatch
  3. Configuración del agente de AWS CloudWatch
  4. Probar registros en el portal de AWS CloudWatch

Función de IAM

Para enviar los registros de la aplicación o del servidor a AWS CloudWatch, debemos asociar un rol a la instancia EC2 con los permisos adecuados. El rol permitirá realizar cambios en AWS CloudWatch.

Debe contener las siguientes políticas.

  • Crear flujo de registro
  • Describe el flujo de registro
  • Crear grupo de registro
  • PutLogEvents

Vamos a crear un rol en AWS IAM.

Vaya a la sección IAM de la lista de Servicios en la consola de AWS. Si aún no tiene una cuenta de AWS, cree una desde aquí.

En el panel de control de IAM, vaya a Política y luego a Crear política.

En la página "Crear política", seleccione "JSON" en la pestaña y pegue la siguiente política JSON eliminando la predeterminada.

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "logs:CreateLogGroup",
        "logs:CreateLogStream",
        "logs:PutLogEvents",
        "logs:DescribeLogStreams"
    ],
      "Resource": [
        "arn:aws:logs:*:*:*"
    ]
  }
 ]
}

Su política debe verse como a continuación. Una vez que haya terminado, haga clic en el botón "Revisar política" en la parte inferior de la página.

En la página siguiente, debe proporcionar el nombre de la política.

Una vez hecho esto, haga clic en el botón "Crear política" en la parte inferior de la página.

Una vez que cree una política, será redirigido a la página de funciones de IAM. Como ya hemos creado la política requerida, crearemos un rol que se adjuntará a la instancia.

En la página "Crear rol", seleccione "EC2". Como vamos a adjuntar el rol a la instancia EC2.

Haga clic en el botón "Siguiente:Permiso" en la parte inferior izquierda de la página.

En la página siguiente, se le pedirá que adjunte una política al rol. Busque el nombre de la política que proporcionó en el paso anterior. Una vez encontrada, seleccione la política de la lista.

Una vez hecho esto, haga clic en el botón "Siguiente:Etiquetas" en la parte inferior de la página.

En la página siguiente, se le pedirá que asigne algunas etiquetas al rol. Como ese es un paso opcional, no estoy asignando ninguna etiqueta al rol y me salté el paso.

Una vez que haga clic en siguiente, se le pedirá que asigne un nombre al rol.

Tu rol se creará en unos segundos.

Ahora que hemos completado la configuración requerida desde el lado de la infraestructura, configuremos el agente de AWS CloudWatch en la instancia EC2.

Para este paso, necesita una instancia EC2 en estado de ejecución. Conéctese a la instancia de la manera que desee. Hay varias formas de conectarse a la instancia. Puedes consultarlos aquí.

Si tiene una instancia de Amazon Linux, siga los pasos mencionados a continuación.

Si inicia sesión en la instancia por primera vez, asegúrese de ejecutar el siguiente comando de actualización.

A continuación, puede seguir los pasos para Amazon Linux máquinas.

sudo yum update -y

Una vez completada la actualización, ejecute el siguiente comando para instalar awslogs paquete.

sudo yum install -y awslogs

Una vez instalado el paquete, puede cambiar la región en /etc/awslogs/awscli.conf expediente.

Ahora, para configurar los registros que le gustaría enviar en AWS CloudWatch, abra el archivo /etc/awslogs/awslogs.conf  y verifique las siguientes líneas.

[/var/log/messages]
datetime_format = %b %d %H:%M:%S
file = /var/log/messages
buffer_duration = 5000
log_stream_name = {instance_id}
initial_position = start_of_file
log_group_name = Amazon-Linux-2

La configuración anterior indica que la ruta del archivo de registro de su sistema /var/log/messages  se cargará en AWS CloudWatch. La configuración anterior creará un grupo de registro en AWS CloudWatch con el nombre mencionado en log_group_name parámetro. Además, tendrá la jerarquía mencionada en log_stream_name. Para el tiempo de búfer, podemos cambiar el valor de buffer_duration. El valor predeterminado de buffer_duration es 5000ms.

Una vez que realice los cambios, reinicie la aplicación ejecutando el siguiente comando. Reiniciará la aplicación awslog y el agente comenzará a cargar los registros en AWS CloudWatch.

$ sudo service awslogsd start

Para instalar y configurar el agente de AWS CloudWatch en RHEL o CentOS, puede seguir los pasos a continuación.

Ejecute el siguiente comando para descargar el paquete.

curl https://s3.amazonaws.com/aws-cloudwatch/downloads/latest/awslogs-agent-setup.py -O

Encontrará un archivo con el nombre awslogs-agent-setup.py en la ubicación actual. Como el archivo descargado es un script de python, debe tener python instalado en su máquina para el siguiente paso. Asegúrese de tener un paquete de python instalado y luego ejecute el siguiente comando. Debe especificar la región en el siguiente comando. También puede cambiar lo mismo en la configuración más adelante si lo desea.

python ./awslogs-agent-setup.py --region ap-south-1

Una vez que ejecute el comando anterior, le pedirá algunas entradas. Mencione lo mismo según los requisitos.

El script anterior generará el archivo de configuración /var/awslogs/etc/awslogs.conf . Los detalles que proporcionó en el script se guardarán en el archivo de configuración.

aún puede modificar el archivo de configuración según sus requisitos.

Una vez que haya terminado con todos los cambios, reinicie el agente ejecutando el siguiente comando.

# systemctl start awslogs

Verificar la instalación configurada

1. Vuelva a iniciar sesión en su cuenta de AWS.

2. Busque CloudWatch en la lista de Servicios.

3. Elija el Grupo de registros opción de los menús del lado izquierdo.

4. Busque el valor que proporcionó en log_stram_name  parámetro en la configuración.

5. Verá que los registros se envían desde el servidor a AWS CloudWatch.

Conclusión

Puede configurar cualquier archivo de registro de su servidor para enviarlo a AWS CloudWatch. Esto se puede configurar para los servidores que no están en la nube de AWS. Es decir, puede enviar los registros desde cualquiera de sus servidores alojados en Azure, GCP o cualquier otro proveedor de la nube o incluso un servidor local.


Linux
  1. Cómo mejorar el tiempo de inicio de la aplicación en Linux

  2. ¿Cómo encontrar la aplicación para un tipo Mime en Linux?

  3. ¿Cómo puedo iniciar automáticamente una aplicación node.js en Amazon Linux AMI en aws?

  4. ¿Cómo firmar una aplicación Mac OS X en Linux?

  5. ¿Cómo instalo Fish Shell en AWS Linux?

Cómo crear un balanceador de carga de aplicaciones en AWS

Cómo crear un evento en AWS Cloudwatch para activar una función Lambda

Cómo enviar correos electrónicos cifrados en Linux

Cómo habilitar la opción "Editar" en la aplicación Shutter en Linux

Cómo instalar software de Windows en Linux con Bottles

Cómo enviar procesos a segundo plano en Linux