Como configurar LMA stack
Configurar la pila (stack) LMA (Linux, MySQL, Apache) es un proceso que implica instalar y configurar cada uno de sus componentes principales para que funcionen juntos. Una configuración LMA es una alternativa menos común a la más popular pila LAMP (Linux, Apache, MySQL, PHP) en la que se utiliza una pila de monitoreo como Elastic Stack (ELK) en lugar de un lenguaje de programación dinámico como PHP. Aunque, la combinación de una pila de aplicaciones como LAMP con una pila de monitoreo como ELK (Elasticsearch, Logstash, Kibana) es una configuración común.
A continuación, se presenta un enfoque general de cómo se podría configurar la pila LMA con fines de monitoreo. Este proceso implica:
Instalar y configurar Apache.
Instalar y configurar MySQL.
Instalar y configurar los componentes de Elastic Stack.
1. Preparación del sistema
Antes de empezar, es crucial asegurarse de que tu sistema operativo esté actualizado. En un sistema basado en Debian/Ubuntu, puedes hacerlo con los siguientes comandos:
sudo apt update
sudo apt upgrade
Para un sistema basado en Red Hat/CentOS, los comandos son:
sudo yum update
sudo yum upgrade
2. Configurar el servidor web Apache
Apache es el servidor web responsable de servir las páginas web. Para instalarlo, ejecuta los siguientes comandos:
En sistemas basados en Debian/Ubuntu:
sudo apt install apache2
En sistemas basados en Red Hat/CentOS:
sudo yum install httpd
Después de la instalación, inicia el servicio de Apache y habilítalo para que se inicie automáticamente en el arranque del sistema:
sudo systemctl start apache2
sudo systemctl enable apache2
3. Configurar la base de datos MySQL
MySQL es el sistema de gestión de bases de datos que se utiliza para almacenar la información. Para instalarlo, usa los siguientes comandos:
En sistemas basados en Debian/Ubuntu:
sudo apt install mysql-server
En sistemas basados en Red Hat/CentOS:
sudo yum install mysql-server
Después de la instalación, se recomienda ejecutar el script de seguridad de MySQL para mejorar la seguridad de la base de datos:
sudo mysql_secure_installation
Este script te guiará a través de una serie de preguntas para establecer una contraseña para el usuario root
, eliminar usuarios anónimos, deshabilitar el inicio de sesión remoto para el root
y eliminar la base de datos de prueba.
4. Configurar la pila de monitoreo (LMA stack en el contexto de un Elastic Stack)
En este contexto, la pila LMA se refiere a una pila de monitoreo con la combinación de Linux, MySQL y Apache monitoreados por la pila Elastic (ELK). Por lo tanto, el siguiente paso es configurar Elasticsearch, Logstash y Kibana.
a. Elasticsearch
Elasticsearch es un motor de búsqueda y análisis distribuido que almacena los datos de los registros. Para instalarlo:
Importar la clave GPG y el repositorio de Elastic:
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-7.x.list
Instalar Elasticsearch:
sudo apt update
sudo apt install elasticsearch
Configurar Elasticsearch:
Abre el archivo de configuración elasticsearch.yml y ajusta la configuración de red para permitir la comunicación con otros componentes:
sudo nano /etc/elasticsearch/elasticsearch.yml
Descomenta las siguientes líneas y establece la dirección IP de tu servidor:
network.host: 0.0.0.0 # o la IP de tu servidor
http.port: 9200
Iniciar y habilitar el servicio:
sudo systemctl start elasticsearch
sudo systemctl enable elasticsearch
b. Logstash
Logstash es una herramienta de recopilación y procesamiento de datos que ingiere datos de múltiples fuentes y los envía a Elasticsearch. Para instalarlo:
Instalar Logstash:
sudo apt install logstash
Configurar un pipeline de Logstash:
Crea un archivo de configuración para procesar los registros de Apache. Este ejemplo muestra cómo se podría configurar Logstash para procesar los registros de Apache y enviarlos a Elasticsearch.
sudo nano /etc/logstash/conf.d/apache.conf
Añade la siguiente configuración:
input {
file {
path => "/var/log/apache2/access.log"
start_position => "beginning"
}
}
filter {
grok {
match => { "message" => "%{COMBINEDAPACHELOG}" }
}
}
output {
elasticsearch {
hosts => ["localhost:9200"]
index => "apache-logs-%{+YYYY.MM.dd}"
}
}
Iniciar y habilitar el servicio:
sudo systemctl start logstash
sudo systemctl enable logstash
c. Kibana
Kibana es la herramienta de visualización que te permite explorar y analizar los datos almacenados en Elasticsearch. Para instalarlo:
Instalar Kibana:
sudo apt install kibana
Configurar Kibana:
Abre el archivo de configuración kibana.yml y configura el puerto y la dirección del host:
sudo nano /etc/kibana/kibana.yml
Descomenta las siguientes líneas y establece la dirección IP de tu servidor:
server.port: 5601
server.host: "0.0.0.0"
elasticsearch.hosts: ["http://localhost:9200"]
Iniciar y habilitar el servicio:
sudo systemctl start kibana
sudo systemctl enable kibana
5. Finalizar la configuración
Una vez que todos los servicios estén en funcionamiento, puedes acceder a la interfaz de Kibana desde tu navegador web en la dirección http://<tu_IP_del_servidor>:5601
. Aquí, podrás ver un panel de control con los registros de Apache que está recopilando Logstash y que se está almacenando en Elasticsearch.