Diferències

Ací es mostren les diferències entre la revisió seleccionada i la versió actual de la pàgina.

Enllaç a la visualització de la comparació

Ambdós costats versió prèvia Revisió prèvia
Següent revisió
Revisió prèvia
info:cursos:pue:devops:sesion13 [29/03/2019 10:49] – [otros] mateinfo:cursos:pue:devops:sesion13 [26/11/2021 04:25] (actual) – [otros] mate
Línia 1: Línia 1:
-= sesión 13+= sesión 13 ELK
 == Container Orchestration Rosetta Stone == Container Orchestration Rosetta Stone
 ^       ^ unidad mínima ^ Gestor de disponibilidad\\ controllers ^ expose\\ services ^ webservices\\ exterior ^ ^       ^ unidad mínima ^ Gestor de disponibilidad\\ controllers ^ expose\\ services ^ webservices\\ exterior ^
Línia 113: Línia 113:
     environment:     environment:
       ROUTE_URIS: 'logstash://logstash:5000'       ROUTE_URIS: 'logstash://logstash:5000'
 +      DOCKER_LABELS: 'yes'
     volumes:     volumes:
       - /var/run/docker.sock:/var/run/docker.sock       - /var/run/docker.sock:/var/run/docker.sock
Línia 186: Línia 187:
 logspout -> logstash -> kibana logspout -> logstash -> kibana
  
-- añadimos una etiqueta en nuestro contenedor para poder discriminar su origen (y formato) +  - debemos habilitar las DOCKER_LABELS como variable de entorno en el deploy de la imagen (cualquier valor lo activa)<code yaml; ejemplo.yaml> 
-mnodificadmos el logstash.conf para añadir un **if** por etiqueta y decirle que formato tiene+version: '3' 
 + 
 +services: 
 +   db: 
 +     image: mysql:5.7 
 +     volumes: 
 +       - db_data:/var/lib/mysql 
 +     restart: always 
 +     environment: 
 +       MYSQL_ROOT_PASSWORD: ${MYSQL_DATABASE_PASSWORD} 
 +       MYSQL_DATABASE: wordpress 
 +       MYSQL_USER: wordpress 
 +       MYSQL_PASSWORD: wordpress 
 + 
 +   wordpress: 
 +     image: wordpress:latest 
 +     ports: 
 +       - 80 
 +     restart: always 
 +     environment: 
 +       WORDPRESS_DB_HOST: db:3306 
 +       WORDPRESS_DB_USER: wordpress 
 +       WORDPRESS_DB_PASSWORD: wordpress 
 +     deploy: 
 +       labels: 
 +         logformat: 'combined' 
 + 
 +volumes: 
 +    db_data: 
 +</code> 
 +  - añadimos una etiqueta en nuestro contenedor para poder discriminar su origen (y formato) -> NO 
 +  modificamos el logstash.conf para añadir un **if** por etiqueta y decirle que formato tiene<code> 
 +if [docker][image] =~ /^cadena/ { 
 +  grok { 
 +    match => {"message" => "COMBINEDAPACHELOG"
 +  } 
 +
 +</code> 
 +    * [[https://nathanleclaire.com/blog/2015/04/27/automating-docker-logging-elasticsearch-logstash-kibana-and-logspout/]] 
 +    * [[https://www.elastic.co/guide/en/logstash/current/event-dependent-configuration.html]] 
 +    * [[https://discuss.elastic.co/t/help-with-multiple-if-else-if-configuration/40417]] 
 + 
 +  * modificamos la configuración de **logstash.conf** para que tenga un nuevo INPUT (de syslog):<code> 
 +input { 
 +  syslog { 
 +    codec => cef 
 +    port => 12345 
 +  } 
 +
 +</code> 
 +<code /etc/rsyslog.d/50-default.conf> 
 +*.* @@<IP>:<puerto> # tcp 
 +</code> 
 +  * facility.priority 
 +  * @ -> UDP (pérdida de paquetes permitida) 
 +  * @@ -> TCP (seguridad de entrega) 
 +  * el **-** indica **buffered**, poco prioritario... sin **-**, real time 
 +  * para volcar los logs a una dirección IP/Puerto hay que hacer lo anterior y habilitar el **module(load="imtcp")** 
 +  * para ver que está escuchando: ''sudo lsof -ni:12345''
  
 == otros == otros
-  * [[whitedisplay.com]]+  * [[http://www.whitedisplay.com]]
   * grok debugger   * grok debugger
   * vim   * vim
  • info/cursos/pue/devops/sesion13.1553881760.txt.gz
  • Darrera modificació: 29/03/2019 10:49
  • per mate