Mike-84 / practica-sysadmin

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Instrucciones de uso

Para arrancar estas 2 maquinas virtuales utilizan 6GB de memoria RAM: 5GB(elk) y 1GB(wordpress)

Una vez clonado el repositorio lo unico que se tiene que hacer es vagrant up donde esté el archivo vagrantfile, en ese momento tardara unos minutos ya que se instalarán 2 máquinas virtuales en la primera se instalará LEMP (Nginx, MySQL y PHP) con wordpress y filebeat y en la segunda se instalará ELK (Elasticsearch, logstastash y kibana) y se configurarán automáticamente, una vez terminada la instalación solo tendrá que poner localhost:8080 y configurar wordpress indicando el idioma que quiere el nombre del sitio, con usuario y contraseña y ya tendrás wordpress funcionando.

Con wordpress funcionando, se podrá ir a localhost:8081 y esto accederá a kibana el cual entrando en discover se podrá comprobar que los logs llegan.

Notas:

  • Si decides desactivar o no activar los scripts de provisión en el vagrantfile, se puede ejecutar dentro de la máquina con el comando "sudo /vagrant/provision-wordpress.sh" o "sudo /vagrant/provision-elk.sh".

  • Con la ayuda de los scripts de provisión se montaran los discos, instalarán las aplicaciones y se habilitará el firewall sólo con los puertos necesarios para que funcione la práctica, después se habilitarán los sitios, configurarán las aplicaciones y finalmente se arrancarán los servicios.

  • Los scripts de provisión se tienen que ejecutar como root.

  • Las urls para acceder a las aplicaciones desde el host principal (hipervisor) son:

  • En MySQL se crea una base de datos (llamado wordpress), un usario (wordpressuser) y con una contraseña (Mik84), pero se pueden cambiar en la carpeta de resources y en el archivo wordpress_sql_statements.sql.

  • La configuración de logstash esta realizado en un único archivo .conf (filebeat-processing.conf) y el apartado de filtros esat sin uso ya que el parseado lo realizan los pipelines de los módulos de filebeat instalados en Elasticsearch.

  • En el script de provisión de wordpress (provision-wordpress.sh) se puede elegir el output de filebeat (FILEBEAT_OUTPUT) entre elasticsearch y logstash, también se elegir si quieres que te cree el 2º disco y montarlo como repositorio para los datos.

  • Al igual que en el script de provisión de wordpress, en el script de provisión de elk (provision-elk.sh) se puede elegir si quieres que te cree el 2º disco para datos.

  • Las configuraciones que estan en la carpeta de resources son fijas para que funcione de golpe pero se pueden modificar. (?)(?)(?)

Problemas conocidos o encontrados

  • En ocasiones ha ocurrido que la máquina virtual se queda completamente colgada (parece que por algún problema de integración entre mi PC y Virtualbox). En estos casos abriendo la VM directamente desde la consola de Virtualbox y pulsando cualquier tecla (ENTER por ejemplo) se soluciona el problema y el proceso continúa. No he conseguido solucionarlo del todo, aunque desinstalando Hyper-V parece que ya no ocurre, por lo que podía ser eso. Ejemplo de lo que aparece en la consola:
soft lockup - CPU#1 stuck for 22s! [mysqld:7117]

Referencias

Instalación de LEMP y wordpress

Instalación de ELK y filebeat

Uso del LVM:

Ejemplo del bucle que use en provision-wordpress.sh que uso para verificar que elasticsearch esta instalado correctamente:

About


Languages

Language:Shell 71.6%Language:PHP 28.4%