# Practica 3 3 Profundizacion Syslog ng

![](https://823954581-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGpTvvjhvDzSmIBM1pNPw%2Fuploads%2FvhkEpbhCYnMNYMK1nt78%2F0.png?alt=media)\\

Contenido

**EJERCICIO 1** 2

**EJERCICIO 2** 4

**EJERCICIO 3** 6

**EJERCICIO 4** 7

**EJERCICIO 5** 8

**EJERCICIO 6** 10

**CONCLUSION** 10

### **EJERCICIO 1** <a href="#toc156807641" id="toc156807641"></a>

**CLIENTE**

Vamos a comenzar creando el contendeor cliente:

![](https://823954581-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGpTvvjhvDzSmIBM1pNPw%2Fuploads%2FxGbLFPvbTlcRgBLv4rwn%2F1.png?alt=media)

Una vez creado vamos a entrar en el:

![](https://823954581-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGpTvvjhvDzSmIBM1pNPw%2Fuploads%2FZhIlyb8B5snZkfJpokVA%2F2.png?alt=media)

Luego instalaremos el syslog-ng:

![](https://823954581-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGpTvvjhvDzSmIBM1pNPw%2Fuploads%2Fozu6B28YBL8byT4GFekX%2F3.png?alt=media)

![](https://823954581-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGpTvvjhvDzSmIBM1pNPw%2Fuploads%2FLaslJQis0MmL8Ojt4o2R%2F4.png?alt=media)

Ahora instalaremos el nano para tener un editor de texto:

![](https://823954581-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGpTvvjhvDzSmIBM1pNPw%2Fuploads%2F6SLJkIOmqUfLJRqUwUe5%2F5.png?alt=media)

Ahora lo que haremos será editar el archivo de configuración que se encuentra en /etc/default/syslog-ng y desmarcaremos la ultima opción:

![](https://823954581-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGpTvvjhvDzSmIBM1pNPw%2Fuploads%2FwhJZRay9z9OY7YnOVYWf%2F6.png?alt=media)

Por ultimo reiniciamos el servicio y comprobamos que esta corriendo de nuevo:

![](https://823954581-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGpTvvjhvDzSmIBM1pNPw%2Fuploads%2FxrLM1zfRYC3lUG189Idj%2F7.png?alt=media)

Y para terminar comprobamos que al hacer un logger el contenido e guarda en la ruta /var/log/syslog:

![](https://823954581-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGpTvvjhvDzSmIBM1pNPw%2Fuploads%2FST4BUsvRGIgWDiInZRSN%2F8.png?alt=media)

**SERVIDOR**

Ahora vamos a montar lo mismo pero en el servidor , para no duplicar capturas vamos a poner solo las capturas en las que se cambie algo:

![](https://823954581-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGpTvvjhvDzSmIBM1pNPw%2Fuploads%2FuN8xdxOSI7otr9E3I9gT%2F9.png?alt=media)

![](https://823954581-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGpTvvjhvDzSmIBM1pNPw%2Fuploads%2FPnOH4obDOXbIPcaAl2aK%2F10.png?alt=media)

![](https://823954581-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGpTvvjhvDzSmIBM1pNPw%2Fuploads%2FYDGhHYlZqidkfymh4L8h%2F11.png?alt=media)

Y como podemos ver en el servidor ya tenemos también funcionando el logger.

### **EJERCICIO 2** <a href="#toc156807642" id="toc156807642"></a>

Para este segundo ejercicio vamos a empezar instalando un par de herramientas en ambas maquinas:

![](https://823954581-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGpTvvjhvDzSmIBM1pNPw%2Fuploads%2FFwXNWuGqzebWTPOPlwzo%2F12.png?alt=media)

![](https://823954581-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGpTvvjhvDzSmIBM1pNPw%2Fuploads%2FNVl0sECJ7PFDCpBcg7XE%2F13.png?alt=media)

Con ambas herramientas instaladas en nuestras maquinas vamos a ver las ip de ambas:

**CLIENTE**![](https://823954581-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGpTvvjhvDzSmIBM1pNPw%2Fuploads%2Fv4ygfkEAl9r39R4Rhknf%2F14.png?alt=media)

**172.17.0.2**

**SERVIDOR**

![](https://823954581-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGpTvvjhvDzSmIBM1pNPw%2Fuploads%2FsnXPgA8P2zpaeWIP1VCw%2F15.png?alt=media)

**172.17..0.3**

Ahora lo que haremos será irnos al directorio /etc/syslog-ng/conf.d y dentro crearemos un archivo llamado myapp.conf:

![](https://823954581-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGpTvvjhvDzSmIBM1pNPw%2Fuploads%2FpIqWaoTjdOOQBZCJDGHR%2F16.png?alt=media)

Dentro de ese archivo lo crearemos con esta configuración:

![](https://823954581-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGpTvvjhvDzSmIBM1pNPw%2Fuploads%2F1yKFFJZZ5tbkBXb41s5n%2F17.png?alt=media)

Reiniciamos el servicio y comprobamos que tras hacer un echo se guarda en ambos logs:

![](https://823954581-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGpTvvjhvDzSmIBM1pNPw%2Fuploads%2FokjErswKO5vuUu76aG4w%2F18.png?alt=media)

### **EJERCICIO 3** <a href="#toc156807643" id="toc156807643"></a>

**SERVIDOR**

Vamos a configurar el contenedor servidor para que coja la conexión del cliente , para ello vamos a la ruta /etc/syslog-ng/conf.d y luego crearemos el archivo myapp.conf:

![](https://823954581-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGpTvvjhvDzSmIBM1pNPw%2Fuploads%2F0YQqDPU1dplBZYQBEIRV%2F19.png?alt=media)

El archivo tiene que tener esta configuración donde la ip puedes dejarlo en todo a 0 por si cambias de ip o simplemente tienes varias maquinas de las que recibes logs asi evitas tener que configurar las maquinas una por una.

### **EJERCICIO 4** <a href="#toc156807644" id="toc156807644"></a>

**CLIENTE**

Ahora vamos a configurar el cliente:

![](https://823954581-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGpTvvjhvDzSmIBM1pNPw%2Fuploads%2FkTrYqReDqzS4tTo4BOZh%2F20.png?alt=media)

Y tras reiniciar el servicio en ambas maquinas comprobamos que funciona:

<figure><img src="https://823954581-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGpTvvjhvDzSmIBM1pNPw%2Fuploads%2FJfu5lDkQ7bdaSBevN2wi%2Fimage.png?alt=media&#x26;token=98e68b5c-d465-4840-a0a6-9f14fa0b8091" alt=""><figcaption></figcaption></figure>

<figure><img src="https://823954581-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGpTvvjhvDzSmIBM1pNPw%2Fuploads%2F9VRG3XHOjXXykDBZWWVV%2Fimage.png?alt=media&#x26;token=419fa0c7-453b-4c7a-a805-05e463202af0" alt=""><figcaption></figcaption></figure>

**EJERCICIO 5**

En este ejercicio vamos a instalar un servidor de nodejs en el cliente para que se generen peticiones automáticas y se envíen al servidor.

Para este cometido lo primero que haremos será instalar nodejs en la maquina cliente:

<figure><img src="https://823954581-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGpTvvjhvDzSmIBM1pNPw%2Fuploads%2FokJGjGL9UucqAicya4fj%2Fimage.png?alt=media&#x26;token=4b2511d6-afb4-4876-95af-49c471d3f7cb" alt=""><figcaption></figcaption></figure>

Lo siguiente será crear un directorio para nuestro servidor donde crearemos el archivo de configuración:

<figure><img src="https://823954581-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGpTvvjhvDzSmIBM1pNPw%2Fuploads%2FUqYZARfQHxptQac0kwMu%2Fimage.png?alt=media&#x26;token=2fd857ab-25f5-45d4-b49e-f3d71de51243" alt=""><figcaption></figcaption></figure>

Y dentro creamos un archivo llamado index.js con la siguiente config:

<figure><img src="https://823954581-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGpTvvjhvDzSmIBM1pNPw%2Fuploads%2FAnBaq4IJJwrcX85ibcgB%2Fimage.png?alt=media&#x26;token=b331a725-a3f2-4234-bd7c-dd41586d5691" alt=""><figcaption></figcaption></figure>

Ahora arrancamos el servidor de node y lo dejamos en segundo plano:

<figure><img src="https://823954581-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGpTvvjhvDzSmIBM1pNPw%2Fuploads%2FMGhlhb5blCvuh7l3XVYU%2Fimage.png?alt=media&#x26;token=f58de7dc-fa5a-4468-85fa-5524443d7c9d" alt=""><figcaption></figcaption></figure>

El siguiente paso será modificar el archivo myapp.conf y cambiar el source por el siguiente:

<figure><img src="https://823954581-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGpTvvjhvDzSmIBM1pNPw%2Fuploads%2F8DmrvGj1PZxrJ74fcXD6%2Fimage.png?alt=media&#x26;token=2ecd6355-a959-4214-9c5a-6e05fab0c841" alt=""><figcaption></figcaption></figure>

Reiniciamos el servicio en ambas maquinas , y ya podemos probar a acceder desde el navegador al cliente y ver si se replican los logs:

<figure><img src="https://823954581-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGpTvvjhvDzSmIBM1pNPw%2Fuploads%2FEbN2idyCZtk761MBolBh%2Fimage.png?alt=media&#x26;token=0779152e-9ae4-4d41-a8be-56e7c6d96345" alt=""><figcaption></figcaption></figure>

**CLIENTE**

<figure><img src="https://823954581-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGpTvvjhvDzSmIBM1pNPw%2Fuploads%2F7J2qmmTlr6Pi9v7KhKCU%2Fimage.png?alt=media&#x26;token=38e9bbc3-4689-4051-b8bb-c1056c1cf097" alt=""><figcaption></figcaption></figure>

**SERVIDOR**

<figure><img src="https://823954581-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGpTvvjhvDzSmIBM1pNPw%2Fuploads%2FwIDdgT8VqPQeOGpKsws1%2Fimage.png?alt=media&#x26;token=360910c6-d8a2-4873-8db0-85a3ec4a09ad" alt=""><figcaption></figcaption></figure>

### **EJERCICIO 6** <a href="#toc156807646" id="toc156807646"></a>

Primero generamos el archivo Dockerfile:

<figure><img src="https://823954581-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGpTvvjhvDzSmIBM1pNPw%2Fuploads%2FgV961M1k20L4LxK39LN3%2Fimage.png?alt=media&#x26;token=d0ad299c-da7f-4031-bcb2-daa07b2823de" alt=""><figcaption></figcaption></figure>

Despues hacemos un build de la imagen:

<figure><img src="https://823954581-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGpTvvjhvDzSmIBM1pNPw%2Fuploads%2FYFjdwvrFhndSY7FzjD9S%2Fimage.png?alt=media&#x26;token=c25449f0-f825-4a67-8f46-3054ed5eea75" alt=""><figcaption></figcaption></figure>

Y por ultimo lanzamos el contenedor:

<figure><img src="https://823954581-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGpTvvjhvDzSmIBM1pNPw%2Fuploads%2FsSxskSh6XWx7cdzPH0GZ%2Fimage.png?alt=media&#x26;token=8135c572-75d5-42af-913c-a9acf2c3d57f" alt=""><figcaption></figcaption></figure>

### **CONCLUSION** <a href="#toc156807647" id="toc156807647"></a>

Práctica muy interesante en la que aprendí bastante sobre docker , como crear un sistema de logs , la forma de automatizarlos y como crear dockerfiles para tener plantillas para desplegar mis contenedores haciendo que sea mucho mas fácil el tema de levantar varios a la vez.
