diff --git a/corbeille/centre_observabilite_script/loki-chunks/loki_cluster_seed.json b/centre_observabilite/loki-compactor/loki_cluster_seed.json similarity index 100% rename from corbeille/centre_observabilite_script/loki-chunks/loki_cluster_seed.json rename to centre_observabilite/loki-compactor/loki_cluster_seed.json diff --git a/corbeille/centre_observabilite/logs/docker-compose.yml b/corbeille/centre_observabilite_portainer/logs/docker-compose.yml similarity index 100% rename from corbeille/centre_observabilite/logs/docker-compose.yml rename to corbeille/centre_observabilite_portainer/logs/docker-compose.yml diff --git a/corbeille/centre_observabilite/metrics/docker-compose.yml b/corbeille/centre_observabilite_portainer/metrics/docker-compose.yml similarity index 100% rename from corbeille/centre_observabilite/metrics/docker-compose.yml rename to corbeille/centre_observabilite_portainer/metrics/docker-compose.yml diff --git a/corbeille/centre_observabilite/visualisation/docker-compose.yml b/corbeille/centre_observabilite_portainer/visualisation/docker-compose.yml similarity index 100% rename from corbeille/centre_observabilite/visualisation/docker-compose.yml rename to corbeille/centre_observabilite_portainer/visualisation/docker-compose.yml diff --git a/corbeille/centre_observabilite_script/docker-compose.yml b/corbeille/centre_observabilite_script/docker-compose.yml deleted file mode 100644 index cd71259..0000000 --- a/corbeille/centre_observabilite_script/docker-compose.yml +++ /dev/null @@ -1,87 +0,0 @@ -services: - prometheus: - image: prom/prometheus:latest - container_name: prometheus-observability - volumes: - - ./prometheus.yml:/etc/prometheus/prometheus.yml - command: - - '--config.file=/etc/prometheus/prometheus.yml' - ports: - - "9090:9090" - networks: - - observability - - grafana: - image: grafana/grafana:latest - container_name: grafana-observability - ports: - - "3000:3000" - volumes: - - grafana-data:/var/lib/grafana - - ./visualisation/grafana/provisioning/dashboards:/etc/grafana/provisioning/dashboards:ro - - ./visualisation/grafana/provisioning/datasources:/etc/grafana/provisioning/datasources:ro - - ./visualisation/grafana/dashboards:/var/lib/grafana/dashboards:ro - environment: - - GF_SECURITY_ADMIN_USER=admin - - GF_SECURITY_ADMIN_PASSWORD=admin - - GF_SMTP_ENABLED=true - - GF_SMTP_HOST=smtp.gmail.com:587 - - GF_SMTP_USER=kimraumilliardaire@gmail.com - - GF_SMTP_PASSWORD=vmfc xrtt yvvm gylz - - GF_SMTP_FROM_ADDRESS=kimraumilliardaire@gmail.com - - GF_SMTP_FROM_NAME=Grafana Alerts - - GF_SMTP_SKIP_VERIFY=true - networks: - - observability - depends_on: - - loki - - loki: - image: grafana/loki:2.8.2 - container_name: loki-observability - ports: - - "3100:3100" - command: -config.file=/etc/loki/local-config.yaml - user: "1000:1000" - volumes: - - ./loki-config.yaml:/etc/loki/local-config.yaml:ro - - ./loki-wal:/loki/wal - - ./loki-chunks:/loki/chunks - - ./loki-index:/loki/index - - ./loki-compactor:/loki/compactor - networks: - - observability - - promtail: - image: grafana/promtail:2.8.2 - container_name: promtail-observability - volumes: - - ./promtail-config.yaml:/etc/promtail/config.yaml - - /var/lib/docker/containers:/var/lib/docker/containers:ro - - /var/log:/var/log:ro - command: - - -config.file=/etc/promtail/config.yaml - networks: - - observability - - node_exporter: - image: prom/node-exporter:latest - container_name: node-exporter - restart: unless-stopped - pid: "host" - network_mode: "host" - volumes: - - /proc:/host/proc:ro - - /sys:/host/sys:ro - - /:/rootfs:ro - command: - - '--path.procfs=/host/proc' - - '--path.sysfs=/host/sys' - - '--collector.filesystem.ignored-mount-points="^/(sys|proc|dev|host|etc)($$|/)"' - -volumes: - grafana-data: - -networks: - observability: - driver: bridge diff --git a/corbeille/centre_observabilite_script/loki-config.yaml b/corbeille/centre_observabilite_script/loki-config.yaml deleted file mode 100644 index 1a8a768..0000000 --- a/corbeille/centre_observabilite_script/loki-config.yaml +++ /dev/null @@ -1,59 +0,0 @@ -auth_enabled: false - -server: - http_listen_port: 3100 - grpc_listen_port: 9096 - -common: - path_prefix: /loki - storage: - filesystem: - chunks_directory: /loki/chunks - rules_directory: /loki/rules - replication_factor: 1 - ring: - instance_addr: 127.0.0.1 - kvstore: - store: inmemory - -ingester: - wal: - enabled: true - dir: /loki/wal - flush_on_shutdown: true - chunk_idle_period: 5m - chunk_retain_period: 30s - max_chunk_age: 1h - lifecycler: - ring: - replication_factor: 1 - -schema_config: - configs: - - from: 2020-10-24 - store: boltdb-shipper - object_store: filesystem - schema: v11 - index: - prefix: index_ - period: 24h - -storage_config: - boltdb_shipper: - active_index_directory: /loki/index - cache_location: /loki/index - shared_store: filesystem - filesystem: - directory: /loki/chunks - -limits_config: - enforce_metric_name: false - reject_old_samples: true - reject_old_samples_max_age: 168h - ingestion_rate_mb: 10 - ingestion_burst_size_mb: 20 - -compactor: - working_directory: /loki/compactor - shared_store: filesystem - compaction_interval: 10m diff --git a/corbeille/centre_observabilite_script/loki-index/loki_cluster_seed.json b/corbeille/centre_observabilite_script/loki-index/loki_cluster_seed.json deleted file mode 100644 index 09fa3af..0000000 --- a/corbeille/centre_observabilite_script/loki-index/loki_cluster_seed.json +++ /dev/null @@ -1 +0,0 @@ -{"UID":"714e0dc1-bca9-44e1-aca6-110f8b49de5c","created_at":"2025-09-29T13:46:47.834317171Z","version":{"version":"2.8.2","revision":"9f809eda7","branch":"HEAD","buildUser":"root@e401cfcb874f","buildDate":"2023-05-03T11:07:54Z","goVersion":"go1.20.4"}} \ No newline at end of file diff --git a/corbeille/centre_observabilite_script/loki-index/uploader/name b/corbeille/centre_observabilite_script/loki-index/uploader/name deleted file mode 100644 index 8b705c5..0000000 --- a/corbeille/centre_observabilite_script/loki-index/uploader/name +++ /dev/null @@ -1 +0,0 @@ -71fb7324933a-1766058957788749433 \ No newline at end of file diff --git a/corbeille/centre_observabilite_script/loki-wal/00000004 b/corbeille/centre_observabilite_script/loki-wal/00000004 deleted file mode 100644 index e69de29..0000000 diff --git a/corbeille/centre_observabilite_script/loki-wal/00000005 b/corbeille/centre_observabilite_script/loki-wal/00000005 deleted file mode 100644 index 3ccab2f..0000000 Binary files a/corbeille/centre_observabilite_script/loki-wal/00000005 and /dev/null differ diff --git a/corbeille/centre_observabilite_script/loki-wal/checkpoint.000003/00000000 b/corbeille/centre_observabilite_script/loki-wal/checkpoint.000003/00000000 deleted file mode 100644 index e69de29..0000000 diff --git a/corbeille/centre_observabilite_script/prometheus.yml b/corbeille/centre_observabilite_script/prometheus.yml deleted file mode 100644 index b86e1c5..0000000 --- a/corbeille/centre_observabilite_script/prometheus.yml +++ /dev/null @@ -1,30 +0,0 @@ -global: - scrape_interval: 15s - -scrape_configs: - - job_name: 'prometheus' - static_configs: - - targets: ['localhost:9090'] - - - job_name: 'observabilite' - static_configs: - - targets: ['192.168.4.4:9100'] #ip de la machine observabilite - - - job_name: 'scaphandre' - static_configs: - - targets: ['192.168.4.4:8080'] - fallback_scrape_protocol: "PrometheusText1.0.0" - - - job_name: 'apache_vmservices' - static_configs: - - targets: ['192.168.56.17:9117'] #ip vmService - - - job_name: 'vms' - static_configs: - - targets: ['192.168.56.18:9100'] #ip vmHardware - - targets: ['192.168.56.17:9100'] #ip vmServices - - targets: ['192.168.56.15:9100'] #ip vmApplicatifs - - - job_name: 'tomcat' - static_configs: - - targets: ['192.168.56.15:9082'] #ip vmApplicatif diff --git a/corbeille/centre_observabilite_script/promtail-config.yaml b/corbeille/centre_observabilite_script/promtail-config.yaml deleted file mode 100644 index f8cc655..0000000 --- a/corbeille/centre_observabilite_script/promtail-config.yaml +++ /dev/null @@ -1,26 +0,0 @@ -server: - http_listen_port: 9080 - grpc_listen_port: 0 - -positions: - filename: /tmp/positions.yaml - -clients: - - url: http://loki:3100/loki/api/v1/push - -scrape_configs: - - job_name: docker_logs - static_configs: - - targets: - - localhost - labels: - job: docker - __path__: /var/lib/docker/containers/*/*.log - - - job_name: system_logs - static_configs: - - targets: - - localhost - labels: - job: syslog - __path__: /var/log/*.log \ No newline at end of file diff --git a/corbeille/centre_observabilite_script/visualisation/grafana/dashboards/dev/00_app_runtime_overview.json b/corbeille/centre_observabilite_script/visualisation/grafana/dashboards/dev/00_app_runtime_overview.json deleted file mode 100644 index 11c78fd..0000000 --- a/corbeille/centre_observabilite_script/visualisation/grafana/dashboards/dev/00_app_runtime_overview.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "title": "App Runtime Overview (Dev)", - "uid": "dev-app-runtime-overview", - "tags": ["dev","application"], - "time": { "from": "now-1h", "to": "now" }, - "schemaVersion": 42, - "panels": [ - { - "type": "timeseries", - "title": "Requests per Second (RPS)", - "gridPos": {"x":0,"y":0,"w":12,"h":8}, - "datasource": "prometheus", - "targets": [ - { "refId": "A", "expr": "sum(rate(http_requests_total[2m]))" } - ] - }, - { - "type": "timeseries", - "title": "Error Rate (%)", - "gridPos": {"x":12,"y":0,"w":12,"h":8}, - "datasource": "prometheus", - "fieldConfig": { "defaults": { "unit": "percent" }, "overrides": [] }, - "targets": [ - { "refId": "A", "expr": "sum(rate(http_requests_total{status=~\"5..\"}[2m])) / sum(rate(http_requests_total[2m])) * 100" } - ] - }, - { - "type": "timeseries", - "title": "Latency P95 (s)", - "gridPos": {"x":0,"y":8,"w":24,"h":8}, - "datasource": "prometheus", - "targets": [ - { - "refId": "A", - "expr": "histogram_quantile(0.95, sum by (le) (rate(http_request_duration_seconds_bucket[2m])))" - } - ] - } - ] -} diff --git a/corbeille/centre_observabilite_script/visualisation/grafana/dashboards/dev/01_logs_by_service.json b/corbeille/centre_observabilite_script/visualisation/grafana/dashboards/dev/01_logs_by_service.json deleted file mode 100644 index ce2f50c..0000000 --- a/corbeille/centre_observabilite_script/visualisation/grafana/dashboards/dev/01_logs_by_service.json +++ /dev/null @@ -1,58 +0,0 @@ -{ - "title": "Logs by Service (Dev)", - "uid": "dev-logs-by-service", - "tags": ["dev","logs","loki"], - "time": { "from": "now-1h", "to": "now" }, - "schemaVersion": 42, - "templating": { - "list": [ - { - "name": "service", - "label": "Service (label app)", - "type": "query", - "datasource": "loki", - "query": "label_values({app!=\"\"}, app)", - "includeAll": true, - "multi": true, - "refresh": 2, - "current": {} - } - ] - }, - "panels": [ - { - "type": "logs", - "title": "Logs – $service", - "gridPos": { "x": 0, "y": 0, "w": 24, "h": 12 }, - "datasource": "loki", - "options": { - "showLabels": true, - "showTime": true, - "wrapLogMessage": true, - "prettifyLogMessage": true - }, - "targets": [ - { - "refId": "A", - "expr": "{app=~\"$service\"}" - } - ] - }, - { - "type": "timeseries", - "title": "Error rate (logs/min) – $service", - "gridPos": { "x": 0, "y": 12, "w": 24, "h": 8 }, - "datasource": "loki", - "fieldConfig": { "defaults": { "unit": "ops" }, "overrides": [] }, - "options": { - "legend": { "showLegend": true, "placement": "bottom" } - }, - "targets": [ - { - "refId": "A", - "expr": "sum by (app)(rate({app=~\"$service\"} |~ \"(?i)(error|exception|fail|timeout)\"[5m])) * 60" - } - ] - } - ] -} diff --git a/corbeille/centre_observabilite_script/visualisation/grafana/dashboards/ops/00_infra_overview.json b/corbeille/centre_observabilite_script/visualisation/grafana/dashboards/ops/00_infra_overview.json deleted file mode 100644 index 018caaf..0000000 --- a/corbeille/centre_observabilite_script/visualisation/grafana/dashboards/ops/00_infra_overview.json +++ /dev/null @@ -1,49 +0,0 @@ -{ - "title": "Infra Overview (Ops)", - "uid": "ops-infra-overview", - "tags": ["ops","infrastructure"], - "time": { "from": "now-1h", "to": "now" }, - "schemaVersion": 42, - "panels": [ - { - "type": "timeseries", - "title": "CPU Utilization (%)", - "gridPos": {"x":0,"y":0,"w":12,"h":8}, - "datasource": "prometheus", - "fieldConfig": { "defaults": { "unit": "percent" }, "overrides": [] }, - "targets": [ - { "refId": "A", "expr": "100 - (avg by(instance)(rate(node_cpu_seconds_total{mode=\"idle\"}[2m]))*100)" } - ] - }, - { - "type": "timeseries", - "title": "Memory Utilization (%)", - "gridPos": {"x":12,"y":0,"w":12,"h":8}, - "datasource": "prometheus", - "fieldConfig": { "defaults": { "unit": "percent" }, "overrides": [] }, - "targets": [ - { "refId": "A", "expr": "((node_memory_MemTotal_bytes - node_memory_MemAvailable_bytes) / node_memory_MemTotal_bytes) * 100" } - ] - }, - { - "type": "timeseries", - "title": "Disk Space Used (bytes)", - "gridPos": {"x":0,"y":8,"w":12,"h":8}, - "datasource": "prometheus", - "fieldConfig": { "defaults": { "unit": "bytes" }, "overrides": [] }, - "targets": [ - { "refId": "A", "expr": "node_filesystem_size_bytes{fstype!~\"tmpfs|overlay\"} - node_filesystem_avail_bytes{fstype!~\"tmpfs|overlay\"}" } - ] - }, - { - "type": "timeseries", - "title": "Host Power (Watts) - Scaphandre", - "gridPos": {"x":12,"y":8,"w":12,"h":8}, - "datasource": "prometheus", - "fieldConfig": { "defaults": { "unit": "watt" }, "overrides": [] }, - "targets": [ - { "refId": "A", "expr": "scaph_host_power_microwatts / 1e6" } - ] - } - ] -} diff --git a/corbeille/centre_observabilite_script/visualisation/grafana/dashboards/ops/03_prometheus_health.json b/corbeille/centre_observabilite_script/visualisation/grafana/dashboards/ops/03_prometheus_health.json deleted file mode 100644 index 4299647..0000000 --- a/corbeille/centre_observabilite_script/visualisation/grafana/dashboards/ops/03_prometheus_health.json +++ /dev/null @@ -1,86 +0,0 @@ -{ - "title": "Prometheus Health (Ops)", - "uid": "ops-prom-health", - "tags": ["ops","prometheus","health"], - "time": { "from": "now-1h", "to": "now" }, - "schemaVersion": 42, - "panels": [ - { - "type": "stat", - "title": "Targets DOWN (total)", - "gridPos": { "x": 0, "y": 0, "w": 6, "h": 4 }, - "datasource": "prometheus", - "fieldConfig": { "defaults": { "unit": "none" }, "overrides": [] }, - "options": { "reduceOptions": { "calcs": ["lastNotNull"], "fields": "" } }, - "targets": [ - { "refId": "A", "expr": "sum(1 - up)" } - ] - }, - { - "type": "stat", - "title": "Alerts firing", - "gridPos": { "x": 6, "y": 0, "w": 6, "h": 4 }, - "datasource": "prometheus", - "fieldConfig": { "defaults": { "unit": "none" }, "overrides": [] }, - "options": { "reduceOptions": { "calcs": ["lastNotNull"], "fields": "" } }, - "targets": [ - { "refId": "A", "expr": "count(ALERTS{alertstate=\"firing\"})" } - ] - }, - { - "type": "stat", - "title": "Ingest rate (samples/s)", - "gridPos": { "x": 12, "y": 0, "w": 12, "h": 4 }, - "datasource": "prometheus", - "fieldConfig": { "defaults": { "unit": "ops" }, "overrides": [] }, - "options": { "reduceOptions": { "calcs": ["lastNotNull"] } }, - "targets": [ - { "refId": "A", "expr": "rate(prometheus_tsdb_head_samples_appended_total[5m])" } - ] - }, - { - "type": "timeseries", - "title": "Targets UP by job", - "gridPos": { "x": 0, "y": 4, "w": 12, "h": 8 }, - "datasource": "prometheus", - "fieldConfig": { "defaults": { "unit": "none" }, "overrides": [] }, - "options": { "legend": { "showLegend": true, "placement": "bottom" } }, - "targets": [ - { "refId": "A", "expr": "sum by(job)(up)" } - ] - }, - { - "type": "timeseries", - "title": "Scrape duration (s) by job", - "gridPos": { "x": 12, "y": 4, "w": 12, "h": 8 }, - "datasource": "prometheus", - "fieldConfig": { "defaults": { "unit": "s" }, "overrides": [] }, - "options": { "legend": { "showLegend": true, "placement": "bottom" } }, - "targets": [ - { "refId": "A", "expr": "avg by(job)(scrape_duration_seconds)" } - ] - }, - { - "type": "timeseries", - "title": "Rule group eval duration (s)", - "gridPos": { "x": 0, "y": 12, "w": 12, "h": 8 }, - "datasource": "prometheus", - "fieldConfig": { "defaults": { "unit": "s" }, "overrides": [] }, - "options": { "legend": { "showLegend": true, "placement": "bottom" } }, - "targets": [ - { "refId": "A", "expr": "max by(rule_group) (prometheus_rule_group_last_duration_seconds)" } - ] - }, - { - "type": "timeseries", - "title": "TSDB head chunks", - "gridPos": { "x": 12, "y": 12, "w": 12, "h": 8 }, - "datasource": "prometheus", - "fieldConfig": { "defaults": { "unit": "short" }, "overrides": [] }, - "options": { "legend": { "showLegend": true, "placement": "bottom" } }, - "targets": [ - { "refId": "A", "expr": "prometheus_tsdb_head_chunks" } - ] - } - ] -} diff --git a/corbeille/centre_observabilite_script/visualisation/grafana/dashboards/ops/04_logs_loki_ops.json b/corbeille/centre_observabilite_script/visualisation/grafana/dashboards/ops/04_logs_loki_ops.json deleted file mode 100644 index 41dc7d4..0000000 --- a/corbeille/centre_observabilite_script/visualisation/grafana/dashboards/ops/04_logs_loki_ops.json +++ /dev/null @@ -1,65 +0,0 @@ -{ - "title": "Logs – Ops (Errors & System)", - "uid": "ops-logs-errors", - "tags": ["ops","logs","loki"], - "time": { "from": "now-2h", "to": "now" }, - "schemaVersion": 42, - "templating": { - "list": [ - { - "name": "job", - "label": "Job", - "type": "query", - "datasource": "loki", - "query": "label_values(job)", - "includeAll": true, - "multi": true, - "refresh": 2 - }, - { - "name": "instance", - "label": "Instance", - "type": "query", - "datasource": "loki", - "query": "label_values({job=~\"$job\"}, instance)", - "includeAll": true, - "multi": true, - "refresh": 2 - } - ] - }, - "panels": [ - { - "type": "timeseries", - "title": "Error rate by instance (logs/min)", - "gridPos": { "x": 0, "y": 0, "w": 24, "h": 8 }, - "datasource": "loki", - "fieldConfig": { "defaults": { "unit": "ops" }, "overrides": [] }, - "options": { "legend": { "showLegend": true, "placement": "bottom" } }, - "targets": [ - { - "refId": "A", - "expr": "sum by (instance)(rate({job=~\"$job\", instance=~\"$instance\"} |~ \"(?i)(critical|error|err)\"[5m])) * 60" - } - ] - }, - { - "type": "logs", - "title": "Recent critical & errors – $job / $instance", - "gridPos": { "x": 0, "y": 8, "w": 24, "h": 14 }, - "datasource": "loki", - "options": { - "showLabels": true, - "showTime": true, - "wrapLogMessage": true, - "prettifyLogMessage": true - }, - "targets": [ - { - "refId": "A", - "expr": "{job=~\"$job\", instance=~\"$instance\"} |~ \"(?i)(critical|error|err|panic|oom)\"" - } - ] - } - ] -} diff --git a/corbeille/centre_observabilite_script/visualisation/grafana/provisioning/dashboards/provider-dev.yaml b/corbeille/centre_observabilite_script/visualisation/grafana/provisioning/dashboards/provider-dev.yaml deleted file mode 100644 index 709a72d..0000000 --- a/corbeille/centre_observabilite_script/visualisation/grafana/provisioning/dashboards/provider-dev.yaml +++ /dev/null @@ -1,11 +0,0 @@ -apiVersion: 1 -providers: - - name: "dev-dashboards" - orgId: 1 - folder: "Dev – Application & Qualité" # Nom du dossier - type: file - disableDeletion: false - editable: true - updateIntervalSeconds: 30 - options: - path: /var/lib/grafana/dashboards/dev diff --git a/corbeille/centre_observabilite_script/visualisation/grafana/provisioning/dashboards/provider-ops.yaml b/corbeille/centre_observabilite_script/visualisation/grafana/provisioning/dashboards/provider-ops.yaml deleted file mode 100644 index 8d042da..0000000 --- a/corbeille/centre_observabilite_script/visualisation/grafana/provisioning/dashboards/provider-ops.yaml +++ /dev/null @@ -1,11 +0,0 @@ -apiVersion: 1 -providers: - - name: "ops-dashboards" - orgId: 1 - folder: "Ops – Infrastructure & Plateforme" # Nom du dossier - type: file - disableDeletion: false - editable: true - updateIntervalSeconds: 30 - options: - path: /var/lib/grafana/dashboards/ops diff --git a/corbeille/centre_observabilite_script/visualisation/grafana/provisioning/datasources/prometheus.yaml b/corbeille/centre_observabilite_script/visualisation/grafana/provisioning/datasources/prometheus.yaml deleted file mode 100644 index 3c25da3..0000000 --- a/corbeille/centre_observabilite_script/visualisation/grafana/provisioning/datasources/prometheus.yaml +++ /dev/null @@ -1,8 +0,0 @@ -apiVersion: 1 -datasources: - - name: prometheus - type: prometheus - access: proxy - url: http://prometheus:9090 - isDefault: true - editable: true