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:sesion4 [16/02/2019 01:10] mateinfo:cursos:pue:devops:sesion4 [26/11/2021 04:22] (actual) – [ELK] mate
Línia 1: Línia 1:
-= Sesión 4+= Sesión 4 : swarm (ELK+TIG)
 == resumen == resumen
 <code> <code>
Línia 22: Línia 22:
     * visión stack y servicios     * visión stack y servicios
     * contenedores     * contenedores
-  * +  * paneles: exportar JSON 
 +  * plugin: Diagram (pinta  un servicio y estados según valores de métrica) 
 + 
 +=== edición panel 
 +  * los elementos que se meten en 1 row se pueden repetir, en función de las variables 
 +  * <code> 
 +$host = show tag values with key = "host" 
 +$stack =     show tag values with key = "com.docker.stack.namespace" 
 +$service = show tag values with key = "com.docker.swarm.service.name" WHERE "com.docker.stack.namespace" =~ /^$stack/ 
 +$container = show tag values with key = "container_name" WHERE "host" =~ /^$host$/ AND "com.docker.stack.namespace" =~ /^$stack/  AND "com.docker.swarm.service.name" =~ /^$service/ 
 +</code> 
 + 
 +== prometheus 
 +  * = Grafana + Alertas (aunque Grafana ahora ya si) 
 +  * node exporter : telegraf 
 +  * prometheus: base datos + alertas 
 +    * [[https://stefanprodan.com/2016/a-monitoring-solution-for-docker-hosts-containers-and-containerized-services/]] 
 + 
 +== ELK 
 +<code yaml; swarm-ELK.yml> 
 +#       Docker Stack to deploy ELK + Logspout 
 +#       Based on ....... 
 +#       Updated by: Kenneth Peiruza, kenneth@floss.cat 
 +#       Sun Mar  4 13:15:47 CET 2018 
 +
 +#      cluster.name: 'docker-cluster' 
 +#      bootstrap.memory_lock: 'true' 
 +version: '3.4' 
 + 
 +services: 
 +  elasticsearch: 
 +    image: docker.elastic.co/elasticsearch/elasticsearch-oss:6.2.2 
 +    environment: 
 +      ES_JAVA_OPTS: '-Xms768m -Xmx768m' 
 +    networks: 
 +      - elasticsearch 
 +    volumes: 
 +      - ${REMOTE_BIND}/${STACK_NAME}/elasticsearch/data:/usr/share/elasticsearch/data 
 +    deploy: 
 +      replicas: 1 
 + 
 +  logstash: 
 +    image: docker.elastic.co/logstash/logstash-oss:6.2.2 
 +    volumes: 
 +      - ${REMOTE_BIND}/${STACK_NAME}/logstash/config:/usr/share/logstash/pipeline/ 
 +    depends_on: 
 +      - elasticsearch 
 +    networks: 
 +      - elasticsearch 
 +      - logstash 
 +    deploy: 
 +      replicas: 1 
 + 
 +  logspout: 
 +    image: bekt/logspout-logstash 
 +    environment: 
 +      ROUTE_URIS: 'logstash://logstash:5000' 
 +    volumes: 
 +      - /var/run/docker.sock:/var/run/docker.sock 
 +    depends_on: 
 +      - logstash 
 +    networks: 
 +      - logstash 
 +    deploy: 
 +      mode: global 
 +      restart_policy: 
 +        condition: on-failure 
 +        delay: 30s 
 + 
 +  kibana: 
 +    image: docker.elastic.co/kibana/kibana-oss:6.2.2 
 +    ports: 
 +      - 5601:5601 
 +    depends_on: 
 +      - elasticsearch 
 +    networks: 
 +      - elasticsearch 
 +      - proxy 
 +    environment: 
 +      ELASTICSEARCH_URL: 'http://elasticsearch:9200' 
 +    deploy: 
 +      replicas: 1 
 +      labels: 
 +        traefik.port: 5601 
 +        traefik.frontend.rule: "Host:${LOGS_URL}" 
 +        traefik.docker.network: "proxy" 
 + 
 +networks: 
 +  default: 
 +    driver: 'overlay' 
 +  logstash: 
 +    driver: 'overlay' 
 +  elasticsearch: 
 +    driver: 'overlay' 
 +  proxy: 
 +    external: true 
 +</code> 
 + 
 +<code ; logstash.conf> 
 +input { 
 +  udp { 
 +    port  => 5000 
 +    codec => json 
 +  } 
 +
 + 
 +filter { 
 +  if [docker][image] =~ /logstash/ { 
 +    drop { } 
 +  } 
 +
 + 
 +output { 
 +  elasticsearch { hosts => ["elasticsearch:9200"] } 
 +
 +</code> 
 + 
 ++ info: 
 +  * Filtros Logstash: https://www.elastic.co/guide/en/logstash/current/config-examples.html 
 +  * Filtros grok: https://logz.io/blog/logstash-grok/ 
 + 
  • info/cursos/pue/devops/sesion4.1550308236.txt.gz
  • Darrera modificació: 16/02/2019 01:10
  • per mate