diff --git a/config/grafana/dashboards/.gitkeep b/config/grafana/dashboards/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/config/grafana/dashboards/default/.gitkeep b/config/grafana/dashboards/default/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/config/grafana/dashboards/system/.gitkeep b/config/grafana/dashboards/system/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/config/promtail/promtail-config.yml b/config/promtail/promtail-config.yml new file mode 100644 index 0000000..df8dd7a --- /dev/null +++ b/config/promtail/promtail-config.yml @@ -0,0 +1,45 @@ +server: + http_listen_port: 9080 + grpc_listen_port: 0 + +positions: + filename: /var/lib/promtail/positions.yaml + +clients: + - url: http://alloy:3101/loki/api/v1/push + batchwait: 1s + batchsize: 1048576 + +scrape_configs: + - job_name: docker-containers + pipeline_stages: + - docker: {} + - json: + expressions: + timestamp: timestamp + message: message + detected_level: detected_level + detected_value: detected_value + service_name: service_name + - labels: + detected_value: + detected_level: + service_name: + - output: + source: message + docker_sd_configs: + - host: unix:///var/run/docker.sock + refresh_interval: 5s + relabel_configs: + - source_labels: ["__meta_docker_container_name"] + target_label: "container" + - source_labels: ["__meta_docker_container_image"] + target_label: "image" + - source_labels: ["__meta_docker_container_label_com_docker_compose_service"] + target_label: "compose_service" + - source_labels: ["__meta_docker_container_label_com_docker_compose_service"] + target_label: "job" + - source_labels: ["__meta_docker_container_label_com_docker_compose_project"] + target_label: "compose_project" + - source_labels: ["__meta_docker_container_id"] + target_label: "container_id" diff --git a/docker-compose.yml b/docker-compose.yml index a31f79d..c0c7a9f 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -104,6 +104,7 @@ services: - GF_PATHS_PROVISIONING=/etc/grafana/provisioning volumes: - ./config/grafana/provisioning:/etc/grafana/provisioning + - ./config/grafana/dashboards:/var/lib/grafana/dashboards - grafana_data:/var/lib/grafana user: "472:472" networks: @@ -114,6 +115,22 @@ services: - loki - tempo + # Promtail para exportar logs de todos los contenedores hacia Alloy + promtail: + image: grafana/promtail:latest + container_name: promtail + command: -config.file=/etc/promtail/promtail-config.yml + volumes: + - ./config/promtail/promtail-config.yml:/etc/promtail/promtail-config.yml:ro + - promtail_positions:/var/lib/promtail + - /var/run/docker.sock:/var/run/docker.sock:ro + - /var/lib/docker/containers:/var/lib/docker/containers:ro + networks: + - monitoring + restart: always + depends_on: + - alloy + networks: monitoring: driver: bridge @@ -125,3 +142,4 @@ volumes: tempo_data: alloy_data: grafana_data: + promtail_positions: